From 5a8b3ebfd6b5c90d0b7fbe5d8ec07e1cb921fa90 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (server)" Date: Mon, 24 Jun 2024 19:42:30 +0000 Subject: [PATCH] removed some files from repository --- package-lock.json | 19441 +++++++++++++++++++++- package.json | 3 +- public/css/1099.a6cdcdf4.css | 1 + public/css/1258.13c489b0.css | 1 + public/css/1565.5391dc21.css | 1 + public/css/1969.a6cdcdf4.css | 1 + public/css/2177.54e852c0.css | 1 + public/css/2353.9504c97b.css | 1 + public/css/2463.a6cdcdf4.css | 1 + public/css/2607.a6cdcdf4.css | 1 + public/css/2809.b682d961.css | 1 + public/css/3214.a6cdcdf4.css | 1 + public/css/3299.5760daa0.css | 1 + public/css/3353.bdb3d500.css | 1 + public/css/3459.f3d026c5.css | 1 + public/css/3484.32da9cb7.css | 1 + public/css/3550.a6cdcdf4.css | 1 + public/css/3715.a6cdcdf4.css | 1 + public/css/4039.be11324e.css | 1 + public/css/466.a6cdcdf4.css | 1 + public/css/4765.4bd58cd7.css | 1 + public/css/480.78894bf8.css | 1 + public/css/4908.1e896a7d.css | 1 + public/css/5108.a6cdcdf4.css | 1 + public/css/5625.7ef4d708.css | 1 + public/css/5697.a6cdcdf4.css | 1 + public/css/6007.9e55a8df.css | 1 + public/css/6107.a6cdcdf4.css | 1 + public/css/6959.d2acc39d.css | 1 + public/css/7158.a6cdcdf4.css | 1 + public/css/7361.a6cdcdf4.css | 1 + public/css/7382.49bff9d4.css | 1 + public/css/757.5e87db7f.css | 1 + public/css/7876.5b86c09c.css | 1 + public/css/8060.a6cdcdf4.css | 1 + public/css/8074.3a6e7316.css | 1 + public/css/8183.43cc4f81.css | 1 + public/css/830.a6cdcdf4.css | 1 + public/css/8712.4386b7e7.css | 1 + public/css/878.596e7cea.css | 1 + public/css/8848.a6cdcdf4.css | 1 + public/css/9238.a6cdcdf4.css | 1 + public/css/9524.a6cdcdf4.css | 1 + public/css/9738.a6cdcdf4.css | 1 + public/css/app.c2c4030a.css | 1 + public/index.html | 18 +- public/js/1099.7daf73ae.js | 2 + public/js/1099.7daf73ae.js.map | 1 + public/js/1258.4633540f.js | 2 + public/js/1258.4633540f.js.map | 1 + public/js/1381.a7a867b9.js | 2 + public/js/1381.a7a867b9.js.map | 1 + public/js/1565.a370a7ae.js | 2 + public/js/1565.a370a7ae.js.map | 1 + public/js/1969.7278bd29.js | 2 + public/js/1969.7278bd29.js.map | 1 + public/js/2070.a9bdda7e.js | 2 + public/js/2070.a9bdda7e.js.map | 1 + public/js/2177.22663f37.js | 2 + public/js/2177.22663f37.js.map | 1 + public/js/2353.49689b39.js | 2 + public/js/2353.49689b39.js.map | 1 + public/js/2452.b6b34976.js | 2 + public/js/2452.b6b34976.js.map | 1 + public/js/2463.23ea5dc5.js | 2 + public/js/2463.23ea5dc5.js.map | 1 + public/js/2607.e94b0cf6.js | 2 + public/js/2607.e94b0cf6.js.map | 1 + public/js/2809.a612bbeb.js | 2 + public/js/2809.a612bbeb.js.map | 1 + public/js/3214.c5de0b44.js | 2 + public/js/3214.c5de0b44.js.map | 1 + public/js/3299.8406bc29.js | 2 + public/js/3299.8406bc29.js.map | 1 + public/js/3353.e33f7cc7.js | 2 + public/js/3353.e33f7cc7.js.map | 1 + public/js/3459.360d8c09.js | 2 + public/js/3459.360d8c09.js.map | 1 + public/js/3484.4a9b16f5.js | 2 + public/js/3484.4a9b16f5.js.map | 1 + public/js/3550.354e24f7.js | 2 + public/js/3550.354e24f7.js.map | 1 + public/js/3715.3b4a12bd.js | 2 + public/js/3715.3b4a12bd.js.map | 1 + public/js/4039.c58e9118.js | 2 + public/js/4039.c58e9118.js.map | 1 + public/js/466.8dbaae3d.js | 2 + public/js/466.8dbaae3d.js.map | 1 + public/js/4765.8a60700e.js | 2 + public/js/4765.8a60700e.js.map | 1 + public/js/480.72694b33.js | 2 + public/js/480.72694b33.js.map | 1 + public/js/4847.5c0de6b4.js | 2 + public/js/4847.5c0de6b4.js.map | 1 + public/js/4908.e90b483e.js | 2 + public/js/4908.e90b483e.js.map | 1 + public/js/5108.2a47f738.js | 2 + public/js/5108.2a47f738.js.map | 1 + public/js/5625.c1e0961c.js | 2 + public/js/5625.c1e0961c.js.map | 1 + public/js/5693.df495919.js | 2 + public/js/5693.df495919.js.map | 1 + public/js/5697.eb811050.js | 2 + public/js/5697.eb811050.js.map | 1 + public/js/6007.7dddac38.js | 2 + public/js/6007.7dddac38.js.map | 1 + public/js/6107.facac1f8.js | 2 + public/js/6107.facac1f8.js.map | 1 + public/js/6959.5a9ab1e8.js | 2 + public/js/6959.5a9ab1e8.js.map | 1 + public/js/7008.0d83e4f4.js | 2 + public/js/7008.0d83e4f4.js.map | 1 + public/js/7120.84da16bb.js | 2 + public/js/7120.84da16bb.js.map | 1 + public/js/7158.b45849ac.js | 2 + public/js/7158.b45849ac.js.map | 1 + public/js/7361.210695ca.js | 2 + public/js/7361.210695ca.js.map | 1 + public/js/7382.4ca8ff1c.js | 2 + public/js/7382.4ca8ff1c.js.map | 1 + public/js/757.a98aad7e.js | 2 + public/js/757.a98aad7e.js.map | 1 + public/js/7876.0d8ab0bc.js | 2 + public/js/7876.0d8ab0bc.js.map | 1 + public/js/8060.f4d2f3e9.js | 2 + public/js/8060.f4d2f3e9.js.map | 1 + public/js/8074.dfd9f966.js | 2 + public/js/8074.dfd9f966.js.map | 1 + public/js/8183.73935aeb.js | 2 + public/js/8183.73935aeb.js.map | 1 + public/js/830.92a4d716.js | 2 + public/js/830.92a4d716.js.map | 1 + public/js/8712.1e0ea3f5.js | 2 + public/js/8712.1e0ea3f5.js.map | 1 + public/js/878.7fe59d3c.js | 2 + public/js/878.7fe59d3c.js.map | 1 + public/js/8848.ebff20ee.js | 2 + public/js/8848.ebff20ee.js.map | 1 + public/js/891.b639dd7f.js | 2 + public/js/891.b639dd7f.js.map | 1 + public/js/9231.d97a8b29.js | 2 + public/js/9231.d97a8b29.js.map | 1 + public/js/9238.4bb183f2.js | 2 + public/js/9238.4bb183f2.js.map | 1 + public/js/9524.206dd33b.js | 2 + public/js/9524.206dd33b.js.map | 1 + public/js/9738.29e34d9f.js | 2 + public/js/9738.29e34d9f.js.map | 1 + public/js/app.2b3ac443.js | 2 + public/js/app.2b3ac443.js.map | 1 + public/js/app.62331f73.js | 2 + public/js/app.62331f73.js.map | 1 + public/js/app.f7f58406.js | 2 + public/js/app.f7f58406.js.map | 1 + public/js/chunk-vendors.a58901d9.js | 41 + public/js/chunk-vendors.a58901d9.js.map | 1 + 156 files changed, 18970 insertions(+), 739 deletions(-) create mode 100644 public/css/1099.a6cdcdf4.css create mode 100644 public/css/1258.13c489b0.css create mode 100644 public/css/1565.5391dc21.css create mode 100644 public/css/1969.a6cdcdf4.css create mode 100644 public/css/2177.54e852c0.css create mode 100644 public/css/2353.9504c97b.css create mode 100644 public/css/2463.a6cdcdf4.css create mode 100644 public/css/2607.a6cdcdf4.css create mode 100644 public/css/2809.b682d961.css create mode 100644 public/css/3214.a6cdcdf4.css create mode 100644 public/css/3299.5760daa0.css create mode 100644 public/css/3353.bdb3d500.css create mode 100644 public/css/3459.f3d026c5.css create mode 100644 public/css/3484.32da9cb7.css create mode 100644 public/css/3550.a6cdcdf4.css create mode 100644 public/css/3715.a6cdcdf4.css create mode 100644 public/css/4039.be11324e.css create mode 100644 public/css/466.a6cdcdf4.css create mode 100644 public/css/4765.4bd58cd7.css create mode 100644 public/css/480.78894bf8.css create mode 100644 public/css/4908.1e896a7d.css create mode 100644 public/css/5108.a6cdcdf4.css create mode 100644 public/css/5625.7ef4d708.css create mode 100644 public/css/5697.a6cdcdf4.css create mode 100644 public/css/6007.9e55a8df.css create mode 100644 public/css/6107.a6cdcdf4.css create mode 100644 public/css/6959.d2acc39d.css create mode 100644 public/css/7158.a6cdcdf4.css create mode 100644 public/css/7361.a6cdcdf4.css create mode 100644 public/css/7382.49bff9d4.css create mode 100644 public/css/757.5e87db7f.css create mode 100644 public/css/7876.5b86c09c.css create mode 100644 public/css/8060.a6cdcdf4.css create mode 100644 public/css/8074.3a6e7316.css create mode 100644 public/css/8183.43cc4f81.css create mode 100644 public/css/830.a6cdcdf4.css create mode 100644 public/css/8712.4386b7e7.css create mode 100644 public/css/878.596e7cea.css create mode 100644 public/css/8848.a6cdcdf4.css create mode 100644 public/css/9238.a6cdcdf4.css create mode 100644 public/css/9524.a6cdcdf4.css create mode 100644 public/css/9738.a6cdcdf4.css create mode 100644 public/css/app.c2c4030a.css create mode 100644 public/js/1099.7daf73ae.js create mode 100644 public/js/1099.7daf73ae.js.map create mode 100644 public/js/1258.4633540f.js create mode 100644 public/js/1258.4633540f.js.map create mode 100644 public/js/1381.a7a867b9.js create mode 100644 public/js/1381.a7a867b9.js.map create mode 100644 public/js/1565.a370a7ae.js create mode 100644 public/js/1565.a370a7ae.js.map create mode 100644 public/js/1969.7278bd29.js create mode 100644 public/js/1969.7278bd29.js.map create mode 100644 public/js/2070.a9bdda7e.js create mode 100644 public/js/2070.a9bdda7e.js.map create mode 100644 public/js/2177.22663f37.js create mode 100644 public/js/2177.22663f37.js.map create mode 100644 public/js/2353.49689b39.js create mode 100644 public/js/2353.49689b39.js.map create mode 100644 public/js/2452.b6b34976.js create mode 100644 public/js/2452.b6b34976.js.map create mode 100644 public/js/2463.23ea5dc5.js create mode 100644 public/js/2463.23ea5dc5.js.map create mode 100644 public/js/2607.e94b0cf6.js create mode 100644 public/js/2607.e94b0cf6.js.map create mode 100644 public/js/2809.a612bbeb.js create mode 100644 public/js/2809.a612bbeb.js.map create mode 100644 public/js/3214.c5de0b44.js create mode 100644 public/js/3214.c5de0b44.js.map create mode 100644 public/js/3299.8406bc29.js create mode 100644 public/js/3299.8406bc29.js.map create mode 100644 public/js/3353.e33f7cc7.js create mode 100644 public/js/3353.e33f7cc7.js.map create mode 100644 public/js/3459.360d8c09.js create mode 100644 public/js/3459.360d8c09.js.map create mode 100644 public/js/3484.4a9b16f5.js create mode 100644 public/js/3484.4a9b16f5.js.map create mode 100644 public/js/3550.354e24f7.js create mode 100644 public/js/3550.354e24f7.js.map create mode 100644 public/js/3715.3b4a12bd.js create mode 100644 public/js/3715.3b4a12bd.js.map create mode 100644 public/js/4039.c58e9118.js create mode 100644 public/js/4039.c58e9118.js.map create mode 100644 public/js/466.8dbaae3d.js create mode 100644 public/js/466.8dbaae3d.js.map create mode 100644 public/js/4765.8a60700e.js create mode 100644 public/js/4765.8a60700e.js.map create mode 100644 public/js/480.72694b33.js create mode 100644 public/js/480.72694b33.js.map create mode 100644 public/js/4847.5c0de6b4.js create mode 100644 public/js/4847.5c0de6b4.js.map create mode 100644 public/js/4908.e90b483e.js create mode 100644 public/js/4908.e90b483e.js.map create mode 100644 public/js/5108.2a47f738.js create mode 100644 public/js/5108.2a47f738.js.map create mode 100644 public/js/5625.c1e0961c.js create mode 100644 public/js/5625.c1e0961c.js.map create mode 100644 public/js/5693.df495919.js create mode 100644 public/js/5693.df495919.js.map create mode 100644 public/js/5697.eb811050.js create mode 100644 public/js/5697.eb811050.js.map create mode 100644 public/js/6007.7dddac38.js create mode 100644 public/js/6007.7dddac38.js.map create mode 100644 public/js/6107.facac1f8.js create mode 100644 public/js/6107.facac1f8.js.map create mode 100644 public/js/6959.5a9ab1e8.js create mode 100644 public/js/6959.5a9ab1e8.js.map create mode 100644 public/js/7008.0d83e4f4.js create mode 100644 public/js/7008.0d83e4f4.js.map create mode 100644 public/js/7120.84da16bb.js create mode 100644 public/js/7120.84da16bb.js.map create mode 100644 public/js/7158.b45849ac.js create mode 100644 public/js/7158.b45849ac.js.map create mode 100644 public/js/7361.210695ca.js create mode 100644 public/js/7361.210695ca.js.map create mode 100644 public/js/7382.4ca8ff1c.js create mode 100644 public/js/7382.4ca8ff1c.js.map create mode 100644 public/js/757.a98aad7e.js create mode 100644 public/js/757.a98aad7e.js.map create mode 100644 public/js/7876.0d8ab0bc.js create mode 100644 public/js/7876.0d8ab0bc.js.map create mode 100644 public/js/8060.f4d2f3e9.js create mode 100644 public/js/8060.f4d2f3e9.js.map create mode 100644 public/js/8074.dfd9f966.js create mode 100644 public/js/8074.dfd9f966.js.map create mode 100644 public/js/8183.73935aeb.js create mode 100644 public/js/8183.73935aeb.js.map create mode 100644 public/js/830.92a4d716.js create mode 100644 public/js/830.92a4d716.js.map create mode 100644 public/js/8712.1e0ea3f5.js create mode 100644 public/js/8712.1e0ea3f5.js.map create mode 100644 public/js/878.7fe59d3c.js create mode 100644 public/js/878.7fe59d3c.js.map create mode 100644 public/js/8848.ebff20ee.js create mode 100644 public/js/8848.ebff20ee.js.map create mode 100644 public/js/891.b639dd7f.js create mode 100644 public/js/891.b639dd7f.js.map create mode 100644 public/js/9231.d97a8b29.js create mode 100644 public/js/9231.d97a8b29.js.map create mode 100644 public/js/9238.4bb183f2.js create mode 100644 public/js/9238.4bb183f2.js.map create mode 100644 public/js/9524.206dd33b.js create mode 100644 public/js/9524.206dd33b.js.map create mode 100644 public/js/9738.29e34d9f.js create mode 100644 public/js/9738.29e34d9f.js.map create mode 100644 public/js/app.2b3ac443.js create mode 100644 public/js/app.2b3ac443.js.map create mode 100644 public/js/app.62331f73.js create mode 100644 public/js/app.62331f73.js.map create mode 100644 public/js/app.f7f58406.js create mode 100644 public/js/app.f7f58406.js.map create mode 100644 public/js/chunk-vendors.a58901d9.js create mode 100644 public/js/chunk-vendors.a58901d9.js.map diff --git a/package-lock.json b/package-lock.json index a272345..6cdbd73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "miriamgemeinde", "version": "0.1.0", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { @@ -25,6 +25,7 @@ "@tiptap/extension-underline": "^2.4.0", "@tiptap/starter-kit": "^2.4.0", "@tiptap/vue-3": "^2.4.0", + "@vue/cli": "^5.0.8", "axios": "^1.7.2", "bcryptjs": "^2.4.3", "body-parser": "^1.20.2", @@ -44,7 +45,7 @@ "sequelize-cli": "^6.6.2", "uuid": "^10.0.0", "vm-browserify": "^1.1.2", - "vue": "^3.2.13", + "vue": "^3.4.30", "vue-multiselect": "^3.0.0", "vue-quill-editor": "^3.0.6", "vue-router": "^4.3.3", @@ -69,7 +70,6 @@ "version": "9.2.9", "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.9.tgz", "integrity": "sha512-7s0VcTwiK/0tNOVdSX9FWMeFdOEcsAOz9HesBldXxFMaGvIak7KC2z9tV9EgsQXn6KUsWsfIkViMNuIo0GoZDQ==", - "dev": true, "dependencies": { "@node-ipc/js-queue": "2.0.3", "event-pubsub": "4.3.0", @@ -79,11 +79,21 @@ "node": "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22" } }, + "node_modules/@akryum/winattr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@akryum/winattr/-/winattr-3.0.0.tgz", + "integrity": "sha512-t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==", + "dependencies": { + "fswin": "^2.17.1227" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -92,11 +102,161 @@ "node": ">=6.0.0" } }, + "node_modules/@apollo/protobufjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", + "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "long": "^4.0.0" + }, + "bin": { + "apollo-pbjs": "bin/pbjs", + "apollo-pbts": "bin/pbts" + } + }, + "node_modules/@apollo/usage-reporting-protobuf": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz", + "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==", + "dependencies": { + "@apollo/protobufjs": "1.2.7" + } + }, + "node_modules/@apollo/utils.dropunuseddefinitions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz", + "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==", + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.keyvaluecache": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", + "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", + "dependencies": { + "@apollo/utils.logger": "^1.0.0", + "lru-cache": "7.10.1 - 7.13.1" + } + }, + "node_modules/@apollo/utils.keyvaluecache/node_modules/lru-cache": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", + "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@apollo/utils.logger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", + "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + }, + "node_modules/@apollo/utils.printwithreducedwhitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz", + "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==", + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.removealiases": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz", + "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==", + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.sortast": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz", + "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==", + "dependencies": { + "lodash.sortby": "^4.7.0" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.stripsensitiveliterals": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz", + "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==", + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollo/utils.usagereporting": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz", + "integrity": "sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ==", + "dependencies": { + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.dropunuseddefinitions": "^1.1.0", + "@apollo/utils.printwithreducedwhitespace": "^1.1.0", + "@apollo/utils.removealiases": "1.0.0", + "@apollo/utils.sortast": "^1.1.0", + "@apollo/utils.stripsensitiveliterals": "^1.2.0" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "graphql": "14.x || 15.x || 16.x" + } + }, + "node_modules/@apollographql/apollo-tools": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz", + "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==", + "engines": { + "node": ">=8", + "npm": ">=6" + }, + "peerDependencies": { + "graphql": "^14.2.1 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/@apollographql/graphql-playground-html": { + "version": "1.6.29", + "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", + "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==", + "dependencies": { + "xss": "^1.0.8" + } + }, "node_modules/@babel/code-frame": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dev": true, "dependencies": { "@babel/highlight": "^7.24.7", "picocolors": "^1.0.0" @@ -109,7 +269,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -118,7 +277,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", - "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.24.7", @@ -166,7 +324,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", - "dev": true, "dependencies": { "@babel/types": "^7.24.7", "@jridgewell/gen-mapping": "^0.3.5", @@ -181,7 +338,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", - "dev": true, "dependencies": { "@babel/types": "^7.24.7" }, @@ -193,7 +349,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", - "dev": true, "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -206,7 +361,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.24.7", "@babel/helper-validator-option": "^7.24.7", @@ -222,7 +376,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-environment-visitor": "^7.24.7", @@ -245,7 +398,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", @@ -262,7 +414,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", - "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -278,7 +429,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, "dependencies": { "@babel/types": "^7.24.7" }, @@ -290,7 +440,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, "dependencies": { "@babel/template": "^7.24.7", "@babel/types": "^7.24.7" @@ -303,7 +452,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, "dependencies": { "@babel/types": "^7.24.7" }, @@ -315,7 +463,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", - "dev": true, "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -328,7 +475,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -341,7 +487,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-module-imports": "^7.24.7", @@ -360,7 +505,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", - "dev": true, "dependencies": { "@babel/types": "^7.24.7" }, @@ -372,7 +516,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -381,7 +524,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-environment-visitor": "^7.24.7", @@ -398,7 +540,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-member-expression-to-functions": "^7.24.7", @@ -415,7 +556,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -428,7 +568,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", - "dev": true, "dependencies": { "@babel/traverse": "^7.24.7", "@babel/types": "^7.24.7" @@ -441,7 +580,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, "dependencies": { "@babel/types": "^7.24.7" }, @@ -453,7 +591,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -462,7 +599,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -471,7 +607,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -480,7 +615,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", - "dev": true, "dependencies": { "@babel/helper-function-name": "^7.24.7", "@babel/template": "^7.24.7", @@ -495,7 +629,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", - "dev": true, "dependencies": { "@babel/template": "^7.24.7", "@babel/types": "^7.24.7" @@ -508,7 +641,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", @@ -534,7 +666,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -550,7 +681,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -565,7 +695,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", @@ -582,7 +711,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -599,7 +727,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", - "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -628,11 +755,43 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, "engines": { "node": ">=6.9.0" }, @@ -644,7 +803,6 @@ "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -656,7 +814,6 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -668,7 +825,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -698,7 +854,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -710,7 +865,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -718,11 +872,24 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -737,7 +904,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -752,7 +918,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -764,7 +929,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -776,7 +940,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -791,7 +954,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -803,7 +965,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -815,7 +976,6 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -827,7 +987,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -839,7 +998,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -851,7 +1009,6 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -863,7 +1020,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -878,7 +1034,6 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -889,11 +1044,24 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -909,7 +1077,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -924,7 +1091,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -942,7 +1108,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", - "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -959,7 +1124,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -974,7 +1138,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -989,7 +1152,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", - "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1005,7 +1167,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", - "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -1022,7 +1183,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz", "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-compilation-targets": "^7.24.7", @@ -1044,7 +1204,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/template": "^7.24.7" @@ -1060,7 +1219,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1075,7 +1233,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1091,7 +1248,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1106,7 +1262,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -1122,7 +1277,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", - "dev": true, "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1138,7 +1292,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" @@ -1150,11 +1303,25 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.7.tgz", + "integrity": "sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-flow": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-for-of": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" @@ -1170,7 +1337,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", - "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.24.7", "@babel/helper-function-name": "^7.24.7", @@ -1187,7 +1353,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -1203,7 +1368,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1218,7 +1382,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" @@ -1234,7 +1397,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1249,7 +1411,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", - "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1265,7 +1426,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", - "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -1282,7 +1442,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", - "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.24.7", "@babel/helper-module-transforms": "^7.24.7", @@ -1300,7 +1459,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", - "dev": true, "dependencies": { "@babel/helper-module-transforms": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1316,7 +1474,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1332,7 +1489,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1347,7 +1503,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -1363,7 +1518,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -1379,7 +1533,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", - "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7", @@ -1397,7 +1550,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-replace-supers": "^7.24.7" @@ -1413,7 +1565,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -1429,7 +1580,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz", "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", @@ -1446,7 +1596,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1461,7 +1610,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", - "dev": true, "dependencies": { "@babel/helper-create-class-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1477,7 +1625,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", - "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", "@babel/helper-create-class-features-plugin": "^7.24.7", @@ -1495,7 +1642,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1510,7 +1656,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" @@ -1526,7 +1671,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1561,7 +1705,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1576,7 +1719,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" @@ -1592,7 +1734,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1607,7 +1748,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1622,7 +1762,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz", "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1633,11 +1772,27 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", + "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-unicode-escapes": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.24.7" }, @@ -1652,7 +1807,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1668,7 +1822,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1684,7 +1837,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", - "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.24.7", "@babel/helper-plugin-utils": "^7.24.7" @@ -1700,7 +1852,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz", "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.24.7", "@babel/helper-compilation-targets": "^7.24.7", @@ -1791,11 +1942,26 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz", + "integrity": "sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-flow-strip-types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/types": "^7.4.4", @@ -1805,17 +1971,159 @@ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/@babel/preset-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", + "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.6", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/register/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/register/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" }, "node_modules/@babel/runtime": { "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1827,7 +2135,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/parser": "^7.24.7", @@ -1841,7 +2148,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/generator": "^7.24.7", @@ -1862,7 +2168,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", - "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.24.7", "@babel/helper-validator-identifier": "^7.24.7", @@ -1901,6 +2206,15 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", @@ -1916,29 +2230,133 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/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==", + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", + "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", + "dependencies": { + "@graphql-tools/utils": "8.9.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/mock": { + "version": "8.7.20", + "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz", + "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==", + "dependencies": { + "@graphql-tools/schema": "^9.0.18", + "@graphql-tools/utils": "^9.2.1", + "fast-json-stable-stringify": "^2.1.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/merge": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", + "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/schema": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", + "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", + "dependencies": { + "@graphql-tools/merge": "^8.4.1", + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/mock/node_modules/@graphql-tools/utils": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", + "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/mock/node_modules/value-or-promise": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", + "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", + "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", + "dependencies": { + "@graphql-tools/merge": "8.3.1", + "@graphql-tools/utils": "8.9.0", + "tslib": "^2.4.0", + "value-or-promise": "1.0.11" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", + "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", + "dependencies": { + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "dev": true + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" }, "node_modules/@hapi/topo": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dev": true, "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -2100,11 +2518,15 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@josephg/resolvable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz", + "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==" + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -2118,7 +2540,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -2127,7 +2548,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -2151,7 +2571,6 @@ "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -2176,7 +2595,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", - "dev": true, "dependencies": { "easy-stack": "1.0.1" }, @@ -2188,7 +2606,6 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2201,7 +2618,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, "engines": { "node": ">= 8" } @@ -2210,7 +2626,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2248,6 +2663,60 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, "node_modules/@remirror/core-constants": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-2.0.2.tgz", @@ -2258,7 +2727,6 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "dev": true, "dependencies": { "@hapi/hoek": "^9.0.0" } @@ -2266,14 +2734,20 @@ "node_modules/@sideway/formula": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", - "dev": true + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" }, "node_modules/@sideway/pinpoint": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "dev": true + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==", + "engines": { + "node": ">=4" + } }, "node_modules/@soda/friendly-errors-webpack-plugin": { "version": "1.8.1", @@ -2820,11 +3294,18 @@ "node": ">=10.13.0" } }, + "node_modules/@types/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -2843,7 +3324,6 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, "dependencies": { "@types/node": "*" } @@ -2858,6 +3338,11 @@ "@types/node": "*" } }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2866,6 +3351,11 @@ "@types/ms": "*" } }, + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==" + }, "node_modules/@types/eslint": { "version": "8.56.10", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", @@ -2893,27 +3383,24 @@ "dev": true }, "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", + "@types/express-serve-static-core": "^4.17.18", "@types/qs": "*", "@types/serve-static": "*" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.3", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.3.tgz", - "integrity": "sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==", - "dev": true, + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", "dependencies": { "@types/node": "*", "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "@types/range-parser": "*" } }, "node_modules/@types/html-minifier-terser": { @@ -2925,8 +3412,7 @@ "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/http-proxy": { "version": "1.17.14", @@ -2937,17 +3423,61 @@ "@types/node": "*" } }, + "node_modules/@types/inquirer": { + "version": "8.2.10", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.10.tgz", + "integrity": "sha512-IdD5NmHyVjWM8SHWo/kPBgtzXatwPkfwzyP3fN1jF2g9BWt5WO+8hL2F4o2GKIYsU40PpqeevuUWvkS/roXJkA==", + "dependencies": { + "@types/through": "*", + "rxjs": "^7.2.0" + } + }, + "node_modules/@types/jscodeshift": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@types/jscodeshift/-/jscodeshift-0.7.2.tgz", + "integrity": "sha512-k4ih8ayQ65e26vhCxeMTKtZ808DzC0RFQ4unBvPEy9bcFhS4aPm3oXgWWZNmZ4u+H2WzHQDCNrRC5iNX+afiZw==", + "dependencies": { + "ast-types": "0.12.1", + "recast": "0.17.2" + } + }, + "node_modules/@types/jscodeshift/node_modules/ast-types": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.12.1.tgz", + "integrity": "sha512-H2izJAyT2xwew4TxShpmxe6f9R5hHgJQy1QloLiUC2yrJMtyraBWNJL7903rpeCY9keNUipORR/zIUC2XcYKng==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@types/jscodeshift/node_modules/recast": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.17.2.tgz", + "integrity": "sha512-YHFvn4rBXl8eIjALjUiOV/AP3xFpyGNGNHDw9mAncAWuIdgnBKjbZQ9+P3VlsKcNaNapRVFlTEX1dvDRlYwyxg==", + "dependencies": { + "ast-types": "0.12.1", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + }, + "engines": { + "node": ">= 4" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/minimist": { "version": "1.2.5", @@ -2961,9 +3491,9 @@ "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/node": { - "version": "20.14.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz", - "integrity": "sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==", + "version": "20.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", "dependencies": { "undici-types": "~5.26.4" } @@ -2980,8 +3510,7 @@ "node_modules/@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" }, "node_modules/@types/parse-json": { "version": "4.0.2", @@ -2992,14 +3521,12 @@ "node_modules/@types/qs": { "version": "6.9.15", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", - "dev": true + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/retry": { "version": "0.12.0", @@ -3011,7 +3538,6 @@ "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -3030,7 +3556,6 @@ "version": "1.15.7", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dev": true, "dependencies": { "@types/http-errors": "*", "@types/node": "*", @@ -3046,10 +3571,18 @@ "@types/node": "*" } }, + "node_modules/@types/through": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/validator": { - "version": "13.11.10", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.10.tgz", - "integrity": "sha512-e2PNXoXLr6Z+dbfx5zSh9TRlXJrELycxiaXznp4S5+D2M3b9bqJEitNHA5923jhnB2zzFiZHa2f0SI1HoIahpg==" + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==" }, "node_modules/@types/ws": { "version": "8.5.10", @@ -3345,6 +3878,54 @@ "node": ">=6" } }, + "node_modules/@vue/cli": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli/-/cli-5.0.8.tgz", + "integrity": "sha512-c/QKPdC09bYkW22m/boXkLaiz10z0Z2WHZO7zEeNdfSduqyWINZhKc6hVQU3Vk0NXW7BJAd7zWmcUrC8L9TuAA==", + "dependencies": { + "@types/ejs": "^3.0.6", + "@types/inquirer": "^8.1.3", + "@vue/cli-shared-utils": "^5.0.8", + "@vue/cli-ui": "^5.0.8", + "@vue/cli-ui-addon-webpack": "^5.0.8", + "@vue/cli-ui-addon-widgets": "^5.0.8", + "boxen": "^5.0.0", + "commander": "^7.1.0", + "debug": "^4.1.0", + "deepmerge": "^4.2.2", + "download-git-repo": "^3.0.2", + "ejs": "^3.1.6", + "envinfo": "^7.7.4", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "import-global": "^0.1.0", + "ini": "^2.0.0", + "inquirer": "^8.0.0", + "isbinaryfile": "^4.0.6", + "javascript-stringify": "^2.0.1", + "js-yaml": "^4.0.0", + "leven": "^3.1.0", + "lodash.clonedeep": "^4.5.0", + "lru-cache": "^6.0.0", + "minimist": "^1.2.5", + "pkg-dir": "^5.0.0", + "recast": "^0.20.3", + "resolve": "^1.20.0", + "shortid": "^2.2.15", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0", + "validate-npm-package-name": "^3.0.0", + "vue": "^2.6.14", + "vue-codemod": "^0.0.5", + "yaml-front-matter": "^4.1.0" + }, + "bin": { + "vue": "bin/vue.js" + }, + "engines": { + "node": "^12.0.0 || >= 14.0.0" + } + }, "node_modules/@vue/cli-overlay": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz", @@ -3518,7 +4099,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz", "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", - "dev": true, "dependencies": { "@achrinza/node-ipc": "^9.2.5", "chalk": "^4.1.2", @@ -3538,7 +4118,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3553,7 +4132,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3569,7 +4147,6 @@ "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, "dependencies": { "color-name": "~1.1.4" }, @@ -3580,14 +4157,12 @@ "node_modules/@vue/cli-shared-utils/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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/@vue/cli-shared-utils/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, "engines": { "node": ">=8" } @@ -3596,7 +4171,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -3608,7 +4182,6 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -3620,7 +4193,6 @@ "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, "dependencies": { "has-flag": "^4.0.0" }, @@ -3631,40 +4203,143 @@ "node_modules/@vue/cli-shared-utils/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@vue/cli-ui": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-5.0.8.tgz", + "integrity": "sha512-1eyL1h1T3LVejYplDqERO8TK03sjR3QTOTHa01ABreCdqFTZItiUVud34uEcuoZ6Gi69xdl+LSx6Hvo4t9tfrA==", + "dependencies": { + "@achrinza/node-ipc": "^9.2.5", + "@akryum/winattr": "^3.0.0", + "@graphql-tools/schema": "^8.5.0", + "@vue/cli-shared-utils": "^5.0.8", + "apollo-server-express": "^3.9.0", + "clone": "^2.1.1", + "deepmerge": "^4.2.2", + "express": "^4.17.1", + "express-history-api-fallback": "^2.2.1", + "fkill": "^7.1.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "graphql": "^15.5.0", + "graphql-subscriptions": "^1.2.0", + "graphql-tag": "^2.10.3", + "graphql-type-json": "^0.3.1", + "javascript-stringify": "^2.0.1", + "js-yaml": "^4.0.0", + "lodash.merge": "^4.6.1", + "lowdb": "^1.0.0", + "lru-cache": "^6.0.0", + "node-notifier": "^10.0.0", + "parse-git-config": "^3.0.0", + "portfinder": "^1.0.26", + "prismjs": "^1.23.0", + "rss-parser": "^3.11.0", + "shortid": "^2.2.15", + "subscriptions-transport-ws": "^0.11.0", + "typescript": "~4.5.5" + }, + "engines": { + "node": "^12.0.0 || >= 14.0.0" + } + }, + "node_modules/@vue/cli-ui-addon-webpack": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-5.0.8.tgz", + "integrity": "sha512-sg+3a9vHGzpFRrv7MVZRQ9oDztFN9Mvx0MleidKyPIAWMSOskSQT8zTngy8bEyXjXwNv6mCn2jvUR/tgbldyow==" + }, + "node_modules/@vue/cli-ui-addon-widgets": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-5.0.8.tgz", + "integrity": "sha512-jNYQ+3z7HDZ3IR3Z3Dlo3yOPbHexpygkn2IJ7sjA62oGolnNWeF7kvpLwni18l8N5InhS66m9w31an1Fs5pCZA==" + }, + "node_modules/@vue/cli-ui/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-ui/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@vue/cli/node_modules/@vue/compiler-sfc": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", + "dependencies": { + "@babel/parser": "^7.23.5", + "postcss": "^8.4.14", + "source-map": "^0.6.1" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli/node_modules/vue": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", + "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", + "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.", + "dependencies": { + "@vue/compiler-sfc": "2.7.16", + "csstype": "^3.1.0" + } + }, + "node_modules/@vue/cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@vue/compiler-core": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.29.tgz", - "integrity": "sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.30.tgz", + "integrity": "sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==", "dependencies": { "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.29", + "@vue/shared": "3.4.30", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.29.tgz", - "integrity": "sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.30.tgz", + "integrity": "sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==", "dependencies": { - "@vue/compiler-core": "3.4.29", - "@vue/shared": "3.4.29" + "@vue/compiler-core": "3.4.30", + "@vue/shared": "3.4.30" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.29.tgz", - "integrity": "sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.30.tgz", + "integrity": "sha512-8vElKklHn/UY8+FgUFlQrYAPbtiSB2zcgeRKW7HkpSRn/JjMRmZvuOtwDx036D1aqKNSTtXkWRfqx53Qb+HmMg==", "dependencies": { "@babel/parser": "^7.24.7", - "@vue/compiler-core": "3.4.29", - "@vue/compiler-dom": "3.4.29", - "@vue/compiler-ssr": "3.4.29", - "@vue/shared": "3.4.29", + "@vue/compiler-core": "3.4.30", + "@vue/compiler-dom": "3.4.30", + "@vue/compiler-ssr": "3.4.30", + "@vue/shared": "3.4.30", "estree-walker": "^2.0.2", "magic-string": "^0.30.10", "postcss": "^8.4.38", @@ -3672,12 +4347,12 @@ } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.29.tgz", - "integrity": "sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.30.tgz", + "integrity": "sha512-ZJ56YZGXJDd6jky4mmM0rNaNP6kIbQu9LTKZDhcpddGe/3QIalB1WHHmZ6iZfFNyj5mSypTa4+qDJa5VIuxMSg==", "dependencies": { - "@vue/compiler-dom": "3.4.29", - "@vue/shared": "3.4.29" + "@vue/compiler-dom": "3.4.30", + "@vue/shared": "3.4.30" } }, "node_modules/@vue/component-compiler-utils": { @@ -3750,49 +4425,49 @@ "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==" }, "node_modules/@vue/reactivity": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.29.tgz", - "integrity": "sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.30.tgz", + "integrity": "sha512-bVJurnCe3LS0JII8PPoAA63Zd2MBzcKrEzwdQl92eHCcxtIbxD2fhNwJpa+KkM3Y/A4T5FUnmdhgKwOf6BfbcA==", "dependencies": { - "@vue/shared": "3.4.29" + "@vue/shared": "3.4.30" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.29.tgz", - "integrity": "sha512-s8fmX3YVR/Rk5ig0ic0NuzTNjK2M7iLuVSZyMmCzN/+Mjuqqif1JasCtEtmtoJWF32pAtUjyuT2ljNKNLeOmnQ==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.30.tgz", + "integrity": "sha512-qaFEbnNpGz+tlnkaualomogzN8vBLkgzK55uuWjYXbYn039eOBZrWxyXWq/7qh9Bz2FPifZqGjVDl/FXiq9L2g==", "dependencies": { - "@vue/reactivity": "3.4.29", - "@vue/shared": "3.4.29" + "@vue/reactivity": "3.4.30", + "@vue/shared": "3.4.30" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.29.tgz", - "integrity": "sha512-gI10atCrtOLf/2MPPMM+dpz3NGulo9ZZR9d1dWo4fYvm+xkfvRrw1ZmJ7mkWtiJVXSsdmPbcK1p5dZzOCKDN0g==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.30.tgz", + "integrity": "sha512-tV6B4YiZRj5QsaJgw2THCy5C1H+2UeywO9tqgWEc21tn85qHEERndHN/CxlyXvSBFrpmlexCIdnqPuR9RM9thw==", "dependencies": { - "@vue/reactivity": "3.4.29", - "@vue/runtime-core": "3.4.29", - "@vue/shared": "3.4.29", + "@vue/reactivity": "3.4.30", + "@vue/runtime-core": "3.4.30", + "@vue/shared": "3.4.30", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.29.tgz", - "integrity": "sha512-HMLCmPI2j/k8PVkSBysrA2RxcxC5DgBiCdj7n7H2QtR8bQQPqKAe8qoaxLcInzouBmzwJ+J0x20ygN/B5mYBng==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.30.tgz", + "integrity": "sha512-TBD3eqR1DeDc0cMrXS/vEs/PWzq1uXxnvjoqQuDGFIEHFIwuDTX/KWAQKIBjyMWLFHEeTDGYVsYci85z2UbTDg==", "dependencies": { - "@vue/compiler-ssr": "3.4.29", - "@vue/shared": "3.4.29" + "@vue/compiler-ssr": "3.4.30", + "@vue/shared": "3.4.30" }, "peerDependencies": { - "vue": "3.4.29" + "vue": "3.4.30" } }, "node_modules/@vue/shared": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.29.tgz", - "integrity": "sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==" + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.30.tgz", + "integrity": "sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg==" }, "node_modules/@vue/vue-loader-v15": { "name": "vue-loader", @@ -4064,6 +4739,18 @@ "node": ">= 10.0.0" } }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -4128,6 +4815,14 @@ "ajv": "^6.9.1" } }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -4138,12 +4833,28 @@ } }, "node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true, + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-html-community": { @@ -4170,7 +4881,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -4196,6 +4906,204 @@ "node": ">= 8" } }, + "node_modules/apollo-datasource": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz", + "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==", + "deprecated": "The `apollo-datasource` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "dependencies": { + "@apollo/utils.keyvaluecache": "^1.0.1", + "apollo-server-env": "^4.2.1" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/apollo-reporting-protobuf": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz", + "integrity": "sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog==", + "deprecated": "The `apollo-reporting-protobuf` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/usage-reporting-protobuf` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "dependencies": { + "@apollo/protobufjs": "1.2.6" + } + }, + "node_modules/apollo-reporting-protobuf/node_modules/@apollo/protobufjs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz", + "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "@types/node": "^10.1.0", + "long": "^4.0.0" + }, + "bin": { + "apollo-pbjs": "bin/pbjs", + "apollo-pbts": "bin/pbts" + } + }, + "node_modules/apollo-reporting-protobuf/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/apollo-server-core": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.13.0.tgz", + "integrity": "sha512-v/g6DR6KuHn9DYSdtQijz8dLOkP78I5JSVJzPkARhDbhpH74QNwrQ2PP2URAPPEDJ2EeZNQDX8PvbYkAKqg+kg==", + "dependencies": { + "@apollo/utils.keyvaluecache": "^1.0.1", + "@apollo/utils.logger": "^1.0.0", + "@apollo/utils.usagereporting": "^1.0.0", + "@apollographql/apollo-tools": "^0.5.3", + "@apollographql/graphql-playground-html": "1.6.29", + "@graphql-tools/mock": "^8.1.2", + "@graphql-tools/schema": "^8.0.0", + "@josephg/resolvable": "^1.0.0", + "apollo-datasource": "^3.3.2", + "apollo-reporting-protobuf": "^3.4.0", + "apollo-server-env": "^4.2.1", + "apollo-server-errors": "^3.3.1", + "apollo-server-plugin-base": "^3.7.2", + "apollo-server-types": "^3.8.0", + "async-retry": "^1.2.1", + "fast-json-stable-stringify": "^2.1.0", + "graphql-tag": "^2.11.0", + "loglevel": "^1.6.8", + "lru-cache": "^6.0.0", + "node-abort-controller": "^3.0.1", + "sha.js": "^2.4.11", + "uuid": "^9.0.0", + "whatwg-mimetype": "^3.0.0" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "graphql": "^15.3.0 || ^16.0.0" + } + }, + "node_modules/apollo-server-core/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/apollo-server-core/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/apollo-server-core/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/apollo-server-env": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", + "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==", + "deprecated": "The `apollo-server-env` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/utils.fetcher` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "dependencies": { + "node-fetch": "^2.6.7" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/apollo-server-errors": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz", + "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==", + "deprecated": "The `apollo-server-errors` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "graphql": "^15.3.0 || ^16.0.0" + } + }, + "node_modules/apollo-server-express": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.13.0.tgz", + "integrity": "sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g==", + "dependencies": { + "@types/accepts": "^1.3.5", + "@types/body-parser": "1.19.2", + "@types/cors": "2.8.12", + "@types/express": "4.17.14", + "@types/express-serve-static-core": "4.17.31", + "accepts": "^1.3.5", + "apollo-server-core": "^3.13.0", + "apollo-server-types": "^3.8.0", + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "parseurl": "^1.3.3" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "express": "^4.17.1", + "graphql": "^15.3.0 || ^16.0.0" + } + }, + "node_modules/apollo-server-plugin-base": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz", + "integrity": "sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw==", + "deprecated": "The `apollo-server-plugin-base` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "dependencies": { + "apollo-server-types": "^3.8.0" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "graphql": "^15.3.0 || ^16.0.0" + } + }, + "node_modules/apollo-server-types": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.8.0.tgz", + "integrity": "sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A==", + "deprecated": "The `apollo-server-types` package is part of Apollo Server v2 and v3, which are now deprecated (end-of-life October 22nd 2023 and October 22nd 2024, respectively). This package's functionality is now found in the `@apollo/server` package. See https://www.apollographql.com/docs/apollo-server/previous-versions/ for more details.", + "dependencies": { + "@apollo/utils.keyvaluecache": "^1.0.1", + "@apollo/utils.logger": "^1.0.0", + "apollo-reporting-protobuf": "^3.4.0", + "apollo-server-env": "^4.2.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "graphql": "^15.3.0 || ^16.0.0" + } + }, "node_modules/append-field": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", @@ -4221,13 +5129,52 @@ } ] }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, + "node_modules/archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", "dependencies": { - "sprintf-js": "~1.0.2" + "file-type": "^4.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/archive-type/node_modules/file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "engines": { + "node": ">=0.10.0" } }, "node_modules/array-flatten": { @@ -4239,7 +5186,22 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "engines": { "node": ">=8" } @@ -4261,6 +5223,25 @@ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -4271,12 +5252,16 @@ } }, "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", "dependencies": { - "lodash": "^4.17.14" + "retry": "0.13.1" } }, "node_modules/asynckit": { @@ -4292,6 +5277,17 @@ "node": ">= 4.0.0" } }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, "node_modules/autoprefixer": { "version": "10.4.19", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", @@ -4339,6 +5335,14 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/babel-loader": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", @@ -4385,7 +5389,6 @@ "version": "0.4.11", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", - "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", "@babel/helper-define-polyfill-provider": "^0.6.2", @@ -4399,7 +5402,6 @@ "version": "0.10.4", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", - "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.1", "core-js-compat": "^3.36.1" @@ -4412,7 +5414,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", - "dev": true, "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.2" }, @@ -4420,16 +5421,48 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -4480,13 +5513,25 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -4550,6 +5595,91 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, + "node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/boxen/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/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==" + }, + "node_modules/boxen/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4644,47 +5774,10 @@ "node": ">= 0.12" } }, - "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/browserify-sign/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "node_modules/browserslist": { "version": "4.23.1", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4716,7 +5809,6 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "funding": [ { "type": "github", @@ -4736,11 +5828,38 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -4752,6 +5871,11 @@ "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "dev": true }, + "node_modules/builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" + }, "node_modules/busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -4771,6 +5895,60 @@ "node": ">= 0.8" } }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", + "dependencies": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + } + }, + "node_modules/cacheable-request/node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "node_modules/cacheable-request/node_modules/keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -4812,7 +5990,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, "engines": { "node": ">=10" }, @@ -4833,10 +6010,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001634", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001634.tgz", - "integrity": "sha512-fbBYXQ9q3+yp1q1gBk86tOFs4pyn/yxFm5ZNP18OXJDfA3txImOY9PhfxVggZ4vRHDqoU8NrKU81eN0OtzOgRA==", - "dev": true, + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", "funding": [ { "type": "opencollective", @@ -4861,11 +6037,24 @@ "node": ">=4" } }, + "node_modules/caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "dependencies": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -4875,6 +6064,11 @@ "node": ">=4" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -4934,6 +6128,43 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/clean-css": { "version": "5.3.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", @@ -4946,6 +6177,25 @@ "node": ">= 10.0" } }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cli-color": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.4.tgz", @@ -4965,7 +6215,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -5068,7 +6317,6 @@ "version": "2.9.2", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, "engines": { "node": ">=6" }, @@ -5076,6 +6324,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/clipboardy": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", @@ -5112,7 +6368,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -5122,11 +6377,30 @@ "node": ">=6" } }, + "node_modules/clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "dependencies": { + "mimic-response": "^1.0.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -5134,8 +6408,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/colord": { "version": "2.9.3", @@ -5149,6 +6422,14 @@ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -5161,19 +6442,25 @@ } }, "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "engines": { - "node": ">= 12" + "node": ">= 10" } }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/compressible": { "version": "2.0.18", @@ -5254,33 +6541,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -5290,6 +6550,11 @@ "proto-list": "~1.2.1" } }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -5334,8 +6599,7 @@ "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { "version": "0.6.0", @@ -5350,6 +6614,14 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/copy-webpack-plugin": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", @@ -5406,7 +6678,6 @@ "version": "3.37.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", - "dev": true, "dependencies": { "browserslist": "^4.23.0" }, @@ -5741,6 +7012,11 @@ "node": ">=4" } }, + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" + }, "node_modules/cssnano": { "version": "5.1.15", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", @@ -5877,6 +7153,177 @@ } } }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dependencies": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dependencies": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tar/node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dependencies": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-tarbz2/node_modules/file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dependencies": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-targz/node_modules/file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "dependencies": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress-unzip/node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "dependencies": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-unzip/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/make-dir/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/decompress/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/deep-equal": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", @@ -5903,10 +7350,9 @@ "dev": true }, "node_modules/deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", - "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", - "dev": true, + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "engines": { "node": ">=0.10.0" } @@ -5986,7 +7432,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "dependencies": { "clone": "^1.0.2" }, @@ -5998,7 +7443,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, "engines": { "node": ">=0.8" } @@ -6023,7 +7467,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, "engines": { "node": ">=8" } @@ -6044,6 +7487,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -6114,7 +7569,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -6251,12 +7705,60 @@ "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.6.tgz", "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==" }, + "node_modules/download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "dependencies": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/download-git-repo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/download-git-repo/-/download-git-repo-3.0.2.tgz", + "integrity": "sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==", + "dependencies": { + "download": "^7.1.0", + "git-clone": "^0.1.0", + "rimraf": "^3.0.0" + } + }, + "node_modules/download/node_modules/make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -6266,7 +7768,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -6342,11 +7843,24 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { - "version": "1.4.803", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.803.tgz", - "integrity": "sha512-61H9mLzGOCLLVsnLiRzCbc63uldP0AniRYPV3hbGVtONA1pI7qSGILdbofR7A8TMbOypDocEAjH/e+9k1QIe3g==", - "dev": true + "version": "1.4.810", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz", + "integrity": "sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==" }, "node_modules/elliptic": { "version": "6.5.5", @@ -6395,7 +7909,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "dependencies": { "once": "^1.4.0" } @@ -6437,11 +7950,21 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/envinfo": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -6475,9 +7998,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", - "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true }, "node_modules/es5-ext": { @@ -6545,7 +8068,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -6842,6 +8364,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/eslint/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -6924,6 +8455,19 @@ "node": ">=8" } }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/eslint/node_modules/semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", @@ -6948,18 +8492,6 @@ "node": ">=8" } }, - "node_modules/eslint/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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/esniff": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", @@ -7013,7 +8545,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -7082,7 +8613,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7108,15 +8638,14 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", - "dev": true, "engines": { "node": ">=4.0.0" } }, "node_modules/eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "node_modules/events": { "version": "3.3.0", @@ -7141,7 +8670,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, "dependencies": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", @@ -7159,7 +8687,6 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -7171,11 +8698,21 @@ "node": ">=4.8" } }, + "node_modules/execa/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/execa/node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, "engines": { "node": ">=4" } @@ -7184,7 +8721,6 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, "bin": { "semver": "bin/semver" } @@ -7193,7 +8729,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, "dependencies": { "shebang-regex": "^1.0.0" }, @@ -7205,7 +8740,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7214,7 +8748,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -7222,6 +8755,78 @@ "which": "bin/which" } }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/express": { "version": "4.19.2", "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", @@ -7263,6 +8868,11 @@ "node": ">= 0.10.0" } }, + "node_modules/express-history-api-fallback": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/express-history-api-fallback/-/express-history-api-fallback-2.2.1.tgz", + "integrity": "sha512-swxwm3aP8vrOOvlzOdZvHlSZtJGwHKaY94J6AkrAgCTmcbko3IRwbkhLv2wKV1WeZhjxX58aLMpP3atDBnKuZg==" + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7284,22 +8894,122 @@ "type": "^2.7.2" } }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -7315,7 +9025,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7326,8 +9035,7 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -7339,7 +9047,6 @@ "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -7356,16 +9063,26 @@ "node": ">=0.8.0" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", - "dev": true, + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dependencies": { "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/file-entry-cache": { @@ -7385,6 +9102,62 @@ "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, + "node_modules/file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -7443,7 +9216,7 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/find-up": { + "node_modules/find-cache-dir/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", @@ -7456,6 +9229,147 @@ "node": ">=8" } }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fkill": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/fkill/-/fkill-7.2.1.tgz", + "integrity": "sha512-eN9cmsIlRdq06wu3m01OOEgQf5Xh/M7REm0jfZ4eL3V3XisjXzfRq3iyqtKS+FhO6wB36FvWRiRGdeSx5KpLAQ==", + "dependencies": { + "aggregate-error": "^3.1.0", + "arrify": "^2.0.1", + "execa": "^5.0.0", + "pid-port": "^0.1.0", + "process-exists": "^4.0.0", + "ps-list": "^7.2.0", + "taskkill": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fkill/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fkill/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fkill/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fkill/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -7485,6 +9399,14 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, + "node_modules/flow-parser": { + "version": "0.238.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.238.0.tgz", + "integrity": "sha512-VE7XSv1epljsIN2YeBnxCmGJihpNIAnLLu/pPOdA+Gkso7qDltJwUi6vfHjgxdBbjSdAuPGnhuOHJUQG+yYwIg==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/follow-redirects": { "version": "1.15.6", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", @@ -7504,6 +9426,14 @@ } } }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/foreground-child": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", @@ -7564,6 +9494,17 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", @@ -7572,6 +9513,20 @@ "node": ">= 0.6" } }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -7595,8 +9550,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", @@ -7611,6 +9565,14 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/fswin": { + "version": "2.17.1227", + "resolved": "https://registry.npmjs.org/fswin/-/fswin-2.17.1227.tgz", + "integrity": "sha512-xNDktvwzSsXT8Xqnpz59VbuFwGHhtn1w+dS7QQ+wAu5cbH0p3WMGKU9Duf7cPna+nubhR+5ZG1MTl6/V6xgRgw==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -7645,7 +9607,6 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -7676,16 +9637,44 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, + "node_modules/get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", "dependencies": { - "pump": "^3.0.0" + "npm-conf": "^1.1.0" }, "engines": { - "node": ">=6" + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/git-clone": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz", + "integrity": "sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==" + }, + "node_modules/git-config-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", + "integrity": "sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==", + "engines": { + "node": ">=4" } }, "node_modules/glob": { @@ -7693,7 +9682,6 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7727,11 +9715,26 @@ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { "node": ">=4" } @@ -7740,7 +9743,6 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -7760,7 +9762,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, "engines": { "node": ">= 4" } @@ -7776,11 +9777,84 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "dependencies": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, + "node_modules/graphql": { + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.9.0.tgz", + "integrity": "sha512-GCOQdvm7XxV1S4U4CGrsdlEN37245eC8P9zaYCMr6K1BG0IPGy5lUwmJsEOGyl1GD6HXjOtl2keCP9asRBwNvA==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/graphql-subscriptions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz", + "integrity": "sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==", + "dependencies": { + "iterall": "^1.3.0" + }, + "peerDependencies": { + "graphql": "^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/graphql-type-json": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", + "integrity": "sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==", + "peerDependencies": { + "graphql": ">=0.8.0" + } + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==" + }, "node_modules/gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -7832,6 +9906,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "engines": { + "node": "*" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -7843,6 +9925,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dependencies": { + "has-symbol-support-x": "^1.4.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/has-tostringtag": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", @@ -7857,6 +9950,64 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hash-base": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", @@ -7929,8 +10080,7 @@ "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "node_modules/hpack.js": { "version": "2.1.6", @@ -7944,36 +10094,6 @@ "wbuf": "^1.1.0" } }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/html-entities": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", @@ -8017,6 +10137,15 @@ "node": ">=12" } }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, "node_modules/html-tags": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", @@ -8089,6 +10218,11 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -8154,6 +10288,18 @@ } } }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/http-proxy/node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", @@ -8164,7 +10310,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, "engines": { "node": ">=10.17.0" } @@ -8196,7 +10341,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -8242,15 +10386,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-global": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/import-global/-/import-global-0.1.0.tgz", + "integrity": "sha512-8+hPJLML+m1ym9NSeZXTXFkY5+ml0fYFAzO5yhZiaFQvk9kO0NkE7vd7e7kCVjkTmAxsDPbrWwLQACMwGTDgIg==", + "dependencies": { + "global-dirs": "^0.1.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, "engines": { "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, "node_modules/inflection": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", @@ -8264,7 +10426,6 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -8276,9 +10437,126 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/inquirer/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/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==" + }, + "node_modules/inquirer/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", + "dependencies": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "engines": { + "node": ">=4" + } }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -8288,6 +10566,17 @@ "node": ">= 0.10" } }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -8306,8 +10595,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-binary-path": { "version": "2.1.0", @@ -8320,6 +10608,11 @@ "node": ">=8" } }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "node_modules/is-ci": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", @@ -8333,16 +10626,30 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/is-date-object": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", @@ -8357,11 +10664,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, "bin": { "is-docker": "cli.js" }, @@ -8372,6 +10690,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -8412,11 +10741,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -8425,23 +10758,26 @@ "node": ">=0.12.0" } }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" } }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -8474,11 +10810,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8487,7 +10830,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, "engines": { "node": ">=10" }, @@ -8495,11 +10837,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -8512,6 +10861,17 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -8521,11 +10881,27 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dependencies": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" + }, "node_modules/jackspeak": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", @@ -8543,11 +10919,91 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jake": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/jake/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/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==" + }, + "node_modules/jake/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/javascript-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", - "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", - "dev": true + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" }, "node_modules/jest-worker": { "version": "27.5.1", @@ -8588,10 +11044,9 @@ } }, "node_modules/joi": { - "version": "17.13.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.1.tgz", - "integrity": "sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==", - "dev": true, + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", @@ -8629,14 +11084,15 @@ } }, "node_modules/js-beautify/node_modules/glob": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { @@ -8683,7 +11139,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", - "dev": true, "engines": { "node": ">=0.6.0" } @@ -8691,27 +11146,176 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jscodeshift": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", + "dependencies": { + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.3", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/jscodeshift/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -8734,8 +11338,7 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -8753,7 +11356,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -8836,7 +11438,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8851,22 +11452,29 @@ } }, "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "dev": true, + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", + "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" } }, "node_modules/launch-editor-middleware": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.6.1.tgz", - "integrity": "sha512-Fg/xYhf7ARmRp40n18wIfJyuAMEjXo67Yull7uF7d0OJ3qA4EYJISt1XfPPn69IIJ5jKgQwzcg6DqHYo95LL/g==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.8.0.tgz", + "integrity": "sha512-0Az27jnPR2RgkUoZoLHluM5gg9zHeg7hPsUZESJxcTV8Rs6Fed+Nof7Lb2HmpsE8lN/3YzpU+mvK5exYWSftWw==", "dev": true, "dependencies": { - "launch-editor": "^2.6.1" + "launch-editor": "^2.8.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" } }, "node_modules/levn": { @@ -8894,8 +11502,7 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/linkify-it": { "version": "5.0.0", @@ -8947,15 +11554,17 @@ } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -8963,11 +11572,15 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "node_modules/lodash.defaultsdeep": { "version": "4.6.1", @@ -9026,14 +11639,18 @@ "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -9050,7 +11667,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -9066,7 +11682,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -9081,7 +11696,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9097,7 +11711,6 @@ "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, "dependencies": { "color-name": "~1.1.4" }, @@ -9108,14 +11721,12 @@ "node_modules/log-symbols/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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/log-symbols/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, "engines": { "node": ">=8" } @@ -9124,7 +11735,6 @@ "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, "dependencies": { "has-flag": "^4.0.0" }, @@ -9146,6 +11756,15 @@ "node": ">=4" } }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/log-update/node_modules/ansi-regex": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", @@ -9248,10 +11867,37 @@ "node": ">=4" } }, + "node_modules/loglevel": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, "node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "dependencies": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + }, + "engines": { + "node": ">=4" + } }, "node_modules/lower-case": { "version": "2.0.2", @@ -9262,11 +11908,18 @@ "tslib": "^2.0.3" } }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "dependencies": { "yallist": "^3.0.2" } @@ -9302,6 +11955,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/markdown-it": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", @@ -9319,12 +11991,6 @@ "markdown-it": "bin/markdown-it.mjs" } }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "peer": true - }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -9403,14 +12069,12 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, "engines": { "node": ">= 8" } @@ -9427,7 +12091,6 @@ "version": "4.0.7", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "dev": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -9489,11 +12152,18 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, "node_modules/mini-css-extract-plugin": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", @@ -9616,6 +12286,18 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -9696,6 +12378,11 @@ "multicast-dns": "cli.js" } }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, "node_modules/mysql2": { "version": "3.10.1", "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.10.1.tgz", @@ -9725,6 +12412,11 @@ "node": ">=0.10.0" } }, + "node_modules/mysql2/node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, "node_modules/mysql2/node_modules/lru-cache": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", @@ -9780,6 +12472,27 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9797,8 +12510,7 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/next-tick": { "version": "1.1.0", @@ -9808,8 +12520,7 @@ "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "node_modules/no-case": { "version": "3.0.4", @@ -9821,11 +12532,26 @@ "tslib": "^2.0.3" } }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -9850,16 +12576,47 @@ "node": ">= 6.13.0" } }, + "node_modules/node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" + } + }, + "node_modules/node-notifier/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-notifier/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/nodemon": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.3.tgz", - "integrity": "sha512-m4Vqs+APdKzDFpuaL9F9EVOF85+h070FnkHVEoU4+rmT6Vw0bmNl7s61VEkY/cJkL7RCv1p4urnUDUMrS5rk2w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", + "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", "dependencies": { "chokidar": "^3.5.2", "debug": "^4", @@ -9912,7 +12669,6 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -9924,7 +12680,6 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, "bin": { "semver": "bin/semver" } @@ -9947,22 +12702,34 @@ } }, "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "engines": { - "node": ">=10" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "dependencies": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dependencies": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, "dependencies": { "path-key": "^2.0.0" }, @@ -9974,7 +12741,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, "engines": { "node": ">=4" } @@ -9999,10 +12765,60 @@ "node": ">=0.10.0" } }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10030,6 +12846,17 @@ "node": ">= 0.4" } }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object.assign": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", @@ -10048,6 +12875,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -10078,7 +12916,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, "dependencies": { "wrappy": "1" } @@ -10087,7 +12924,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, "dependencies": { "mimic-fn": "^2.1.0" }, @@ -10102,7 +12938,6 @@ "version": "8.4.2", "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -10145,7 +12980,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -10168,7 +13002,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -10183,7 +13016,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10199,7 +13031,6 @@ "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, "dependencies": { "color-name": "~1.1.4" }, @@ -10210,14 +13041,12 @@ "node_modules/ora/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 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/ora/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, "engines": { "node": ">=8" } @@ -10226,7 +13055,6 @@ "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, "dependencies": { "has-flag": "^4.0.0" }, @@ -10246,40 +13074,75 @@ "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "dependencies": { + "p-timeout": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", "engines": { "node": ">=4" } }, "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-retry": { @@ -10295,15 +13158,30 @@ "node": ">=8" } }, + "node_modules/p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, "engines": { "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -10348,11 +13226,27 @@ "node": ">= 0.10" } }, + "node_modules/parse-git-config": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz", + "integrity": "sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==", + "dependencies": { + "git-config-path": "^2.0.0", + "ini": "^1.3.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parse-git-config/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -10405,6 +13299,14 @@ "tslib": "^2.0.3" } }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", @@ -10415,7 +13317,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -10424,7 +13325,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10482,7 +13382,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -10503,6 +13402,11 @@ "node": ">=0.12" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, "node_modules/pg-connection-string": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz", @@ -10524,23 +13428,125 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, + "node_modules/pid-port": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pid-port/-/pid-port-0.1.1.tgz", + "integrity": "sha512-boqPJtSgZC6KOgXKNPC+/XR3xwVtpOtaLa7JLcdf8jfVe0ZM2TwllBXxxLUO8GQbOLJ4/hEtf2+L1QCKbaoHUg==", "dependencies": { - "find-up": "^4.0.0" + "execa": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pid-port/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/pid-port/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pid-port/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pid-port/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" }, "engines": { "node": ">=8" } }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dependencies": { + "find-up": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/portfinder": { "version": "1.0.32", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", - "dev": true, "dependencies": { "async": "^2.6.4", "debug": "^3.2.7", @@ -10550,15 +13556,30 @@ "node": ">= 0.12.0" } }, + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dependencies": { + "lodash": "^4.17.14" + } + }, "node_modules/portfinder/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, "dependencies": { "ms": "^2.1.1" } }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss": { "version": "8.4.38", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", @@ -10991,6 +14012,18 @@ "postcss": "^8.2.15" } }, + "node_modules/postcss-normalize-url/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/postcss-normalize-whitespace": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", @@ -11112,11 +14145,18 @@ "node": ">= 0.8.0" } }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } + }, "node_modules/prettier": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, "optional": true, "bin": { "prettier": "bin-prettier.js" @@ -11138,6 +14178,44 @@ "renderkid": "^3.0.0" } }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process-exists": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/process-exists/-/process-exists-4.1.0.tgz", + "integrity": "sha512-BBJoiorUKoP2AuM5q/yKwIfT1YWRHsaxjW+Ayu9erLhqKOfnXzzVVML0XTYoQZuI1YvcWKmc1dh06DEy4+KzfA==", + "dependencies": { + "ps-list": "^6.3.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process-exists/node_modules/ps-list": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-6.3.0.tgz", + "integrity": "sha512-qau0czUSB0fzSlBOQt0bo+I2v6R+xiQdj78e1BR/Qjfl5OHWJ/urXi8+ilw1eHe+5hSeDI1wrwVTgDp2wst4oA==", + "engines": { + "node": ">=8" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -11169,6 +14247,18 @@ "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" } }, + "node_modules/progress-webpack-plugin/node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/prosemirror-changeset": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.2.1.tgz", @@ -11397,6 +14487,17 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, + "node_modules/ps-list": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-7.2.0.tgz", + "integrity": "sha512-v4Bl6I3f2kJfr5o80ShABNHAokIgY+wFDTQfE+X3zWYgSGQOCBeYptLZUpoOALBqO5EawmDN/tjTldJesd0ujQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -11432,7 +14533,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -11470,11 +14570,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -11503,12 +14615,7 @@ "quill-delta": "^3.6.2" } }, - "node_modules/quill/node_modules/fast-diff": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", - "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" - }, - "node_modules/quill/node_modules/quill-delta": { + "node_modules/quill-delta": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", @@ -11521,6 +14628,11 @@ "node": ">=0.10" } }, + "node_modules/quill/node_modules/eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -11566,7 +14678,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -11594,6 +14705,58 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -11603,20 +14766,33 @@ "node": ">=8" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "engines": { - "node": ">= 6" + "node": ">=8" } }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -11628,17 +14804,29 @@ "node": ">=8.10.0" } }, + "node_modules/recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "dependencies": { + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, "dependencies": { "regenerate": "^1.4.2" }, @@ -11649,18 +14837,28 @@ "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 + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, "dependencies": { "@babel/runtime": "^7.8.4" } }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", @@ -11694,7 +14892,6 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", @@ -11711,7 +14908,6 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, "dependencies": { "jsesc": "~0.5.0" }, @@ -11723,7 +14919,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" } @@ -11750,6 +14945,22 @@ "strip-ansi": "^6.0.1" } }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -11798,11 +15009,24 @@ "node": ">=4" } }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -11811,11 +15035,18 @@ "node": ">=8" } }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "engines": { + "node": ">=0.12" + } + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, "engines": { "node": ">= 4" } @@ -11829,7 +15060,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -11840,7 +15070,6 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, "dependencies": { "glob": "^7.1.3" }, @@ -11867,11 +15096,35 @@ "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", "peer": true }, + "node_modules/rss-parser": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.13.0.tgz", + "integrity": "sha512-7jWUBV5yGN3rqMMj7CZufl/291QAhvrrGpDNE4k/02ZchL0npisiYYqULF71jCEKoIiHvK/Q2e6IkDwPziT7+w==", + "dependencies": { + "entities": "^2.0.3", + "xml2js": "^0.5.0" + } + }, + "node_modules/rss-parser/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -11890,6 +15143,14 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -11909,11 +15170,24 @@ } ] }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dependencies": { + "ret": "~0.1.10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, "node_modules/schema-utils": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", @@ -11932,6 +15206,23 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dependencies": { + "commander": "^2.8.1" + }, + "bin": { + "seek-bunzip": "bin/seek-bunzip", + "seek-table": "bin/seek-bzip-table" + } + }, + "node_modules/seek-bzip/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -11955,7 +15246,6 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -12246,6 +15536,39 @@ "node": ">= 0.4" } }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -12255,7 +15578,6 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -12268,7 +15590,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, "dependencies": { "kind-of": "^6.0.2" }, @@ -12299,11 +15620,29 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + }, + "node_modules/shortid": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "nanoid": "^2.1.0" + } + }, + "node_modules/shortid/node_modules/nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" + }, "node_modules/side-channel": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", @@ -12324,8 +15663,7 @@ "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/simple-update-notifier": { "version": "2.0.0", @@ -12367,7 +15705,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -12422,6 +15759,133 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", @@ -12442,11 +15906,43 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length/node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12459,21 +15955,38 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -12482,14 +15995,12 @@ "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -12498,8 +16009,7 @@ "node_modules/spdx-license-ids": { "version": "3.0.18", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", - "dev": true + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==" }, "node_modules/spdy": { "version": "4.0.2", @@ -12531,11 +16041,35 @@ "wbuf": "^1.7.3" } }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/sqlstring": { "version": "2.3.3", @@ -12570,6 +16104,41 @@ "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", "dev": true }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -12578,6 +16147,14 @@ "node": ">= 0.8" } }, + "node_modules/steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "dependencies": { + "graceful-fs": "^4.1.3" + } + }, "node_modules/stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -12588,6 +16165,20 @@ "readable-stream": "^3.5.0" } }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", @@ -12596,15 +16187,27 @@ "node": ">=10.0.0" } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "engines": { + "node": ">=0.10.0" } }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -12655,11 +16258,18 @@ "node": ">=8" } }, + "node_modules/strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dependencies": { + "is-natural-number": "^4.0.1" + } + }, "node_modules/strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -12668,7 +16278,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, "engines": { "node": ">=6" } @@ -12694,6 +16303,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stylehacks": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", @@ -12710,6 +16330,22 @@ "postcss": "^8.2.15" } }, + "node_modules/subscriptions-transport-ws": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz", + "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==", + "deprecated": "The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md", + "dependencies": { + "backo2": "^1.0.2", + "eventemitter3": "^3.1.0", + "iterall": "^1.2.1", + "symbol-observable": "^1.0.4", + "ws": "^5.2.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependencies": { + "graphql": "^15.7.2 || ^16.0.0" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -12759,13 +16395,12 @@ "node": ">=10.13.0" } }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, "node_modules/table": { @@ -12815,6 +16450,139 @@ "node": ">=6" } }, + "node_modules/tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dependencies": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tar-stream/node_modules/bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dependencies": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/taskkill": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/taskkill/-/taskkill-3.1.0.tgz", + "integrity": "sha512-5KcOFzPvd1nGFVrmB7H4+QAWVjYOf//+QTbOj0GpXbqtqbKGWVczG+rq6VhXAtdtlKLTs16NAmHRyF5vbggQ2w==", + "dependencies": { + "arrify": "^2.0.1", + "execa": "^3.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/taskkill/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/taskkill/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/taskkill/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/taskkill/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/taskkill/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/taskkill/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/terser": { "version": "5.31.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", @@ -12973,12 +16741,25 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "node_modules/timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/timers-ext": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz", @@ -12999,15 +16780,66 @@ "@popperjs/core": "^2.9.0" } }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -13052,14 +16884,34 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/tslib": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } }, "node_modules/type": { "version": "2.7.3", @@ -13079,12 +16931,14 @@ } }, "node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, + "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==", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/type-is": { @@ -13104,6 +16958,18 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, + "node_modules/typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -13121,6 +16987,15 @@ "node": ">=6.0.0" } }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, "node_modules/undefsafe": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", @@ -13135,7 +17010,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, "engines": { "node": ">=4" } @@ -13144,7 +17018,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -13157,7 +17030,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, "engines": { "node": ">=4" } @@ -13166,11 +17038,32 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, "engines": { "node": ">=4" } }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -13187,11 +17080,54 @@ "node": ">= 0.8" } }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -13226,6 +17162,39 @@ "punycode": "^2.1.0" } }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated" + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -13267,12 +17236,19 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, + "node_modules/validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "dependencies": { + "builtins": "^1.0.3" + } + }, "node_modules/validator": { "version": "13.12.0", "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", @@ -13281,6 +17257,14 @@ "node": ">= 0.10" } }, + "node_modules/value-or-promise": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", + "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==", + "engines": { + "node": ">=12" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -13295,15 +17279,15 @@ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "node_modules/vue": { - "version": "3.4.29", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.29.tgz", - "integrity": "sha512-8QUYfRcYzNlYuzKPfge1UWC6nF9ym0lx7mpGVPJYNhddxEf3DD0+kU07NTL0sXuiT2HuJuKr/iEO8WvXvT0RSQ==", + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.30.tgz", + "integrity": "sha512-NcxtKCwkdf1zPsr7Y8+QlDBCGqxvjLXF2EX+yi76rV5rrz90Y6gK1cq0olIhdWGgrlhs9ElHuhi9t3+W5sG5Xw==", "dependencies": { - "@vue/compiler-dom": "3.4.29", - "@vue/compiler-sfc": "3.4.29", - "@vue/runtime-dom": "3.4.29", - "@vue/server-renderer": "3.4.29", - "@vue/shared": "3.4.29" + "@vue/compiler-dom": "3.4.30", + "@vue/compiler-sfc": "3.4.30", + "@vue/runtime-dom": "3.4.30", + "@vue/server-renderer": "3.4.30", + "@vue/shared": "3.4.30" }, "peerDependencies": { "typescript": "*" @@ -13314,6 +17298,151 @@ } } }, + "node_modules/vue-codemod": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/vue-codemod/-/vue-codemod-0.0.5.tgz", + "integrity": "sha512-DE+24W1d3oanGqq7yna4ddOKXmVzjECgku2ddMcm7OS9Bp9QOblMHT88PzKiCc7npGiHf5+mTfrEW1JVIBbA2A==", + "dependencies": { + "@babel/core": "^7.10.3", + "@babel/preset-env": "^7.10.3", + "@babel/types": "^7.12.12", + "@types/jscodeshift": "^0.7.1", + "@vue/compiler-core": "^3.0.5", + "@vue/compiler-dom": "^3.0.5", + "debug": "^4.1.1", + "globby": "^11.0.2", + "inquirer": "^7.0.3", + "jscodeshift": "^0.11.0", + "lru-cache": "^6.0.0", + "source-map": "^0.6.1", + "yargs": "^16.2.0" + }, + "bin": { + "vue-codemod": "dist/bin/vue-codemod.js" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/vue-codemod/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vue-codemod/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/vue-codemod/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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/vue-codemod/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==" + }, + "node_modules/vue-codemod/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-codemod/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/vue-codemod/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-codemod/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/vue-codemod/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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-codemod/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/vue-codemod/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/vue-eslint-parser": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", @@ -13525,9 +17654,9 @@ } }, "node_modules/vue-router": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.3.tgz", - "integrity": "sha512-8Q+u+WP4N2SXY38FDcF2H1dUEbYVHVPtPCPZj/GTZx8RCbiB8AtJP9+YIxn4Vs0svMTNQcLIzka4GH7Utkx9xQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.0.tgz", + "integrity": "sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==", "dependencies": { "@vue/devtools-api": "^6.5.1" }, @@ -13603,7 +17732,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, "dependencies": { "defaults": "^1.0.3" } @@ -13611,13 +17739,12 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/webpack": { - "version": "5.92.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.0.tgz", - "integrity": "sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==", + "version": "5.92.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -13687,15 +17814,6 @@ "node": ">= 10.13.0" } }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -13722,6 +17840,15 @@ "node": ">=8" } }, + "node_modules/webpack-chain/node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/webpack-dev-middleware": { "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", @@ -14016,11 +18143,18 @@ "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", "dev": true }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "engines": { + "node": ">=12" + } + }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -14040,6 +18174,17 @@ "node": ">= 8" } }, + "node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wildcard": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", @@ -14159,14 +18304,22 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } }, "node_modules/ws": { "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", - "dev": true, "engines": { "node": ">=8.3.0" }, @@ -14183,6 +18336,46 @@ } } }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xss": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", + "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/xss/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -14202,8 +18395,7 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { "version": "1.10.2", @@ -14214,6 +18406,46 @@ "node": ">= 6" } }, + "node_modules/yaml-front-matter": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/yaml-front-matter/-/yaml-front-matter-4.1.1.tgz", + "integrity": "sha512-ULGbghCLsN8Hs8vfExlqrJIe8Hl2TUjD7/zsIGMP8U+dgRXEsDXk4yydxeZJgdGiimP1XB7zhmhOB4/HyfqOyQ==", + "dependencies": { + "commander": "^6.2.0", + "js-yaml": "^3.14.1" + }, + "bin": { + "yaml-front-matter": "bin/js-yaml-front.js" + } + }, + "node_modules/yaml-front-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/yaml-front-matter/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yaml-front-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", @@ -14239,6 +18471,26 @@ "node": ">=10" } }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/yorkie": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", @@ -14284,15 +18536,6 @@ "node": ">=4" } }, - "node_modules/yorkie/node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/yorkie/node_modules/lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -14351,5 +18594,13761 @@ "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true } + }, + "dependencies": { + "@achrinza/node-ipc": { + "version": "9.2.9", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.9.tgz", + "integrity": "sha512-7s0VcTwiK/0tNOVdSX9FWMeFdOEcsAOz9HesBldXxFMaGvIak7KC2z9tV9EgsQXn6KUsWsfIkViMNuIo0GoZDQ==", + "requires": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + } + }, + "@akryum/winattr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@akryum/winattr/-/winattr-3.0.0.tgz", + "integrity": "sha512-t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==", + "requires": { + "fswin": "^2.17.1227" + } + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@apollo/protobufjs": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.7.tgz", + "integrity": "sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "long": "^4.0.0" + } + }, + "@apollo/usage-reporting-protobuf": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.1.tgz", + "integrity": "sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==", + "requires": { + "@apollo/protobufjs": "1.2.7" + } + }, + "@apollo/utils.dropunuseddefinitions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz", + "integrity": "sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg==", + "requires": {} + }, + "@apollo/utils.keyvaluecache": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz", + "integrity": "sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg==", + "requires": { + "@apollo/utils.logger": "^1.0.0", + "lru-cache": "7.10.1 - 7.13.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", + "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==" + } + } + }, + "@apollo/utils.logger": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.logger/-/utils.logger-1.0.1.tgz", + "integrity": "sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA==" + }, + "@apollo/utils.printwithreducedwhitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz", + "integrity": "sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q==", + "requires": {} + }, + "@apollo/utils.removealiases": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz", + "integrity": "sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A==", + "requires": {} + }, + "@apollo/utils.sortast": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz", + "integrity": "sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA==", + "requires": { + "lodash.sortby": "^4.7.0" + } + }, + "@apollo/utils.stripsensitiveliterals": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz", + "integrity": "sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w==", + "requires": {} + }, + "@apollo/utils.usagereporting": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz", + "integrity": "sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ==", + "requires": { + "@apollo/usage-reporting-protobuf": "^4.0.0", + "@apollo/utils.dropunuseddefinitions": "^1.1.0", + "@apollo/utils.printwithreducedwhitespace": "^1.1.0", + "@apollo/utils.removealiases": "1.0.0", + "@apollo/utils.sortast": "^1.1.0", + "@apollo/utils.stripsensitiveliterals": "^1.2.0" + } + }, + "@apollographql/apollo-tools": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz", + "integrity": "sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==", + "requires": {} + }, + "@apollographql/graphql-playground-html": { + "version": "1.6.29", + "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz", + "integrity": "sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA==", + "requires": { + "xss": "^1.0.8" + } + }, + "@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "requires": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==" + }, + "@babel/core": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/eslint-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.7.tgz", + "integrity": "sha512-SO5E3bVxDuxyNxM5agFv480YA2HO6ohZbGxbazZdIk3KQOPOGVNw6q78I9/lbviIf95eq6tPozeYnJLbjnC8IA==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", + "requires": { + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "requires": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", + "requires": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", + "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", + "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", + "requires": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", + "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", + "requires": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "requires": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", + "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-wrap-function": "^7.24.7" + } + }, + "@babel/helper-replace-supers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "requires": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "requires": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "requires": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "requires": { + "@babel/types": "^7.24.7" + } + }, + "@babel/helper-string-parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==" + }, + "@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==" + }, + "@babel/helper-validator-option": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==" + }, + "@babel/helper-wrap-function": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", + "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", + "requires": { + "@babel/helper-function-name": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/helpers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", + "requires": { + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "requires": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + } + }, + "@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==" + }, + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", + "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", + "requires": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", + "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", + "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", + "requires": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", + "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", + "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", + "requires": { + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "requires": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", + "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz", + "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", + "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.7.tgz", + "integrity": "sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-flow": "^7.24.7" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", + "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", + "requires": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", + "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "requires": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", + "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", + "requires": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", + "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", + "requires": { + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "requires": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "requires": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz", + "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz", + "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", + "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + } + }, + "@babel/preset-env": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz", + "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==", + "requires": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.24.7", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.24.7", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.7", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.24.7", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-modules-systemjs": "^7.24.7", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.7", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + } + }, + "@babel/preset-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz", + "integrity": "sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-flow-strip-types": "^7.24.7" + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" + } + }, + "@babel/register": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", + "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.6", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "@babel/runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "requires": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" + } + }, + "@babel/traverse": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "requires": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "requires": { + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "@graphql-tools/merge": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz", + "integrity": "sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==", + "requires": { + "@graphql-tools/utils": "8.9.0", + "tslib": "^2.4.0" + } + }, + "@graphql-tools/mock": { + "version": "8.7.20", + "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz", + "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==", + "requires": { + "@graphql-tools/schema": "^9.0.18", + "@graphql-tools/utils": "^9.2.1", + "fast-json-stable-stringify": "^2.1.0", + "tslib": "^2.4.0" + }, + "dependencies": { + "@graphql-tools/merge": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", + "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", + "requires": { + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0" + } + }, + "@graphql-tools/schema": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", + "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", + "requires": { + "@graphql-tools/merge": "^8.4.1", + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + } + }, + "@graphql-tools/utils": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", + "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", + "requires": { + "@graphql-typed-document-node/core": "^3.1.1", + "tslib": "^2.4.0" + } + }, + "value-or-promise": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", + "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==" + } + } + }, + "@graphql-tools/schema": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz", + "integrity": "sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==", + "requires": { + "@graphql-tools/merge": "8.3.1", + "@graphql-tools/utils": "8.9.0", + "tslib": "^2.4.0", + "value-or-promise": "1.0.11" + } + }, + "@graphql-tools/utils": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz", + "integrity": "sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "requires": {} + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@iconoir/vue": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@iconoir/vue/-/vue-7.7.0.tgz", + "integrity": "sha512-EvJK80DUGpCFd2MZsC5K6duv/h4zafruBSQYV9F5b+kJOrdWNCHxEHpwbUwjsI35GpSzMD0N2jAR86s3YTsMmw==", + "requires": { + "vue-demi": "^0.14.6" + }, + "dependencies": { + "vue-demi": { + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", + "requires": {} + } + } + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@josephg/resolvable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@josephg/resolvable/-/resolvable-1.0.1.tgz", + "integrity": "sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==" + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + } + }, + "@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "requires": { + "easy-stack": "1.0.1" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==" + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, + "@polka/url": { + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true + }, + "@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" + }, + "@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "requires": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "@remirror/core-constants": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-2.0.2.tgz", + "integrity": "sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ==", + "peer": true + }, + "@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "@tiptap/core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.4.0.tgz", + "integrity": "sha512-YJSahk8pkxpCs8SflCZfTnJpE7IPyUWIylfgXM2DefjRQa5DZ+c6sNY0s/zbxKYFQ6AuHVX40r9pCfcqHChGxQ==", + "requires": {} + }, + "@tiptap/extension-blockquote": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.4.0.tgz", + "integrity": "sha512-nJJy4KsPgQqWTTDOWzFRdjCfG5+QExfZj44dulgDFNh+E66xhamnbM70PklllXJgEcge7xmT5oKM0gKls5XgFw==", + "requires": {} + }, + "@tiptap/extension-bold": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.4.0.tgz", + "integrity": "sha512-csnW6hMDEHoRfxcPRLSqeJn+j35Lgtt1YRiOwn7DlS66sAECGRuoGfCvQSPij0TCDp4VCR9if5Sf8EymhnQumQ==", + "requires": {} + }, + "@tiptap/extension-bubble-menu": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.4.0.tgz", + "integrity": "sha512-s99HmttUtpW3rScWq8rqk4+CGCwergNZbHLTkF6Rp6TSboMwfp+rwL5Q/JkcAG9KGLso1vGyXKbt1xHOvm8zMw==", + "requires": { + "tippy.js": "^6.3.7" + } + }, + "@tiptap/extension-bullet-list": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.4.0.tgz", + "integrity": "sha512-9S5DLIvFRBoExvmZ+/ErpTvs4Wf1yOEs8WXlKYUCcZssK7brTFj99XDwpHFA29HKDwma5q9UHhr2OB2o0JYAdw==", + "requires": {} + }, + "@tiptap/extension-code": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.4.0.tgz", + "integrity": "sha512-wjhBukuiyJMq4cTcK3RBTzUPV24k5n1eEPlpmzku6ThwwkMdwynnMGMAmSF3fErh3AOyOUPoTTjgMYN2d10SJA==", + "requires": {} + }, + "@tiptap/extension-code-block": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.4.0.tgz", + "integrity": "sha512-QWGdv1D56TBGbbJSj2cIiXGJEKguPiAl9ONzJ/Ql1ZksiQsYwx0YHriXX6TOC//T4VIf6NSClHEtwtxWBQ/Csg==", + "requires": {} + }, + "@tiptap/extension-color": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-color/-/extension-color-2.4.0.tgz", + "integrity": "sha512-aVuqGtzTIZO93niADdu+Hx8g03X0pS7wjrJcCcYkkDEbC/siC03zlxKZIYBW1Jiabe99Z7/s2KdtLoK6DW2A2g==", + "requires": {} + }, + "@tiptap/extension-document": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.4.0.tgz", + "integrity": "sha512-3jRodQJZDGbXlRPERaloS+IERg/VwzpC1IO6YSJR9jVIsBO6xC29P3cKTQlg1XO7p6ZH/0ksK73VC5BzzTwoHg==", + "requires": {} + }, + "@tiptap/extension-dropcursor": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.4.0.tgz", + "integrity": "sha512-c46HoG2PEEpSZv5rmS5UX/lJ6/kP1iVO0Ax+6JrNfLEIiDULUoi20NqdjolEa38La2VhWvs+o20OviiTOKEE9g==", + "requires": {} + }, + "@tiptap/extension-floating-menu": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.4.0.tgz", + "integrity": "sha512-vLb9v+htbHhXyty0oaXjT3VC8St4xuGSHWUB9GuAJAQ+NajIO6rBPbLUmm9qM0Eh2zico5mpSD1Qtn5FM6xYzg==", + "requires": { + "tippy.js": "^6.3.7" + } + }, + "@tiptap/extension-gapcursor": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.4.0.tgz", + "integrity": "sha512-F4y/0J2lseohkFUw9P2OpKhrJ6dHz69ZScABUvcHxjznJLd6+0Zt7014Lw5PA8/m2d/w0fX8LZQ88pZr4quZPQ==", + "requires": {} + }, + "@tiptap/extension-hard-break": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.4.0.tgz", + "integrity": "sha512-3+Z6zxevtHza5IsDBZ4lZqvNR3Kvdqwxq/QKCKu9UhJN1DUjsg/l1Jn2NilSQ3NYkBYh2yJjT8CMo9pQIu776g==", + "requires": {} + }, + "@tiptap/extension-heading": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.4.0.tgz", + "integrity": "sha512-fYkyP/VMo7YHO76YVrUjd95Qeo0cubWn/Spavmwm1gLTHH/q7xMtbod2Z/F0wd6QHnc7+HGhO7XAjjKWDjldaw==", + "requires": {} + }, + "@tiptap/extension-history": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.4.0.tgz", + "integrity": "sha512-gr5qsKAXEVGr1Lyk1598F7drTaEtAxqZiuuSwTCzZzkiwgEQsWMWTWc9F8FlneCEaqe1aIYg6WKWlmYPaFwr0w==", + "requires": {} + }, + "@tiptap/extension-horizontal-rule": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.4.0.tgz", + "integrity": "sha512-yDgxy+YxagcEsBbdWvbQiXYxsv3noS1VTuGwc9G7ZK9xPmBHJ5y0agOkB7HskwsZvJHoaSqNRsh7oZTkf0VR3g==", + "requires": {} + }, + "@tiptap/extension-italic": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.4.0.tgz", + "integrity": "sha512-aaW/L9q+KNHHK+X73MPloHeIsT191n3VLd3xm6uUcFDnUNvzYJ/q65/1ZicdtCaOLvTutxdrEvhbkrVREX6a8g==", + "requires": {} + }, + "@tiptap/extension-link": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-link/-/extension-link-2.4.0.tgz", + "integrity": "sha512-r3PjT0bjSKAorHAEBPA0icSMOlqALbxVlWU9vAc+Q3ndzt7ht0CTPNewzFF9kjzARABVt1cblXP/2+c0qGzcsg==", + "requires": { + "linkifyjs": "^4.1.0" + } + }, + "@tiptap/extension-list-item": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.4.0.tgz", + "integrity": "sha512-reUVUx+2cI2NIAqMZhlJ9uK/+zvRzm1GTmlU2Wvzwc7AwLN4yemj6mBDsmBLEXAKPvitfLh6EkeHaruOGymQtg==", + "requires": {} + }, + "@tiptap/extension-ordered-list": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.4.0.tgz", + "integrity": "sha512-Zo0c9M0aowv+2+jExZiAvhCB83GZMjZsxywmuOrdUbq5EGYKb7q8hDyN3hkrktVHr9UPXdPAYTmLAHztTOHYRA==", + "requires": {} + }, + "@tiptap/extension-paragraph": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.4.0.tgz", + "integrity": "sha512-+yse0Ow67IRwcACd9K/CzBcxlpr9OFnmf0x9uqpaWt1eHck1sJnti6jrw5DVVkyEBHDh/cnkkV49gvctT/NyCw==", + "requires": {} + }, + "@tiptap/extension-strike": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.4.0.tgz", + "integrity": "sha512-pE1uN/fQPOMS3i+zxPYMmPmI3keubnR6ivwM+KdXWOMnBiHl9N4cNpJgq1n2eUUGKLurC2qrQHpnVyGAwBS6Vg==", + "requires": {} + }, + "@tiptap/extension-table": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-2.4.0.tgz", + "integrity": "sha512-ceIUnPSqVCb+qC0XZSgApoG3dL3MRvWrGl1nIMxEqPgMsD/MP6MsYV1Lx/GmtdUlEEsV1624cGTBiRzeCuWkZA==", + "requires": {} + }, + "@tiptap/extension-table-cell": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table-cell/-/extension-table-cell-2.4.0.tgz", + "integrity": "sha512-zylResMWLvV17Z6+GEDjvvl+YpJqJhNMyJsZPZNx/72OcNCDN3p2d6RGFwhpnCpdzZDD6LGaIgWaTj9oeg53SA==", + "requires": {} + }, + "@tiptap/extension-table-header": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table-header/-/extension-table-header-2.4.0.tgz", + "integrity": "sha512-FZCOyJHSFsMTCfBh49J1DlwgpUIM5Ivpr57Za8FVvUkk8RKUIOKpNsZqxE+Wrw+2Bvy5H4X7Azb588x0NDqfOQ==", + "requires": {} + }, + "@tiptap/extension-table-row": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-table-row/-/extension-table-row-2.4.0.tgz", + "integrity": "sha512-K4FDI4YzyLWZbhIZYYL15uqs6M3QsPZGTpTdkSaxcKMLholcskDSHhJmySxnrjI0+JNAtyIiqlWBfA1/9Zyhng==", + "requires": {} + }, + "@tiptap/extension-text": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.4.0.tgz", + "integrity": "sha512-LV0bvE+VowE8IgLca7pM8ll7quNH+AgEHRbSrsI3SHKDCYB9gTHMjWaAkgkUVaO1u0IfCrjnCLym/PqFKa+vvg==", + "requires": {} + }, + "@tiptap/extension-text-style": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.4.0.tgz", + "integrity": "sha512-H0uPWeZ4sXz3o836TDWnpd38qClqzEM2d6QJ9TK+cQ1vE5Gp8wQ5W4fwUV1KAHzpJKE/15+BXBjLyVYQdmXDaQ==", + "requires": {} + }, + "@tiptap/extension-underline": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.4.0.tgz", + "integrity": "sha512-guWojb7JxUwLz4OKzwNExJwOkhZjgw/ttkXCMBT0PVe55k998MMYe1nvN0m2SeTW9IxurEPtScH4kYJ0XuSm8Q==", + "requires": {} + }, + "@tiptap/pm": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.4.0.tgz", + "integrity": "sha512-B1HMEqGS4MzIVXnpgRZDLm30mxDWj51LkBT/if1XD+hj5gm8B9Q0c84bhvODX6KIs+c6z+zsY9VkVu8w9Yfgxg==", + "peer": true, + "requires": { + "prosemirror-changeset": "^2.2.1", + "prosemirror-collab": "^1.3.1", + "prosemirror-commands": "^1.5.2", + "prosemirror-dropcursor": "^1.8.1", + "prosemirror-gapcursor": "^1.3.2", + "prosemirror-history": "^1.3.2", + "prosemirror-inputrules": "^1.3.0", + "prosemirror-keymap": "^1.2.2", + "prosemirror-markdown": "^1.12.0", + "prosemirror-menu": "^1.2.4", + "prosemirror-model": "^1.19.4", + "prosemirror-schema-basic": "^1.2.2", + "prosemirror-schema-list": "^1.3.0", + "prosemirror-state": "^1.4.3", + "prosemirror-tables": "^1.3.5", + "prosemirror-trailing-node": "^2.0.7", + "prosemirror-transform": "^1.8.0", + "prosemirror-view": "^1.32.7" + } + }, + "@tiptap/starter-kit": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.4.0.tgz", + "integrity": "sha512-DYYzMZdTEnRn9oZhKOeRCcB+TjhNz5icLlvJKoHoOGL9kCbuUyEf8WRR2OSPckI0+KUIPJL3oHRqO4SqSdTjfg==", + "requires": { + "@tiptap/core": "^2.4.0", + "@tiptap/extension-blockquote": "^2.4.0", + "@tiptap/extension-bold": "^2.4.0", + "@tiptap/extension-bullet-list": "^2.4.0", + "@tiptap/extension-code": "^2.4.0", + "@tiptap/extension-code-block": "^2.4.0", + "@tiptap/extension-document": "^2.4.0", + "@tiptap/extension-dropcursor": "^2.4.0", + "@tiptap/extension-gapcursor": "^2.4.0", + "@tiptap/extension-hard-break": "^2.4.0", + "@tiptap/extension-heading": "^2.4.0", + "@tiptap/extension-history": "^2.4.0", + "@tiptap/extension-horizontal-rule": "^2.4.0", + "@tiptap/extension-italic": "^2.4.0", + "@tiptap/extension-list-item": "^2.4.0", + "@tiptap/extension-ordered-list": "^2.4.0", + "@tiptap/extension-paragraph": "^2.4.0", + "@tiptap/extension-strike": "^2.4.0", + "@tiptap/extension-text": "^2.4.0" + } + }, + "@tiptap/vue-3": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-2.4.0.tgz", + "integrity": "sha512-NCw1Y4ScIrMCKC9YlepUHSAB8jq/PQ2f+AbZKh5bY2t/kMSJYLCJVHq9NFzG4TQtktgMGWCcEQVcDJ7YNpsfxw==", + "requires": { + "@tiptap/extension-bubble-menu": "^2.4.0", + "@tiptap/extension-floating-menu": "^2.4.0" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@types/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" + }, + "@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "requires": { + "@types/ms": "*" + } + }, + "@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==" + }, + "@types/eslint": { + "version": "8.56.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", + "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, + "@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/inquirer": { + "version": "8.2.10", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.10.tgz", + "integrity": "sha512-IdD5NmHyVjWM8SHWo/kPBgtzXatwPkfwzyP3fN1jF2g9BWt5WO+8hL2F4o2GKIYsU40PpqeevuUWvkS/roXJkA==", + "requires": { + "@types/through": "*", + "rxjs": "^7.2.0" + } + }, + "@types/jscodeshift": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@types/jscodeshift/-/jscodeshift-0.7.2.tgz", + "integrity": "sha512-k4ih8ayQ65e26vhCxeMTKtZ808DzC0RFQ4unBvPEy9bcFhS4aPm3oXgWWZNmZ4u+H2WzHQDCNrRC5iNX+afiZw==", + "requires": { + "ast-types": "0.12.1", + "recast": "0.17.2" + }, + "dependencies": { + "ast-types": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.12.1.tgz", + "integrity": "sha512-H2izJAyT2xwew4TxShpmxe6f9R5hHgJQy1QloLiUC2yrJMtyraBWNJL7903rpeCY9keNUipORR/zIUC2XcYKng==" + }, + "recast": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.17.2.tgz", + "integrity": "sha512-YHFvn4rBXl8eIjALjUiOV/AP3xFpyGNGNHDw9mAncAWuIdgnBKjbZQ9+P3VlsKcNaNapRVFlTEX1dvDRlYwyxg==", + "requires": { + "ast-types": "0.12.1", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + } + } + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "@types/node": { + "version": "20.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.8.tgz", + "integrity": "sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==", + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, + "@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true + }, + "@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "requires": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/through": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==" + }, + "@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", + "dev": true + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.2.tgz", + "integrity": "sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.2.tgz", + "integrity": "sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "~7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", + "@vue/babel-helper-vue-transform-on": "1.2.2", + "@vue/babel-plugin-resolve-type": "1.2.2", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + } + } + }, + "@vue/babel-plugin-resolve-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.2.tgz", + "integrity": "sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/helper-module-imports": "~7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/parser": "^7.23.9", + "@vue/compiler-sfc": "^3.4.15" + }, + "dependencies": { + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + } + } + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true + } + } + }, + "@vue/babel-preset-app": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz", + "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==", + "dev": true, + "requires": { + "@babel/core": "^7.12.16", + "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-decorators": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", + "@babel/runtime": "^7.12.13", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.1.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.8.3", + "core-js-compat": "^3.8.3", + "semver": "^7.3.4" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + } + } + }, + "@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + } + }, + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true + } + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@vue/cli": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli/-/cli-5.0.8.tgz", + "integrity": "sha512-c/QKPdC09bYkW22m/boXkLaiz10z0Z2WHZO7zEeNdfSduqyWINZhKc6hVQU3Vk0NXW7BJAd7zWmcUrC8L9TuAA==", + "requires": { + "@types/ejs": "^3.0.6", + "@types/inquirer": "^8.1.3", + "@vue/cli-shared-utils": "^5.0.8", + "@vue/cli-ui": "^5.0.8", + "@vue/cli-ui-addon-webpack": "^5.0.8", + "@vue/cli-ui-addon-widgets": "^5.0.8", + "boxen": "^5.0.0", + "commander": "^7.1.0", + "debug": "^4.1.0", + "deepmerge": "^4.2.2", + "download-git-repo": "^3.0.2", + "ejs": "^3.1.6", + "envinfo": "^7.7.4", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "import-global": "^0.1.0", + "ini": "^2.0.0", + "inquirer": "^8.0.0", + "isbinaryfile": "^4.0.6", + "javascript-stringify": "^2.0.1", + "js-yaml": "^4.0.0", + "leven": "^3.1.0", + "lodash.clonedeep": "^4.5.0", + "lru-cache": "^6.0.0", + "minimist": "^1.2.5", + "pkg-dir": "^5.0.0", + "recast": "^0.20.3", + "resolve": "^1.20.0", + "shortid": "^2.2.15", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0", + "validate-npm-package-name": "^3.0.0", + "vue": "^2.6.14", + "vue-codemod": "^0.0.5", + "yaml-front-matter": "^4.1.0" + }, + "dependencies": { + "@vue/compiler-sfc": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", + "requires": { + "@babel/parser": "^7.23.5", + "postcss": "^8.4.14", + "prettier": "^1.18.2 || ^2.0.0", + "source-map": "^0.6.1" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "vue": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz", + "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==", + "requires": { + "@vue/compiler-sfc": "2.7.16", + "csstype": "^3.1.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@vue/cli-overlay": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz", + "integrity": "sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz", + "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==", + "dev": true, + "requires": { + "@babel/core": "^7.12.16", + "@vue/babel-preset-app": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "babel-loader": "^8.2.2", + "thread-loader": "^3.0.0", + "webpack": "^5.54.0" + } + }, + "@vue/cli-plugin-eslint": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz", + "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^5.0.8", + "eslint-webpack-plugin": "^3.1.0", + "globby": "^11.0.2", + "webpack": "^5.54.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-router": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz", + "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^5.0.8" + } + }, + "@vue/cli-plugin-vuex": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz", + "integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==", + "dev": true, + "requires": {} + }, + "@vue/cli-service": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.8.tgz", + "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.12.16", + "@soda/friendly-errors-webpack-plugin": "^1.8.0", + "@soda/get-current-script": "^1.0.2", + "@types/minimist": "^1.2.0", + "@vue/cli-overlay": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "@vue/component-compiler-utils": "^3.3.0", + "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7", + "@vue/web-component-wrapper": "^1.3.0", + "acorn": "^8.0.5", + "acorn-walk": "^8.0.2", + "address": "^1.1.2", + "autoprefixer": "^10.2.4", + "browserslist": "^4.16.3", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.10", + "clipboardy": "^2.3.0", + "cliui": "^7.0.4", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "^6.5.0", + "css-minimizer-webpack-plugin": "^3.0.2", + "cssnano": "^5.0.0", + "debug": "^4.1.1", + "default-gateway": "^6.0.3", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^5.1.0", + "is-file-esm": "^1.0.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "mini-css-extract-plugin": "^2.5.3", + "minimist": "^1.2.5", + "module-alias": "^2.2.2", + "portfinder": "^1.0.26", + "postcss": "^8.2.6", + "postcss-loader": "^6.1.1", + "progress-webpack-plugin": "^1.0.12", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^5.1.1", + "thread-loader": "^3.0.0", + "vue-loader": "^17.0.0", + "vue-style-loader": "^4.1.3", + "webpack": "^5.54.0", + "webpack-bundle-analyzer": "^4.4.0", + "webpack-chain": "^6.5.1", + "webpack-dev-server": "^4.7.3", + "webpack-merge": "^5.7.3", + "webpack-virtual-modules": "^0.4.2", + "whatwg-fetch": "^3.6.2" + }, + "dependencies": { + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + } + } + }, + "@vue/cli-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz", + "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", + "requires": { + "@achrinza/node-ipc": "^9.2.5", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "joi": "^17.4.0", + "launch-editor": "^2.2.1", + "lru-cache": "^6.0.0", + "node-fetch": "^2.6.7", + "open": "^8.0.2", + "ora": "^5.3.0", + "read-pkg": "^5.1.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@vue/cli-ui": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-5.0.8.tgz", + "integrity": "sha512-1eyL1h1T3LVejYplDqERO8TK03sjR3QTOTHa01ABreCdqFTZItiUVud34uEcuoZ6Gi69xdl+LSx6Hvo4t9tfrA==", + "requires": { + "@achrinza/node-ipc": "^9.2.5", + "@akryum/winattr": "^3.0.0", + "@graphql-tools/schema": "^8.5.0", + "@vue/cli-shared-utils": "^5.0.8", + "apollo-server-express": "^3.9.0", + "clone": "^2.1.1", + "deepmerge": "^4.2.2", + "express": "^4.17.1", + "express-history-api-fallback": "^2.2.1", + "fkill": "^7.1.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "graphql": "^15.5.0", + "graphql-subscriptions": "^1.2.0", + "graphql-tag": "^2.10.3", + "graphql-type-json": "^0.3.1", + "javascript-stringify": "^2.0.1", + "js-yaml": "^4.0.0", + "lodash.merge": "^4.6.1", + "lowdb": "^1.0.0", + "lru-cache": "^6.0.0", + "node-notifier": "^10.0.0", + "parse-git-config": "^3.0.0", + "portfinder": "^1.0.26", + "prismjs": "^1.23.0", + "rss-parser": "^3.11.0", + "shortid": "^2.2.15", + "subscriptions-transport-ws": "^0.11.0", + "typescript": "~4.5.5" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@vue/cli-ui-addon-webpack": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-5.0.8.tgz", + "integrity": "sha512-sg+3a9vHGzpFRrv7MVZRQ9oDztFN9Mvx0MleidKyPIAWMSOskSQT8zTngy8bEyXjXwNv6mCn2jvUR/tgbldyow==" + }, + "@vue/cli-ui-addon-widgets": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-5.0.8.tgz", + "integrity": "sha512-jNYQ+3z7HDZ3IR3Z3Dlo3yOPbHexpygkn2IJ7sjA62oGolnNWeF7kvpLwni18l8N5InhS66m9w31an1Fs5pCZA==" + }, + "@vue/compiler-core": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.30.tgz", + "integrity": "sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==", + "requires": { + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.30", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "@vue/compiler-dom": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.30.tgz", + "integrity": "sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==", + "requires": { + "@vue/compiler-core": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "@vue/compiler-sfc": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.30.tgz", + "integrity": "sha512-8vElKklHn/UY8+FgUFlQrYAPbtiSB2zcgeRKW7HkpSRn/JjMRmZvuOtwDx036D1aqKNSTtXkWRfqx53Qb+HmMg==", + "requires": { + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.30", + "@vue/compiler-dom": "3.4.30", + "@vue/compiler-ssr": "3.4.30", + "@vue/shared": "3.4.30", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" + } + }, + "@vue/compiler-ssr": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.30.tgz", + "integrity": "sha512-ZJ56YZGXJDd6jky4mmM0rNaNP6kIbQu9LTKZDhcpddGe/3QIalB1WHHmZ6iZfFNyj5mSypTa4+qDJa5VIuxMSg==", + "requires": { + "@vue/compiler-dom": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2 || ^2.0.0", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + }, + "@vue/devtools-api": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz", + "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==" + }, + "@vue/reactivity": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.30.tgz", + "integrity": "sha512-bVJurnCe3LS0JII8PPoAA63Zd2MBzcKrEzwdQl92eHCcxtIbxD2fhNwJpa+KkM3Y/A4T5FUnmdhgKwOf6BfbcA==", + "requires": { + "@vue/shared": "3.4.30" + } + }, + "@vue/runtime-core": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.30.tgz", + "integrity": "sha512-qaFEbnNpGz+tlnkaualomogzN8vBLkgzK55uuWjYXbYn039eOBZrWxyXWq/7qh9Bz2FPifZqGjVDl/FXiq9L2g==", + "requires": { + "@vue/reactivity": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "@vue/runtime-dom": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.30.tgz", + "integrity": "sha512-tV6B4YiZRj5QsaJgw2THCy5C1H+2UeywO9tqgWEc21tn85qHEERndHN/CxlyXvSBFrpmlexCIdnqPuR9RM9thw==", + "requires": { + "@vue/reactivity": "3.4.30", + "@vue/runtime-core": "3.4.30", + "@vue/shared": "3.4.30", + "csstype": "^3.1.3" + } + }, + "@vue/server-renderer": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.30.tgz", + "integrity": "sha512-TBD3eqR1DeDc0cMrXS/vEs/PWzq1uXxnvjoqQuDGFIEHFIwuDTX/KWAQKIBjyMWLFHEeTDGYVsYci85z2UbTDg==", + "requires": { + "@vue/compiler-ssr": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "@vue/shared": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.30.tgz", + "integrity": "sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg==" + }, + "@vue/vue-loader-v15": { + "version": "npm:vue-loader@15.11.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", + "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + } + } + }, + "@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "dev": true + }, + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "dev": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "requires": { + "acorn": "^8.11.0" + } + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "requires": { + "string-width": "^4.1.0" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "apollo-datasource": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-3.3.2.tgz", + "integrity": "sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg==", + "requires": { + "@apollo/utils.keyvaluecache": "^1.0.1", + "apollo-server-env": "^4.2.1" + } + }, + "apollo-reporting-protobuf": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz", + "integrity": "sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog==", + "requires": { + "@apollo/protobufjs": "1.2.6" + }, + "dependencies": { + "@apollo/protobufjs": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.2.6.tgz", + "integrity": "sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw==", + "requires": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.0", + "@types/node": "^10.1.0", + "long": "^4.0.0" + } + }, + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + } + } + }, + "apollo-server-core": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.13.0.tgz", + "integrity": "sha512-v/g6DR6KuHn9DYSdtQijz8dLOkP78I5JSVJzPkARhDbhpH74QNwrQ2PP2URAPPEDJ2EeZNQDX8PvbYkAKqg+kg==", + "requires": { + "@apollo/utils.keyvaluecache": "^1.0.1", + "@apollo/utils.logger": "^1.0.0", + "@apollo/utils.usagereporting": "^1.0.0", + "@apollographql/apollo-tools": "^0.5.3", + "@apollographql/graphql-playground-html": "1.6.29", + "@graphql-tools/mock": "^8.1.2", + "@graphql-tools/schema": "^8.0.0", + "@josephg/resolvable": "^1.0.0", + "apollo-datasource": "^3.3.2", + "apollo-reporting-protobuf": "^3.4.0", + "apollo-server-env": "^4.2.1", + "apollo-server-errors": "^3.3.1", + "apollo-server-plugin-base": "^3.7.2", + "apollo-server-types": "^3.8.0", + "async-retry": "^1.2.1", + "fast-json-stable-stringify": "^2.1.0", + "graphql-tag": "^2.11.0", + "loglevel": "^1.6.8", + "lru-cache": "^6.0.0", + "node-abort-controller": "^3.0.1", + "sha.js": "^2.4.11", + "uuid": "^9.0.0", + "whatwg-mimetype": "^3.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "apollo-server-env": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-4.2.1.tgz", + "integrity": "sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g==", + "requires": { + "node-fetch": "^2.6.7" + } + }, + "apollo-server-errors": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz", + "integrity": "sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA==", + "requires": {} + }, + "apollo-server-express": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.13.0.tgz", + "integrity": "sha512-iSxICNbDUyebOuM8EKb3xOrpIwOQgKxGbR2diSr4HP3IW8T3njKFOoMce50vr+moOCe1ev8BnLcw9SNbuUtf7g==", + "requires": { + "@types/accepts": "^1.3.5", + "@types/body-parser": "1.19.2", + "@types/cors": "2.8.12", + "@types/express": "4.17.14", + "@types/express-serve-static-core": "4.17.31", + "accepts": "^1.3.5", + "apollo-server-core": "^3.13.0", + "apollo-server-types": "^3.8.0", + "body-parser": "^1.19.0", + "cors": "^2.8.5", + "parseurl": "^1.3.3" + } + }, + "apollo-server-plugin-base": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz", + "integrity": "sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw==", + "requires": { + "apollo-server-types": "^3.8.0" + } + }, + "apollo-server-types": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-3.8.0.tgz", + "integrity": "sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A==", + "requires": { + "@apollo/utils.keyvaluecache": "^1.0.1", + "@apollo/utils.logger": "^1.0.0", + "apollo-reporting-protobuf": "^3.4.0", + "apollo-server-env": "^4.2.1" + } + }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==", + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==" + } + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" + }, + "ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "requires": { + "tslib": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "requires": { + "retry": "0.13.1" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "requires": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "requires": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "requires": {} + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "dev": true, + "requires": { + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.5", + "hash-base": "~3.0", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.7", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + } + }, + "browserslist": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "requires": { + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.16" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==" + }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", + "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" + }, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "requires": { + "streamsearch": "^1.1.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==" + } + } + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "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 + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "cli-color": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.4.tgz", + "integrity": "sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==", + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.64", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.15", + "timers-ext": "^0.1.7" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" + }, + "copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", + "dev": true, + "requires": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "core-js": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==" + }, + "core-js-compat": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "requires": { + "browserslist": "^4.23.0" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", + "peer": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", + "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==" + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "dev": true, + "requires": {} + }, + "css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + } + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dev": true, + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==" + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "requires": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + } + }, + "date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==" + }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, + "debug": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "requires": { + "ms": "2.1.2" + } + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==" + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + } + } + }, + "deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "requires": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + } + } + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==" + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "dottie": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.6.tgz", + "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==" + }, + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + } + } + }, + "download-git-repo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/download-git-repo/-/download-git-repo-3.0.2.tgz", + "integrity": "sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==", + "requires": { + "download": "^7.1.0", + "git-clone": "^0.1.0", + "rimraf": "^3.0.0" + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==" + }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "requires": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==" + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.4.810", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz", + "integrity": "sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==" + }, + "elliptic": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.5.tgz", + "integrity": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "envinfo": { + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true + }, + "es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "requires": { + "d": "^1.0.2", + "ext": "^1.7.0" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "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 + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, + "requires": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + }, + "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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 + }, + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "requires": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + } + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==" + }, + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "express-history-api-fallback": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/express-history-api-fallback/-/express-history-api-fallback-2.2.1.tgz", + "integrity": "sha512-swxwm3aP8vrOOvlzOdZvHlSZtJGwHKaY94J6AkrAgCTmcbko3IRwbkhLv2wKV1WeZhjxX58aLMpP3atDBnKuZg==" + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "requires": { + "type": "^2.7.2" + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.2.tgz", + "integrity": "sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==" + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "fkill": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/fkill/-/fkill-7.2.1.tgz", + "integrity": "sha512-eN9cmsIlRdq06wu3m01OOEgQf5Xh/M7REm0jfZ4eL3V3XisjXzfRq3iyqtKS+FhO6wB36FvWRiRGdeSx5KpLAQ==", + "requires": { + "aggregate-error": "^3.1.0", + "arrify": "^2.0.1", + "execa": "^5.0.0", + "pid-port": "^0.1.0", + "process-exists": "^4.0.0", + "ps-list": "^7.2.0", + "taskkill": "^3.1.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "flow-parser": { + "version": "0.238.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.238.0.tgz", + "integrity": "sha512-VE7XSv1epljsIN2YeBnxCmGJihpNIAnLLu/pPOdA+Gkso7qDltJwUi6vfHjgxdBbjSdAuPGnhuOHJUQG+yYwIg==" + }, + "follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" + }, + "foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } + } + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "fswin": { + "version": "2.17.1227", + "resolved": "https://registry.npmjs.org/fswin/-/fswin-2.17.1227.tgz", + "integrity": "sha512-xNDktvwzSsXT8Xqnpz59VbuFwGHhtn1w+dS7QQ+wAu5cbH0p3WMGKU9Duf7cPna+nubhR+5ZG1MTl6/V6xgRgw==" + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "requires": { + "is-property": "^1.0.2" + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" + }, + "git-clone": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/git-clone/-/git-clone-0.1.0.tgz", + "integrity": "sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==" + }, + "git-config-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", + "integrity": "sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "requires": { + "ini": "^1.3.4" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + } + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphql": { + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.9.0.tgz", + "integrity": "sha512-GCOQdvm7XxV1S4U4CGrsdlEN37245eC8P9zaYCMr6K1BG0IPGy5lUwmJsEOGyl1GD6HXjOtl2keCP9asRBwNvA==" + }, + "graphql-subscriptions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.2.1.tgz", + "integrity": "sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==", + "requires": { + "iterall": "^1.3.0" + } + }, + "graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "requires": { + "tslib": "^2.1.0" + } + }, + "graphql-type-json": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", + "integrity": "sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg==", + "requires": {} + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==" + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + } + } + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + } + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + } + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-global": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/import-global/-/import-global-0.1.0.tgz", + "integrity": "sha512-8+hPJLML+m1ym9NSeZXTXFkY5+ml0fYFAzO5yhZiaFQvk9kO0NkE7vd7e7kCVjkTmAxsDPbrWwLQACMwGTDgIg==", + "requires": { + "global-dirs": "^0.1.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "inflection": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", + "integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + }, + "inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-core-module": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", + "requires": { + "hasown": "^2.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-file-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-file-esm/-/is-file-esm-1.0.0.tgz", + "integrity": "sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA==", + "dev": true, + "requires": { + "read-pkg-up": "^7.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" + }, + "jackspeak": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", + "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jake": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==" + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "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 + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "requires": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "requires": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "minimatch": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + } + } + }, + "js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==" + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jscodeshift": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.11.0.tgz", + "integrity": "sha512-SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==", + "requires": { + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.1.0", + "@babel/plugin-proposal-optional-chaining": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.3", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "requires": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true + }, + "launch-editor": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", + "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "launch-editor-middleware": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.8.0.tgz", + "integrity": "sha512-0Az27jnPR2RgkUoZoLHluM5gg9zHeg7hPsUZESJxcTV8Rs6Fed+Nof7Lb2HmpsE8lN/3YzpU+mvK5exYWSftWw==", + "dev": true, + "requires": { + "launch-editor": "^2.8.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "peer": true, + "requires": { + "uc.micro": "^2.0.0" + } + }, + "linkifyjs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.3.tgz", + "integrity": "sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + } + } + } + }, + "loglevel": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==" + }, + "long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "requires": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "requires": { + "es5-ext": "~0.10.2" + } + }, + "magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "peer": true, + "requires": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "peer": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "memoizee": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz", + "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==", + "requires": { + "d": "^1.0.2", + "es5-ext": "^0.10.64", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "mini-css-extract-plugin": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", + "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "dependencies": { + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==", + "dev": true + }, + "moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, + "moment-timezone": { + "version": "0.5.45", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", + "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", + "requires": { + "moment": "^2.29.4" + } + }, + "mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "requires": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "mysql2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.10.1.tgz", + "integrity": "sha512-6zo1T3GILsXMCex3YEu7hCz2OXLUarxFsxvFcUHWMpkPtmZLeTTWgRdc1gWyNJiYt6AxITmIf9bZDRy/jAfWew==", + "requires": { + "denque": "^2.1.0", + "generate-function": "^2.3.1", + "iconv-lite": "^0.6.3", + "long": "^5.2.1", + "lru-cache": "^8.0.0", + "named-placeholders": "^1.1.3", + "seq-queue": "^0.0.5", + "sqlstring": "^2.3.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "lru-cache": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz", + "integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==" + } + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "named-placeholders": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.3.tgz", + "integrity": "sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==", + "requires": { + "lru-cache": "^7.14.1" + }, + "dependencies": { + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" + } + } + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "nodemon": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", + "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", + "requires": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + } + } + }, + "nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "requires": { + "abbrev": "^2.0.0" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "requires": { + "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" + } + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==" + }, + "object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "requires": { + "isobject": "^3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "orderedmap": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", + "peer": true + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parchment/-/parchment-1.1.4.tgz", + "integrity": "sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "dev": true, + "requires": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", + "safe-buffer": "^5.2.1" + } + }, + "parse-git-config": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz", + "integrity": "sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==", + "requires": { + "git-config-path": "^2.0.0", + "ini": "^1.3.5" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + } + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==" + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + } + } + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "pg-connection-string": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.4.tgz", + "integrity": "sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==" + }, + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pid-port": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pid-port/-/pid-port-0.1.1.tgz", + "integrity": "sha512-boqPJtSgZC6KOgXKNPC+/XR3xwVtpOtaLa7JLcdf8jfVe0ZM2TwllBXxxLUO8GQbOLJ4/hEtf2+L1QCKbaoHUg==", + "requires": { + "execa": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + } + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" + }, + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "requires": { + "find-up": "^5.0.0" + } + }, + "portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "requires": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "dependencies": { + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" + }, + "postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "requires": {} + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + } + } + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "dependencies": { + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "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 + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "optional": true + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process-exists": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/process-exists/-/process-exists-4.1.0.tgz", + "integrity": "sha512-BBJoiorUKoP2AuM5q/yKwIfT1YWRHsaxjW+Ayu9erLhqKOfnXzzVVML0XTYoQZuI1YvcWKmc1dh06DEy4+KzfA==", + "requires": { + "ps-list": "^6.3.0" + }, + "dependencies": { + "ps-list": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-6.3.0.tgz", + "integrity": "sha512-qau0czUSB0fzSlBOQt0bo+I2v6R+xiQdj78e1BR/Qjfl5OHWJ/urXi8+ilw1eHe+5hSeDI1wrwVTgDp2wst4oA==" + } + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "progress-webpack-plugin": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz", + "integrity": "sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "figures": "^2.0.0", + "log-update": "^2.3.0" + }, + "dependencies": { + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + } + } + }, + "prosemirror-changeset": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.2.1.tgz", + "integrity": "sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==", + "peer": true, + "requires": { + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-collab": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz", + "integrity": "sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==", + "peer": true, + "requires": { + "prosemirror-state": "^1.0.0" + } + }, + "prosemirror-commands": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz", + "integrity": "sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==", + "peer": true, + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-dropcursor": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.1.tgz", + "integrity": "sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==", + "peer": true, + "requires": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0", + "prosemirror-view": "^1.1.0" + } + }, + "prosemirror-gapcursor": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz", + "integrity": "sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==", + "peer": true, + "requires": { + "prosemirror-keymap": "^1.0.0", + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-view": "^1.0.0" + } + }, + "prosemirror-history": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.0.tgz", + "integrity": "sha512-UUiGzDVcqo1lovOPdi9YxxUps3oBFWAIYkXLu3Ot+JPv1qzVogRbcizxK3LhHmtaUxclohgiOVesRw5QSlMnbQ==", + "peer": true, + "requires": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", + "rope-sequence": "^1.3.0" + } + }, + "prosemirror-inputrules": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.4.0.tgz", + "integrity": "sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg==", + "peer": true, + "requires": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-keymap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz", + "integrity": "sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==", + "peer": true, + "requires": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "prosemirror-markdown": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.0.tgz", + "integrity": "sha512-UziddX3ZYSYibgx8042hfGKmukq5Aljp2qoBiJRejD/8MH70siQNz5RB1TrdTPheqLMy4aCe4GYNF10/3lQS5g==", + "peer": true, + "requires": { + "markdown-it": "^14.0.0", + "prosemirror-model": "^1.20.0" + } + }, + "prosemirror-menu": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.4.tgz", + "integrity": "sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA==", + "peer": true, + "requires": { + "crelt": "^1.0.0", + "prosemirror-commands": "^1.0.0", + "prosemirror-history": "^1.0.0", + "prosemirror-state": "^1.0.0" + } + }, + "prosemirror-model": { + "version": "1.21.1", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.21.1.tgz", + "integrity": "sha512-IVBAuMqOfltTr7yPypwpfdGT+6rGAteVOw2FO6GEvCGGa1ZwxLseqC1Eax/EChDvG/xGquB2d/hLdgh3THpsYg==", + "peer": true, + "requires": { + "orderedmap": "^2.0.0" + } + }, + "prosemirror-schema-basic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.2.tgz", + "integrity": "sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==", + "peer": true, + "requires": { + "prosemirror-model": "^1.19.0" + } + }, + "prosemirror-schema-list": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.4.0.tgz", + "integrity": "sha512-nZOIq/AkBSzCENxUyLm5ltWE53e2PLk65ghMN8qLQptOmDVixZlPqtMeQdiNw0odL9vNpalEjl3upgRkuJ/Jyw==", + "peer": true, + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.7.3" + } + }, + "prosemirror-state": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", + "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", + "peer": true, + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "prosemirror-tables": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.3.7.tgz", + "integrity": "sha512-oEwX1wrziuxMtwFvdDWSFHVUWrFJWt929kVVfHvtTi8yvw+5ppxjXZkMG/fuTdFo+3DXyIPSKfid+Be1npKXDA==", + "peer": true, + "requires": { + "prosemirror-keymap": "^1.1.2", + "prosemirror-model": "^1.8.1", + "prosemirror-state": "^1.3.1", + "prosemirror-transform": "^1.2.1", + "prosemirror-view": "^1.13.3" + } + }, + "prosemirror-trailing-node": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.8.tgz", + "integrity": "sha512-ujRYhSuhQb1Jsarh1IHqb2KoSnRiD7wAMDGucP35DN7j5af6X7B18PfdPIrbwsPTqIAj0fyOvxbuPsWhNvylmA==", + "peer": true, + "requires": { + "@remirror/core-constants": "^2.0.2", + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true + } + } + }, + "prosemirror-transform": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.9.0.tgz", + "integrity": "sha512-5UXkr1LIRx3jmpXXNKDhv8OyAOeLTGuXNwdVfg8x27uASna/wQkr9p6fD3eupGOi4PLJfbezxTyi/7fSJypXHg==", + "peer": true, + "requires": { + "prosemirror-model": "^1.21.0" + } + }, + "prosemirror-view": { + "version": "1.33.8", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.33.8.tgz", + "integrity": "sha512-4PhMr/ufz2cdvFgpUAnZfs+0xij3RsFysreeG9V/utpwX7AJtYCDVyuRxzWoMJIEf4C7wVihuBNMPpFLPCiLQw==", + "peer": true, + "requires": { + "prosemirror-model": "^1.20.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "ps-list": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/ps-list/-/ps-list-7.2.0.tgz", + "integrity": "sha512-v4Bl6I3f2kJfr5o80ShABNHAokIgY+wFDTQfE+X3zWYgSGQOCBeYptLZUpoOALBqO5EawmDN/tjTldJesd0ujQ==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "peer": true + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/quill/-/quill-1.3.7.tgz", + "integrity": "sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==", + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + }, + "dependencies": { + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", + "integrity": "sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==" + } + } + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-3.6.3.tgz", + "integrity": "sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "requires": { + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "requires": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, + "retry-as-promised": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", + "integrity": "sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rope-sequence": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", + "peer": true + }, + "rss-parser": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.13.0.tgz", + "integrity": "sha512-7jWUBV5yGN3rqMMj7CZufl/291QAhvrrGpDNE4k/02ZchL0npisiYYqULF71jCEKoIiHvK/Q2e6IkDwPziT7+w==", + "requires": { + "entities": "^2.0.3", + "xml2js": "^0.5.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "requires": { + "tslib": "^2.1.0" + } + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "requires": { + "commander": "^2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "requires": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "seq-queue": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/seq-queue/-/seq-queue-0.0.5.tgz", + "integrity": "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==" + }, + "sequelize": { + "version": "6.37.3", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.3.tgz", + "integrity": "sha512-V2FTqYpdZjPy3VQrZvjTPnOoLm0KudCRXfGWp48QwhyPPp2yW8z0p0sCYZd/em847Tl2dVxJJ1DR+hF+O77T7A==", + "requires": { + "@types/debug": "^4.1.8", + "@types/validator": "^13.7.17", + "debug": "^4.3.4", + "dottie": "^2.0.6", + "inflection": "^1.13.4", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "moment-timezone": "^0.5.43", + "pg-connection-string": "^2.6.1", + "retry-as-promised": "^7.0.4", + "semver": "^7.5.4", + "sequelize-pool": "^7.1.0", + "toposort-class": "^1.0.1", + "uuid": "^8.3.2", + "validator": "^13.9.0", + "wkx": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + } + }, + "sequelize-cli": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/sequelize-cli/-/sequelize-cli-6.6.2.tgz", + "integrity": "sha512-V8Oh+XMz2+uquLZltZES6MVAD+yEnmMfwfn+gpXcDiwE3jyQygLt4xoI0zG8gKt6cRcs84hsKnXAKDQjG/JAgg==", + "requires": { + "cli-color": "^2.0.3", + "fs-extra": "^9.1.0", + "js-beautify": "^1.14.5", + "lodash": "^4.17.21", + "resolve": "^1.22.1", + "umzug": "^2.3.0", + "yargs": "^16.2.0" + } + }, + "sequelize-pool": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz", + "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==" + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + } + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + }, + "shortid": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", + "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", + "requires": { + "nanoid": "^2.1.0" + }, + "dependencies": { + "nanoid": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" + } + } + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "requires": { + "semver": "^7.5.3" + }, + "dependencies": { + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==" + } + } + }, + "sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "requires": { + "sort-keys": "^1.0.0" + }, + "dependencies": { + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "sqlstring": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.3.tgz", + "integrity": "sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==" + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "requires": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "requires": { + "graceful-fs": "^4.1.3" + } + }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "dev": true, + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "subscriptions-transport-ws": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.11.0.tgz", + "integrity": "sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==", + "requires": { + "backo2": "^1.0.2", + "eventemitter3": "^3.1.0", + "iterall": "^1.2.1", + "symbol-observable": "^1.0.4", + "ws": "^5.2.0 || ^6.0.0 || ^7.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "table": { + "version": "6.8.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.2.tgz", + "integrity": "sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + } + } + }, + "taskkill": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/taskkill/-/taskkill-3.1.0.tgz", + "integrity": "sha512-5KcOFzPvd1nGFVrmB7H4+QAWVjYOf//+QTbOj0GpXbqtqbKGWVczG+rq6VhXAtdtlKLTs16NAmHRyF5vbggQ2w==", + "requires": { + "arrify": "^2.0.1", + "execa": "^3.3.0" + }, + "dependencies": { + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + } + } + }, + "temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "terser": { + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "dev": true, + "requires": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==" + }, + "timers-ext": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz", + "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==", + "requires": { + "es5-ext": "^0.10.64", + "next-tick": "^1.1.0" + } + }, + "tippy.js": { + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", + "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", + "requires": { + "@popperjs/core": "^2.9.0" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "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==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "toposort-class": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==" + }, + "totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true + }, + "touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==" + }, + "uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "peer": true + }, + "umzug": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", + "integrity": "sha512-Z274K+e8goZK8QJxmbRPhl89HPO1K+ORFtm6rySPhFKfKc5GHhqdzD0SGhSWHkzoXasqJuItdhorSvY7/Cgflw==", + "requires": { + "bluebird": "^3.7.2" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + } + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" + } + } + }, + "update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "requires": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==" + }, + "v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "requires": { + "builtins": "^1.0.3" + } + }, + "validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==" + }, + "value-or-promise": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.11.tgz", + "integrity": "sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "vue": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.30.tgz", + "integrity": "sha512-NcxtKCwkdf1zPsr7Y8+QlDBCGqxvjLXF2EX+yi76rV5rrz90Y6gK1cq0olIhdWGgrlhs9ElHuhi9t3+W5sG5Xw==", + "requires": { + "@vue/compiler-dom": "3.4.30", + "@vue/compiler-sfc": "3.4.30", + "@vue/runtime-dom": "3.4.30", + "@vue/server-renderer": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "vue-codemod": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/vue-codemod/-/vue-codemod-0.0.5.tgz", + "integrity": "sha512-DE+24W1d3oanGqq7yna4ddOKXmVzjECgku2ddMcm7OS9Bp9QOblMHT88PzKiCc7npGiHf5+mTfrEW1JVIBbA2A==", + "requires": { + "@babel/core": "^7.10.3", + "@babel/preset-env": "^7.10.3", + "@babel/types": "^7.12.12", + "@types/jscodeshift": "^0.7.1", + "@vue/compiler-core": "^3.0.5", + "@vue/compiler-dom": "^3.0.5", + "debug": "^4.1.1", + "globby": "^11.0.2", + "inquirer": "^7.0.3", + "jscodeshift": "^0.11.0", + "lru-cache": "^6.0.0", + "source-map": "^0.6.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "requires": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.4.2.tgz", + "integrity": "sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "vue-multiselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0.tgz", + "integrity": "sha512-uupKdINgz7j83lQToCL7KkgQQxvG43el++hsR39YT9pCe1DwzUGmKzPxjVP6rqskXed5P6DtUASYAlCliW740Q==" + }, + "vue-quill-editor": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz", + "integrity": "sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==", + "requires": { + "object-assign": "^4.1.1", + "quill": "^1.3.4" + } + }, + "vue-router": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.0.tgz", + "integrity": "sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==", + "requires": { + "@vue/devtools-api": "^6.5.1" + } + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + } + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.11" + } + }, + "w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "peer": true + }, + "watchpack": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "requires": { + "defaults": "^1.0.3" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "webpack": { + "version": "5.92.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", + "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + } + } + }, + "webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "dependencies": { + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "dependencies": { + "ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "requires": {} + } + } + }, + "webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", + "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==", + "dev": true + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "dev": true + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "wkx": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", + "integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==", + "requires": { + "@types/node": "*" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "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==", + "requires": { + "color-name": "~1.1.4" + } + }, + "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==" + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "requires": {} + }, + "xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "xss": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz", + "integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==", + "requires": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yaml-front-matter": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/yaml-front-matter/-/yaml-front-matter-4.1.1.tgz", + "integrity": "sha512-ULGbghCLsN8Hs8vfExlqrJIe8Hl2TUjD7/zsIGMP8U+dgRXEsDXk4yydxeZJgdGiimP1XB7zhmhOB4/HyfqOyQ==", + "requires": { + "commander": "^6.2.0", + "js-yaml": "^3.14.1" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } + } } } diff --git a/package.json b/package.json index 7a40bb1..93c20a0 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@tiptap/extension-underline": "^2.4.0", "@tiptap/starter-kit": "^2.4.0", "@tiptap/vue-3": "^2.4.0", + "@vue/cli": "^5.0.8", "axios": "^1.7.2", "bcryptjs": "^2.4.3", "body-parser": "^1.20.2", @@ -44,7 +45,7 @@ "sequelize-cli": "^6.6.2", "uuid": "^10.0.0", "vm-browserify": "^1.1.2", - "vue": "^3.2.13", + "vue": "^3.4.30", "vue-multiselect": "^3.0.0", "vue-quill-editor": "^3.0.6", "vue-router": "^4.3.3", diff --git a/public/css/1099.a6cdcdf4.css b/public/css/1099.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/1099.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/1258.13c489b0.css b/public/css/1258.13c489b0.css new file mode 100644 index 0000000..d5462bb --- /dev/null +++ b/public/css/1258.13c489b0.css @@ -0,0 +1 @@ +.register[data-v-4256bbfa]{max-width:400px;margin:auto}form[data-v-4256bbfa]{display:flex;flex-direction:column}label[data-v-4256bbfa]{margin-top:10px}button[data-v-4256bbfa]{margin-top:20px} \ No newline at end of file diff --git a/public/css/1565.5391dc21.css b/public/css/1565.5391dc21.css new file mode 100644 index 0000000..b1ec68f --- /dev/null +++ b/public/css/1565.5391dc21.css @@ -0,0 +1 @@ +.privacy-policy[data-v-0c3320ea]{max-width:800px;margin:auto;padding:20px}h1[data-v-0c3320ea],h2[data-v-0c3320ea],h3[data-v-0c3320ea],h4[data-v-0c3320ea],h5[data-v-0c3320ea]{margin-top:20px;color:#333}p[data-v-0c3320ea]{line-height:1.6}ul[data-v-0c3320ea]{margin:10px 0;padding-left:20px}ul li[data-v-0c3320ea]{list-style-type:disc}a[data-v-0c3320ea]{color:#007bff;text-decoration:none}a[data-v-0c3320ea]:hover{text-decoration:underline} \ No newline at end of file diff --git a/public/css/1969.a6cdcdf4.css b/public/css/1969.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/1969.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/2177.54e852c0.css b/public/css/2177.54e852c0.css new file mode 100644 index 0000000..5cb56c9 --- /dev/null +++ b/public/css/2177.54e852c0.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline}.previewinfo[data-v-9a71cbf6]{background-color:#000;color:#d00000;position:absolute;top:93px;left:0;padding:2px 10px;font-weight:700} \ No newline at end of file diff --git a/public/css/2353.9504c97b.css b/public/css/2353.9504c97b.css new file mode 100644 index 0000000..c6d9fae --- /dev/null +++ b/public/css/2353.9504c97b.css @@ -0,0 +1 @@ +.upload-files[data-v-f2694614]{width:100%;margin:auto}.upload-files div[data-v-f2694614]{margin-bottom:10px}.file-list[data-v-f2694614]{list-style-type:none;padding:0;margin-top:20px}.file-list li[data-v-f2694614]{border-bottom:1px solid #ddd;padding:10px 0}.file-info[data-v-f2694614]{display:flex;justify-content:space-between;cursor:pointer}.file-title[data-v-f2694614]{font-weight:700}.file-name[data-v-f2694614]{color:#555}.file-date[data-v-f2694614]{color:#888} \ No newline at end of file diff --git a/public/css/2463.a6cdcdf4.css b/public/css/2463.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/2463.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/2607.a6cdcdf4.css b/public/css/2607.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/2607.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/2809.b682d961.css b/public/css/2809.b682d961.css new file mode 100644 index 0000000..d5dbfcd --- /dev/null +++ b/public/css/2809.b682d961.css @@ -0,0 +1 @@ +.right-column[data-v-12df4c86]{background-color:#d9e2f3}.right-column h2[data-v-12df4c86]{text-align:center;color:#000}.right-column img[data-v-12df4c86]{display:block;margin:0 auto;max-width:100%;height:auto} \ No newline at end of file diff --git a/public/css/3214.a6cdcdf4.css b/public/css/3214.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/3214.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/3299.5760daa0.css b/public/css/3299.5760daa0.css new file mode 100644 index 0000000..9e1cb63 --- /dev/null +++ b/public/css/3299.5760daa0.css @@ -0,0 +1 @@ +.menu-management[data-v-0e6a0522]{width:100%;margin:auto}.button-container[data-v-0e6a0522]{display:inline-flex;gap:10px;margin-bottom:20px}.tree-view[data-v-0e6a0522]{margin-top:20px}.tree-view ul[data-v-0e6a0522]{list-style-type:none;padding:0}.tree-view li[data-v-0e6a0522]{margin-bottom:5px;padding-left:20px}.tree-view .menu-item[data-v-0e6a0522]{display:inline-flex;width:100%;justify-content:space-between;align-items:center}.tree-view span[data-v-0e6a0522]{cursor:pointer;color:#000}.tree-view button[data-v-0e6a0522]{border:none;height:1.6em;padding:0 .5em;margin:1px;border-radius:5px}.tree-view span[data-v-0e6a0522]:hover{text-decoration:underline}.edit-form[data-v-0e6a0522]{margin-top:20px}.edit-form label[data-v-0e6a0522]{display:block;margin-bottom:5px;font-weight:700}.edit-form input[data-v-0e6a0522]:not([type=checkbox]){display:block;margin-bottom:10px}.edit-form .checkbox-container[data-v-0e6a0522]{display:flex;flex-direction:column;margin-right:10px}.edit-form .order-id[data-v-0e6a0522]{width:50px}.edit-form button[data-v-0e6a0522]{margin-top:5px} \ No newline at end of file diff --git a/public/css/3353.bdb3d500.css b/public/css/3353.bdb3d500.css new file mode 100644 index 0000000..46a2899 --- /dev/null +++ b/public/css/3353.bdb3d500.css @@ -0,0 +1 @@ +.position-management[data-v-1684a375]{max-width:600px;margin:auto;padding:20px;border:1px solid #ccc;border-radius:5px}form[data-v-1684a375]{display:flex;flex-direction:column;margin-bottom:20px}label[data-v-1684a375]{margin-top:10px}input[data-v-1684a375]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-1684a375]{margin-top:10px;padding:10px}table[data-v-1684a375]{width:100%;border-collapse:collapse;margin-top:20px}td[data-v-1684a375],th[data-v-1684a375]{border:1px solid #ccc;padding:10px;text-align:left}th[data-v-1684a375]{background-color:#f4f4f4} \ No newline at end of file diff --git a/public/css/3459.f3d026c5.css b/public/css/3459.f3d026c5.css new file mode 100644 index 0000000..892f9dc --- /dev/null +++ b/public/css/3459.f3d026c5.css @@ -0,0 +1 @@ +fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"×";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 12px 0;padding-right:30px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}.worship-management[data-v-701c5bc9]{max-width:600px;margin:0 auto;display:flex;flex-direction:column}form[data-v-701c5bc9]{display:flex;flex-direction:column}label[data-v-701c5bc9]{margin-top:10px}button[data-v-701c5bc9],ul[data-v-701c5bc9]{margin-top:20px}li[data-v-701c5bc9]{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid hsla(0,0%,88%,.9);position:relative}button[data-v-701c5bc9]{margin-left:10px}.tooltip[data-v-701c5bc9]{visibility:hidden;width:auto;background-color:hsla(0,0%,88%,.6);color:#000;text-align:center;padding:5px 0;position:absolute;z-index:1;bottom:75%;left:50%;margin-left:-100px;padding:5px;border:1px solid #000;opacity:0;transition:opacity .2s}li:hover .tooltip[data-v-701c5bc9]{visibility:visible;opacity:1} \ No newline at end of file diff --git a/public/css/3484.32da9cb7.css b/public/css/3484.32da9cb7.css new file mode 100644 index 0000000..85603cb --- /dev/null +++ b/public/css/3484.32da9cb7.css @@ -0,0 +1 @@ +.dialog-overlay[data-v-21ade8c0]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}.dialog[data-v-21ade8c0]{background:#fff;padding:20px;border-radius:5px;max-width:400px;width:100%;text-align:center}button[data-v-21ade8c0]{margin-top:20px}.login[data-v-40a158c0]{max-width:400px;margin:auto}form[data-v-40a158c0]{display:flex;flex-direction:column}label[data-v-40a158c0]{margin-top:10px}button[data-v-40a158c0]{margin-top:20px} \ No newline at end of file diff --git a/public/css/3550.a6cdcdf4.css b/public/css/3550.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/3550.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/3715.a6cdcdf4.css b/public/css/3715.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/3715.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/4039.be11324e.css b/public/css/4039.be11324e.css new file mode 100644 index 0000000..41dc7c9 --- /dev/null +++ b/public/css/4039.be11324e.css @@ -0,0 +1 @@ +div[data-v-334e7b82]{padding:20px} \ No newline at end of file diff --git a/public/css/466.a6cdcdf4.css b/public/css/466.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/466.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/4765.4bd58cd7.css b/public/css/4765.4bd58cd7.css new file mode 100644 index 0000000..b68278e --- /dev/null +++ b/public/css/4765.4bd58cd7.css @@ -0,0 +1 @@ +.institution-management[data-v-ff992c44]{max-width:600px;margin:auto;padding:20px;border:1px solid #ccc;border-radius:5px}form[data-v-ff992c44]{display:flex;flex-direction:column;margin-bottom:20px}label[data-v-ff992c44]{margin-top:10px}input[data-v-ff992c44]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-ff992c44]{margin-top:10px;padding:10px}table[data-v-ff992c44]{width:100%;border-collapse:collapse;margin-top:20px}td[data-v-ff992c44],th[data-v-ff992c44]{border:1px solid #ccc;padding:10px;text-align:left}th[data-v-ff992c44]{background-color:#f4f4f4} \ No newline at end of file diff --git a/public/css/480.78894bf8.css b/public/css/480.78894bf8.css new file mode 100644 index 0000000..2290109 --- /dev/null +++ b/public/css/480.78894bf8.css @@ -0,0 +1 @@ +div[data-v-68b32234]{padding:20px}ul[data-v-68b32234]{list-style:none;padding:0;margin:0}li[data-v-68b32234]{padding:0;margin:0} \ No newline at end of file diff --git a/public/css/4908.1e896a7d.css b/public/css/4908.1e896a7d.css new file mode 100644 index 0000000..917d979 --- /dev/null +++ b/public/css/4908.1e896a7d.css @@ -0,0 +1 @@ +fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"×";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 12px 0;padding-right:30px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}.event-types-management[data-v-60fe58a4]{max-width:600px;margin:0 auto;display:flex;flex-direction:column}form[data-v-60fe58a4]{display:flex;flex-direction:column;margin-bottom:20px}label[data-v-60fe58a4]{margin-top:10px}input[data-v-60fe58a4]{margin-top:10px;padding:5px}button[data-v-60fe58a4]{margin-top:20px;padding:10px}ul[data-v-60fe58a4]{margin-top:20px}li[data-v-60fe58a4]{display:flex;justify-content:space-between;align-items:center;padding:10px;border-bottom:1px solid hsla(0,0%,88%,.9);position:relative}button[data-v-60fe58a4]{margin-left:10px} \ No newline at end of file diff --git a/public/css/5108.a6cdcdf4.css b/public/css/5108.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/5108.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/5625.7ef4d708.css b/public/css/5625.7ef4d708.css new file mode 100644 index 0000000..bce4b70 --- /dev/null +++ b/public/css/5625.7ef4d708.css @@ -0,0 +1 @@ +.register[data-v-182f8976]{max-width:400px;margin:auto}form[data-v-182f8976]{display:flex;flex-direction:column}label[data-v-182f8976]{margin-top:10px}button[data-v-182f8976]{margin-top:20px} \ No newline at end of file diff --git a/public/css/5697.a6cdcdf4.css b/public/css/5697.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/5697.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/6007.9e55a8df.css b/public/css/6007.9e55a8df.css new file mode 100644 index 0000000..bb74e68 --- /dev/null +++ b/public/css/6007.9e55a8df.css @@ -0,0 +1 @@ +fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"×";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 12px 0;padding-right:30px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}.contact-person-form[data-v-1c19470f]{max-width:400px;margin:auto}form[data-v-1c19470f]{display:flex;flex-direction:column}label[data-v-1c19470f]{margin-top:10px}button[data-v-1c19470f]{margin-top:20px}ul[data-v-f0b51122]{list-style-type:none;padding:0}li[data-v-f0b51122]{cursor:pointer;padding:5px;margin:5px 0;background-color:#f0f0f0}li[data-v-f0b51122]:hover{background-color:#e0e0e0} \ No newline at end of file diff --git a/public/css/6107.a6cdcdf4.css b/public/css/6107.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/6107.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/6959.d2acc39d.css b/public/css/6959.d2acc39d.css new file mode 100644 index 0000000..9053558 --- /dev/null +++ b/public/css/6959.d2acc39d.css @@ -0,0 +1 @@ +fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"×";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 12px 0;padding-right:30px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}.event-form[data-v-529bdc3a]{max-width:600px;margin:0 auto;display:flex;flex-direction:column}table[data-v-529bdc3a]{width:100%;border-collapse:collapse}td[data-v-529bdc3a]{padding:8px;vertical-align:top}label[data-v-529bdc3a]{display:block}button[data-v-529bdc3a]{margin-top:20px}.descriptionedit[data-v-529bdc3a]{width:100%;height:10em}.event-management[data-v-97f69b82]{max-width:1200px;margin:0 auto}table[data-v-97f69b82]{width:100%;border-collapse:collapse;margin-top:20px}td[data-v-97f69b82],th[data-v-97f69b82]{border:1px solid #ddd;padding:8px}th[data-v-97f69b82]{background-color:#f2f2f2}button[data-v-97f69b82]{margin:5px} \ No newline at end of file diff --git a/public/css/7158.a6cdcdf4.css b/public/css/7158.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/7158.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/7361.a6cdcdf4.css b/public/css/7361.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/7361.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/7382.49bff9d4.css b/public/css/7382.49bff9d4.css new file mode 100644 index 0000000..b3e5d9c --- /dev/null +++ b/public/css/7382.49bff9d4.css @@ -0,0 +1 @@ +.dialog-overlay[data-v-21ade8c0]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}.dialog[data-v-21ade8c0]{background:#fff;padding:20px;border-radius:5px;max-width:400px;width:100%;text-align:center}button[data-v-21ade8c0]{margin-top:20px} \ No newline at end of file diff --git a/public/css/757.5e87db7f.css b/public/css/757.5e87db7f.css new file mode 100644 index 0000000..a2217f8 --- /dev/null +++ b/public/css/757.5e87db7f.css @@ -0,0 +1 @@ +form div[data-v-454efcad]{margin-bottom:10px}.uploaded-image[data-v-454efcad]{display:inline-block;margin:0 0 .5em .5em;border:1px solid #e0e0e0;padding:10px}.uploaded-image input[data-v-454efcad],.uploaded-image textarea[data-v-454efcad]{width:100%;margin:5px 0} \ No newline at end of file diff --git a/public/css/7876.5b86c09c.css b/public/css/7876.5b86c09c.css new file mode 100644 index 0000000..e8f2367 --- /dev/null +++ b/public/css/7876.5b86c09c.css @@ -0,0 +1 @@ +.forgot-password[data-v-017249f5]{max-width:400px;margin:auto}form[data-v-017249f5]{display:flex;flex-direction:column}label[data-v-017249f5]{margin-top:10px}button[data-v-017249f5]{margin-top:20px} \ No newline at end of file diff --git a/public/css/8060.a6cdcdf4.css b/public/css/8060.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/8060.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/8074.3a6e7316.css b/public/css/8074.3a6e7316.css new file mode 100644 index 0000000..00ca30b --- /dev/null +++ b/public/css/8074.3a6e7316.css @@ -0,0 +1 @@ +.event-places-management[data-v-920e5ffc]{max-width:600px;margin:auto;padding:20px;border:1px solid #ccc;border-radius:5px}form[data-v-920e5ffc]{display:flex;flex-direction:column;margin-bottom:20px}label[data-v-920e5ffc]{margin-top:10px}input[data-v-920e5ffc]{margin-top:5px;margin-bottom:10px;padding:8px}button[data-v-920e5ffc]{margin-top:10px;padding:10px}table[data-v-920e5ffc]{width:100%;border-collapse:collapse;margin-top:20px}td[data-v-920e5ffc],th[data-v-920e5ffc]{border:1px solid #ccc;padding:10px;text-align:left}th[data-v-920e5ffc]{background-color:#f4f4f4} \ No newline at end of file diff --git a/public/css/8183.43cc4f81.css b/public/css/8183.43cc4f81.css new file mode 100644 index 0000000..6c5f820 --- /dev/null +++ b/public/css/8183.43cc4f81.css @@ -0,0 +1 @@ +.user-administration[data-v-a495c756]{padding:20px}.user-administration h1[data-v-a495c756],.user-administration h2[data-v-a495c756]{margin-bottom:20px}.user-administration form[data-v-a495c756]{display:flex;flex-direction:column;margin-bottom:20px}.user-administration label[data-v-a495c756]{margin-top:10px}.user-administration input[type=email][data-v-a495c756],.user-administration input[type=password][data-v-a495c756],.user-administration input[type=text][data-v-a495c756]{padding:5px;font-size:16px}.user-administration ul[data-v-a495c756]{list-style-type:none;padding:0}.user-administration li[data-v-a495c756]{padding:10px;border-bottom:1px solid #ddd;cursor:pointer}.user-administration li[data-v-a495c756]:hover{background-color:#f0f0f0} \ No newline at end of file diff --git a/public/css/830.a6cdcdf4.css b/public/css/830.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/830.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/8712.4386b7e7.css b/public/css/8712.4386b7e7.css new file mode 100644 index 0000000..efa23d4 --- /dev/null +++ b/public/css/8712.4386b7e7.css @@ -0,0 +1 @@ +fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation-iteration-count:infinite}.multiselect__spinner:after{animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"×";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 12px 0;padding-right:30px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}.dialog-overlay[data-v-660e0d32]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}.dialog-content[data-v-660e0d32]{background:#fff;padding:20px;border-radius:8px}.multiselect[data-v-660e0d32]{width:100%}.dialog-overlay[data-v-bb7ac8aa]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}.dialog-content[data-v-bb7ac8aa]{background:#fff;padding:20px;border-radius:8px}.images-container[data-v-bb7ac8aa]{display:flex;flex-wrap:wrap;gap:10px}.images-container img[data-v-bb7ac8aa]{cursor:pointer;border:2px solid transparent}.images-container img[data-v-bb7ac8aa]:hover{border-color:#007bff}.image-block[data-v-bb7ac8aa]{display:inline-block;margin:2.5px}.image-block img[data-v-bb7ac8aa]{max-width:150px;max-height:150px}.selected[data-v-bb7ac8aa]{border:2px solid #000}.dialog-overlay[data-v-208f7992]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}.dialog-content[data-v-208f7992]{background:#fff;padding:20px;border-radius:8px}.multiselect[data-v-208f7992]{width:100%}.display-options label[data-v-208f7992]{display:block}.dialog-overlay[data-v-577814c6]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}.dialog-content[data-v-577814c6]{background:#fff;padding:20px;border-radius:8px}.multiselect[data-v-577814c6]{width:100%}.image-block[data-v-577814c6]{display:inline-block;margin:2.5px}.selected[data-v-577814c6]{border:1px solid #000}.display-options label[data-v-577814c6]{display:block}.modal[data-v-7d73fa71]{display:flex;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal-content[data-v-7d73fa71]{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888}.close[data-v-7d73fa71]{color:#aaa;float:right;font-size:28px;font-weight:700}.close[data-v-7d73fa71]:focus,.close[data-v-7d73fa71]:hover{color:#000;text-decoration:none;cursor:pointer}.modal[data-v-c200d490]{display:flex;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal-content[data-v-c200d490]{background-color:#fefefe;margin:auto;padding:20px;border:1px solid #888}.close[data-v-c200d490]{color:#aaa;float:right;font-size:28px;font-weight:700}.close[data-v-c200d490]:focus,.close[data-v-c200d490]:hover{color:#000;text-decoration:none;cursor:pointer}.dialog-overlay[data-v-1dd5c408]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}.dialog-content[data-v-1dd5c408]{background:#fff;padding:20px;border-radius:8px}.multiselect[data-v-1dd5c408]{width:100%}.display-options label[data-v-1dd5c408]{display:block}.edit-pages[data-v-35f9b467]{width:100%;margin:auto}#page-select[data-v-35f9b467]{margin-bottom:20px}.toolbar[data-v-35f9b467]{margin-bottom:10px}.toolbar button[data-v-35f9b467]{margin-right:5px}.table-toolbar[data-v-35f9b467]{margin-bottom:10px}.table-toolbar button[data-v-35f9b467]{margin-right:5px}.additional-toolbar[data-v-35f9b467]{margin-bottom:10px}.additional-toolbar button[data-v-35f9b467]{margin-right:5px}.ql-container[data-v-35f9b467],.ql-editor[data-v-35f9b467]{background-color:#fff!important}.edit-pages div>button[data-v-35f9b467]{border:none;padding:.25em;margin:2px}.button-icon[data-v-35f9b467]{background-image:url(data:image/png;base64,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);background-position:0 0;background-size:10px 24px;background-repeat:no-repeat;width:24px;height:24px}.delete-icon[data-v-35f9b467]{fill:red}.align-top[data-v-35f9b467]{vertical-align:top} \ No newline at end of file diff --git a/public/css/878.596e7cea.css b/public/css/878.596e7cea.css new file mode 100644 index 0000000..c0d99b0 --- /dev/null +++ b/public/css/878.596e7cea.css @@ -0,0 +1 @@ +.impressum[data-v-612786fa]{max-width:800px;margin:auto;padding:20px}h1[data-v-612786fa],h2[data-v-612786fa],h3[data-v-612786fa],h4[data-v-612786fa]{margin-top:20px;color:#333}p[data-v-612786fa]{line-height:1.6}a[data-v-612786fa]{color:#007bff;text-decoration:none}a[data-v-612786fa]:hover{text-decoration:underline} \ No newline at end of file diff --git a/public/css/8848.a6cdcdf4.css b/public/css/8848.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/8848.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/9238.a6cdcdf4.css b/public/css/9238.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/9238.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/9524.a6cdcdf4.css b/public/css/9524.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/9524.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/9738.a6cdcdf4.css b/public/css/9738.a6cdcdf4.css new file mode 100644 index 0000000..d38d6d6 --- /dev/null +++ b/public/css/9738.a6cdcdf4.css @@ -0,0 +1 @@ +table.worships[data-v-0a1907cc]{border-collapse:collapse;width:100%}table.worships td[data-v-0a1907cc]{border:1px solid #000;text-align:center}h3[data-v-0a1907cc]{margin:0}table.worships td div[data-v-0a1907cc]{margin:5px}.highlight-time[data-v-0a1907cc]{text-decoration:underline}.neighborhood-invitation[data-v-0a1907cc]{font-weight:700;color:#0020e0}.image[data-v-9b711a1e]{max-width:400px;max-height:300px}.event-name[data-v-2da2977b]{font-weight:700}.event-table[data-v-2da2977b]{border-collapse:collapse}.event-table td[data-v-2da2977b]{border:1px solid #000}.homepage[data-v-2da2977b]{border:1px solid #9400ff;padding:.5em;text-align:center}.description[data-v-2da2977b]{padding:.5em 0}.contact-box p[data-v-40357d31]{margin:0}span[data-v-fa4cadae]{cursor:pointer;color:blue;text-decoration:underline} \ No newline at end of file diff --git a/public/css/app.c2c4030a.css b/public/css/app.c2c4030a.css new file mode 100644 index 0000000..6f4223f --- /dev/null +++ b/public/css/app.c2c4030a.css @@ -0,0 +1 @@ +.navbar[data-v-7c384298]{background-color:#9400ff;overflow:visible;height:47px;display:flex;width:100%}.navbar ul[data-v-7c384298]{list-style-type:none;margin:0;padding:0;display:flex}.navbar li[data-v-7c384298]{position:relative}.navbar a[data-v-7c384298],.navbar li>span[data-v-7c384298]{display:block;color:#fff;text-align:center;padding:14px 20px;text-decoration:none;font-weight:700}.navbar a[data-v-7c384298]:hover{background-color:#7a00d1}.menu-icon[data-v-7c384298]{width:20px;height:20px;margin-right:5px}.dropdown-content[data-v-7c384298]{position:absolute;background-color:#9400ff;min-width:200px;z-index:1;top:100%;left:0;opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;box-shadow:2px 2px 4px #666}.dropdown-content a[data-v-7c384298]{color:#fff;padding:12px 16px;text-decoration:none;display:block;text-align:left}.dropdown-content a[data-v-7c384298]:hover{background-color:#7a00d1}.navbar li:hover .dropdown-content[data-v-7c384298]{opacity:1;visibility:visible}.fade-enter-active[data-v-7c384298],.fade-leave-active[data-v-7c384298]{transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.fade-enter[data-v-7c384298],.fade-leave-to[data-v-7c384298]{opacity:0;visibility:hidden}header[data-v-0a99f72e]{display:flex;flex-direction:column;width:100%;background-color:#e0bfff}.header-title[data-v-0a99f72e]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.3em .5em}header h1[data-v-0a99f72e]{margin:0}.reload-icon[data-v-0a99f72e]{font-size:16px;cursor:pointer;margin-left:10px;background-color:#e0bfff;color:#fff;padding:5px;border-radius:50%}.reload-icon[data-v-0a99f72e]:hover{color:#7a00d1}.footer[data-v-cc31ea16]{background-color:#0b1735;bottom:0;left:0;width:100%;padding:7px;justify-content:space-between}.footer[data-v-cc31ea16],.left-links[data-v-cc31ea16],.right-links[data-v-cc31ea16]{display:flex;align-items:center}.footer a[data-v-cc31ea16]{color:#fff;padding-right:20px;text-decoration:none}.footer a.login-link[data-v-cc31ea16]{color:#444}.footer a.logout-link[data-v-cc31ea16]{cursor:pointer}body,html{height:100%;margin:0;padding:0;background-color:#fff;font-family:Arial,sans-serif;width:100%;overflow:hidden}#app{display:flex;flex-direction:column;height:100%}.content-section{flex:1;display:flex;color:#000;overflow:hidden}.left-column,.right-column{flex:1;overflow-y:auto}.left-column{margin:.5em 0 .5em .5em;padding-right:.5em;background-color:#fff}.right-column{background-color:#d9e2f3}.right-column h2{text-align:center;color:#000}.right-column img{display:block;margin:0 auto;max-width:100%;height:auto}@media (max-width:768px){.content-section{flex-direction:column}.left-column,.right-column{padding:10px}}.htmleditor{background-color:#fff;width:calc(100% - 26px);height:31em;border:1px solid #000;margin:7px;padding:5px;overflow:auto}.htmleditor table{border:1px solid #e0e0e0;border-collapse:collapse}.htmleditor td,.htmleditor th{border:1px solid #e0e0e0} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 3e5a139..a0859fa 100644 --- a/public/index.html +++ b/public/index.html @@ -1,17 +1 @@ - - - - - - - - <%= htmlWebpackPlugin.options.title %> - - - -
- - - +miriamgemeinde
\ No newline at end of file diff --git a/public/js/1099.7daf73ae.js b/public/js/1099.7daf73ae.js new file mode 100644 index 0000000..20e0e0c --- /dev/null +++ b/public/js/1099.7daf73ae.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[1099],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},5571:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=1099.7daf73ae.js.map \ No newline at end of file diff --git a/public/js/1099.7daf73ae.js.map b/public/js/1099.7daf73ae.js.map new file mode 100644 index 0000000..e02acde --- /dev/null +++ b/public/js/1099.7daf73ae.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/1099.7daf73ae.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADFvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAO5C,GACIvC,KAAM,WACNC,WAAY,CACRuC,iBAAgBA,EAAAA,GAEpB/B,SAAU,CACN8B,WAAAA,GACI,OAAOvB,KAAKyB,OAAOC,IACvB,I,UCZR,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/music/VocalEnsembleContent.vue","webpack://miriamgemeinde/./src/content/music/VocalEnsembleContent.vue?0b5c"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./VocalEnsembleContent.vue?vue&type=template&id=7dcbb3b4\"\nimport script from \"./VocalEnsembleContent.vue?vue&type=script&lang=js\"\nexport * from \"./VocalEnsembleContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/1258.4633540f.js b/public/js/1258.4633540f.js new file mode 100644 index 0000000..d6fb6f6 --- /dev/null +++ b/public/js/1258.4633540f.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[1258],{1258:function(e,i,a){a.r(i),a.d(i,{default:function(){return f}});var s=a(6768),t=a(5688);const o=e=>((0,s.Qi)("data-v-4256bbfa"),e=e(),(0,s.jt)(),e),r={class:"register"},n=o((()=>(0,s.Lk)("h2",null,"Registrieren",-1))),l=o((()=>(0,s.Lk)("label",{for:"name"},"Name:",-1))),d=o((()=>(0,s.Lk)("label",{for:"email"},"Email-Adresse:",-1))),m=o((()=>(0,s.Lk)("label",{for:"password"},"Passwort:",-1))),u=o((()=>(0,s.Lk)("button",{type:"submit"},"Registrieren",-1)));function g(e,i,a,o,g,p){const h=(0,s.g2)("router-link");return(0,s.uX)(),(0,s.CE)("div",r,[n,(0,s.Lk)("form",{onSubmit:i[3]||(i[3]=(0,t.D$)(((...e)=>p.register&&p.register(...e)),["prevent"]))},[l,(0,s.bo)((0,s.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":i[0]||(i[0]=e=>g.name=e),required:""},null,512),[[t.Jo,g.name]]),d,(0,s.bo)((0,s.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":i[1]||(i[1]=e=>g.email=e),required:""},null,512),[[t.Jo,g.email]]),m,(0,s.bo)((0,s.Lk)("input",{type:"password",id:"password","onUpdate:modelValue":i[2]||(i[2]=e=>g.password=e),required:""},null,512),[[t.Jo,g.password]]),u],32),(0,s.Lk)("p",null,[(0,s.bF)(h,{to:"/login"},{default:(0,s.k6)((()=>[(0,s.eW)("Login")])),_:1})]),(0,s.Lk)("p",null,[(0,s.bF)(h,{to:"/forgot-password"},{default:(0,s.k6)((()=>[(0,s.eW)("Passwort vergessen?")])),_:1})])])}var p={name:"RegisterComponent",components:{},data(){return{name:"",email:"",password:"",dialogTitle:"",dialogMessage:"",dialogVisible:!1}},methods:{async register(){try{const e=await fetch("/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:this.name,email:this.email,password:this.password})});if(e.ok)await e.json(),this.showDialog("Registrierung erfolgreich","Ihr Konto wurde erfolgreich erstellt.");else{const i=await e.json();this.showDialog("Fehler",i.message)}}catch(e){this.showDialog("Ein Fehler ist aufgetreten",e.message)}},showDialog(e,i){this.dialogTitle=e,this.dialogMessage=i,this.dialogVisible=!0}}},h=a(1241);const c=(0,h.A)(p,[["render",g],["__scopeId","data-v-4256bbfa"]]);var f=c}}]); +//# sourceMappingURL=1258.4633540f.js.map \ No newline at end of file diff --git a/public/js/1258.4633540f.js.map b/public/js/1258.4633540f.js.map new file mode 100644 index 0000000..7e219a6 --- /dev/null +++ b/public/js/1258.4633540f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/1258.4633540f.js","mappings":"gQACOA,MAAM,Y,UACTC,EAAAA,EAAAA,IAAqB,UAAjB,gBAAY,K,UAEdA,EAAAA,EAAAA,IAA+B,SAAxBC,IAAI,QAAO,SAAK,K,UAGvBD,EAAAA,EAAAA,IAAyC,SAAlCC,IAAI,SAAQ,kBAAc,K,UAGjCD,EAAAA,EAAAA,IAAuC,SAAhCC,IAAI,YAAW,aAAS,K,UAG/BD,EAAAA,EAAAA,IAA2C,UAAnCE,KAAK,UAAS,gBAAY,K,0EAZtCC,EAAAA,EAAAA,IAoBM,MApBNC,EAoBM,CAnBJC,GACAL,EAAAA,EAAAA,IAWO,QAXAM,SAAMC,EAAA,KAAAA,EAAA,IAHjBC,EAAAA,EAAAA,KAAA,IAAAC,IAG2BC,EAAAC,UAAAD,EAAAC,YAAAF,IAAQ,e,CAC7BG,GAA+B,SAC/BZ,EAAAA,EAAAA,IAAqD,SAA9CE,KAAK,OAAOW,GAAG,OAL5B,sBAAAN,EAAA,KAAAA,EAAA,GAAAO,GAK4CC,EAAAC,KAAIF,GAAEG,SAAA,I,iBAANF,EAAAC,QAEtCE,GAAyC,SACzClB,EAAAA,EAAAA,IAAwD,SAAjDE,KAAK,QAAQW,GAAG,QAR7B,sBAAAN,EAAA,KAAAA,EAAA,GAAAO,GAQ8CC,EAAAI,MAAKL,GAAEG,SAAA,I,iBAAPF,EAAAI,SAExCC,GAAuC,SACvCpB,EAAAA,EAAAA,IAAiE,SAA1DE,KAAK,WAAWW,GAAG,WAXhC,sBAAAN,EAAA,KAAAA,EAAA,GAAAO,GAWoDC,EAAAM,SAAQP,GAAEG,SAAA,I,iBAAVF,EAAAM,YAE9CC,GAA2C,KAE7CtB,EAAAA,EAAAA,IAEI,WADFuB,EAAAA,EAAAA,IAA4CC,EAAA,CAA/BC,GAAG,UAAQ,CAhB9BC,SAAAC,EAAAA,EAAAA,KAgB+B,IAAK,EAhBpCC,EAAAA,EAAAA,IAgB+B,YAhB/BC,EAAA,OAkBI7B,EAAAA,EAAAA,IAEI,WADFuB,EAAAA,EAAAA,IAAoEC,EAAA,CAAvDC,GAAG,oBAAkB,CAnBxCC,SAAAC,EAAAA,EAAAA,KAmByC,IAAmB,EAnB5DC,EAAAA,EAAAA,IAmByC,0BAnBzCC,EAAA,O,CA0BA,OACEb,KAAM,oBACNc,WAAY,CACZ,EACAC,IAAAA,GACE,MAAO,CACLf,KAAM,GACNG,MAAO,GACPE,SAAU,GACVW,YAAa,GACbC,cAAe,GACfC,eAAe,EAEnB,EACAC,QAAS,CACP,cAAMxB,GACJ,IACE,MAAMyB,QAAiBC,MAAM,YAAa,CACxCC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB1B,KAAM2B,KAAK3B,KACXG,MAAOwB,KAAKxB,MACZE,SAAUsB,KAAKtB,aAGnB,GAAIe,EAASQ,SACLR,EAASS,OACfF,KAAKG,WAAW,4BAA6B,6CACxC,CACL,MAAMC,QAAcX,EAASS,OAC7BF,KAAKG,WAAW,SAAUC,EAAMC,QAClC,CACF,CAAE,MAAOC,GACPN,KAAKG,WAAW,6BAA8BG,EAAID,QACpD,CACF,EACAF,UAAAA,CAAWI,EAAOF,GAChBL,KAAKX,YAAckB,EACnBP,KAAKV,cAAgBe,EACrBL,KAAKT,eAAgB,CACvB,I,UC9DJ,MAAMiB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/authentication/RegisterContent.vue","webpack://miriamgemeinde/./src/content/authentication/RegisterContent.vue?54da"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./RegisterContent.vue?vue&type=template&id=4256bbfa&scoped=true\"\nimport script from \"./RegisterContent.vue?vue&type=script&lang=js\"\nexport * from \"./RegisterContent.vue?vue&type=script&lang=js\"\n\nimport \"./RegisterContent.vue?vue&type=style&index=0&id=4256bbfa&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4256bbfa\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","_createElementBlock","_hoisted_1","_hoisted_2","onSubmit","_cache","_withModifiers","args","$options","register","_hoisted_3","id","$event","$data","name","required","_hoisted_4","email","_hoisted_5","password","_hoisted_6","_createVNode","_component_router_link","to","default","_withCtx","_createTextVNode","_","components","data","dialogTitle","dialogMessage","dialogVisible","methods","response","fetch","method","headers","body","JSON","stringify","this","ok","json","showDialog","error","message","err","title","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/1381.a7a867b9.js b/public/js/1381.a7a867b9.js new file mode 100644 index 0000000..c3cf90f --- /dev/null +++ b/public/js/1381.a7a867b9.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[1381],{1381:function(n,e,r){r.r(e),r.d(e,{default:function(){return m}});var u=r(6768);const i=(0,u.Lk)("h2",null,null,-1),t=[i];function a(n,e,r,i,a,c){return(0,u.uX)(),(0,u.CE)("div",null,t)}var c={name:"WorshipServicesContent"},l=r(1241);const s=(0,l.A)(c,[["render",a]]);var m=s}}]); +//# sourceMappingURL=1381.a7a867b9.js.map \ No newline at end of file diff --git a/public/js/1381.a7a867b9.js.map b/public/js/1381.a7a867b9.js.map new file mode 100644 index 0000000..a59a49f --- /dev/null +++ b/public/js/1381.a7a867b9.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/1381.a7a867b9.js","mappings":"gMAEMA,EAAAA,EAAAA,IAAS,mB,GAATC,G,0CADFC,EAAAA,EAAAA,IAEM,WAHVC,E,CAOE,OACEC,KAAM,0B,UCHV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/content/WorshipServicesContent.vue","webpack://miriamgemeinde/./src/content/WorshipServicesContent.vue?3bf1"],"sourcesContent":["\n \n \n ","import { render } from \"./WorshipServicesContent.vue?vue&type=template&id=0b763010\"\nimport script from \"./WorshipServicesContent.vue?vue&type=script&lang=js\"\nexport * from \"./WorshipServicesContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementVNode","_hoisted_1","_createElementBlock","_hoisted_2","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/1565.a370a7ae.js b/public/js/1565.a370a7ae.js new file mode 100644 index 0000000..048a7fc --- /dev/null +++ b/public/js/1565.a370a7ae.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[1565],{1565:function(e,n,i){i.r(n),i.d(n,{default:function(){return o}});var r=i(6768);const t={class:"privacy-policy"},a=(0,r.Fv)('

Datenschutzerklärung der Miriamgemeinde Frankfurt am Main

Die Miriamgemeinde Frankfurt am Main nimmt den Schutz Ihrer persönlichen Daten sehr ernst und behandelt Ihre personenbezogenen Daten vertraulich und entsprechend der kirchlichen Datenschutzgesetze sowie dieser Datenschutzerklärung. Die Sicherheit Ihrer Daten steht für uns an erster Stelle.

Anbieter:

Miriamgemeinde Frankfurt am Main, Gemeindebüro Bonames
Kirchhofsweg 5, 60437 Frankfurt, Tel.: 50 14 17, Fax: 50 93 0148,
Email: Ev.Kirche-Bonames@t-online.de
Inhaltlich Verantwortlicher gemäß § 6 MDStV: Sabine Mentrup

Die Nutzung der Webseite der Miriamgemeinde Frankfurt am Main ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder E-Mail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben. Die nachfolgende Erklärung gibt Ihnen einen Überblick darüber, wie dieser Schutz gewährleistet werden soll und welche Art von Daten zu welchem Zweck von Ihnen erhoben werden.

Die Miriamgemeinde Frankfurt am Main weist darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

Datenverarbeitung auf dieser Internetseite

Server-Log-Files

Im Allgemeinen ist es für die Nutzung der Internetseite Miriamgemeinde Frankfurt am Main nicht erforderlich, dass Sie personenbezogene Daten angeben. Um die Zugriffs-Statistik auf die Internetseite zu erheben, werden folgende Daten automatisch in Log-Files des Servers erhoben und 60 Tage lang gespeichert, die der Browser übermittelt. Diese sind:

Diese Daten sind nicht bestimmten Personen zuordenbar. Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen.

Verwendung von Cookies

Die Internetseiten der Miriamgemeinde Frankfurt am Main verwenden teilweise sogenannte Cookies. Cookies richten auf Ihrem Rechner keinen Schaden an und enthalten keine Viren. Cookies dienen dazu, unser Angebot nutzerfreundlicher, effektiver und sicherer zu machen. Cookies sind kleine Textdateien, die auf Ihrem Rechner abgelegt werden und die Ihr Browser speichert.

Die meisten der von uns verwendeten Cookies sind sogenannte „Session-Cookies“. Sie werden nach Ende Ihres Besuchs automatisch gelöscht. Andere Cookies bleiben auf Ihrem Endgerät gespeichert, bis Sie diese löschen. Diese Cookies ermöglichen es uns, Ihren Browser beim nächsten Besuch wiederzuerkennen.

Sie können Ihren Browser so einstellen, dass Sie über das Setzen von Cookies informiert werden und Cookies nur im Einzelfall erlauben, die Annahme von Cookies für bestimmte Fälle oder generell ausschließen sowie das automatische Löschen der Cookies beim Schließen des Browsers aktivieren. Bei der Deaktivierung von Cookies kann die Funktionalität dieser Website eingeschränkt sein.

Kommentarfunktion

Die Kommentarfunktion auf dieser Webseite ist aktuell nicht aktiviert. Bei aktivierter Kommentarfunktion gilt: Wenn Sie einen Kommentar auf unserer Website schreiben, kann das eine Einwilligung sein, Ihren Namen, E-Mail-Adresse und Website in Cookies zu speichern. Dies ist eine Komfortfunktion, damit Sie nicht, wenn Sie einen weiteren Kommentar schreiben, all diese Daten erneut eingeben müssen. Diese Cookies werden ein Jahr lang gespeichert.

Angemeldete Nutzer

Falls Sie ein Konto haben und sich auf dieser Website anmelden, werden wir ein temporäres Cookie setzen, um festzustellen, ob Ihr Browser Cookies akzeptiert. Dieses Cookie enthält keine personenbezogenen Daten und wird verworfen, wenn Sie den Browser schließen.

Wenn Sie sich anmelden, werden wir einige Cookies einrichten, um Ihre Anmeldeinformationen und Anzeigeoptionen zu speichern. Anmelde-Cookies verfallen nach zwei Tagen und Cookies für die Anzeigeoptionen nach einem Jahr. Falls Sie bei der Anmeldung „Angemeldet bleiben“ auswählen, wird Ihre Anmeldung zwei Wochen lang aufrechterhalten. Mit der Abmeldung aus Ihrem Konto werden die Anmelde-Cookies gelöscht.

Wenn Sie einen Artikel bearbeiten oder veröffentlichen, wird ein zusätzlicher Cookie in Ihrem Browser gespeichert. Dieser Cookie enthält keine personenbezogenen Daten und verweist nur auf die Beitrags-ID des Artikels, den Sie gerade bearbeitet haben. Der Cookie verfällt nach einem Tag.

Links zu Webseiten anderer Anbieter

Unser Online-Angebot enthält Links zu Webseiten anderer Anbieter. Wir haben keinen Einfluss darauf, dass diese Anbieter die Datenschutzbestimmungen einhalten.

Ihr Recht auf Auskunft, Löschung, Sperrung

Sie haben als Nutzer das Recht, Auskunft darüber zu verlangen, welche Daten über Sie bei uns gespeichert sind und zu welchem Zweck diese Speicherung erfolgt. Darüber hinaus können Sie unrichtige Daten berichtigen oder solche Daten löschen lassen, deren Speicherung unzulässig oder nicht mehr erforderlich ist. Sie haben die Rechte auf Datenübertragbarkeit, Einschränkung der Verarbeitung und Widerspruch. Außerdem haben Sie das Recht, sich bei der Aufsichtsbehörde über die stattfindende Datenverarbeitung zu beschweren. Zuständige Aufsichtsbehörde ist Der Beauftragte für den Datenschutz der EKD – Adresse siehe unten.

Sie erhalten jederzeit ohne Angabe von Gründen kostenfrei Auskunft über Ihre bei uns gespeicherten Daten. Sie können jederzeit Ihre bei uns erhobenen Daten sperren, berichtigen oder löschen lassen. Auch können Sie jederzeit die uns erteilte Einwilligung zur Datenerhebung und Verwendung ohne Angaben von Gründen widerrufen. Wenden Sie sich hierzu bitte an die auf dieser Seite angegebene Kontaktadresse des Datenschutzbeauftragten. Wir stehen Ihnen jederzeit gern für weitergehende Fragen zu unserem Hinweisen zum Datenschutz und zur Verarbeitung Ihrer persönlichen Daten zur Verfügung.

Der Datenschutzbeauftragte für den Datenschutz der Evangelischen Kirchen in Deutschland

Die Aufsicht über die Einhaltung der Vorschriften zum Datenschutz obliegt im kirchlichen Bereich dem Beauftragten für den Datenschutz der EKD. Für den Bereich der Evangelischen Kirche in Hessen und Nassau (EKHN) ist zuständig die Außenstelle Dortmund für die Datenschutzregion Mitte-West

Friedhof 4
44135 Dortmund
Tel: 0231 / 533827-0
Fax: 0231 / 533827-20
E-Mail: mitte-west@datenschutz.ekd.de

E-Mails / Formulare

Aus technischen oder betrieblichen Gründen kann der Empfang von E-Mail-Kommunikation gestört sein und / oder nicht rechtzeitig den Empfänger erreichen. Daher hat die Versendung von E-Mails an uns keine fristwahrende Wirkung und kann Fristen nicht rechtsverbindlich setzen. Wir empfehlen, zeitkritische oder eilige Nachrichten zusätzlich per Post, Kurier oder Telefax zu übersenden.

Falls Sie sicher sein wollen, dass Ihre E-Mail ordnungsgemäß empfangen worden ist, fordern Sie bitte von dem Empfänger eine schriftliche Empfangsbestätigung an. Wir unternehmen alle vernünftigerweise zu erwartenden Vorsichtsmaßnahmen, um das Risiko einer Übertragung von Computerviren zu verhindern. Wir sind jedoch nicht haftbar für Schäden, die durch Computerviren entstehen.

Bitte führen Sie selber Überprüfungen auf Computerviren durch, bevor Sie E-Mails lesen, insbesondere bevor Sie Anhänge zu E-Mails öffnen. Die Kommunikation per E-Mail ist unsicher, da grundsätzlich die Möglichkeit der Kenntnisnahme und Manipulation durch Dritte besteht. Wir empfehlen, keine vertraulichen Daten unverschlüsselt per E-Mail zu versenden.

Änderungen

Wir behalten uns vor, die Datenschutzerklärung zu ändern, um sie an geänderte Rechtslagen, oder bei Änderungen des Dienstes sowie der Datenverarbeitung anzupassen. Dies gilt jedoch nur im Hinblick auf Erklärungen zur Datenverarbeitung. Sofern Einwilligungen der Nutzer erforderlich sind oder Bestandteile der Datenschutzerklärung Regelungen des Vertragsverhältnisses mit den Nutzern enthalten, erfolgen die Änderungen nur mit Zustimmung der Nutzer.

Die Nutzer werden gebeten, sich regelmäßig über den Inhalt der Datenschutzerklärung zu informieren.

Stand: 24. Mai 2018

',37),s=[a];function d(e,n,i,a,d,h){return(0,r.uX)(),(0,r.CE)("div",t,s)}var h={name:"PrivacyPolicyComponent"},u=i(1241);const c=(0,u.A)(h,[["render",d],["__scopeId","data-v-0c3320ea"]]);var o=c}}]); +//# sourceMappingURL=1565.a370a7ae.js.map \ No newline at end of file diff --git a/public/js/1565.a370a7ae.js.map b/public/js/1565.a370a7ae.js.map new file mode 100644 index 0000000..80c6c33 --- /dev/null +++ b/public/js/1565.a370a7ae.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/1565.a370a7ae.js","mappings":"gMACSA,MAAM,kB,GADfC,EAAAA,EAAAA,IAAA,06S,GAEMC,G,0CADFC,EAAAA,EAAAA,IAkGM,MAlGNC,EADJC,E,CAuGE,OACEC,KAAM,0B,UCjGV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/disclaimers/PrivacyPolicyComponent.vue","webpack://miriamgemeinde/./src/content/disclaimers/PrivacyPolicyComponent.vue?f3b1"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./PrivacyPolicyComponent.vue?vue&type=template&id=0c3320ea&scoped=true\"\nimport script from \"./PrivacyPolicyComponent.vue?vue&type=script&lang=js\"\nexport * from \"./PrivacyPolicyComponent.vue?vue&type=script&lang=js\"\n\nimport \"./PrivacyPolicyComponent.vue?vue&type=style&index=0&id=0c3320ea&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0c3320ea\"]])\n\nexport default __exports__"],"names":["class","_createStaticVNode","_hoisted_2","_createElementBlock","_hoisted_1","_hoisted_39","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/1969.7278bd29.js b/public/js/1969.7278bd29.js new file mode 100644 index 0000000..511d694 --- /dev/null +++ b/public/js/1969.7278bd29.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[1969],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},1077:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=1969.7278bd29.js.map \ No newline at end of file diff --git a/public/js/1969.7278bd29.js.map b/public/js/1969.7278bd29.js.map new file mode 100644 index 0000000..7b8dbf9 --- /dev/null +++ b/public/js/1969.7278bd29.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/1969.7278bd29.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZN,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/MiriamsWunderkisteContent.vue","webpack://miriamgemeinde/./src/content/MiriamsWunderkisteContent.vue?2118"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n \n \n \n ","import { render } from \"./MiriamsWunderkisteContent.vue?vue&type=template&id=5ce87d49\"\nimport script from \"./MiriamsWunderkisteContent.vue?vue&type=script&lang=js\"\nexport * from \"./MiriamsWunderkisteContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/2070.a9bdda7e.js b/public/js/2070.a9bdda7e.js new file mode 100644 index 0000000..d3bc683 --- /dev/null +++ b/public/js/2070.a9bdda7e.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[2070],{2070:function(n,e,t){t.r(e),t.d(e,{default:function(){return o}});var u=t(6768);const i=(0,u.Lk)("h2",null,null,-1),r=[i];function a(n,e,t,i,a,l){return(0,u.uX)(),(0,u.CE)("div",null,r)}var l={name:"MeetingPointContent"},c=t(1241);const m=(0,c.A)(l,[["render",a]]);var o=m}}]); +//# sourceMappingURL=2070.a9bdda7e.js.map \ No newline at end of file diff --git a/public/js/2070.a9bdda7e.js.map b/public/js/2070.a9bdda7e.js.map new file mode 100644 index 0000000..b2f7246 --- /dev/null +++ b/public/js/2070.a9bdda7e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/2070.a9bdda7e.js","mappings":"gMAEMA,EAAAA,EAAAA,IAAS,mB,GAATC,G,0CADFC,EAAAA,EAAAA,IAEM,WAHVC,E,CAOE,OACEC,KAAM,uB,UCHV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/content/MeetingPointContent.vue","webpack://miriamgemeinde/./src/content/MeetingPointContent.vue?8b88"],"sourcesContent":["\n \n \n ","import { render } from \"./MeetingPointContent.vue?vue&type=template&id=611dfc4c\"\nimport script from \"./MeetingPointContent.vue?vue&type=script&lang=js\"\nexport * from \"./MeetingPointContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementVNode","_hoisted_1","_createElementBlock","_hoisted_2","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/2177.22663f37.js b/public/js/2177.22663f37.js new file mode 100644 index 0000000..e287d83 --- /dev/null +++ b/public/js/2177.22663f37.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[2177],{3909:function(e,t,n){n.r(t),n.d(t,{default:function(){return f}});var a=n(6768),s=n(5187);const i=e=>((0,a.Qi)("data-v-9a71cbf6"),e=e(),(0,a.jt)(),e),u=i((()=>(0,a.Lk)("div",{class:"previewinfo"},"Dies ist eine Vorschau.",-1)));function o(e,t,n,i,o,r){const c=(0,a.g2)("RenderContentComponent");return(0,a.uX)(),(0,a.CE)("div",null,[u,(0,a.Lk)("h1",null,(0,s.v_)(i.title),1),(0,a.bF)(c,{content:i.content},null,8,["content"])])}var r=n(782),c=n(891),l={name:"PagePreview",components:{RenderContentComponent:c.A},setup(){const e=(0,r.Pj)(),t=(0,a.EW)((()=>e.state.pageContent)),n=(0,a.EW)((()=>e.state.selectedPage)),s=(0,a.EW)((()=>e.state.menuData)),i=(0,a.EW)((()=>e.state.pageTitle)),u=t=>{const n=(e,t)=>{for(const a of e){if(a.link===t)return a.pageTitle||a.name;if(a.submenu&&a.submenu.length>0){const e=n(a.submenu,t);if(e)return e}}return""};e.dispatch("setPageTitle",n(s.value,t))};return(0,a.nT)((()=>{u(n.value)})),{content:t,title:i}}},m=n(1241);const d=(0,m.A)(l,[["render",o],["__scopeId","data-v-9a71cbf6"]]);var f=d}}]); +//# sourceMappingURL=2177.22663f37.js.map \ No newline at end of file diff --git a/public/js/2177.22663f37.js.map b/public/js/2177.22663f37.js.map new file mode 100644 index 0000000..73b4706 --- /dev/null +++ b/public/js/2177.22663f37.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/2177.22663f37.js","mappings":"uQAEIA,EAAAA,EAAAA,IAAsD,OAAjDC,MAAM,eAAc,2BAAuB,K,qFADlDC,EAAAA,EAAAA,IAIM,YAHJC,GACAH,EAAAA,EAAAA,IAAoB,WAAAI,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,uBAS7C,GACEC,KAAM,cACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,KAAAA,GACE,MAAMC,GAAQC,EAAAA,EAAAA,MACRN,GAAUO,EAAAA,EAAAA,KAAS,IAAMF,EAAMG,MAAMC,cACrCC,GAAeH,EAAAA,EAAAA,KAAS,IAAMF,EAAMG,MAAME,eAC1CC,GAAWJ,EAAAA,EAAAA,KAAS,IAAMF,EAAMG,MAAMG,WACtCd,GAAQU,EAAAA,EAAAA,KAAS,IAAMF,EAAMG,MAAMI,YAEnCC,EAAYC,IAChB,MAAMC,EAAYA,CAACC,EAAWF,KAC5B,IAAK,MAAMG,KAAQD,EAAW,CAC5B,GAAIC,EAAKH,OAASA,EAChB,OAAOG,EAAKL,WAAaK,EAAKhB,KAEhC,GAAIgB,EAAKC,SAAWD,EAAKC,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQL,EAAUE,EAAKC,QAASJ,GACtC,GAAIM,EACF,OAAOA,CAEX,CACF,CACA,MAAO,EAAE,EAEXf,EAAMgB,SAAS,eAAgBN,EAAUJ,EAASW,MAAOR,GAAM,EAOjE,OAJAS,EAAAA,EAAAA,KAAY,KACVV,EAASH,EAAaY,MAAM,IAGvB,CACLtB,UACAH,QAEJ,G,UC5CF,MAAM2B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/admin/PagePreviewComponent.vue","webpack://miriamgemeinde/./src/content/admin/PagePreviewComponent.vue?4023"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./PagePreviewComponent.vue?vue&type=template&id=9a71cbf6&scoped=true\"\nimport script from \"./PagePreviewComponent.vue?vue&type=script&lang=js\"\nexport * from \"./PagePreviewComponent.vue?vue&type=script&lang=js\"\n\nimport \"./PagePreviewComponent.vue?vue&type=style&index=0&id=9a71cbf6&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9a71cbf6\"]])\n\nexport default __exports__"],"names":["_createElementVNode","class","_createElementBlock","_hoisted_1","_toDisplayString","$setup","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","setup","store","useStore","computed","state","pageContent","selectedPage","menuData","pageTitle","setTitle","link","findTitle","menuItems","item","submenu","length","found","dispatch","value","watchEffect","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/2353.49689b39.js b/public/js/2353.49689b39.js new file mode 100644 index 0000000..cd61cd1 --- /dev/null +++ b/public/js/2353.49689b39.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[2353],{2353:function(e,l,a){a.r(l),a.d(l,{default:function(){return F}});var i=a(6768),t=a(5688),n=a(5187);const o=e=>((0,i.Qi)("data-v-f2694614"),e=e(),(0,i.jt)(),e),d={class:"upload-files"},r=o((()=>(0,i.Lk)("h2",null,"Dateien hochladen",-1))),s=o((()=>(0,i.Lk)("label",{for:"file-upload"},"Datei auswählen:",-1))),u=o((()=>(0,i.Lk)("label",{for:"file-title"},"Titel eingeben:",-1))),c={class:"file-list"},p={class:"file-info"},f=["onClick"],h=["onClick"],m={class:"file-date"};function k(e,l,a,o,k,v){return(0,i.uX)(),(0,i.CE)("div",d,[r,(0,i.Lk)("div",null,[s,(0,i.Lk)("input",{id:"file-upload",type:"file",onChange:l[0]||(l[0]=(...e)=>o.handleFileUpload&&o.handleFileUpload(...e))},null,32)]),(0,i.Lk)("div",null,[u,(0,i.bo)((0,i.Lk)("input",{id:"file-title",type:"text","onUpdate:modelValue":l[1]||(l[1]=e=>o.fileTitle=e)},null,512),[[t.Jo,o.fileTitle]])]),(0,i.Lk)("button",{onClick:l[2]||(l[2]=(...e)=>o.uploadFiles&&o.uploadFiles(...e))},"Hochladen"),(0,i.Lk)("ul",c,[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(o.uploadedFiles,(e=>((0,i.uX)(),(0,i.CE)("li",{key:e.id},[(0,i.Lk)("div",p,[(0,i.Lk)("span",{class:"file-title",onClick:l=>o.downloadFile(e)},(0,n.v_)(e.title),9,f),(0,i.Lk)("span",{class:"file-name",onClick:l=>o.downloadFile(e)},(0,n.v_)(e.originalName),9,h),(0,i.Lk)("span",m,(0,n.v_)(o.formatDate(e.createdAt)),1)])])))),128))])])}a(4114),a(4603),a(7566),a(8721);var v=a(1798),w=a(3173),L={name:"UploadFilesComponent",setup(){const e=(0,v.KR)(null),l=(0,v.KR)(""),a=(0,v.KR)([]),t=l=>{e.value=l.target.files[0]},n=async()=>{if(!e.value||!l.value)return void alert("Bitte wählen Sie eine Datei aus und geben Sie einen Titel ein.");const i=new FormData;i.append("file",e.value),i.append("title",l.value);try{const t=await w.A.post("/files",i,{headers:{"Content-Type":"multipart/form-data"}}),n=t.data;a.value.push({id:n.id,title:n.title,originalName:n.originalName,createdAt:n.createdAt,hash:n.hash}),e.value=null,l.value=""}catch(t){console.error("Fehler beim Hochladen der Datei:",t)}},o=async e=>{const l=e.originalName.substring(e.originalName.lastIndexOf(".")),a=await w.A.get(`/files/download/${e.hash}`,{responseType:"blob"}),i=new Blob([a.data],{type:a.data.type}),t=document.createElement("a");t.href=window.URL.createObjectURL(i),t.download=`${e.title}${l}`,t.click(),window.URL.revokeObjectURL(t.href)},d=e=>{const l={year:"numeric",month:"long",day:"numeric"};return new Date(e).toLocaleDateString(void 0,l)},r=async()=>{try{const e=await w.A.get("/files");a.value=e.data}catch(e){console.error("Fehler beim Abrufen der Dateien:",e)}};return(0,i.sV)(r),{fileToUpload:e,fileTitle:l,uploadedFiles:a,handleFileUpload:t,uploadFiles:n,downloadFile:o,formatDate:d}}},b=a(1241);const g=(0,b.A)(L,[["render",k],["__scopeId","data-v-f2694614"]]);var F=g}}]); +//# sourceMappingURL=2353.49689b39.js.map \ No newline at end of file diff --git a/public/js/2353.49689b39.js.map b/public/js/2353.49689b39.js.map new file mode 100644 index 0000000..01be1a8 --- /dev/null +++ b/public/js/2353.49689b39.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/2353.49689b39.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/UploadFileManagement.vue","webpack://miriamgemeinde/./src/content/admin/UploadFileManagement.vue?fcdc"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./UploadFileManagement.vue?vue&type=template&id=f2694614&scoped=true\"\nimport script from \"./UploadFileManagement.vue?vue&type=script&lang=js\"\nexport * from \"./UploadFileManagement.vue?vue&type=script&lang=js\"\n\nimport \"./UploadFileManagement.vue?vue&type=style&index=0&id=f2694614&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f2694614\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","id","type","onChange","_cache","args","$setup","handleFileUpload","_hoisted_4","$event","fileTitle","onClick","uploadFiles","_hoisted_5","_Fragment","_renderList","uploadedFiles","file","key","_hoisted_6","downloadFile","title","_hoisted_7","originalName","_hoisted_8","_hoisted_9","_toDisplayString","formatDate","createdAt","name","setup","fileToUpload","ref","event","value","target","files","async","alert","formData","FormData","append","response","axios","post","headers","uploadedData","data","push","hash","error","console","fileExtension","substring","lastIndexOf","get","responseType","blob","Blob","link","document","createElement","href","window","URL","createObjectURL","download","click","revokeObjectURL","dateString","options","year","month","day","Date","toLocaleDateString","undefined","fetchUploadedFiles","onMounted","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/2452.b6b34976.js b/public/js/2452.b6b34976.js new file mode 100644 index 0000000..5541458 --- /dev/null +++ b/public/js/2452.b6b34976.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[2452],{2452:function(n,e,t){t.r(e),t.d(e,{default:function(){return m}});var u=t(6768);const r=(0,u.Lk)("h2",null,null,-1),i=[r];function a(n,e,t,r,a,c){return(0,u.uX)(),(0,u.CE)("div",null,i)}var c={name:"ContactsContent"},l=t(1241);const s=(0,l.A)(c,[["render",a]]);var m=s}}]); +//# sourceMappingURL=2452.b6b34976.js.map \ No newline at end of file diff --git a/public/js/2452.b6b34976.js.map b/public/js/2452.b6b34976.js.map new file mode 100644 index 0000000..5ee6488 --- /dev/null +++ b/public/js/2452.b6b34976.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/2452.b6b34976.js","mappings":"gMAEMA,EAAAA,EAAAA,IAAS,mB,GAATC,G,0CADFC,EAAAA,EAAAA,IAEM,WAHVC,E,CAOE,OACEC,KAAM,mB,UCHV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/content/ContactsContent.vue","webpack://miriamgemeinde/./src/content/ContactsContent.vue?f269"],"sourcesContent":["\n \n \n ","import { render } from \"./ContactsContent.vue?vue&type=template&id=87c5f460\"\nimport script from \"./ContactsContent.vue?vue&type=script&lang=js\"\nexport * from \"./ContactsContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementVNode","_hoisted_1","_createElementBlock","_hoisted_2","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/2463.23ea5dc5.js b/public/js/2463.23ea5dc5.js new file mode 100644 index 0000000..3cd3c9f --- /dev/null +++ b/public/js/2463.23ea5dc5.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[2463],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},967:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=2463.23ea5dc5.js.map \ No newline at end of file diff --git a/public/js/2463.23ea5dc5.js.map b/public/js/2463.23ea5dc5.js.map new file mode 100644 index 0000000..4014365 --- /dev/null +++ b/public/js/2463.23ea5dc5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/2463.23ea5dc5.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,0FCNOC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZJ,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/HomeContent.vue","webpack://miriamgemeinde/./src/content/HomeContent.vue?5fbf"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./HomeContent.vue?vue&type=template&id=9327cbca\"\nimport script from \"./HomeContent.vue?vue&type=script&lang=js\"\nexport * from \"./HomeContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/2607.e94b0cf6.js b/public/js/2607.e94b0cf6.js new file mode 100644 index 0000000..0bbf0e1 --- /dev/null +++ b/public/js/2607.e94b0cf6.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[2607],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},919:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=2607.e94b0cf6.js.map \ No newline at end of file diff --git a/public/js/2607.e94b0cf6.js.map b/public/js/2607.e94b0cf6.js.map new file mode 100644 index 0000000..6716d87 --- /dev/null +++ b/public/js/2607.e94b0cf6.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/2607.e94b0cf6.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,0FCNOC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZJ,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/worship/AmBuegelContent.vue","webpack://miriamgemeinde/./src/content/worship/AmBuegelContent.vue?ec13"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./AmBuegelContent.vue?vue&type=template&id=3213c98e\"\nimport script from \"./AmBuegelContent.vue?vue&type=script&lang=js\"\nexport * from \"./AmBuegelContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/2809.a612bbeb.js b/public/js/2809.a612bbeb.js new file mode 100644 index 0000000..ec5c265 --- /dev/null +++ b/public/js/2809.a612bbeb.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[2809],{2809:function(e,t,a){a.r(t),a.d(t,{default:function(){return d}});var n=a(6768);const u={class:"right-column"},r=["src"];function m(e,t,a,m,i,s){return(0,n.uX)(),(0,n.CE)("div",u,[(0,n.Lk)("img",{src:i.currentImage,alt:"Cross"},null,8,r)])}var i=a(782),s={name:"ImageContent",data(){return{defaultImage:"/images/homepage1.png",currentImage:"/images/homepage1.png"}},computed:{...(0,i.aH)(["menuData"])},watch:{$route:{immediate:!0,handler(){this.updateImage()}}},methods:{updateImage(){const e=this.$route.path,t=this.menuData,a=this.findMenuItemByPath(t,e);a&&a.image?this.currentImage=`/images/${a.image}`:this.currentImage=this.defaultImage},findMenuItemByPath(e,t){for(let a of e){if(a.link===t)return a;if(a.submenu){const e=this.findMenuItemByPath(a.submenu,t);if(e)return e}}return null}}},c=a(1241);const g=(0,c.A)(s,[["render",m],["__scopeId","data-v-12df4c86"]]);var d=g}}]); +//# sourceMappingURL=2809.a612bbeb.js.map \ No newline at end of file diff --git a/public/js/2809.a612bbeb.js.map b/public/js/2809.a612bbeb.js.map new file mode 100644 index 0000000..3956bf7 --- /dev/null +++ b/public/js/2809.a612bbeb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/2809.a612bbeb.js","mappings":"gMACOA,MAAM,gB,EADb,Q,0CACEC,EAAAA,EAAAA,IAEM,MAFNC,EAEM,EADJC,EAAAA,EAAAA,IAAuC,OAAjCC,IAAKC,EAAAC,aAAcC,IAAI,S,OAFjCC,I,cASA,GACEC,KAAM,eACNC,IAAAA,GACE,MAAO,CACLC,aAAc,wBACdL,aAAc,wBAElB,EACAM,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,cAEfC,MAAO,CACLC,OAAQ,CACNC,WAAW,EACXC,OAAAA,GACEC,KAAKC,aACP,IAGJC,QAAS,CACPD,WAAAA,GACE,MAAME,EAAYH,KAAKH,OAAOO,KACxBC,EAAWL,KAAKK,SAChBC,EAAWN,KAAKO,mBAAmBF,EAAUF,GAC/CG,GAAYA,EAASE,MACvBR,KAAKZ,aAAe,WAAWkB,EAASE,QAExCR,KAAKZ,aAAeY,KAAKP,YAE7B,EACAc,kBAAAA,CAAmBE,EAAML,GACvB,IAAK,IAAIM,KAAQD,EAAM,CACrB,GAAIC,EAAKC,OAASP,EAChB,OAAOM,EAET,GAAIA,EAAKE,QAAS,CAChB,MAAMC,EAAUb,KAAKO,mBAAmBG,EAAKE,QAASR,GACtD,GAAIS,EACF,OAAOA,CAEX,CACF,CACA,OAAO,IACT,I,UC7CJ,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/ImageContent.vue","webpack://miriamgemeinde/./src/content/ImageContent.vue?ee30"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./ImageContent.vue?vue&type=template&id=12df4c86&scoped=true\"\nimport script from \"./ImageContent.vue?vue&type=script&lang=js\"\nexport * from \"./ImageContent.vue?vue&type=script&lang=js\"\n\nimport \"./ImageContent.vue?vue&type=style&index=0&id=12df4c86&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-12df4c86\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_createElementVNode","src","$data","currentImage","alt","_hoisted_2","name","data","defaultImage","computed","mapState","watch","$route","immediate","handler","this","updateImage","methods","routePath","path","menuData","menuItem","findMenuItemByPath","image","menu","item","link","submenu","subItem","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/3214.c5de0b44.js b/public/js/3214.c5de0b44.js new file mode 100644 index 0000000..3cc0bc2 --- /dev/null +++ b/public/js/3214.c5de0b44.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[3214],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},9516:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=3214.c5de0b44.js.map \ No newline at end of file diff --git a/public/js/3214.c5de0b44.js.map b/public/js/3214.c5de0b44.js.map new file mode 100644 index 0000000..d5a6c3b --- /dev/null +++ b/public/js/3214.c5de0b44.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/3214.c5de0b44.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNOC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZJ,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/worship/BonamesContent.vue","webpack://miriamgemeinde/./src/content/worship/BonamesContent.vue?d4df"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./BonamesContent.vue?vue&type=template&id=303b4074\"\nimport script from \"./BonamesContent.vue?vue&type=script&lang=js\"\nexport * from \"./BonamesContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/3299.8406bc29.js b/public/js/3299.8406bc29.js new file mode 100644 index 0000000..077587a --- /dev/null +++ b/public/js/3299.8406bc29.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[3299],{3299:function(e,n,t){t.r(n),t.d(n,{default:function(){return J}});var u=t(6768),l=t(5187),a=t(5688);const o=e=>((0,u.Qi)("data-v-0e6a0522"),e=e(),(0,u.jt)(),e),i={class:"menu-management"},d=o((()=>(0,u.Lk)("h1",null,"Menüverwaltung",-1))),r={class:"button-container"},s={key:0,class:"edit-form"},c=o((()=>(0,u.Lk)("label",{for:"name"},"Name",-1))),m=o((()=>(0,u.Lk)("label",{for:"link"},"Link",-1))),p=o((()=>(0,u.Lk)("label",{for:"page-title"},"Seitenname",-1))),k=o((()=>(0,u.Lk)("label",{for:"order-id"},"Order ID",-1))),b={class:"checkbox-container"},M=o((()=>(0,u.Lk)("label",{for:"parent-id"},"Elternelement",-1))),h=o((()=>(0,u.Lk)("option",{value:"-1"},"Ohne Elternelement",-1))),v=["value"],L=["innerHTML"],I=o((()=>(0,u.Lk)("label",{for:"component"},"Vue-Komponente",-1))),g=o((()=>(0,u.Lk)("button",{type:"submit"},"Speichern",-1))),f={class:"tree-view"},C={class:"menu-item"},_=["onClick"],D={class:"action-buttons"},E=["onClick"],y=["onClick"],S={key:0},w={class:"menu-item"},V=["onClick"],A={class:"action-buttons"},U=["onClick"],X=["onClick"];function F(e,n,t,o,F,K){return(0,u.uX)(),(0,u.CE)("div",i,[d,(0,u.Lk)("div",r,[(0,u.Lk)("button",{onClick:n[0]||(n[0]=(...e)=>o.addMenuItem&&o.addMenuItem(...e))},"Hauptmenü hinzufügen"),(0,u.Lk)("button",{onClick:n[1]||(n[1]=(...e)=>o.saveMenuData&&o.saveMenuData(...e))},"Speichern")]),o.selectedMenuItem?((0,u.uX)(),(0,u.CE)("div",s,[(0,u.Lk)("h2",null,(0,l.v_)(o.isEditMode?"Menüpunkt bearbeiten":"Menüpunkt erstellen"),1),(0,u.Lk)("form",{onSubmit:n[11]||(n[11]=(0,a.D$)(((...e)=>o.saveMenuData&&o.saveMenuData(...e)),["prevent"]))},[c,(0,u.bo)((0,u.Lk)("input",{id:"name","onUpdate:modelValue":n[2]||(n[2]=e=>o.selectedMenuItem.name=e),placeholder:"Name"},null,512),[[a.Jo,o.selectedMenuItem.name]]),m,(0,u.bo)((0,u.Lk)("input",{id:"link","onUpdate:modelValue":n[3]||(n[3]=e=>o.selectedMenuItem.link=e),placeholder:"Link"},null,512),[[a.Jo,o.selectedMenuItem.link]]),p,(0,u.bo)((0,u.Lk)("input",{id:"page-title","onUpdate:modelValue":n[4]||(n[4]=e=>o.selectedMenuItem.pageTitle=e),placeholder:"Seitenname"},null,512),[[a.Jo,o.selectedMenuItem.pageTitle]]),k,(0,u.bo)((0,u.Lk)("input",{id:"order-id","onUpdate:modelValue":n[5]||(n[5]=e=>o.selectedMenuItem.order_id=e),placeholder:"Order ID",type:"number",class:"order-id"},null,512),[[a.Jo,o.selectedMenuItem.order_id,void 0,{number:!0}]]),(0,u.Lk)("div",b,[(0,u.Lk)("label",null,[(0,u.bo)((0,u.Lk)("input",{type:"checkbox","onUpdate:modelValue":n[6]||(n[6]=e=>o.selectedMenuItem.showInMenu=e)},null,512),[[a.lH,o.selectedMenuItem.showInMenu]]),(0,u.eW)(" Im Menü anzeigen ")]),(0,u.Lk)("label",null,[(0,u.bo)((0,u.Lk)("input",{type:"checkbox","onUpdate:modelValue":n[7]||(n[7]=e=>o.selectedMenuItem.requiresAuth=e)},null,512),[[a.lH,o.selectedMenuItem.requiresAuth]]),(0,u.eW)(" Authentifizierung erforderlich ")])]),M,(0,u.bo)((0,u.Lk)("select",{id:"parent-id","onUpdate:modelValue":n[8]||(n[8]=e=>o.selectedMenuItem.parent_id=e)},[h,((0,u.uX)(!0),(0,u.CE)(u.FK,null,(0,u.pI)(o.flattenedMenuData,(e=>((0,u.uX)(),(0,u.CE)("option",{key:e.id,value:e.id},[(0,u.Lk)("span",{innerHTML:o.getIndentedName(e)},null,8,L)],8,v)))),128))],512),[[a.u1,o.selectedMenuItem.parent_id,void 0,{number:!0}]]),I,(0,u.bo)((0,u.Lk)("input",{id:"component","onUpdate:modelValue":n[9]||(n[9]=e=>o.selectedMenuItem.component=e),placeholder:"Vue-Komponente"},null,512),[[a.Jo,o.selectedMenuItem.component]]),(0,u.Lk)("button",{type:"button",onClick:n[10]||(n[10]=(...e)=>o.resetForm&&o.resetForm(...e))},"Neuen Menüpunkt erstellen"),g],32)])):(0,u.Q3)("",!0),(0,u.Lk)("div",f,[(0,u.Lk)("ul",null,[((0,u.uX)(!0),(0,u.CE)(u.FK,null,(0,u.pI)(o.sortedMenuData,(e=>((0,u.uX)(),(0,u.CE)("li",{key:e.id},[(0,u.Lk)("div",C,[(0,u.Lk)("span",{onClick:n=>o.selectMenuItem(e)},(0,l.v_)(e.name)+" (ID: "+(0,l.v_)(e.order_id)+") ",9,_),(0,u.Lk)("div",D,[(0,u.Lk)("button",{onClick:n=>o.addSubmenu(e),class:"action-button"},"Untermenü hinzufügen",8,E),(0,u.Lk)("button",{onClick:n=>o.removeMenuItem(e),class:"action-button"},"Löschen",8,y)])]),e.submenu.length?((0,u.uX)(),(0,u.CE)("ul",S,[((0,u.uX)(!0),(0,u.CE)(u.FK,null,(0,u.pI)(o.sortedSubmenu(e),(n=>((0,u.uX)(),(0,u.CE)("li",{key:n.id},[(0,u.Lk)("div",w,[(0,u.Lk)("span",{onClick:e=>o.selectMenuItem(n)},(0,l.v_)(n.name)+" (ID: "+(0,l.v_)(n.order_id)+") ",9,V),(0,u.Lk)("div",A,[(0,u.Lk)("button",{onClick:e=>o.addSubmenu(n),class:"action-button"},"Untermenü hinzufügen",8,U),(0,u.Lk)("button",{onClick:t=>o.removeSubmenu(e,n),class:"action-button"},"Löschen",8,X)])])])))),128))])):(0,u.Q3)("",!0)])))),128))])])])}t(4114);var K=t(1798),T=t(3173),q=t(782),x={name:"MenuManagement",setup(){const e=(0,q.Pj)(),n=(0,K.KR)([]),t=(0,K.KR)(null),l=(0,K.KR)(!1),a=async()=>{try{const e=await T.A.get("/menu-data");n.value=e.data}catch(e){console.error("Fehler beim Abrufen der Menü-Daten:",e)}},o=async()=>{try{const e=i(n.value);await T.A.post("/menu-data",e),alert("Menü-Daten erfolgreich gespeichert")}catch(e){console.error("Fehler beim Speichern der Menü-Daten:",e)}},i=e=>e.reduce(((e,n)=>{const t={...n,page_title:n.pageTitle,show_in_menu:n.showInMenu,requires_auth:n.requiresAuth},{submenu:u,...l}=t;return e.push(l),u&&u.length&&e.push(...i(u,t.id)),e}),[]),d=(e,n=0)=>e.reduce(((e,t)=>(e.push({...t,indent:n}),t.submenu&&t.submenu.length&&e.push(...d(t.submenu,t.id,n+1)),console.log,e)),[]),r=()=>{const e={name:"",link:"",component:"",pageTitle:"",showInMenu:!0,requiresAuth:!1,order_id:0,submenu:[],parent_id:0};n.value.push(e),p(e),l.value=!1},s=e=>{const n={name:"",link:"",component:"",pageTitle:"",showInMenu:!0,requiresAuth:!1,order_id:0};e.submenu.push(n),p(n),l.value=!1},c=e=>{const u=n.value.indexOf(e);u>-1&&n.value.splice(u,1),t.value=null},m=(e,n)=>{const u=e.submenu.indexOf(n);u>-1&&e.submenu.splice(u,1),t.value=null},p=e=>{t.value=e,l.value=!0},k=()=>{t.value=null,l.value=!1},b=(0,u.EW)((()=>[...n.value].sort(((e,n)=>e.order_id-n.order_id)))),M=e=>e.submenu.slice().sort(((e,n)=>e.order_id-n.order_id)),h=e=>" ".repeat(2*e.indent)+e.name,v=(0,u.EW)((()=>{const n=d(e.state.menuData);return console.log(n),n}));return(0,u.sV)((()=>{a()})),{menuData:n,sortedMenuData:b,sortedSubmenu:M,selectedMenuItem:t,fetchMenuData:a,saveMenuData:o,addMenuItem:r,addSubmenu:s,removeMenuItem:c,removeSubmenu:m,selectMenuItem:p,getIndentedName:h,isEditMode:l,resetForm:k,flattenedMenuData:v}}},z=t(1241);const H=(0,z.A)(x,[["render",F],["__scopeId","data-v-0e6a0522"]]);var J=H}}]); +//# sourceMappingURL=3299.8406bc29.js.map \ No newline at end of file diff --git a/public/js/3299.8406bc29.js.map b/public/js/3299.8406bc29.js.map new file mode 100644 index 0000000..0459500 --- /dev/null +++ b/public/js/3299.8406bc29.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/3299.8406bc29.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/MenuManagement.vue","webpack://miriamgemeinde/./src/content/admin/MenuManagement.vue?a878"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./MenuManagement.vue?vue&type=template&id=0e6a0522&scoped=true\"\nimport script from \"./MenuManagement.vue?vue&type=script&lang=js\"\nexport * from \"./MenuManagement.vue?vue&type=script&lang=js\"\n\nimport \"./MenuManagement.vue?vue&type=style&index=0&id=0e6a0522&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0e6a0522\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","key","for","value","type","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","onClick","_cache","args","$setup","addMenuItem","saveMenuData","selectedMenuItem","_hoisted_4","_toDisplayString","isEditMode","onSubmit","_withModifiers","_hoisted_5","id","$event","name","placeholder","_hoisted_6","link","_hoisted_7","pageTitle","_hoisted_8","order_id","number","_hoisted_9","showInMenu","_createTextVNode","requiresAuth","_hoisted_10","parent_id","_hoisted_11","_Fragment","_renderList","flattenedMenuData","item","innerHTML","getIndentedName","_hoisted_13","_hoisted_12","_hoisted_14","component","resetForm","_hoisted_15","_createCommentVNode","_hoisted_16","sortedMenuData","menuItem","_hoisted_17","selectMenuItem","_hoisted_18","_hoisted_19","addSubmenu","_hoisted_20","removeMenuItem","_hoisted_21","submenu","length","_hoisted_22","sortedSubmenu","submenuItem","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","removeSubmenu","_hoisted_27","setup","store","useStore","menuData","ref","fetchMenuData","async","response","axios","get","data","error","console","flatMenuData","flattenMenuData","post","alert","reduce","acc","newItem","page_title","show_in_menu","requires_auth","rest","push","flattenMenuStructure","menuItems","indent","log","newSubItem","index","indexOf","splice","computed","sort","a","b","slice","repeat","menuStruct","state","onMounted","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/3353.e33f7cc7.js b/public/js/3353.e33f7cc7.js new file mode 100644 index 0000000..a9b564c --- /dev/null +++ b/public/js/3353.e33f7cc7.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[3353],{3353:function(t,i,e){e.r(i),e.d(i,{default:function(){return w}});var n=e(6768),o=e(5688),s=e(5187);const l=t=>((0,n.Qi)("data-v-1684a375"),t=t(),(0,n.jt)(),t),a={class:"position-management"},d=l((()=>(0,n.Lk)("h2",null,"Verwalten der Rollen",-1))),u=l((()=>(0,n.Lk)("label",{for:"caption"},"Rollenbezeichnung:",-1))),c=l((()=>(0,n.Lk)("button",{type:"submit"},"Speichern",-1))),h=l((()=>(0,n.Lk)("thead",null,[(0,n.Lk)("tr",null,[(0,n.Lk)("th",null,"Rollenbezeichnung"),(0,n.Lk)("th",null,"Bearbeiten"),(0,n.Lk)("th",null,"Löschen")])],-1))),r=["onClick"],p=["onClick"];function k(t,i,e,l,k,P){return(0,n.uX)(),(0,n.CE)("div",a,[d,(0,n.Lk)("form",{onSubmit:i[2]||(i[2]=(0,o.D$)(((...t)=>P.addPosition&&P.addPosition(...t)),["prevent"]))},[u,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"caption","onUpdate:modelValue":i[0]||(i[0]=t=>k.newPosition.caption=t),placeholder:"Rollenbezeichnung",required:""},null,512),[[o.Jo,k.newPosition.caption]]),c,k.editMode?((0,n.uX)(),(0,n.CE)("button",{key:0,type:"button",onClick:i[1]||(i[1]=(...t)=>P.resetForm&&P.resetForm(...t))},"Neue Rolle erstellen")):(0,n.Q3)("",!0)],32),(0,n.Lk)("table",null,[h,(0,n.Lk)("tbody",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(k.positions,(t=>((0,n.uX)(),(0,n.CE)("tr",{key:t.id},[(0,n.Lk)("td",null,(0,s.v_)(t.caption),1),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:i=>P.editPosition(t)},"Bearbeiten",8,r)]),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:i=>P.deletePosition(t.id)},"Löschen",8,p)])])))),128))])])])}e(4114);var P=e(4373),L={data(){return{positions:[],newPosition:{caption:""},editMode:!1,editId:null}},methods:{async fetchPositions(){const t=await P.A.get("/positions");this.positions=t.data},async addPosition(){if(this.editMode)await P.A.put(`/positions/${this.editId}`,this.newPosition);else{const t=await P.A.post("/positions",this.newPosition);this.positions.push(t.data)}this.resetForm(),await this.fetchPositions()},async updatePosition(t){await P.A.put(`/positions/${t.id}`,t),this.fetchPositions()},async deletePosition(t){await P.A.delete(`/positions/${t}`),this.fetchPositions()},editPosition(t){this.newPosition={...t},this.editMode=!0,this.editId=t.id},resetForm(){this.newPosition={caption:""},this.editMode=!1,this.editId=null}},created(){this.fetchPositions()}},b=e(1241);const m=(0,b.A)(L,[["render",k],["__scopeId","data-v-1684a375"]]);var w=m}}]); +//# sourceMappingURL=3353.e33f7cc7.js.map \ No newline at end of file diff --git a/public/js/3353.e33f7cc7.js.map b/public/js/3353.e33f7cc7.js.map new file mode 100644 index 0000000..00e0377 --- /dev/null +++ b/public/js/3353.e33f7cc7.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/3353.e33f7cc7.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/PositionManagement.vue","webpack://miriamgemeinde/./src/content/admin/PositionManagement.vue?7adc"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./PositionManagement.vue?vue&type=template&id=1684a375&scoped=true\"\nimport script from \"./PositionManagement.vue?vue&type=script&lang=js\"\nexport * from \"./PositionManagement.vue?vue&type=script&lang=js\"\n\nimport \"./PositionManagement.vue?vue&type=style&index=0&id=1684a375&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1684a375\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","_createElementBlock","_hoisted_1","_hoisted_2","onSubmit","_cache","_withModifiers","args","$options","addPosition","_hoisted_3","id","$event","$data","newPosition","caption","placeholder","required","_hoisted_4","editMode","key","onClick","resetForm","_createCommentVNode","_hoisted_5","_Fragment","_renderList","positions","position","_toDisplayString","editPosition","_hoisted_6","deletePosition","_hoisted_7","data","editId","methods","fetchPositions","response","axios","get","this","put","post","push","updatePosition","delete","created","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/3459.360d8c09.js b/public/js/3459.360d8c09.js new file mode 100644 index 0000000..0e07538 --- /dev/null +++ b/public/js/3459.360d8c09.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[3459],{8899:function(e,t,i){function a(e){const[t,i]=e.split(":");return`${t}:${i}`}function n(e){const t={year:"numeric",month:"2-digit",day:"2-digit"};return new Date(e).toLocaleDateString("de-DE",t)}function o(e){const t=new Date(e),i=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${i}:${a}`}i.d(t,{Yq:function(){return n},fU:function(){return a},ry:function(){return o}})},3459:function(e,t,i){i.r(t),i.d(t,{default:function(){return C}});var a=i(6768),n=i(5688),o=i(5187);const l=e=>((0,a.Qi)("data-v-701c5bc9"),e=e(),(0,a.jt)(),e),r={class:"worship-management"},s=l((()=>(0,a.Lk)("h2",null,"Gottesdienst Verwaltung",-1))),d=l((()=>(0,a.Lk)("label",{for:"eventPlaceId"},"Veranstaltungsort:",-1))),h=l((()=>(0,a.Lk)("label",{for:"date"},"Datum:",-1))),c=l((()=>(0,a.Lk)("label",{for:"dayName"},"Name des Tags:",-1))),u=l((()=>(0,a.Lk)("label",{for:"time"},"Uhrzeit:",-1))),p=l((()=>(0,a.Lk)("label",{for:"title"},"Titel:",-1))),m=l((()=>(0,a.Lk)("label",{for:"organizer"},"Gestalter:",-1))),b=l((()=>(0,a.Lk)("label",{for:"collection"},"Kollekte:",-1))),f=l((()=>(0,a.Lk)("label",{for:"address"},"Adresse:",-1))),w=l((()=>(0,a.Lk)("label",{for:"selfInformation"},"Selbstinformation:",-1))),k=l((()=>(0,a.Lk)("label",{for:"highlightTime"},"Uhrzeit hervorheben:",-1))),g=l((()=>(0,a.Lk)("label",{for:"neighborInvitation"},"Einladung zum Nachbarschaftsraum:",-1))),v=l((()=>(0,a.Lk)("label",{for:"introLine"},"Einleitungszeile:",-1))),L=l((()=>(0,a.Lk)("button",{type:"submit"},"Speichern",-1))),D=["onClick"],y=["onClick"],I={class:"tooltip"};function P(e,t,i,l,P,V){const E=(0,a.g2)("multiselect");return(0,a.uX)(),(0,a.CE)("div",r,[s,(0,a.Lk)("form",{onSubmit:t[13]||(t[13]=(0,n.D$)(((...e)=>V.saveWorship&&V.saveWorship(...e)),["prevent"]))},[d,(0,a.bF)(E,{modelValue:P.selectedEventPlace,"onUpdate:modelValue":t[0]||(t[0]=e=>P.selectedEventPlace=e),options:P.eventPlaces,label:"name","track-by":"id",placeholder:"Veranstaltungsort wählen"},null,8,["modelValue","options"]),h,(0,a.bo)((0,a.Lk)("input",{type:"date",id:"date","onUpdate:modelValue":t[1]||(t[1]=e=>P.worshipData.date=e),required:""},null,512),[[n.Jo,P.worshipData.date]]),c,(0,a.bo)((0,a.Lk)("input",{type:"text",id:"dayName","onUpdate:modelValue":t[2]||(t[2]=e=>P.worshipData.dayName=e),required:""},null,512),[[n.Jo,P.worshipData.dayName]]),u,(0,a.bo)((0,a.Lk)("input",{type:"time",id:"time","onUpdate:modelValue":t[3]||(t[3]=e=>P.worshipData.time=e),required:""},null,512),[[n.Jo,P.worshipData.time]]),p,(0,a.bo)((0,a.Lk)("input",{type:"text",id:"title","onUpdate:modelValue":t[4]||(t[4]=e=>P.worshipData.title=e),required:""},null,512),[[n.Jo,P.worshipData.title]]),m,(0,a.bo)((0,a.Lk)("input",{type:"text",id:"organizer","onUpdate:modelValue":t[5]||(t[5]=e=>P.worshipData.organizer=e)},null,512),[[n.Jo,P.worshipData.organizer]]),b,(0,a.bo)((0,a.Lk)("input",{type:"text",id:"collection","onUpdate:modelValue":t[6]||(t[6]=e=>P.worshipData.collection=e)},null,512),[[n.Jo,P.worshipData.collection]]),f,(0,a.bo)((0,a.Lk)("input",{type:"text",id:"address","onUpdate:modelValue":t[7]||(t[7]=e=>P.worshipData.address=e)},null,512),[[n.Jo,P.worshipData.address]]),w,(0,a.bo)((0,a.Lk)("input",{type:"checkbox",id:"selfInformation","onUpdate:modelValue":t[8]||(t[8]=e=>P.worshipData.selfInformation=e)},null,512),[[n.lH,P.worshipData.selfInformation]]),k,(0,a.bo)((0,a.Lk)("input",{type:"checkbox",id:"highlightTime","onUpdate:modelValue":t[9]||(t[9]=e=>P.worshipData.highlightTime=e)},null,512),[[n.lH,P.worshipData.highlightTime]]),g,(0,a.bo)((0,a.Lk)("input",{type:"checkbox",id:"neighborInvitation","onUpdate:modelValue":t[10]||(t[10]=e=>P.worshipData.neighborInvitation=e)},null,512),[[n.lH,P.worshipData.neighborInvitation]]),v,(0,a.bo)((0,a.Lk)("input",{type:"text",id:"introLine","onUpdate:modelValue":t[11]||(t[11]=e=>P.worshipData.introLine=e)},null,512),[[n.Jo,P.worshipData.introLine]]),L,(0,a.Lk)("button",{type:"button",onClick:t[12]||(t[12]=(...e)=>V.resetForm&&V.resetForm(...e))},"Neuer Gottesdienst")],32),(0,a.Lk)("ul",null,[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(P.worships,(e=>((0,a.uX)(),(0,a.CE)("li",{key:e.id},[(0,a.Lk)("span",null,(0,o.v_)(e.title)+" - "+(0,o.v_)(V.formatDate(e.date))+", "+(0,o.v_)(V.formatTime(e.time)),1),(0,a.Lk)("button",{onClick:t=>V.editWorship(e)},"Bearbeiten",8,D),(0,a.Lk)("button",{onClick:t=>V.deleteWorship(e.id)},"Löschen",8,y),(0,a.Lk)("div",I,(0,o.v_)(V.getEventPlaceName(e.eventPlaceId)),1)])))),128))])])}var V=i(4373),E=i(8074),U=i(8899),W={name:"WorshipManagement",components:{Multiselect:E.Ay},data(){return{worships:[],eventPlaces:[],worshipData:{eventPlaceId:null,date:"",time:"",title:"",organizer:"",collection:"",address:"",selfInformation:!1,highlightTime:!1,neighborInvitation:!1,introLine:""},selectedEventPlace:null,editMode:!1,editId:null}},async created(){await this.fetchEventPlaces(),await this.fetchWorships()},methods:{formatTime:U.fU,formatDate:U.Yq,async fetchWorships(){try{const e=await V.A.get("/worships");this.worships=e.data}catch(e){console.error("Fehler beim Abrufen der Gottesdienste:",e)}},async fetchEventPlaces(){try{const e=await V.A.get("/event-places");this.eventPlaces=e.data}catch(e){console.error("Fehler beim Abrufen der Veranstaltungsorte:",e)}},async saveWorship(){try{const e={...this.worshipData,eventPlaceId:this.selectedEventPlace?this.selectedEventPlace.id:null};this.editMode?await V.A.put(`/worships/${this.editId}`,e):await V.A.post("/worships",e),this.resetForm(),await this.fetchWorships()}catch(e){console.error("Fehler beim Speichern des Gottesdienstes:",e)}},editWorship(e){this.worshipData={...e},this.selectedEventPlace=this.eventPlaces.find((t=>t.id===e.eventPlaceId)),this.editMode=!0,this.editId=e.id},async deleteWorship(e){try{await V.A.delete(`/worships/${e}`),await this.fetchWorships()}catch(t){console.error("Fehler beim Löschen des Gottesdienstes:",t)}},resetForm(){this.worshipData={eventPlaceId:null,date:"",time:"",title:"",organizer:"",collection:"",address:"",selfInformation:!1,highlightTime:!1,neighborInvitation:!1,introLine:""},this.selectedEventPlace=null,this.editMode=!1,this.editId=null},getEventPlaceName(e){const t=this.eventPlaces.find((t=>t.id===e));return t?t.name:"Unbekannter Ort"}}},z=i(1241);const A=(0,z.A)(W,[["render",P],["__scopeId","data-v-701c5bc9"]]);var C=A}}]); +//# sourceMappingURL=3459.360d8c09.js.map \ No newline at end of file diff --git a/public/js/3459.360d8c09.js.map b/public/js/3459.360d8c09.js.map new file mode 100644 index 0000000..feb2b03 --- /dev/null +++ b/public/js/3459.360d8c09.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/3459.360d8c09.js","mappings":"4HAEO,SAASA,EAAWC,GACzB,MAAOC,EAAOC,GAAWF,EAAKG,MAAM,KACpC,MAAO,GAAGF,KAASC,GACrB,CAEO,SAASE,EAAWC,GACzB,MAAMC,EAAU,CAAEC,KAAM,UAAWC,MAAO,UAAWC,IAAK,WAC1D,OAAO,IAAIC,KAAKL,GAAMM,mBAAmB,QAASL,EACpD,CAEO,SAASM,EAAmBC,GACjC,MAAMR,EAAO,IAAIK,KAAKG,GAChBZ,EAAQa,OAAOT,EAAKU,YAAYC,SAAS,EAAG,KAC5Cd,EAAUY,OAAOT,EAAKY,cAAcD,SAAS,EAAG,KACtD,MAAO,GAAGf,KAASC,GACrB,C,qPChBOgB,MAAM,sB,UACTC,EAAAA,EAAAA,IAAgC,UAA5B,2BAAuB,K,UAEzBA,EAAAA,EAAAA,IAAoD,SAA7CC,IAAI,gBAAe,sBAAkB,K,UAI5CD,EAAAA,EAAAA,IAAgC,SAAzBC,IAAI,QAAO,UAAM,K,UAGxBD,EAAAA,EAAAA,IAA2C,SAApCC,IAAI,WAAU,kBAAc,K,UAGnCD,EAAAA,EAAAA,IAAkC,SAA3BC,IAAI,QAAO,YAAQ,K,UAG1BD,EAAAA,EAAAA,IAAiC,SAA1BC,IAAI,SAAQ,UAAM,K,UAGzBD,EAAAA,EAAAA,IAAyC,SAAlCC,IAAI,aAAY,cAAU,K,UAGjCD,EAAAA,EAAAA,IAAyC,SAAlCC,IAAI,cAAa,aAAS,K,UAGjCD,EAAAA,EAAAA,IAAqC,SAA9BC,IAAI,WAAU,YAAQ,K,UAG7BD,EAAAA,EAAAA,IAAuD,SAAhDC,IAAI,mBAAkB,sBAAkB,K,UAG/CD,EAAAA,EAAAA,IAAuD,SAAhDC,IAAI,iBAAgB,wBAAoB,K,UAG/CD,EAAAA,EAAAA,IAAyE,SAAlEC,IAAI,sBAAqB,qCAAiC,K,UAGjED,EAAAA,EAAAA,IAAgD,SAAzCC,IAAI,aAAY,qBAAiB,K,UAGxCD,EAAAA,EAAAA,IAAwC,UAAhCE,KAAK,UAAS,aAAS,K,EAzCrC,Y,EAAA,Y,GAkDaH,MAAM,W,0EAjDjBI,EAAAA,EAAAA,IAoDM,MApDNC,EAoDM,CAnDJC,GACAL,EAAAA,EAAAA,IAwCO,QAxCAM,SAAMC,EAAA,MAAAA,EAAA,KAHjBC,EAAAA,EAAAA,KAAA,IAAAC,IAG2BC,EAAAC,aAAAD,EAAAC,eAAAF,IAAW,e,CAChCG,GACAC,EAAAA,EAAAA,IACuDC,EAAA,CAN7DC,WAK4BC,EAAAC,mBAL5B,sBAAAV,EAAA,KAAAA,EAAA,GAAAW,GAK4BF,EAAAC,mBAAkBC,GAAG/B,QAAS6B,EAAAG,YAAaC,MAAM,OAAO,WAAS,KACrFC,YAAY,4B,iCAEdC,GAAgC,SAChCtB,EAAAA,EAAAA,IAAiE,SAA1DE,KAAK,OAAOqB,GAAG,OAT5B,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GAS4CF,EAAAQ,YAAYtC,KAAIgC,GAAEO,SAAA,I,iBAAlBT,EAAAQ,YAAYtC,QAElDwC,GAA2C,SAC3C1B,EAAAA,EAAAA,IAAuE,SAAhEE,KAAK,OAAOqB,GAAG,UAZ5B,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GAY+CF,EAAAQ,YAAYG,QAAOT,GAAEO,SAAA,I,iBAArBT,EAAAQ,YAAYG,WAErDC,GAAkC,SAClC5B,EAAAA,EAAAA,IAAiE,SAA1DE,KAAK,OAAOqB,GAAG,OAf5B,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GAe4CF,EAAAQ,YAAY3C,KAAIqC,GAAEO,SAAA,I,iBAAlBT,EAAAQ,YAAY3C,QAElDgD,GAAiC,SACjC7B,EAAAA,EAAAA,IAAmE,SAA5DE,KAAK,OAAOqB,GAAG,QAlB5B,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GAkB6CF,EAAAQ,YAAYM,MAAKZ,GAAEO,SAAA,I,iBAAnBT,EAAAQ,YAAYM,SAEnDC,GAAyC,SACzC/B,EAAAA,EAAAA,IAAkE,SAA3DE,KAAK,OAAOqB,GAAG,YArB5B,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GAqBiDF,EAAAQ,YAAYQ,UAASd,I,iBAArBF,EAAAQ,YAAYQ,aAEvDC,GAAyC,SACzCjC,EAAAA,EAAAA,IAAoE,SAA7DE,KAAK,OAAOqB,GAAG,aAxB5B,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GAwBkDF,EAAAQ,YAAYU,WAAUhB,I,iBAAtBF,EAAAQ,YAAYU,cAExDC,GAAqC,SACrCnC,EAAAA,EAAAA,IAA8D,SAAvDE,KAAK,OAAOqB,GAAG,UA3B5B,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GA2B+CF,EAAAQ,YAAYY,QAAOlB,I,iBAAnBF,EAAAQ,YAAYY,WAErDC,GAAuD,SACvDrC,EAAAA,EAAAA,IAAkF,SAA3EE,KAAK,WAAWqB,GAAG,kBA9BhC,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GA8B2DF,EAAAQ,YAAYc,gBAAepB,I,iBAA3BF,EAAAQ,YAAYc,mBAEjEC,GAAuD,SACvDvC,EAAAA,EAAAA,IAA8E,SAAvEE,KAAK,WAAWqB,GAAG,gBAjChC,sBAAAhB,EAAA,KAAAA,EAAA,GAAAW,GAiCyDF,EAAAQ,YAAYgB,cAAatB,I,iBAAzBF,EAAAQ,YAAYgB,iBAE/DC,GAAyE,SACzEzC,EAAAA,EAAAA,IAAwF,SAAjFE,KAAK,WAAWqB,GAAG,qBApChC,sBAAAhB,EAAA,MAAAA,EAAA,IAAAW,GAoC8DF,EAAAQ,YAAYkB,mBAAkBxB,I,iBAA9BF,EAAAQ,YAAYkB,sBAEpEC,GAAgD,SAChD3C,EAAAA,EAAAA,IAAkE,SAA3DE,KAAK,OAAOqB,GAAG,YAvC5B,sBAAAhB,EAAA,MAAAA,EAAA,IAAAW,GAuCiDF,EAAAQ,YAAYoB,UAAS1B,I,iBAArBF,EAAAQ,YAAYoB,aAEvDC,GACA7C,EAAAA,EAAAA,IAAoE,UAA5DE,KAAK,SAAU4C,QAAKvC,EAAA,MAAAA,EAAA,QAAAE,IAAEC,EAAAqC,WAAArC,EAAAqC,aAAAtC,KAAW,uBAAkB,KAG7DT,EAAAA,EAAAA,IAOK,0BANHG,EAAAA,EAAAA,IAKK6C,EAAAA,GAAA,MAnDXC,EAAAA,EAAAA,IA8C4BjC,EAAAkC,UAAXC,K,WAAXhD,EAAAA,EAAAA,IAKK,MAL4BiD,IAAKD,EAAQ5B,I,EAC5CvB,EAAAA,EAAAA,IAAiG,aAAAqD,EAAAA,EAAAA,IAAxFF,EAAQrB,OAAQ,OAAGuB,EAAAA,EAAAA,IAAG3C,EAAAzB,WAAWkE,EAAQjE,OAAQ,MAAEmE,EAAAA,EAAAA,IAAG3C,EAAA9B,WAAWuE,EAAQtE,OAAI,IACtFmB,EAAAA,EAAAA,IAAyD,UAAhD8C,QAAK5B,GAAER,EAAA4C,YAAYH,IAAU,aAAU,EAhDxDI,IAiDQvD,EAAAA,EAAAA,IAA2D,UAAlD8C,QAAK5B,GAAER,EAAA8C,cAAcL,EAAQ5B,KAAK,UAAO,EAjD1DkC,IAkDQzD,EAAAA,EAAAA,IAAwE,MAAxE0D,GAAwEL,EAAAA,EAAAA,IAAhD3C,EAAAiD,kBAAkBR,EAAQS,eAAY,Q,4CAWtE,GACEC,KAAM,oBACNC,WAAY,CAAEC,YAAWA,EAAAA,IACzBC,IAAAA,GACE,MAAO,CACLd,SAAU,GACV/B,YAAa,GACbK,YAAa,CACXoC,aAAc,KACd1E,KAAM,GACNL,KAAM,GACNiD,MAAO,GACPE,UAAW,GACXE,WAAY,GACZE,QAAS,GACTE,iBAAiB,EACjBE,eAAe,EACfE,oBAAoB,EACpBE,UAAW,IAEb3B,mBAAoB,KACpBgD,UAAU,EACVC,OAAQ,KAEZ,EACA,aAAMC,SACEC,KAAKC,yBACLD,KAAKE,eACb,EACAC,QAAS,CACP3F,WAAU,KACVK,WAAU,KACV,mBAAMqF,GACJ,IACE,MAAME,QAAiBC,EAAAA,EAAMC,IAAI,aACjCN,KAAKlB,SAAWsB,EAASR,IAC3B,CAAE,MAAOW,GACPC,QAAQD,MAAM,yCAA0CA,EAC1D,CACF,EACA,sBAAMN,GACJ,IACE,MAAMG,QAAiBC,EAAAA,EAAMC,IAAI,iBACjCN,KAAKjD,YAAcqD,EAASR,IAC9B,CAAE,MAAOW,GACPC,QAAQD,MAAM,8CAA+CA,EAC/D,CACF,EACA,iBAAMhE,GACJ,IACE,MAAMkE,EAAU,IACXT,KAAK5C,YACRoC,aAAcQ,KAAKnD,mBAAqBmD,KAAKnD,mBAAmBM,GAAK,MAGnE6C,KAAKH,eACDQ,EAAAA,EAAMK,IAAI,aAAaV,KAAKF,SAAUW,SAEtCJ,EAAAA,EAAMM,KAAK,YAAaF,GAGhCT,KAAKrB,kBACCqB,KAAKE,eACb,CAAE,MAAOK,GACPC,QAAQD,MAAM,4CAA6CA,EAC7D,CACF,EACArB,WAAAA,CAAYH,GACViB,KAAK5C,YAAc,IAAK2B,GACxBiB,KAAKnD,mBAAqBmD,KAAKjD,YAAY6D,MAAKC,GAAMA,EAAG1D,KAAO4B,EAAQS,eACxEQ,KAAKH,UAAW,EAChBG,KAAKF,OAASf,EAAQ5B,EACxB,EACA,mBAAMiC,CAAcjC,GAClB,UACQkD,EAAAA,EAAMS,OAAO,aAAa3D,WAC1B6C,KAAKE,eACb,CAAE,MAAOK,GACPC,QAAQD,MAAM,0CAA2CA,EAC3D,CACF,EACA5B,SAAAA,GACEqB,KAAK5C,YAAc,CACjBoC,aAAc,KACd1E,KAAM,GACNL,KAAM,GACNiD,MAAO,GACPE,UAAW,GACXE,WAAY,GACZE,QAAS,GACTE,iBAAiB,EACjBE,eAAe,EACfE,oBAAoB,EACpBE,UAAW,IAEbwB,KAAKnD,mBAAqB,KAC1BmD,KAAKH,UAAW,EAChBG,KAAKF,OAAS,IAChB,EACAP,iBAAAA,CAAkBC,GAChB,MAAMuB,EAAQf,KAAKjD,YAAY6D,MAAKG,GAASA,EAAM5D,KAAOqC,IAC1D,OAAOuB,EAAQA,EAAMtB,KAAO,iBAC9B,I,UC5JJ,MAAMuB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/utils/strings.js","webpack://miriamgemeinde/./src/content/admin/WorshipManagement.vue","webpack://miriamgemeinde/./src/content/admin/WorshipManagement.vue?3ffa"],"sourcesContent":["// srv/utils/strings.js\n\nexport function formatTime(time) {\n const [hours, minutes] = time.split(':');\n return `${hours}:${minutes}`;\n}\n\nexport function formatDate(date) {\n const options = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return new Date(date).toLocaleDateString('de-DE', options);\n}\n\nexport function formatTimeFromDate(dateString) {\n const date = new Date(dateString);\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n return `${hours}:${minutes}`;\n}\n\n","\n\n\n\n\n","import { render } from \"./WorshipManagement.vue?vue&type=template&id=701c5bc9&scoped=true\"\nimport script from \"./WorshipManagement.vue?vue&type=script&lang=js\"\nexport * from \"./WorshipManagement.vue?vue&type=script&lang=js\"\n\nimport \"./WorshipManagement.vue?vue&type=style&index=0&id=701c5bc9&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-701c5bc9\"]])\n\nexport default __exports__"],"names":["formatTime","time","hours","minutes","split","formatDate","date","options","year","month","day","Date","toLocaleDateString","formatTimeFromDate","dateString","String","getHours","padStart","getMinutes","class","_createElementVNode","for","type","_createElementBlock","_hoisted_1","_hoisted_2","onSubmit","_cache","_withModifiers","args","$options","saveWorship","_hoisted_3","_createVNode","_component_multiselect","modelValue","$data","selectedEventPlace","$event","eventPlaces","label","placeholder","_hoisted_4","id","worshipData","required","_hoisted_5","dayName","_hoisted_6","_hoisted_7","title","_hoisted_8","organizer","_hoisted_9","collection","_hoisted_10","address","_hoisted_11","selfInformation","_hoisted_12","highlightTime","_hoisted_13","neighborInvitation","_hoisted_14","introLine","_hoisted_15","onClick","resetForm","_Fragment","_renderList","worships","worship","key","_toDisplayString","editWorship","_hoisted_16","deleteWorship","_hoisted_17","_hoisted_18","getEventPlaceName","eventPlaceId","name","components","Multiselect","data","editMode","editId","created","this","fetchEventPlaces","fetchWorships","methods","response","axios","get","error","console","payload","put","post","find","ep","delete","place","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/3484.4a9b16f5.js b/public/js/3484.4a9b16f5.js new file mode 100644 index 0000000..a40c614 --- /dev/null +++ b/public/js/3484.4a9b16f5.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[3484,7382],{7382:function(e,o,a){a.r(o),a.d(o,{default:function(){return g}});var i=a(6768),l=a(5187);const t={key:0,class:"dialog-overlay"},s={class:"dialog"};function n(e,o,a,n,r,d){return a.modelValue?((0,i.uX)(),(0,i.CE)("div",t,[(0,i.Lk)("div",s,[(0,i.Lk)("h2",null,(0,l.v_)(a.title),1),(0,i.Lk)("p",null,(0,l.v_)(a.message),1),(0,i.Lk)("button",{onClick:o[0]||(o[0]=(...e)=>d.closeDialog&&d.closeDialog(...e))},"OK")])])):(0,i.Q3)("",!0)}var r={name:"DialogComponent",props:{title:{type:String,required:!0},message:{type:String,required:!0},modelValue:{type:Boolean,default:!1}},methods:{closeDialog(){this.$emit("update:modelValue",!1),this.$emit("close")}}},d=a(1241);const u=(0,d.A)(r,[["render",n],["__scopeId","data-v-21ade8c0"]]);var g=u},3484:function(e,o,a){a.r(o),a.d(o,{default:function(){return L}});var i=a(6768),l=a(5688);const t=e=>((0,i.Qi)("data-v-40a158c0"),e=e(),(0,i.jt)(),e),s={class:"login"},n=t((()=>(0,i.Lk)("h2",null,"Login",-1))),r=t((()=>(0,i.Lk)("label",{for:"email"},"Email-Adresse:",-1))),d=t((()=>(0,i.Lk)("label",{for:"password"},"Passwort:",-1))),u=t((()=>(0,i.Lk)("button",{type:"submit"},"Login",-1)));function g(e,o,a,t,g,m){const p=(0,i.g2)("router-link"),c=(0,i.g2)("DialogComponent");return(0,i.uX)(),(0,i.CE)("div",s,[n,(0,i.Lk)("form",{onSubmit:o[2]||(o[2]=(0,l.D$)(((...e)=>m.runLogin&&m.runLogin(...e)),["prevent"]))},[r,(0,i.bo)((0,i.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":o[0]||(o[0]=e=>g.email=e),required:""},null,512),[[l.Jo,g.email]]),d,(0,i.bo)((0,i.Lk)("input",{type:"password",id:"password","onUpdate:modelValue":o[1]||(o[1]=e=>g.password=e),required:""},null,512),[[l.Jo,g.password]]),u],32),(0,i.Lk)("p",null,[(0,i.bF)(p,{to:"/register"},{default:(0,i.k6)((()=>[(0,i.eW)("Registrieren")])),_:1})]),(0,i.Lk)("p",null,[(0,i.bF)(p,{to:"/forgot-password"},{default:(0,i.k6)((()=>[(0,i.eW)("Passwort vergessen?")])),_:1})]),(0,i.bF)(c,{title:g.dialogTitle,message:g.dialogMessage,modelValue:g.dialogVisible,"onUpdate:modelValue":o[3]||(o[3]=e=>g.dialogVisible=e),onClose:m.closeDialog},null,8,["title","message","modelValue","onClose"])])}a(4114);var m=a(4373),p=a(7382),c=a(782),h={name:"LoginComponent",components:{DialogComponent:p["default"]},data(){return{email:"",password:"",dialogTitle:"",dialogMessage:"",dialogVisible:!1}},methods:{...(0,c.i0)(["login"]),async runLogin(){try{const e=await m.A.post("/auth/login",{email:this.email,password:this.password}),o=e.data.token,a=e.data;localStorage.setItem("token",o),this.login(a.user),m.A.defaults.headers.common["Authorization"]=`Bearer ${o}`,this.$router.push("/admin/index")}catch(e){e.response?this.showDialog("Fehler",e.response.data.message):this.showDialog("Ein Fehler ist aufgetreten",e.message)}},showDialog(e,o){this.dialogTitle=e,this.dialogMessage=o,this.dialogVisible=!0},closeDialog(){this.dialogVisible=!1}}},k=a(1241);const f=(0,k.A)(h,[["render",g],["__scopeId","data-v-40a158c0"]]);var L=f}}]); +//# sourceMappingURL=3484.4a9b16f5.js.map \ No newline at end of file diff --git a/public/js/3484.4a9b16f5.js.map b/public/js/3484.4a9b16f5.js.map new file mode 100644 index 0000000..edf09fe --- /dev/null +++ b/public/js/3484.4a9b16f5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/3484.4a9b16f5.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/common/components/DialogComponent.vue","webpack://miriamgemeinde/./src/common/components/DialogComponent.vue?92fc","webpack://miriamgemeinde/./src/content/authentication/LoginContent.vue","webpack://miriamgemeinde/./src/content/authentication/LoginContent.vue?d29f"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./DialogComponent.vue?vue&type=template&id=21ade8c0&scoped=true\"\nimport script from \"./DialogComponent.vue?vue&type=script&lang=js\"\nexport * from \"./DialogComponent.vue?vue&type=script&lang=js\"\n\nimport \"./DialogComponent.vue?vue&type=style&index=0&id=21ade8c0&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-21ade8c0\"]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./LoginContent.vue?vue&type=template&id=40a158c0&scoped=true\"\nimport script from \"./LoginContent.vue?vue&type=script&lang=js\"\nexport * from \"./LoginContent.vue?vue&type=script&lang=js\"\n\nimport \"./LoginContent.vue?vue&type=style&index=0&id=40a158c0&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-40a158c0\"]])\n\nexport default __exports__"],"names":["key","class","$props","modelValue","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","title","message","onClick","_cache","args","$options","closeDialog","_createCommentVNode","name","props","type","String","required","Boolean","default","methods","this","$emit","__exports__","render","for","onSubmit","_withModifiers","runLogin","_hoisted_3","id","$event","$data","email","_hoisted_4","password","_hoisted_5","_createVNode","_component_router_link","to","_withCtx","_createTextVNode","_","_component_DialogComponent","dialogTitle","dialogMessage","dialogVisible","onClose","components","DialogComponent","data","mapActions","response","axios","post","token","localStorage","setItem","login","user","defaults","headers","common","$router","push","error","showDialog"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/3550.354e24f7.js b/public/js/3550.354e24f7.js new file mode 100644 index 0000000..03c702e --- /dev/null +++ b/public/js/3550.354e24f7.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[3550],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},2700:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=3550.354e24f7.js.map \ No newline at end of file diff --git a/public/js/3550.354e24f7.js.map b/public/js/3550.354e24f7.js.map new file mode 100644 index 0000000..e903efb --- /dev/null +++ b/public/js/3550.354e24f7.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/3550.354e24f7.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZN,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/meetingpoint/ConfirmationClassesContent.vue","webpack://miriamgemeinde/./src/content/meetingpoint/ConfirmationClassesContent.vue?b8c6"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n \n \n \n ","import { render } from \"./ConfirmationClassesContent.vue?vue&type=template&id=833dd43a\"\nimport script from \"./ConfirmationClassesContent.vue?vue&type=script&lang=js\"\nexport * from \"./ConfirmationClassesContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/3715.3b4a12bd.js b/public/js/3715.3b4a12bd.js new file mode 100644 index 0000000..6e8a9d9 --- /dev/null +++ b/public/js/3715.3b4a12bd.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[3715],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},8747:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"KitaAmBuegel",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=3715.3b4a12bd.js.map \ No newline at end of file diff --git a/public/js/3715.3b4a12bd.js.map b/public/js/3715.3b4a12bd.js.map new file mode 100644 index 0000000..0def471 --- /dev/null +++ b/public/js/3715.3b4a12bd.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/3715.3b4a12bd.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADFvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAO5C,GACIvC,KAAM,eACNC,WAAY,CACRuC,iBAAgBA,EAAAA,GAEpB/B,SAAU,CACN8B,WAAAA,GACI,OAAOvB,KAAKyB,OAAOC,IACvB,I,UCZR,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/kita/SternenzeltContent.vue","webpack://miriamgemeinde/./src/content/kita/SternenzeltContent.vue?eb74"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./SternenzeltContent.vue?vue&type=template&id=6cb486b2\"\nimport script from \"./SternenzeltContent.vue?vue&type=script&lang=js\"\nexport * from \"./SternenzeltContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/4039.c58e9118.js b/public/js/4039.c58e9118.js new file mode 100644 index 0000000..cb059c1 --- /dev/null +++ b/public/js/4039.c58e9118.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[4039],{4039:function(e,n,t){t.r(n),t.d(n,{default:function(){return m}});var i=t(6768);const r=e=>((0,i.Qi)("data-v-334e7b82"),e=e(),(0,i.jt)(),e),u=r((()=>(0,i.Lk)("h1",null,"Seite existiert nicht",-1))),a=r((()=>(0,i.Lk)("p",null,"Leider existiert die aufgerufene Seite nicht.",-1))),c=[u,a];function d(e,n,t,r,u,a){return(0,i.uX)(),(0,i.CE)("div",null,c)}var l={name:"DefaultComponent"},s=t(1241);const f=(0,s.A)(l,[["render",d],["__scopeId","data-v-334e7b82"]]);var m=f}}]); +//# sourceMappingURL=4039.c58e9118.js.map \ No newline at end of file diff --git a/public/js/4039.c58e9118.js.map b/public/js/4039.c58e9118.js.map new file mode 100644 index 0000000..962124e --- /dev/null +++ b/public/js/4039.c58e9118.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/4039.c58e9118.js","mappings":"6PAEMA,EAAAA,EAAAA,IAA8B,UAA1B,yBAAqB,K,UACzBA,EAAAA,EAAAA,IAAoD,SAAjD,iDAA6C,K,GADhDC,EACAC,G,0CAFFC,EAAAA,EAAAA,IAGM,WAJVC,E,CAQE,OACEC,KAAM,oB,UCFV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/DefaultComponent.vue","webpack://miriamgemeinde/./src/content/DefaultComponent.vue?e630"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./DefaultComponent.vue?vue&type=template&id=334e7b82&scoped=true\"\nimport script from \"./DefaultComponent.vue?vue&type=script&lang=js\"\nexport * from \"./DefaultComponent.vue?vue&type=script&lang=js\"\n\nimport \"./DefaultComponent.vue?vue&type=style&index=0&id=334e7b82&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-334e7b82\"]])\n\nexport default __exports__"],"names":["_createElementVNode","_hoisted_1","_hoisted_2","_createElementBlock","_hoisted_3","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/466.8dbaae3d.js b/public/js/466.8dbaae3d.js new file mode 100644 index 0000000..9695b52 --- /dev/null +++ b/public/js/466.8dbaae3d.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[466],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},7232:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=466.8dbaae3d.js.map \ No newline at end of file diff --git a/public/js/466.8dbaae3d.js.map b/public/js/466.8dbaae3d.js.map new file mode 100644 index 0000000..5e0ded3 --- /dev/null +++ b/public/js/466.8dbaae3d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/466.8dbaae3d.js","mappings":"wQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZN,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/music/MiriamkantoreiContent.vue","webpack://miriamgemeinde/./src/content/music/MiriamkantoreiContent.vue?adb9"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n \n \n \n ","import { render } from \"./MiriamkantoreiContent.vue?vue&type=template&id=762e468e\"\nimport script from \"./MiriamkantoreiContent.vue?vue&type=script&lang=js\"\nexport * from \"./MiriamkantoreiContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/4765.8a60700e.js b/public/js/4765.8a60700e.js new file mode 100644 index 0000000..e1a775f --- /dev/null +++ b/public/js/4765.8a60700e.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[4765],{4765:function(t,e,i){i.r(e),i.d(e,{default:function(){return x}});var n=i(6768),o=i(5688),a=i(5187);const s=t=>((0,n.Qi)("data-v-ff992c44"),t=t(),(0,n.jt)(),t),u={class:"institution-management"},l=s((()=>(0,n.Lk)("h2",null,"Institutionenverwaltung",-1))),r=s((()=>(0,n.Lk)("label",{for:"name"},"Name:",-1))),d=s((()=>(0,n.Lk)("label",{for:"street"},"Straße:",-1))),c=s((()=>(0,n.Lk)("label",{for:"zipcode"},"PLZ:",-1))),h=s((()=>(0,n.Lk)("label",{for:"city"},"Stadt:",-1))),m=s((()=>(0,n.Lk)("label",{for:"phone"},"Telefon:",-1))),p=s((()=>(0,n.Lk)("label",{for:"fax"},"Fax:",-1))),k=s((()=>(0,n.Lk)("label",{for:"email"},"Email:",-1))),f=s((()=>(0,n.Lk)("button",{type:"submit"},"Speichern",-1))),b=s((()=>(0,n.Lk)("thead",null,[(0,n.Lk)("tr",null,[(0,n.Lk)("th",null,"Name"),(0,n.Lk)("th",null,"Bearbeiten"),(0,n.Lk)("th",null,"Löschen")])],-1))),L=["onClick"],y=["onClick"];function I(t,e,i,s,I,D){return(0,n.uX)(),(0,n.CE)("div",u,[l,(0,n.Lk)("form",{onSubmit:e[8]||(e[8]=(0,o.D$)(((...t)=>D.saveInstitution&&D.saveInstitution(...t)),["prevent"]))},[r,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":e[0]||(e[0]=t=>I.institutionData.name=t),required:""},null,512),[[o.Jo,I.institutionData.name]]),d,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"street","onUpdate:modelValue":e[1]||(e[1]=t=>I.institutionData.street=t)},null,512),[[o.Jo,I.institutionData.street]]),c,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"zipcode","onUpdate:modelValue":e[2]||(e[2]=t=>I.institutionData.zipcode=t)},null,512),[[o.Jo,I.institutionData.zipcode]]),h,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"city","onUpdate:modelValue":e[3]||(e[3]=t=>I.institutionData.city=t)},null,512),[[o.Jo,I.institutionData.city]]),m,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"phone","onUpdate:modelValue":e[4]||(e[4]=t=>I.institutionData.phone=t)},null,512),[[o.Jo,I.institutionData.phone]]),p,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"fax","onUpdate:modelValue":e[5]||(e[5]=t=>I.institutionData.fax=t)},null,512),[[o.Jo,I.institutionData.fax]]),k,(0,n.bo)((0,n.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":e[6]||(e[6]=t=>I.institutionData.email=t)},null,512),[[o.Jo,I.institutionData.email]]),f,I.editMode?((0,n.uX)(),(0,n.CE)("button",{key:0,type:"button",onClick:e[7]||(e[7]=(...t)=>D.resetForm&&D.resetForm(...t))},"Neue Institution erstellen")):(0,n.Q3)("",!0)],32),(0,n.Lk)("table",null,[b,(0,n.Lk)("tbody",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(I.institutions,(t=>((0,n.uX)(),(0,n.CE)("tr",{key:t.id},[(0,n.Lk)("td",null,(0,a.v_)(t.name),1),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:e=>D.editInstitution(t)},"Bearbeiten",8,L)]),(0,n.Lk)("td",null,[(0,n.Lk)("button",{onClick:e=>D.deleteInstitution(t.id)},"Löschen",8,y)])])))),128))])])])}i(4114);var D=i(4373),F={name:"InstitutionManagement",data(){return{institutions:[],contactPersons:[],institutionData:{name:"",street:"",zipcode:"",city:"",phone:"",fax:"",email:""},selectedInstitution:null,showForm:!1,editMode:!1,editId:null}},created(){this.fetchInstitutions(),this.fetchContactPersons()},methods:{async fetchInstitutions(){try{const t=await D.A.get("/institutions");this.institutions=t.data}catch(t){console.error("Fehler beim Abrufen der Institutionen:",t)}},async fetchContactPersons(){try{const t=await D.A.get("/contact-persons");this.contactPersons=t.data}catch(t){console.error("Fehler beim Abrufen der Kontaktpersonen:",t)}},async saveInstitution(){try{if(this.editMode)await D.A.put(`/institutions/${this.editId}`,this.institutionData);else{const t=await D.A.post("/institutions",this.institutionData);this.institutions.push(t.data)}this.resetForm(),await this.fetchInstitutions()}catch(t){console.error("Fehler beim Speichern der Institution:",t)}},editInstitution(t){this.institutionData={...t},this.editMode=!0,this.editId=t.id,this.showForm=!0},async deleteInstitution(t){try{await D.A.delete(`/institutions/${t}`),this.fetchInstitutions()}catch(e){console.error("Fehler beim Löschen der Institution:",e)}},resetForm(){this.institutionData={name:"",street:"",zipcode:"",city:"",phone:"",fax:"",email:""},this.editMode=!1,this.editId=null,this.showForm=!1},showCreateForm(){this.resetForm(),this.showForm=!0}}},w=i(1241);const C=(0,w.A)(F,[["render",I],["__scopeId","data-v-ff992c44"]]);var x=C}}]); +//# sourceMappingURL=4765.8a60700e.js.map \ No newline at end of file diff --git a/public/js/4765.8a60700e.js.map b/public/js/4765.8a60700e.js.map new file mode 100644 index 0000000..b2fcb50 --- /dev/null +++ b/public/js/4765.8a60700e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/4765.8a60700e.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/InstitutionManagement.vue","webpack://miriamgemeinde/./src/content/admin/InstitutionManagement.vue?355a"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./InstitutionManagement.vue?vue&type=template&id=ff992c44&scoped=true\"\nimport script from \"./InstitutionManagement.vue?vue&type=script&lang=js\"\nexport * from \"./InstitutionManagement.vue?vue&type=script&lang=js\"\n\nimport \"./InstitutionManagement.vue?vue&type=style&index=0&id=ff992c44&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ff992c44\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","_createElementBlock","_hoisted_1","_hoisted_2","onSubmit","_cache","_withModifiers","args","$options","saveInstitution","_hoisted_3","id","$event","$data","institutionData","name","required","_hoisted_4","street","_hoisted_5","zipcode","_hoisted_6","city","_hoisted_7","phone","_hoisted_8","fax","_hoisted_9","email","_hoisted_10","editMode","key","onClick","resetForm","_createCommentVNode","_hoisted_11","_Fragment","_renderList","institutions","institution","_toDisplayString","editInstitution","_hoisted_12","deleteInstitution","_hoisted_13","data","contactPersons","selectedInstitution","showForm","editId","created","this","fetchInstitutions","fetchContactPersons","methods","response","axios","get","error","console","put","post","push","delete","showCreateForm","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/480.72694b33.js b/public/js/480.72694b33.js new file mode 100644 index 0000000..643e9e1 --- /dev/null +++ b/public/js/480.72694b33.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[480],{480:function(e,n,t){t.r(n),t.d(n,{default:function(){return k}});var u=t(6768),a=t(5187);const i=e=>((0,u.Qi)("data-v-68b32234"),e=e(),(0,u.jt)(),e),l=i((()=>(0,u.Lk)("h1",null,"Seitenpflege",-1))),r=i((()=>(0,u.Lk)("p",null,"Herzlich Willkommen. Auf diesen Seiten können Sie die Inhalte der Webseiten pflegen.",-1)));function d(e,n,t,i,d,m){const o=(0,u.g2)("router-link");return(0,u.uX)(),(0,u.CE)("div",null,[l,r,(0,u.Lk)("ul",null,[((0,u.uX)(!0),(0,u.CE)(u.FK,null,(0,u.pI)(i.adminSubmenu,(e=>((0,u.uX)(),(0,u.CE)("li",{key:e.id},[(0,u.bF)(o,{to:e.link},{default:(0,u.k6)((()=>[(0,u.eW)((0,a.v_)(e.name),1)])),_:2},1032,["to"])])))),128))])])}var m=t(3173),o=t(1798),s={name:"DefaultComponent",setup(){const e=(0,o.KR)([]),n=async()=>{try{const n=await m.A.get("/menu-data"),t=n.data,u=t.find((e=>"Admin"===e.name));u&&(e.value=u.submenu)}catch(n){console.error("Fehler beim Abrufen der Menü-Daten:",n)}};return(0,u.sV)((()=>{n()})),{adminSubmenu:e}}},c=t(1241);const f=(0,c.A)(s,[["render",d],["__scopeId","data-v-68b32234"]]);var k=f}}]); +//# sourceMappingURL=480.72694b33.js.map \ No newline at end of file diff --git a/public/js/480.72694b33.js.map b/public/js/480.72694b33.js.map new file mode 100644 index 0000000..b155106 --- /dev/null +++ b/public/js/480.72694b33.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/480.72694b33.js","mappings":"qQAEIA,EAAAA,EAAAA,IAAqB,UAAjB,gBAAY,K,UAChBA,EAAAA,EAAAA,IAA2F,SAAxF,wFAAoF,K,0EAFzFC,EAAAA,EAAAA,IAQM,YAPJC,EACAC,GACAH,EAAAA,EAAAA,IAIK,0BAHHC,EAAAA,EAAAA,IAEKG,EAAAA,GAAA,MAPXC,EAAAA,EAAAA,IAKyBC,EAAAC,cAARC,K,WAAXP,EAAAA,EAAAA,IAEK,MAF6BQ,IAAKD,EAAKE,I,EAC1CC,EAAAA,EAAAA,IAA0DC,EAAA,CAA5CC,GAAIL,EAAKM,M,CAN/BC,SAAAC,EAAAA,EAAAA,KAMqC,IAAe,EANpDC,EAAAA,EAAAA,KAAAC,EAAAA,EAAAA,IAMwCV,EAAKW,MAAI,MANjDC,EAAA,G,oDAgBA,GACED,KAAM,mBACNE,KAAAA,GACE,MAAMd,GAAee,EAAAA,EAAAA,IAAI,IAEnBC,EAAgBC,UACpB,IACE,MAAMC,QAAiBC,EAAAA,EAAMC,IAAI,cAC3BC,EAAWH,EAASI,KAGpBC,EAAYF,EAASG,MAAKvB,GAAsB,UAAdA,EAAKW,OACzCW,IACFvB,EAAayB,MAAQF,EAAUG,QAEnC,CAAE,MAAOC,GACPC,QAAQD,MAAM,sCAAuCA,EACvD,GAOF,OAJAE,EAAAA,EAAAA,KAAU,KACRb,GAAe,IAGV,CACLhB,eAEJ,G,UCpCF,MAAM8B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/admin/IndexContent.vue","webpack://miriamgemeinde/./src/content/admin/IndexContent.vue?5c80"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./IndexContent.vue?vue&type=template&id=68b32234&scoped=true\"\nimport script from \"./IndexContent.vue?vue&type=script&lang=js\"\nexport * from \"./IndexContent.vue?vue&type=script&lang=js\"\n\nimport \"./IndexContent.vue?vue&type=style&index=0&id=68b32234&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-68b32234\"]])\n\nexport default __exports__"],"names":["_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_Fragment","_renderList","$setup","adminSubmenu","item","key","id","_createVNode","_component_router_link","to","link","default","_withCtx","_createTextVNode","_toDisplayString","name","_","setup","ref","fetchMenuData","async","response","axios","get","menuData","data","adminMenu","find","value","submenu","error","console","onMounted","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/4847.5c0de6b4.js b/public/js/4847.5c0de6b4.js new file mode 100644 index 0000000..0b34316 --- /dev/null +++ b/public/js/4847.5c0de6b4.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[4847],{4847:function(n,e,r){r.r(e),r.d(e,{default:function(){return m}});var u=r(6768);const t=(0,u.Lk)("h2",null,null,-1),a=[t];function i(n,e,r,t,i,c){return(0,u.uX)(),(0,u.CE)("div",null,a)}var c={name:"DaycareCentersContent"},l=r(1241);const s=(0,l.A)(c,[["render",i]]);var m=s}}]); +//# sourceMappingURL=4847.5c0de6b4.js.map \ No newline at end of file diff --git a/public/js/4847.5c0de6b4.js.map b/public/js/4847.5c0de6b4.js.map new file mode 100644 index 0000000..208451b --- /dev/null +++ b/public/js/4847.5c0de6b4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/4847.5c0de6b4.js","mappings":"gMAEMA,EAAAA,EAAAA,IAAS,mB,GAATC,G,0CADFC,EAAAA,EAAAA,IAEM,WAHVC,E,CAOE,OACEC,KAAM,yB,UCHV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/content/OurChurchesContent.vue","webpack://miriamgemeinde/./src/content/OurChurchesContent.vue?0143"],"sourcesContent":["\n \n \n ","import { render } from \"./OurChurchesContent.vue?vue&type=template&id=54a317f2\"\nimport script from \"./OurChurchesContent.vue?vue&type=script&lang=js\"\nexport * from \"./OurChurchesContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementVNode","_hoisted_1","_createElementBlock","_hoisted_2","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/4908.e90b483e.js b/public/js/4908.e90b483e.js new file mode 100644 index 0000000..c983e44 --- /dev/null +++ b/public/js/4908.e90b483e.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[4908],{4908:function(e,t,n){n.r(t),n.d(t,{default:function(){return E}});var a=n(6768),i=n(5688),s=n(5187);const p=e=>((0,a.Qi)("data-v-60fe58a4"),e=e(),(0,a.jt)(),e),d={class:"event-types-management"},r=p((()=>(0,a.Lk)("h2",null,"Event-Typen Verwaltung",-1))),o=p((()=>(0,a.Lk)("label",{for:"newEventType"},"Event-Typ:",-1))),v={type:"submit"},y=["onClick"],l=["onClick"];function c(e,t,n,p,c,u){return(0,a.uX)(),(0,a.CE)("div",d,[r,(0,a.Lk)("form",{onSubmit:t[2]||(t[2]=(0,i.D$)(((...e)=>u.saveEventType&&u.saveEventType(...e)),["prevent"]))},[o,(0,a.bo)((0,a.Lk)("input",{type:"text",id:"newEventType","onUpdate:modelValue":t[0]||(t[0]=e=>c.eventTypeData.caption=e),placeholder:"Event-Typ",required:""},null,512),[[i.Jo,c.eventTypeData.caption]]),(0,a.Lk)("button",v,(0,s.v_)(c.editMode?"Aktualisieren":"Hinzufügen"),1),c.editMode?((0,a.uX)(),(0,a.CE)("button",{key:0,type:"button",onClick:t[1]||(t[1]=(...e)=>u.resetForm&&u.resetForm(...e))},"Abbrechen")):(0,a.Q3)("",!0)],32),(0,a.Lk)("table",null,[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(c.eventTypes,(e=>((0,a.uX)(),(0,a.CE)("tr",{key:e.id},[(0,a.Lk)("td",null,(0,s.v_)(e.caption),1),(0,a.Lk)("td",null,[(0,a.Lk)("button",{onClick:t=>u.editEventType(e)},"Bearbeiten",8,y)]),(0,a.Lk)("td",null,[(0,a.Lk)("button",{onClick:t=>u.deleteEventType(e.id)},"Löschen",8,l)])])))),128))])])}n(4114);var u=n(4373),h={data(){return{eventTypes:[],eventTypeData:{caption:""},editMode:!1,editId:null}},methods:{async fetchEventTypes(){try{const e=await u.A.get("/event-types");this.eventTypes=e.data}catch(e){console.error("Fehler beim Abrufen der Event-Typen:",e)}},async saveEventType(){try{if(this.editMode)await u.A.put(`/event-types/${this.editId}`,this.eventTypeData);else{const e=await u.A.post("/event-types",this.eventTypeData);this.eventTypes.push(e.data)}this.resetForm(),await this.fetchEventTypes()}catch(e){console.error("Fehler beim Speichern des Event-Typs:",e)}},editEventType(e){this.eventTypeData={...e},this.editMode=!0,this.editId=e.id},async deleteEventType(e){try{await u.A.delete(`/event-types/${e}`),await this.fetchEventTypes()}catch(t){console.error("Fehler beim Löschen des Event-Typs:",t)}},resetForm(){this.eventTypeData={caption:""},this.editMode=!1,this.editId=null}},async created(){await this.fetchEventTypes()}},T=n(1241);const k=(0,T.A)(h,[["render",c],["__scopeId","data-v-60fe58a4"]]);var E=k}}]); +//# sourceMappingURL=4908.e90b483e.js.map \ No newline at end of file diff --git a/public/js/4908.e90b483e.js.map b/public/js/4908.e90b483e.js.map new file mode 100644 index 0000000..debc53d --- /dev/null +++ b/public/js/4908.e90b483e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/4908.e90b483e.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/EventTypesManagement.vue","webpack://miriamgemeinde/./src/content/admin/EventTypesManagement.vue?9aa1"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./EventTypesManagement.vue?vue&type=template&id=60fe58a4&scoped=true\"\nimport script from \"./EventTypesManagement.vue?vue&type=script&lang=js\"\nexport * from \"./EventTypesManagement.vue?vue&type=script&lang=js\"\n\nimport \"./EventTypesManagement.vue?vue&type=style&index=0&id=60fe58a4&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-60fe58a4\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","_createElementBlock","_hoisted_1","_hoisted_2","onSubmit","_cache","_withModifiers","args","$options","saveEventType","_hoisted_3","id","$event","$data","eventTypeData","caption","placeholder","required","_hoisted_4","_toDisplayString","editMode","key","onClick","resetForm","_createCommentVNode","_Fragment","_renderList","eventTypes","eventType","editEventType","_hoisted_5","deleteEventType","_hoisted_6","data","editId","methods","fetchEventTypes","response","axios","get","this","error","console","put","post","push","delete","created","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/5108.2a47f738.js b/public/js/5108.2a47f738.js new file mode 100644 index 0000000..50d5752 --- /dev/null +++ b/public/js/5108.2a47f738.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[5108],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},8438:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=5108.2a47f738.js.map \ No newline at end of file diff --git a/public/js/5108.2a47f738.js.map b/public/js/5108.2a47f738.js.map new file mode 100644 index 0000000..ac457e0 --- /dev/null +++ b/public/js/5108.2a47f738.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/5108.2a47f738.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNOC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZJ,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/worship/KalbachContent.vue","webpack://miriamgemeinde/./src/content/worship/KalbachContent.vue?a47e"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./KalbachContent.vue?vue&type=template&id=42eea2c7\"\nimport script from \"./KalbachContent.vue?vue&type=script&lang=js\"\nexport * from \"./KalbachContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/5625.c1e0961c.js b/public/js/5625.c1e0961c.js new file mode 100644 index 0000000..c05796f --- /dev/null +++ b/public/js/5625.c1e0961c.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[5625],{5625:function(e,t,i){i.r(t),i.d(t,{default:function(){return f}});var s=i(6768),a=i(5688);const o=e=>((0,s.Qi)("data-v-182f8976"),e=e(),(0,s.jt)(),e),r={class:"register"},l=o((()=>(0,s.Lk)("h2",null,"Registrieren",-1))),n=o((()=>(0,s.Lk)("label",{for:"name"},"Name:",-1))),d=o((()=>(0,s.Lk)("label",{for:"email"},"Email-Adresse:",-1))),m=o((()=>(0,s.Lk)("label",{for:"password"},"Passwort:",-1))),u=o((()=>(0,s.Lk)("button",{type:"submit"},"Registrieren",-1)));function g(e,t,i,o,g,p){const h=(0,s.g2)("router-link");return(0,s.uX)(),(0,s.CE)("div",r,[l,(0,s.Lk)("form",{onSubmit:t[3]||(t[3]=(0,a.D$)(((...e)=>p.register&&p.register(...e)),["prevent"]))},[n,(0,s.bo)((0,s.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":t[0]||(t[0]=e=>g.name=e),required:""},null,512),[[a.Jo,g.name]]),d,(0,s.bo)((0,s.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":t[1]||(t[1]=e=>g.email=e),required:""},null,512),[[a.Jo,g.email]]),m,(0,s.bo)((0,s.Lk)("input",{type:"password",id:"password","onUpdate:modelValue":t[2]||(t[2]=e=>g.password=e),required:""},null,512),[[a.Jo,g.password]]),u],32),(0,s.Lk)("p",null,[(0,s.bF)(h,{to:"/login"},{default:(0,s.k6)((()=>[(0,s.eW)("Login")])),_:1})]),(0,s.Lk)("p",null,[(0,s.bF)(h,{to:"/forgot-password"},{default:(0,s.k6)((()=>[(0,s.eW)("Passwort vergessen?")])),_:1})])])}var p={name:"RegisterComponent",components:{},data(){return{name:"",email:"",password:"",dialogTitle:"",dialogMessage:"",dialogVisible:!1}},methods:{async register(){try{const e=await fetch("http://localhost:3000/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:this.name,email:this.email,password:this.password})});if(e.ok)await e.json(),this.showDialog("Registrierung erfolgreich","Ihr Konto wurde erfolgreich erstellt.");else{const t=await e.json();this.showDialog("Fehler",t.message)}}catch(e){this.showDialog("Ein Fehler ist aufgetreten",e.message)}},showDialog(e,t){this.dialogTitle=e,this.dialogMessage=t,this.dialogVisible=!0}}},h=i(1241);const c=(0,h.A)(p,[["render",g],["__scopeId","data-v-182f8976"]]);var f=c}}]); +//# sourceMappingURL=5625.c1e0961c.js.map \ No newline at end of file diff --git a/public/js/5625.c1e0961c.js.map b/public/js/5625.c1e0961c.js.map new file mode 100644 index 0000000..d70bfd5 --- /dev/null +++ b/public/js/5625.c1e0961c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/5625.c1e0961c.js","mappings":"gQACOA,MAAM,Y,UACTC,EAAAA,EAAAA,IAAqB,UAAjB,gBAAY,K,UAEdA,EAAAA,EAAAA,IAA+B,SAAxBC,IAAI,QAAO,SAAK,K,UAGvBD,EAAAA,EAAAA,IAAyC,SAAlCC,IAAI,SAAQ,kBAAc,K,UAGjCD,EAAAA,EAAAA,IAAuC,SAAhCC,IAAI,YAAW,aAAS,K,UAG/BD,EAAAA,EAAAA,IAA2C,UAAnCE,KAAK,UAAS,gBAAY,K,0EAZtCC,EAAAA,EAAAA,IAoBM,MApBNC,EAoBM,CAnBJC,GACAL,EAAAA,EAAAA,IAWO,QAXAM,SAAMC,EAAA,KAAAA,EAAA,IAHjBC,EAAAA,EAAAA,KAAA,IAAAC,IAG2BC,EAAAC,UAAAD,EAAAC,YAAAF,IAAQ,e,CAC7BG,GAA+B,SAC/BZ,EAAAA,EAAAA,IAAqD,SAA9CE,KAAK,OAAOW,GAAG,OAL5B,sBAAAN,EAAA,KAAAA,EAAA,GAAAO,GAK4CC,EAAAC,KAAIF,GAAEG,SAAA,I,iBAANF,EAAAC,QAEtCE,GAAyC,SACzClB,EAAAA,EAAAA,IAAwD,SAAjDE,KAAK,QAAQW,GAAG,QAR7B,sBAAAN,EAAA,KAAAA,EAAA,GAAAO,GAQ8CC,EAAAI,MAAKL,GAAEG,SAAA,I,iBAAPF,EAAAI,SAExCC,GAAuC,SACvCpB,EAAAA,EAAAA,IAAiE,SAA1DE,KAAK,WAAWW,GAAG,WAXhC,sBAAAN,EAAA,KAAAA,EAAA,GAAAO,GAWoDC,EAAAM,SAAQP,GAAEG,SAAA,I,iBAAVF,EAAAM,YAE9CC,GAA2C,KAE7CtB,EAAAA,EAAAA,IAEI,WADFuB,EAAAA,EAAAA,IAA4CC,EAAA,CAA/BC,GAAG,UAAQ,CAhB9BC,SAAAC,EAAAA,EAAAA,KAgB+B,IAAK,EAhBpCC,EAAAA,EAAAA,IAgB+B,YAhB/BC,EAAA,OAkBI7B,EAAAA,EAAAA,IAEI,WADFuB,EAAAA,EAAAA,IAAoEC,EAAA,CAAvDC,GAAG,oBAAkB,CAnBxCC,SAAAC,EAAAA,EAAAA,KAmByC,IAAmB,EAnB5DC,EAAAA,EAAAA,IAmByC,0BAnBzCC,EAAA,O,CA0BA,OACEb,KAAM,oBACNc,WAAY,CACZ,EACAC,IAAAA,GACE,MAAO,CACLf,KAAM,GACNG,MAAO,GACPE,SAAU,GACVW,YAAa,GACbC,cAAe,GACfC,eAAe,EAEnB,EACAC,QAAS,CACP,cAAMxB,GACJ,IACE,MAAMyB,QAAiBC,MAAM,iCAAkC,CAC7DC,OAAQ,OACRC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB1B,KAAM2B,KAAK3B,KACXG,MAAOwB,KAAKxB,MACZE,SAAUsB,KAAKtB,aAGnB,GAAIe,EAASQ,SACLR,EAASS,OACfF,KAAKG,WAAW,4BAA6B,6CACxC,CACL,MAAMC,QAAcX,EAASS,OAC7BF,KAAKG,WAAW,SAAUC,EAAMC,QAClC,CACF,CAAE,MAAOC,GACPN,KAAKG,WAAW,6BAA8BG,EAAID,QACpD,CACF,EACAF,UAAAA,CAAWI,EAAOF,GAChBL,KAAKX,YAAckB,EACnBP,KAAKV,cAAgBe,EACrBL,KAAKT,eAAgB,CACvB,I,UC9DJ,MAAMiB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/authentication/RegisterContent.vue","webpack://miriamgemeinde/./src/content/authentication/RegisterContent.vue?54da"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./RegisterContent.vue?vue&type=template&id=182f8976&scoped=true\"\nimport script from \"./RegisterContent.vue?vue&type=script&lang=js\"\nexport * from \"./RegisterContent.vue?vue&type=script&lang=js\"\n\nimport \"./RegisterContent.vue?vue&type=style&index=0&id=182f8976&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-182f8976\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","_createElementBlock","_hoisted_1","_hoisted_2","onSubmit","_cache","_withModifiers","args","$options","register","_hoisted_3","id","$event","$data","name","required","_hoisted_4","email","_hoisted_5","password","_hoisted_6","_createVNode","_component_router_link","to","default","_withCtx","_createTextVNode","_","components","data","dialogTitle","dialogMessage","dialogVisible","methods","response","fetch","method","headers","body","JSON","stringify","this","ok","json","showDialog","error","message","err","title","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/5693.df495919.js b/public/js/5693.df495919.js new file mode 100644 index 0000000..bd3b1b4 --- /dev/null +++ b/public/js/5693.df495919.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[5693],{8074:function(e,t,i){i(4114);var s=i(6768),l=i(5688),n=i(5187);function o(e){return 0!==e&&(!(!Array.isArray(e)||0!==e.length)||!e)}function a(e){return(...t)=>!e(...t)}function r(e,t){void 0===e&&(e="undefined"),null===e&&(e="null"),!1===e&&(e="false");const i=e.toString().toLowerCase();return-1!==i.indexOf(t.trim())}function h(e,t,i,s){return t?e.filter((e=>r(s(e,i),t))).sort(((e,t)=>s(e,i).length-s(t,i).length)):e}function u(e){return e.filter((e=>!e.$isLabel))}function p(e,t){return i=>i.reduce(((i,s)=>s[e]&&s[e].length?(i.push({$groupLabel:s[t],$isLabel:!0}),i.concat(s[e])):i),[])}function c(e,t,i,s,l){return n=>n.map((n=>{if(!n[i])return console.warn("Options passed to vue-multiselect do not contain groups, despite the config."),[];const o=h(n[i],e,t,l);return o.length?{[s]:n[s],[i]:o}:[]}))}const d=(...e)=>t=>e.reduce(((e,t)=>t(e)),t);var g={data(){return{search:"",isOpen:!1,preferredOpenDirection:"below",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:"Select option"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default(e,t){return o(e)?"":t?e[t]:e}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:"Press enter to create a tag"},tagPosition:{type:String,default:"top"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1},preventAutofocus:{type:Boolean,default:!1}},mounted(){!this.multiple&&this.max&&console.warn("[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false."),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue(){return this.modelValue||0===this.modelValue?Array.isArray(this.modelValue)?this.modelValue:[this.modelValue]:[]},filteredOptions(){const e=this.search||"",t=e.toLowerCase().trim();let i=this.options.concat();return i=this.internalSearch?this.groupValues?this.filterAndFlat(i,t,this.label):h(i,t,this.label,this.customLabel):this.groupValues?p(this.groupValues,this.groupLabel)(i):i,i=this.hideSelected?i.filter(a(this.isSelected)):i,this.taggable&&t.length&&!this.isExistingOption(t)&&("bottom"===this.tagPosition?i.push({isTag:!0,label:e}):i.unshift({isTag:!0,label:e})),i.slice(0,this.optionsLimit)},valueKeys(){return this.trackBy?this.internalValue.map((e=>e[this.trackBy])):this.internalValue},optionKeys(){const e=this.groupValues?this.flatAndStrip(this.options):this.options;return e.map((e=>this.customLabel(e,this.label).toString().toLowerCase()))},currentOptionLabel(){return this.multiple?this.searchable?"":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?"":this.placeholder}},watch:{internalValue:{handler(){this.resetAfter&&this.internalValue.length&&(this.search="",this.$emit("update:modelValue",this.multiple?[]:null))},deep:!0},search(){this.$emit("search-change",this.search)}},emits:["open","search-change","close","select","update:modelValue","remove","tag"],methods:{getValue(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat(e,t,i){return d(c(t,i,this.groupValues,this.groupLabel,this.customLabel),p(this.groupValues,this.groupLabel))(e)},flatAndStrip(e){return d(p(this.groupValues,this.groupLabel),u)(e)},updateSearch(e){this.search=e},isExistingOption(e){return!!this.options&&this.optionKeys.indexOf(e)>-1},isSelected(e){const t=this.trackBy?e[this.trackBy]:e;return this.valueKeys.indexOf(t)>-1},isOptionDisabled(e){return!!e.$isDisabled},getOptionLabel(e){if(o(e))return"";if(e.isTag)return e.label;if(e.$isLabel)return e.$groupLabel;const t=this.customLabel(e,this.label);return o(t)?"":t},select(e,t){if(e.$isLabel&&this.groupSelect)this.selectGroup(e);else if(!(-1!==this.blockKeys.indexOf(t)||this.disabled||e.$isDisabled||e.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&("Tab"!==t||this.pointerDirty)){if(e.isTag)this.$emit("tag",e.label,this.id),this.search="",this.closeOnSelect&&!this.multiple&&this.deactivate();else{const i=this.isSelected(e);if(i)return void("Tab"!==t&&this.removeElement(e));this.multiple?this.$emit("update:modelValue",this.internalValue.concat([e])):this.$emit("update:modelValue",e),this.$emit("select",e,this.id),this.clearOnSelect&&(this.search="")}this.closeOnSelect&&this.deactivate()}},selectGroup(e){const t=this.options.find((t=>t[this.groupLabel]===e.$groupLabel));if(t){if(this.wholeGroupSelected(t)){this.$emit("remove",t[this.groupValues],this.id);const e=this.trackBy?t[this.groupValues].map((e=>e[this.trackBy])):t[this.groupValues],i=this.internalValue.filter((t=>-1===e.indexOf(this.trackBy?t[this.trackBy]:t)));this.$emit("update:modelValue",i)}else{let e=t[this.groupValues].filter((e=>!(this.isOptionDisabled(e)||this.isSelected(e))));this.max&&e.splice(this.max-this.internalValue.length),this.$emit("select",e,this.id),this.$emit("update:modelValue",this.internalValue.concat(e))}this.closeOnSelect&&this.deactivate()}},wholeGroupSelected(e){return e[this.groupValues].every((e=>this.isSelected(e)||this.isOptionDisabled(e)))},wholeGroupDisabled(e){return e[this.groupValues].every(this.isOptionDisabled)},removeElement(e,t=!0){if(this.disabled)return;if(e.$isDisabled)return;if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();const i="object"===typeof e?this.valueKeys.indexOf(e[this.trackBy]):this.valueKeys.indexOf(e);if(this.multiple){const e=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit("update:modelValue",e)}else this.$emit("update:modelValue",null);this.$emit("remove",e,this.id),this.closeOnSelect&&t&&this.deactivate()},removeLastElement(){-1===this.blockKeys.indexOf("Delete")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate(){this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=""),this.preventAutofocus||this.$nextTick((()=>this.$refs.search&&this.$refs.search.focus()))):this.preventAutofocus||"undefined"!==typeof this.$el&&this.$el.focus(),this.$emit("open",this.id))},deactivate(){this.isOpen&&(this.isOpen=!1,this.searchable?null!==this.$refs.search&&"undefined"!==typeof this.$refs.search&&this.$refs.search.blur():"undefined"!==typeof this.$el&&this.$el.blur(),this.preserveSearch||(this.search=""),this.$emit("close",this.getValue(),this.id))},toggle(){this.isOpen?this.deactivate():this.activate()},adjustPosition(){if("undefined"===typeof window)return;const e=this.$el.getBoundingClientRect().top,t=window.innerHeight-this.$el.getBoundingClientRect().bottom,i=t>this.maxHeight;i||t>e||"below"===this.openDirection||"bottom"===this.openDirection?(this.preferredOpenDirection="below",this.optimizedHeight=Math.min(t-40,this.maxHeight)):(this.preferredOpenDirection="above",this.optimizedHeight=Math.min(e-40,this.maxHeight))}}},b={data(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition(){return this.pointer*this.optionHeight},visibleElements(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions(){this.pointerAdjust()},isOpen(){this.pointerDirty=!1},pointer(){this.$refs.search&&this.$refs.search.setAttribute("aria-activedescendant",this.id+"-"+this.pointer.toString())}},methods:{optionHighlight(e,t){return{"multiselect__option--highlight":e===this.pointer&&this.showPointer,"multiselect__option--selected":this.isSelected(t)}},groupHighlight(e,t){if(!this.groupSelect)return["multiselect__option--disabled",{"multiselect__option--group":t.$isLabel}];const i=this.options.find((e=>e[this.groupLabel]===t.$groupLabel));return i&&!this.wholeGroupDisabled(i)?["multiselect__option--group",{"multiselect__option--highlight":e===this.pointer&&this.showPointer},{"multiselect__option--group-selected":this.wholeGroupSelected(i)}]:"multiselect__option--disabled"},addPointerElement({key:e}="Enter"){this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward(){this.pointer0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet(e){this.pointer=e,this.pointerDirty=!0}}},m={name:"vue-multiselect",mixins:[g,b],compatConfig:{MODE:3,ATTR_ENUMERATED_COERCION:!1},props:{name:{type:String,default:""},modelValue:{type:null,default(){return[]}},selectLabel:{type:String,default:"Press enter to select"},selectGroupLabel:{type:String,default:"Press enter to select group"},selectedLabel:{type:String,default:"Selected"},deselectLabel:{type:String,default:"Press enter to remove"},deselectGroupLabel:{type:String,default:"Press enter to deselect group"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:e=>`and ${e} more`},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:""},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{hasOptionGroup(){return this.groupValues&&this.groupLabel&&this.groupSelect},isSingleLabelVisible(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible(){return!this.internalValue.length&&(!this.searchable||!this.isOpen)},visibleValues(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue(){return this.internalValue[0]},deselectLabelText(){return this.showLabels?this.deselectLabel:""},deselectGroupLabelText(){return this.showLabels?this.deselectGroupLabel:""},selectLabelText(){return this.showLabels?this.selectLabel:""},selectGroupLabelText(){return this.showLabels?this.selectGroupLabel:""},selectedLabelText(){return this.showLabels?this.selectedLabel:""},inputStyle(){return this.searchable||this.multiple&&this.modelValue&&this.modelValue.length?this.isOpen?{width:"100%"}:{width:"0",position:"absolute",padding:"0"}:""},contentStyle(){return this.options.length?{display:"inline-block"}:{display:"block"}},isAbove(){return"above"===this.openDirection||"top"===this.openDirection||"below"!==this.openDirection&&"bottom"!==this.openDirection&&"above"===this.preferredOpenDirection},showSearchInput(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}};const f={ref:"tags",class:"multiselect__tags"},v={class:"multiselect__tags-wrap"},y={class:"multiselect__spinner"},$={key:0},V={class:"multiselect__option"},O={class:"multiselect__option"},L=(0,s.eW)("No elements found. Consider changing the search query."),S={class:"multiselect__option"},w=(0,s.eW)("List is empty.");function x(e,t,i,o,a,r){return(0,s.uX)(),(0,s.Wv)("div",{tabindex:e.searchable?-1:i.tabindex,class:[{"multiselect--active":e.isOpen,"multiselect--disabled":i.disabled,"multiselect--above":r.isAbove,"multiselect--has-options-group":r.hasOptionGroup},"multiselect"],onFocus:t[14]||(t[14]=t=>e.activate()),onBlur:t[15]||(t[15]=t=>!e.searchable&&e.deactivate()),onKeydown:[t[16]||(t[16]=(0,l.jR)((0,l.D$)((t=>e.pointerForward()),["self","prevent"]),["down"])),t[17]||(t[17]=(0,l.jR)((0,l.D$)((t=>e.pointerBackward()),["self","prevent"]),["up"]))],onKeypress:t[18]||(t[18]=(0,l.jR)((0,l.D$)((t=>e.addPointerElement(t)),["stop","self"]),["enter","tab"])),onKeyup:t[19]||(t[19]=(0,l.jR)((t=>e.deactivate()),["esc"])),role:"combobox","aria-owns":"listbox-"+e.id},[(0,s.RG)(e.$slots,"caret",{toggle:e.toggle},(()=>[(0,s.bF)("div",{onMousedown:t[1]||(t[1]=(0,l.D$)((t=>e.toggle()),["prevent","stop"])),class:"multiselect__select"},null,32)])),(0,s.RG)(e.$slots,"clear",{search:e.search}),(0,s.bF)("div",f,[(0,s.RG)(e.$slots,"selection",{search:e.search,remove:e.removeElement,values:r.visibleValues,isOpen:e.isOpen},(()=>[(0,s.bo)((0,s.bF)("div",v,[((0,s.uX)(!0),(0,s.Wv)(s.FK,null,(0,s.pI)(r.visibleValues,((t,i)=>(0,s.RG)(e.$slots,"tag",{option:t,search:e.search,remove:e.removeElement},(()=>[((0,s.uX)(),(0,s.Wv)("span",{class:"multiselect__tag",key:i},[(0,s.bF)("span",{textContent:(0,n.v_)(e.getOptionLabel(t))},null,8,["textContent"]),(0,s.bF)("i",{tabindex:"1",onKeypress:(0,l.jR)((0,l.D$)((i=>e.removeElement(t)),["prevent"]),["enter"]),onMousedown:(0,l.D$)((i=>e.removeElement(t)),["prevent"]),class:"multiselect__tag-icon"},null,40,["onKeypress","onMousedown"])]))])))),256))],512),[[l.aG,r.visibleValues.length>0]]),e.internalValue&&e.internalValue.length>i.limit?(0,s.RG)(e.$slots,"limit",{key:0},(()=>[(0,s.bF)("strong",{class:"multiselect__strong",textContent:(0,n.v_)(i.limitText(e.internalValue.length-i.limit))},null,8,["textContent"])])):(0,s.Q3)("v-if",!0)])),(0,s.bF)(l.eB,{name:"multiselect__loading"},{default:(0,s.k6)((()=>[(0,s.RG)(e.$slots,"loading",{},(()=>[(0,s.bo)((0,s.bF)("div",y,null,512),[[l.aG,i.loading]])]))])),_:3}),e.searchable?((0,s.uX)(),(0,s.Wv)("input",{key:0,ref:"search",name:i.name,id:e.id,type:"text",autocomplete:"off",spellcheck:!1,placeholder:e.placeholder,style:r.inputStyle,value:e.search,disabled:i.disabled,tabindex:i.tabindex,onInput:t[2]||(t[2]=t=>e.updateSearch(t.target.value)),onFocus:t[3]||(t[3]=(0,l.D$)((t=>e.activate()),["prevent"])),onBlur:t[4]||(t[4]=(0,l.D$)((t=>e.deactivate()),["prevent"])),onKeyup:t[5]||(t[5]=(0,l.jR)((t=>e.deactivate()),["esc"])),onKeydown:[t[6]||(t[6]=(0,l.jR)((0,l.D$)((t=>e.pointerForward()),["prevent"]),["down"])),t[7]||(t[7]=(0,l.jR)((0,l.D$)((t=>e.pointerBackward()),["prevent"]),["up"])),t[9]||(t[9]=(0,l.jR)((0,l.D$)((t=>e.removeLastElement()),["stop"]),["delete"]))],onKeypress:t[8]||(t[8]=(0,l.jR)((0,l.D$)((t=>e.addPointerElement(t)),["prevent","stop","self"]),["enter"])),class:"multiselect__input","aria-controls":"listbox-"+e.id},null,44,["name","id","placeholder","value","disabled","tabindex","aria-controls"])):(0,s.Q3)("v-if",!0),r.isSingleLabelVisible?((0,s.uX)(),(0,s.Wv)("span",{key:1,class:"multiselect__single",onMousedown:t[10]||(t[10]=(0,l.D$)(((...t)=>e.toggle&&e.toggle(...t)),["prevent"]))},[(0,s.RG)(e.$slots,"singleLabel",{option:r.singleValue},(()=>[(0,s.eW)((0,n.v_)(e.currentOptionLabel),1)]))],32)):(0,s.Q3)("v-if",!0),r.isPlaceholderVisible?((0,s.uX)(),(0,s.Wv)("span",{key:2,class:"multiselect__placeholder",onMousedown:t[11]||(t[11]=(0,l.D$)(((...t)=>e.toggle&&e.toggle(...t)),["prevent"]))},[(0,s.RG)(e.$slots,"placeholder",{},(()=>[(0,s.eW)((0,n.v_)(e.placeholder),1)]))],32)):(0,s.Q3)("v-if",!0)],512),(0,s.bF)(l.eB,{name:"multiselect"},{default:(0,s.k6)((()=>[(0,s.bo)((0,s.bF)("div",{class:"multiselect__content-wrapper",onFocus:t[12]||(t[12]=(...t)=>e.activate&&e.activate(...t)),tabindex:"-1",onMousedown:t[13]||(t[13]=(0,l.D$)((()=>{}),["prevent"])),style:{maxHeight:e.optimizedHeight+"px"},ref:"list"},[(0,s.bF)("ul",{class:"multiselect__content",style:r.contentStyle,role:"listbox",id:"listbox-"+e.id},[(0,s.RG)(e.$slots,"beforeList"),e.multiple&&e.max===e.internalValue.length?((0,s.uX)(),(0,s.Wv)("li",$,[(0,s.bF)("span",V,[(0,s.RG)(e.$slots,"maxElements",{},(()=>[(0,s.eW)("Maximum of "+(0,n.v_)(e.max)+" options selected. First remove a selected option to select another.",1)]))])])):(0,s.Q3)("v-if",!0),!e.max||e.internalValue.length((0,s.uX)(),(0,s.Wv)("li",{class:"multiselect__element",key:i,id:e.id+"-"+i,role:t&&(t.$isLabel||t.$isDisabled)?null:"option"},[t&&(t.$isLabel||t.$isDisabled)?(0,s.Q3)("v-if",!0):((0,s.uX)(),(0,s.Wv)("span",{key:0,class:[e.optionHighlight(i,t),"multiselect__option"],onClick:(0,l.D$)((i=>e.select(t)),["stop"]),onMouseenter:(0,l.D$)((t=>e.pointerSet(i)),["self"]),"data-select":t&&t.isTag?e.tagPlaceholder:r.selectLabelText,"data-selected":r.selectedLabelText,"data-deselect":r.deselectLabelText},[(0,s.RG)(e.$slots,"option",{option:t,search:e.search,index:i},(()=>[(0,s.bF)("span",null,(0,n.v_)(e.getOptionLabel(t)),1)]))],42,["onClick","onMouseenter","data-select","data-selected","data-deselect"])),t&&(t.$isLabel||t.$isDisabled)?((0,s.uX)(),(0,s.Wv)("span",{key:1,"data-select":e.groupSelect&&r.selectGroupLabelText,"data-deselect":e.groupSelect&&r.deselectGroupLabelText,class:[e.groupHighlight(i,t),"multiselect__option"],onMouseenter:(0,l.D$)((t=>e.groupSelect&&e.pointerSet(i)),["self"]),onMousedown:(0,l.D$)((i=>e.selectGroup(t)),["prevent"])},[(0,s.RG)(e.$slots,"option",{option:t,search:e.search,index:i},(()=>[(0,s.bF)("span",null,(0,n.v_)(e.getOptionLabel(t)),1)]))],42,["data-select","data-deselect","onMouseenter","onMousedown"])):(0,s.Q3)("v-if",!0)],8,["id","role"])))),128)):(0,s.Q3)("v-if",!0),(0,s.bo)((0,s.bF)("li",null,[(0,s.bF)("span",O,[(0,s.RG)(e.$slots,"noResult",{search:e.search},(()=>[L]))])],512),[[l.aG,i.showNoResults&&0===e.filteredOptions.length&&e.search&&!i.loading]]),(0,s.bo)((0,s.bF)("li",null,[(0,s.bF)("span",S,[(0,s.RG)(e.$slots,"noOptions",{},(()=>[w]))])],512),[[l.aG,i.showNoOptions&&(0===e.options.length||!0===r.hasOptionGroup&&0===e.filteredOptions.length)&&!e.search&&!i.loading]]),(0,s.RG)(e.$slots,"afterList")],12,["id"])],36),[[l.aG,e.isOpen]])])),_:3})],42,["tabindex","aria-owns"])}m.render=x,t.Ay=m}}]); +//# sourceMappingURL=5693.df495919.js.map \ No newline at end of file diff --git a/public/js/5693.df495919.js.map b/public/js/5693.df495919.js.map new file mode 100644 index 0000000..ee199a9 --- /dev/null +++ b/public/js/5693.df495919.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/5693.df495919.js","mappings":"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","sources":["webpack://miriamgemeinde/./node_modules/vue-multiselect/dist/vue-multiselect.esm.js"],"sourcesContent":["import { openBlock, createBlock, withKeys, withModifiers, renderSlot, createVNode, withDirectives, Fragment, renderList, toDisplayString, vShow, createCommentVNode, Transition, withCtx, createTextVNode } from 'vue';\n\nfunction isEmpty (opt) {\n if (opt === 0) return false\n if (Array.isArray(opt) && opt.length === 0) return true\n return !opt\n}\n\nfunction not (fun) {\n return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n /* istanbul ignore else */\n if (str === undefined) str = 'undefined';\n if (str === null) str = 'null';\n if (str === false) str = 'false';\n const text = str.toString().toLowerCase();\n return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n return search ? options\n .filter((option) => includes(customLabel(option, label), search))\n .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n return (options) =>\n options.reduce((prev, curr) => {\n /* istanbul ignore else */\n if (curr[values] && curr[values].length) {\n prev.push({\n $groupLabel: curr[label],\n $isLabel: true\n });\n return prev.concat(curr[values])\n }\n return prev\n }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n return (groups) =>\n groups.map((group) => {\n /* istanbul ignore else */\n if (!group[values]) {\n console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`);\n return []\n }\n const groupOptions = filterOptions(group[values], search, label, customLabel);\n\n return groupOptions.length\n ? {\n [groupLabel]: group[groupLabel],\n [values]: groupOptions\n }\n : []\n })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x);\n\nvar multiselectMixin = {\n data () {\n return {\n search: '',\n isOpen: false,\n preferredOpenDirection: 'below',\n optimizedHeight: this.maxHeight\n }\n },\n props: {\n /**\n * Decide whether to filter the results based on search query.\n * Useful for async filtering, where we search through more complex data.\n * @type {Boolean}\n */\n internalSearch: {\n type: Boolean,\n default: true\n },\n /**\n * Array of available options: Objects, Strings or Integers.\n * If array of objects, visible label will default to option.label.\n * If `labal` prop is passed, label will equal option['label']\n * @type {Array}\n */\n options: {\n type: Array,\n required: true\n },\n /**\n * Equivalent to the `multiple` attribute on a `` input.\n * @default 'Select option'\n * @type {String}\n */\n placeholder: {\n type: String,\n default: 'Select option'\n },\n /**\n * Allow to remove all selected values\n * @default true\n * @type {Boolean}\n */\n allowEmpty: {\n type: Boolean,\n default: true\n },\n /**\n * Reset this.internalValue, this.search after this.internalValue changes.\n * Useful if want to create a stateless dropdown.\n * @default false\n * @type {Boolean}\n */\n resetAfter: {\n type: Boolean,\n default: false\n },\n /**\n * Enable/disable closing after selecting an option\n * @default true\n * @type {Boolean}\n */\n closeOnSelect: {\n type: Boolean,\n default: true\n },\n /**\n * Function to interpolate the custom label\n * @default false\n * @type {Function}\n */\n customLabel: {\n type: Function,\n default (option, label) {\n if (isEmpty(option)) return ''\n return label ? option[label] : option\n }\n },\n /**\n * Disable / Enable tagging\n * @default false\n * @type {Boolean}\n */\n taggable: {\n type: Boolean,\n default: false\n },\n /**\n * String to show when highlighting a potential tag\n * @default 'Press enter to create a tag'\n * @type {String}\n */\n tagPlaceholder: {\n type: String,\n default: 'Press enter to create a tag'\n },\n /**\n * By default new tags will appear above the search results.\n * Changing to 'bottom' will revert this behaviour\n * and will proritize the search results\n * @default 'top'\n * @type {String}\n */\n tagPosition: {\n type: String,\n default: 'top'\n },\n /**\n * Number of allowed selected options. No limit if 0.\n * @default 0\n * @type {Number}\n */\n max: {\n type: [Number, Boolean],\n default: false\n },\n /**\n * Will be passed with all events as second param.\n * Useful for identifying events origin.\n * @default null\n * @type {String|Integer}\n */\n id: {\n default: null\n },\n /**\n * Limits the options displayed in the dropdown\n * to the first X options.\n * @default 1000\n * @type {Integer}\n */\n optionsLimit: {\n type: Number,\n default: 1000\n },\n /**\n * Name of the property containing\n * the group values\n * @default 1000\n * @type {String}\n */\n groupValues: {\n type: String\n },\n /**\n * Name of the property containing\n * the group label\n * @default 1000\n * @type {String}\n */\n groupLabel: {\n type: String\n },\n /**\n * Allow to select all group values\n * by selecting the group label\n * @default false\n * @type {Boolean}\n */\n groupSelect: {\n type: Boolean,\n default: false\n },\n /**\n * Array of keyboard keys to block\n * when selecting\n * @default 1000\n * @type {String}\n */\n blockKeys: {\n type: Array,\n default () {\n return []\n }\n },\n /**\n * Prevent from wiping up the search value\n * @default false\n * @type {Boolean}\n */\n preserveSearch: {\n type: Boolean,\n default: false\n },\n /**\n * Select 1st options if value is empty\n * @default false\n * @type {Boolean}\n */\n preselectFirst: {\n type: Boolean,\n default: false\n },\n /**\n * Prevent autofocus\n * @default false\n * @type {Boolean}\n */\n preventAutofocus: {\n type: Boolean,\n default: false\n }\n },\n mounted () {\n /* istanbul ignore else */\n if (!this.multiple && this.max) {\n console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.');\n }\n if (\n this.preselectFirst &&\n !this.internalValue.length &&\n this.options.length\n ) {\n this.select(this.filteredOptions[0]);\n }\n },\n computed: {\n internalValue () {\n return this.modelValue || this.modelValue === 0\n ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n : []\n },\n filteredOptions () {\n const search = this.search || '';\n const normalizedSearch = search.toLowerCase().trim();\n\n let options = this.options.concat();\n\n /* istanbul ignore else */\n if (this.internalSearch) {\n options = this.groupValues\n ? this.filterAndFlat(options, normalizedSearch, this.label)\n : filterOptions(options, normalizedSearch, this.label, this.customLabel);\n } else {\n options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options;\n }\n\n options = this.hideSelected\n ? options.filter(not(this.isSelected))\n : options;\n\n /* istanbul ignore else */\n if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n if (this.tagPosition === 'bottom') {\n options.push({isTag: true, label: search});\n } else {\n options.unshift({isTag: true, label: search});\n }\n }\n\n return options.slice(0, this.optionsLimit)\n },\n valueKeys () {\n if (this.trackBy) {\n return this.internalValue.map((element) => element[this.trackBy])\n } else {\n return this.internalValue\n }\n },\n optionKeys () {\n const options = this.groupValues ? this.flatAndStrip(this.options) : this.options;\n return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n },\n currentOptionLabel () {\n return this.multiple\n ? this.searchable ? '' : this.placeholder\n : this.internalValue.length\n ? this.getOptionLabel(this.internalValue[0])\n : this.searchable ? '' : this.placeholder\n }\n },\n watch: {\n internalValue: {\n handler () {\n /* istanbul ignore else */\n if (this.resetAfter && this.internalValue.length) {\n this.search = '';\n this.$emit('update:modelValue', this.multiple ? [] : null);\n }\n },\n deep: true\n },\n search () {\n this.$emit('search-change', this.search);\n }\n },\n emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n methods: {\n /**\n * Returns the internalValue in a way it can be emited to the parent\n * @returns {Object||Array||String||Integer}\n */\n getValue () {\n return this.multiple\n ? this.internalValue\n : this.internalValue.length === 0\n ? null\n : this.internalValue[0]\n },\n /**\n * Filters and then flattens the options list\n * @param {Array}\n * @return {Array} returns a filtered and flat options list\n */\n filterAndFlat (options, search, label) {\n return flow(\n filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n flattenOptions(this.groupValues, this.groupLabel)\n )(options)\n },\n /**\n * Flattens and then strips the group labels from the options list\n * @param {Array}\n * @return {Array} returns a flat options list without group labels\n */\n flatAndStrip (options) {\n return flow(\n flattenOptions(this.groupValues, this.groupLabel),\n stripGroups\n )(options)\n },\n /**\n * Updates the search value\n * @param {String}\n */\n updateSearch (query) {\n this.search = query;\n },\n /**\n * Finds out if the given query is already present\n * in the available options\n * @param {String}\n * @return {Boolean} returns true if element is available\n */\n isExistingOption (query) {\n return !this.options\n ? false\n : this.optionKeys.indexOf(query) > -1\n },\n /**\n * Finds out if the given element is already present\n * in the result value\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is selected\n */\n isSelected (option) {\n const opt = this.trackBy\n ? option[this.trackBy]\n : option;\n return this.valueKeys.indexOf(opt) > -1\n },\n /**\n * Finds out if the given option is disabled\n * @param {Object||String||Integer} option passed element to check\n * @returns {Boolean} returns true if element is disabled\n */\n isOptionDisabled (option) {\n return !!option.$isDisabled\n },\n /**\n * Returns empty string when options is null/undefined\n * Returns tag query if option is tag.\n * Returns the customLabel() results and casts it to string.\n *\n * @param {Object||String||Integer} Passed option\n * @returns {Object||String}\n */\n getOptionLabel (option) {\n if (isEmpty(option)) return ''\n /* istanbul ignore else */\n if (option.isTag) return option.label\n /* istanbul ignore else */\n if (option.$isLabel) return option.$groupLabel\n\n const label = this.customLabel(option, this.label);\n /* istanbul ignore else */\n if (isEmpty(label)) return ''\n return label\n },\n /**\n * Add the given option to the list of selected options\n * or sets the option as the selected option.\n * If option is already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} option to select/deselect\n * @param {Boolean} block removing\n */\n select (option, key) {\n /* istanbul ignore else */\n if (option.$isLabel && this.groupSelect) {\n this.selectGroup(option);\n return\n }\n if (this.blockKeys.indexOf(key) !== -1 ||\n this.disabled ||\n option.$isDisabled ||\n option.$isLabel\n ) return\n /* istanbul ignore else */\n if (this.max && this.multiple && this.internalValue.length === this.max) return\n /* istanbul ignore else */\n if (key === 'Tab' && !this.pointerDirty) return\n if (option.isTag) {\n this.$emit('tag', option.label, this.id);\n this.search = '';\n if (this.closeOnSelect && !this.multiple) this.deactivate();\n } else {\n const isSelected = this.isSelected(option);\n\n if (isSelected) {\n if (key !== 'Tab') this.removeElement(option);\n return\n }\n\n if (this.multiple) {\n this.$emit('update:modelValue', this.internalValue.concat([option]));\n } else {\n this.$emit('update:modelValue', option);\n }\n\n this.$emit('select', option, this.id);\n\n /* istanbul ignore else */\n if (this.clearOnSelect) this.search = '';\n }\n /* istanbul ignore else */\n if (this.closeOnSelect) this.deactivate();\n },\n /**\n * Add the given group options to the list of selected options\n * If all group optiona are already selected -> remove it from the results.\n *\n * @param {Object||String||Integer} group to select/deselect\n */\n selectGroup (selectedGroup) {\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n });\n\n if (!group) return\n\n if (this.wholeGroupSelected(group)) {\n this.$emit('remove', group[this.groupValues], this.id);\n\n const groupValues = this.trackBy ? group[this.groupValues].map(val => val[this.trackBy]) : group[this.groupValues];\n const newValue = this.internalValue.filter(\n option => groupValues.indexOf(this.trackBy ? option[this.trackBy] : option) === -1\n );\n\n this.$emit('update:modelValue', newValue);\n } else {\n let optionsToAdd = group[this.groupValues].filter(\n option => !(this.isOptionDisabled(option) || this.isSelected(option))\n );\n\n // if max is defined then just select options respecting max\n if (this.max) {\n optionsToAdd.splice(this.max - this.internalValue.length);\n }\n\n this.$emit('select', optionsToAdd, this.id);\n this.$emit(\n 'update:modelValue',\n this.internalValue.concat(optionsToAdd)\n );\n }\n\n if (this.closeOnSelect) this.deactivate();\n },\n /**\n * Helper to identify if all values in a group are selected\n *\n * @param {Object} group to validated selected values against\n */\n wholeGroupSelected (group) {\n return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n )\n },\n /**\n * Helper to identify if all values in a group are disabled\n *\n * @param {Object} group to check for disabled values\n */\n wholeGroupDisabled (group) {\n return group[this.groupValues].every(this.isOptionDisabled)\n },\n /**\n * Removes the given option from the selected options.\n * Additionally checks this.allowEmpty prop if option can be removed when\n * it is the last selected option.\n *\n * @param {type} option description\n * @return {type} description\n */\n removeElement (option, shouldClose = true) {\n /* istanbul ignore else */\n if (this.disabled) return\n /* istanbul ignore else */\n if (option.$isDisabled) return\n /* istanbul ignore else */\n if (!this.allowEmpty && this.internalValue.length <= 1) {\n this.deactivate();\n return\n }\n\n const index = typeof option === 'object'\n ? this.valueKeys.indexOf(option[this.trackBy])\n : this.valueKeys.indexOf(option);\n\n if (this.multiple) {\n const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1));\n this.$emit('update:modelValue', newValue);\n } else {\n this.$emit('update:modelValue', null);\n }\n this.$emit('remove', option, this.id);\n\n /* istanbul ignore else */\n if (this.closeOnSelect && shouldClose) this.deactivate();\n },\n /**\n * Calls this.removeElement() with the last element\n * from this.internalValue (selected element Array)\n *\n * @fires this#removeElement\n */\n removeLastElement () {\n /* istanbul ignore else */\n if (this.blockKeys.indexOf('Delete') !== -1) return\n /* istanbul ignore else */\n if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n this.removeElement(this.internalValue[this.internalValue.length - 1], false);\n }\n },\n /**\n * Opens the multiselect’s dropdown.\n * Sets this.isOpen to TRUE\n */\n activate () {\n /* istanbul ignore else */\n if (this.isOpen || this.disabled) return\n\n this.adjustPosition();\n /* istanbul ignore else */\n if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n this.pointer = 1;\n }\n\n this.isOpen = true;\n /* istanbul ignore else */\n if (this.searchable) {\n if (!this.preserveSearch) this.search = '';\n if (!this.preventAutofocus) this.$nextTick(() => this.$refs.search && this.$refs.search.focus());\n } else if (!this.preventAutofocus) {\n if (typeof this.$el !== 'undefined') this.$el.focus();\n }\n this.$emit('open', this.id);\n },\n /**\n * Closes the multiselect’s dropdown.\n * Sets this.isOpen to FALSE\n */\n deactivate () {\n /* istanbul ignore else */\n if (!this.isOpen) return\n\n this.isOpen = false;\n /* istanbul ignore else */\n if (this.searchable) {\n if (this.$refs.search !== null && typeof this.$refs.search !== 'undefined') this.$refs.search.blur();\n } else {\n if (typeof this.$el !== 'undefined') this.$el.blur();\n }\n if (!this.preserveSearch) this.search = '';\n this.$emit('close', this.getValue(), this.id);\n },\n /**\n * Call this.activate() or this.deactivate()\n * depending on this.isOpen value.\n *\n * @fires this#activate || this#deactivate\n * @property {Boolean} isOpen indicates if dropdown is open\n */\n toggle () {\n this.isOpen\n ? this.deactivate()\n : this.activate();\n },\n /**\n * Updates the hasEnoughSpace variable used for\n * detecting where to expand the dropdown\n */\n adjustPosition () {\n if (typeof window === 'undefined') return\n\n const spaceAbove = this.$el.getBoundingClientRect().top;\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom;\n const hasEnoughSpaceBelow = spaceBelow > this.maxHeight;\n\n if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n this.preferredOpenDirection = 'below';\n this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight);\n } else {\n this.preferredOpenDirection = 'above';\n this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight);\n }\n }\n }\n};\n\nvar pointerMixin = {\n data () {\n return {\n pointer: 0,\n pointerDirty: false\n }\n },\n props: {\n /**\n * Enable/disable highlighting of the pointed value.\n * @type {Boolean}\n * @default true\n */\n showPointer: {\n type: Boolean,\n default: true\n },\n optionHeight: {\n type: Number,\n default: 40\n }\n },\n computed: {\n pointerPosition () {\n return this.pointer * this.optionHeight\n },\n visibleElements () {\n return this.optimizedHeight / this.optionHeight\n }\n },\n watch: {\n filteredOptions () {\n this.pointerAdjust();\n },\n isOpen () {\n this.pointerDirty = false;\n },\n pointer () {\n this.$refs.search && this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString());\n }\n },\n methods: {\n optionHighlight (index, option) {\n return {\n 'multiselect__option--highlight': index === this.pointer && this.showPointer,\n 'multiselect__option--selected': this.isSelected(option)\n }\n },\n groupHighlight (index, selectedGroup) {\n if (!this.groupSelect) {\n return [\n 'multiselect__option--disabled',\n {'multiselect__option--group': selectedGroup.$isLabel}\n ]\n }\n\n const group = this.options.find((option) => {\n return option[this.groupLabel] === selectedGroup.$groupLabel\n });\n\n return group && !this.wholeGroupDisabled(group) ? [\n 'multiselect__option--group',\n {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n ] : 'multiselect__option--disabled'\n },\n addPointerElement ({key} = 'Enter') {\n /* istanbul ignore else */\n if (this.filteredOptions.length > 0) {\n this.select(this.filteredOptions[this.pointer], key);\n }\n this.pointerReset();\n },\n pointerForward () {\n /* istanbul ignore else */\n if (this.pointer < this.filteredOptions.length - 1) {\n this.pointer++;\n /* istanbul ignore next */\n if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight;\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerForward();\n }\n this.pointerDirty = true;\n },\n pointerBackward () {\n if (this.pointer > 0) {\n this.pointer--;\n /* istanbul ignore else */\n if (this.$refs.list.scrollTop >= this.pointerPosition) {\n this.$refs.list.scrollTop = this.pointerPosition;\n }\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) this.pointerBackward();\n } else {\n /* istanbul ignore else */\n if (\n this.filteredOptions[this.pointer] &&\n this.filteredOptions[0].$isLabel &&\n !this.groupSelect\n ) this.pointerForward();\n }\n this.pointerDirty = true;\n },\n pointerReset () {\n /* istanbul ignore else */\n if (!this.closeOnSelect) return\n this.pointer = 0;\n /* istanbul ignore else */\n if (this.$refs.list) {\n this.$refs.list.scrollTop = 0;\n }\n },\n pointerAdjust () {\n /* istanbul ignore else */\n if (this.pointer >= this.filteredOptions.length - 1) {\n this.pointer = this.filteredOptions.length\n ? this.filteredOptions.length - 1\n : 0;\n }\n\n if (this.filteredOptions.length > 0 &&\n this.filteredOptions[this.pointer].$isLabel &&\n !this.groupSelect\n ) {\n this.pointerForward();\n }\n },\n pointerSet (index) {\n this.pointer = index;\n this.pointerDirty = true;\n }\n }\n};\n\nvar script = {\n name: 'vue-multiselect',\n mixins: [multiselectMixin, pointerMixin],\n compatConfig: {\n MODE: 3,\n ATTR_ENUMERATED_COERCION: false\n },\n props: {\n /**\n * name attribute to match optional label element\n * @default ''\n * @type {String}\n */\n name: {\n type: String,\n default: ''\n },\n /**\n * Presets the selected options value.\n * @type {Object||Array||String||Integer}\n */\n modelValue: {\n type: null,\n default () {\n return []\n }\n },\n /**\n * String to show when pointing to an option\n * @default 'Press enter to select'\n * @type {String}\n */\n selectLabel: {\n type: String,\n default: 'Press enter to select'\n },\n /**\n * String to show when pointing to an option\n * @default 'Press enter to select'\n * @type {String}\n */\n selectGroupLabel: {\n type: String,\n default: 'Press enter to select group'\n },\n /**\n * String to show next to selected option\n * @default 'Selected'\n * @type {String}\n */\n selectedLabel: {\n type: String,\n default: 'Selected'\n },\n /**\n * String to show when pointing to an already selected option\n * @default 'Press enter to remove'\n * @type {String}\n */\n deselectLabel: {\n type: String,\n default: 'Press enter to remove'\n },\n /**\n * String to show when pointing to an already selected option\n * @default 'Press enter to remove'\n * @type {String}\n */\n deselectGroupLabel: {\n type: String,\n default: 'Press enter to deselect group'\n },\n /**\n * Decide whether to show pointer labels\n * @default true\n * @type {Boolean}\n */\n showLabels: {\n type: Boolean,\n default: true\n },\n /**\n * Limit the display of selected options. The rest will be hidden within the limitText string.\n * @default 99999\n * @type {Integer}\n */\n limit: {\n type: Number,\n default: 99999\n },\n /**\n * Sets maxHeight style value of the dropdown\n * @default 300\n * @type {Integer}\n */\n maxHeight: {\n type: Number,\n default: 300\n },\n /**\n * Function that process the message shown when selected\n * elements pass the defined limit.\n * @default 'and * more'\n * @param {Int} count Number of elements more than limit\n * @type {Function}\n */\n limitText: {\n type: Function,\n default: (count) => `and ${count} more`\n },\n /**\n * Set true to trigger the loading spinner.\n * @default False\n * @type {Boolean}\n */\n loading: {\n type: Boolean,\n default: false\n },\n /**\n * Disables the multiselect if true.\n * @default false\n * @type {Boolean}\n */\n disabled: {\n type: Boolean,\n default: false\n },\n /**\n * Fixed opening direction\n * @default ''\n * @type {String}\n */\n openDirection: {\n type: String,\n default: ''\n },\n /**\n * Shows slot with message about empty options\n * @default true\n * @type {Boolean}\n */\n showNoOptions: {\n type: Boolean,\n default: true\n },\n showNoResults: {\n type: Boolean,\n default: true\n },\n tabindex: {\n type: Number,\n default: 0\n }\n },\n computed: {\n hasOptionGroup () {\n return this.groupValues && this.groupLabel && this.groupSelect\n },\n isSingleLabelVisible () {\n return (\n (this.singleValue || this.singleValue === 0) &&\n (!this.isOpen || !this.searchable) &&\n !this.visibleValues.length\n )\n },\n isPlaceholderVisible () {\n return !this.internalValue.length && (!this.searchable || !this.isOpen)\n },\n visibleValues () {\n return this.multiple ? this.internalValue.slice(0, this.limit) : []\n },\n singleValue () {\n return this.internalValue[0]\n },\n deselectLabelText () {\n return this.showLabels ? this.deselectLabel : ''\n },\n deselectGroupLabelText () {\n return this.showLabels ? this.deselectGroupLabel : ''\n },\n selectLabelText () {\n return this.showLabels ? this.selectLabel : ''\n },\n selectGroupLabelText () {\n return this.showLabels ? this.selectGroupLabel : ''\n },\n selectedLabelText () {\n return this.showLabels ? this.selectedLabel : ''\n },\n inputStyle () {\n if (\n this.searchable ||\n (this.multiple && this.modelValue && this.modelValue.length)\n ) {\n // Hide input by setting the width to 0 allowing it to receive focus\n return this.isOpen\n ? {width: '100%'}\n : {width: '0', position: 'absolute', padding: '0'}\n }\n return ''\n },\n contentStyle () {\n return this.options.length\n ? {display: 'inline-block'}\n : {display: 'block'}\n },\n isAbove () {\n if (this.openDirection === 'above' || this.openDirection === 'top') {\n return true\n } else if (\n this.openDirection === 'below' ||\n this.openDirection === 'bottom'\n ) {\n return false\n } else {\n return this.preferredOpenDirection === 'above'\n }\n },\n showSearchInput () {\n return (\n this.searchable &&\n (this.hasSingleSelectedSlot &&\n (this.visibleSingleValue || this.visibleSingleValue === 0)\n ? this.isOpen\n : true)\n )\n }\n }\n};\n\nconst _hoisted_1 = {\n ref: \"tags\",\n class: \"multiselect__tags\"\n};\nconst _hoisted_2 = { class: \"multiselect__tags-wrap\" };\nconst _hoisted_3 = { class: \"multiselect__spinner\" };\nconst _hoisted_4 = { key: 0 };\nconst _hoisted_5 = { class: \"multiselect__option\" };\nconst _hoisted_6 = { class: \"multiselect__option\" };\nconst _hoisted_7 = /*#__PURE__*/createTextVNode(\"No elements found. Consider changing the search query.\");\nconst _hoisted_8 = { class: \"multiselect__option\" };\nconst _hoisted_9 = /*#__PURE__*/createTextVNode(\"List is empty.\");\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createBlock(\"div\", {\n tabindex: _ctx.searchable ? -1 : $props.tabindex,\n class: [{ 'multiselect--active': _ctx.isOpen, 'multiselect--disabled': $props.disabled, 'multiselect--above': $options.isAbove, 'multiselect--has-options-group': $options.hasOptionGroup }, \"multiselect\"],\n onFocus: _cache[14] || (_cache[14] = $event => (_ctx.activate())),\n onBlur: _cache[15] || (_cache[15] = $event => (_ctx.searchable ? false : _ctx.deactivate())),\n onKeydown: [\n _cache[16] || (_cache[16] = withKeys(withModifiers($event => (_ctx.pointerForward()), [\"self\",\"prevent\"]), [\"down\"])),\n _cache[17] || (_cache[17] = withKeys(withModifiers($event => (_ctx.pointerBackward()), [\"self\",\"prevent\"]), [\"up\"]))\n ],\n onKeypress: _cache[18] || (_cache[18] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), [\"stop\",\"self\"]), [\"enter\",\"tab\"])),\n onKeyup: _cache[19] || (_cache[19] = withKeys($event => (_ctx.deactivate()), [\"esc\"])),\n role: \"combobox\",\n \"aria-owns\": 'listbox-'+_ctx.id\n }, [\n renderSlot(_ctx.$slots, \"caret\", { toggle: _ctx.toggle }, () => [\n createVNode(\"div\", {\n onMousedown: _cache[1] || (_cache[1] = withModifiers($event => (_ctx.toggle()), [\"prevent\",\"stop\"])),\n class: \"multiselect__select\"\n }, null, 32 /* HYDRATE_EVENTS */)\n ]),\n renderSlot(_ctx.$slots, \"clear\", { search: _ctx.search }),\n createVNode(\"div\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"selection\", {\n search: _ctx.search,\n remove: _ctx.removeElement,\n values: $options.visibleValues,\n isOpen: _ctx.isOpen\n }, () => [\n withDirectives(createVNode(\"div\", _hoisted_2, [\n (openBlock(true), createBlock(Fragment, null, renderList($options.visibleValues, (option, index) => {\n return renderSlot(_ctx.$slots, \"tag\", {\n option: option,\n search: _ctx.search,\n remove: _ctx.removeElement\n }, () => [\n (openBlock(), createBlock(\"span\", {\n class: \"multiselect__tag\",\n key: index\n }, [\n createVNode(\"span\", {\n textContent: toDisplayString(_ctx.getOptionLabel(option))\n }, null, 8 /* PROPS */, [\"textContent\"]),\n createVNode(\"i\", {\n tabindex: \"1\",\n onKeypress: withKeys(withModifiers($event => (_ctx.removeElement(option)), [\"prevent\"]), [\"enter\"]),\n onMousedown: withModifiers($event => (_ctx.removeElement(option)), [\"prevent\"]),\n class: \"multiselect__tag-icon\"\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, [\"onKeypress\", \"onMousedown\"])\n ]))\n ])\n }), 256 /* UNKEYED_FRAGMENT */))\n ], 512 /* NEED_PATCH */), [\n [vShow, $options.visibleValues.length > 0]\n ]),\n (_ctx.internalValue && _ctx.internalValue.length > $props.limit)\n ? renderSlot(_ctx.$slots, \"limit\", { key: 0 }, () => [\n createVNode(\"strong\", {\n class: \"multiselect__strong\",\n textContent: toDisplayString($props.limitText(_ctx.internalValue.length - $props.limit))\n }, null, 8 /* PROPS */, [\"textContent\"])\n ])\n : createCommentVNode(\"v-if\", true)\n ]),\n createVNode(Transition, { name: \"multiselect__loading\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"loading\", {}, () => [\n withDirectives(createVNode(\"div\", _hoisted_3, null, 512 /* NEED_PATCH */), [\n [vShow, $props.loading]\n ])\n ])\n ]),\n _: 3 /* FORWARDED */\n }),\n (_ctx.searchable)\n ? (openBlock(), createBlock(\"input\", {\n key: 0,\n ref: \"search\",\n name: $props.name,\n id: _ctx.id,\n type: \"text\",\n autocomplete: \"off\",\n spellcheck: false,\n placeholder: _ctx.placeholder,\n style: $options.inputStyle,\n value: _ctx.search,\n disabled: $props.disabled,\n tabindex: $props.tabindex,\n onInput: _cache[2] || (_cache[2] = $event => (_ctx.updateSearch($event.target.value))),\n onFocus: _cache[3] || (_cache[3] = withModifiers($event => (_ctx.activate()), [\"prevent\"])),\n onBlur: _cache[4] || (_cache[4] = withModifiers($event => (_ctx.deactivate()), [\"prevent\"])),\n onKeyup: _cache[5] || (_cache[5] = withKeys($event => (_ctx.deactivate()), [\"esc\"])),\n onKeydown: [\n _cache[6] || (_cache[6] = withKeys(withModifiers($event => (_ctx.pointerForward()), [\"prevent\"]), [\"down\"])),\n _cache[7] || (_cache[7] = withKeys(withModifiers($event => (_ctx.pointerBackward()), [\"prevent\"]), [\"up\"])),\n _cache[9] || (_cache[9] = withKeys(withModifiers($event => (_ctx.removeLastElement()), [\"stop\"]), [\"delete\"]))\n ],\n onKeypress: _cache[8] || (_cache[8] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), [\"prevent\",\"stop\",\"self\"]), [\"enter\"])),\n class: \"multiselect__input\",\n \"aria-controls\": 'listbox-'+_ctx.id\n }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, [\"name\", \"id\", \"placeholder\", \"value\", \"disabled\", \"tabindex\", \"aria-controls\"]))\n : createCommentVNode(\"v-if\", true),\n ($options.isSingleLabelVisible)\n ? (openBlock(), createBlock(\"span\", {\n key: 1,\n class: \"multiselect__single\",\n onMousedown: _cache[10] || (_cache[10] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), [\"prevent\"]))\n }, [\n renderSlot(_ctx.$slots, \"singleLabel\", { option: $options.singleValue }, () => [\n createTextVNode(toDisplayString(_ctx.currentOptionLabel), 1 /* TEXT */)\n ])\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true),\n ($options.isPlaceholderVisible)\n ? (openBlock(), createBlock(\"span\", {\n key: 2,\n class: \"multiselect__placeholder\",\n onMousedown: _cache[11] || (_cache[11] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), [\"prevent\"]))\n }, [\n renderSlot(_ctx.$slots, \"placeholder\", {}, () => [\n createTextVNode(toDisplayString(_ctx.placeholder), 1 /* TEXT */)\n ])\n ], 32 /* HYDRATE_EVENTS */))\n : createCommentVNode(\"v-if\", true)\n ], 512 /* NEED_PATCH */),\n createVNode(Transition, { name: \"multiselect\" }, {\n default: withCtx(() => [\n withDirectives(createVNode(\"div\", {\n class: \"multiselect__content-wrapper\",\n onFocus: _cache[12] || (_cache[12] = (...args) => (_ctx.activate && _ctx.activate(...args))),\n tabindex: \"-1\",\n onMousedown: _cache[13] || (_cache[13] = withModifiers(() => {}, [\"prevent\"])),\n style: { maxHeight: _ctx.optimizedHeight + 'px' },\n ref: \"list\"\n }, [\n createVNode(\"ul\", {\n class: \"multiselect__content\",\n style: $options.contentStyle,\n role: \"listbox\",\n id: 'listbox-'+_ctx.id\n }, [\n renderSlot(_ctx.$slots, \"beforeList\"),\n (_ctx.multiple && _ctx.max === _ctx.internalValue.length)\n ? (openBlock(), createBlock(\"li\", _hoisted_4, [\n createVNode(\"span\", _hoisted_5, [\n renderSlot(_ctx.$slots, \"maxElements\", {}, () => [\n createTextVNode(\"Maximum of \" + toDisplayString(_ctx.max) + \" options selected. First remove a selected option to select another.\", 1 /* TEXT */)\n ])\n ])\n ]))\n : createCommentVNode(\"v-if\", true),\n (!_ctx.max || _ctx.internalValue.length < _ctx.max)\n ? (openBlock(true), createBlock(Fragment, { key: 1 }, renderList(_ctx.filteredOptions, (option, index) => {\n return (openBlock(), createBlock(\"li\", {\n class: \"multiselect__element\",\n key: index,\n id: _ctx.id + '-' + index,\n role: !(option && (option.$isLabel || option.$isDisabled)) ? 'option' : null\n }, [\n (!(option && (option.$isLabel || option.$isDisabled)))\n ? (openBlock(), createBlock(\"span\", {\n key: 0,\n class: [_ctx.optionHighlight(index, option), \"multiselect__option\"],\n onClick: withModifiers($event => (_ctx.select(option)), [\"stop\"]),\n onMouseenter: withModifiers($event => (_ctx.pointerSet(index)), [\"self\"]),\n \"data-select\": option && option.isTag ? _ctx.tagPlaceholder : $options.selectLabelText,\n \"data-selected\": $options.selectedLabelText,\n \"data-deselect\": $options.deselectLabelText\n }, [\n renderSlot(_ctx.$slots, \"option\", {\n option: option,\n search: _ctx.search,\n index: index\n }, () => [\n createVNode(\"span\", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */)\n ])\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"onClick\", \"onMouseenter\", \"data-select\", \"data-selected\", \"data-deselect\"]))\n : createCommentVNode(\"v-if\", true),\n (option && (option.$isLabel || option.$isDisabled))\n ? (openBlock(), createBlock(\"span\", {\n key: 1,\n \"data-select\": _ctx.groupSelect && $options.selectGroupLabelText,\n \"data-deselect\": _ctx.groupSelect && $options.deselectGroupLabelText,\n class: [_ctx.groupHighlight(index, option), \"multiselect__option\"],\n onMouseenter: withModifiers($event => (_ctx.groupSelect && _ctx.pointerSet(index)), [\"self\"]),\n onMousedown: withModifiers($event => (_ctx.selectGroup(option)), [\"prevent\"])\n }, [\n renderSlot(_ctx.$slots, \"option\", {\n option: option,\n search: _ctx.search,\n index: index\n }, () => [\n createVNode(\"span\", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */)\n ])\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"data-select\", \"data-deselect\", \"onMouseenter\", \"onMousedown\"]))\n : createCommentVNode(\"v-if\", true)\n ], 8 /* PROPS */, [\"id\", \"role\"]))\n }), 128 /* KEYED_FRAGMENT */))\n : createCommentVNode(\"v-if\", true),\n withDirectives(createVNode(\"li\", null, [\n createVNode(\"span\", _hoisted_6, [\n renderSlot(_ctx.$slots, \"noResult\", { search: _ctx.search }, () => [\n _hoisted_7\n ])\n ])\n ], 512 /* NEED_PATCH */), [\n [vShow, $props.showNoResults && (_ctx.filteredOptions.length === 0 && _ctx.search && !$props.loading)]\n ]),\n withDirectives(createVNode(\"li\", null, [\n createVNode(\"span\", _hoisted_8, [\n renderSlot(_ctx.$slots, \"noOptions\", {}, () => [\n _hoisted_9\n ])\n ])\n ], 512 /* NEED_PATCH */), [\n [vShow, $props.showNoOptions && ((_ctx.options.length === 0 || ($options.hasOptionGroup === true && _ctx.filteredOptions.length === 0)) && !_ctx.search && !$props.loading)]\n ]),\n renderSlot(_ctx.$slots, \"afterList\")\n ], 12 /* STYLE, PROPS */, [\"id\"])\n ], 36 /* STYLE, HYDRATE_EVENTS */), [\n [vShow, _ctx.isOpen]\n ])\n ]),\n _: 3 /* FORWARDED */\n })\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, [\"tabindex\", \"aria-owns\"]))\n}\n\nscript.render = render;\n\nexport default script;\nexport { script as Multiselect, multiselectMixin, pointerMixin };\n"],"names":["isEmpty","opt","Array","isArray","length","not","fun","params","includes","str","query","undefined","text","toString","toLowerCase","indexOf","trim","filterOptions","options","search","label","customLabel","filter","option","sort","a","b","stripGroups","$isLabel","flattenOptions","values","reduce","prev","curr","push","$groupLabel","concat","filterGroups","groupLabel","groups","map","group","console","warn","groupOptions","flow","fns","x","v","f","multiselectMixin","data","isOpen","preferredOpenDirection","optimizedHeight","this","maxHeight","props","internalSearch","type","Boolean","default","required","multiple","trackBy","String","searchable","clearOnSelect","hideSelected","placeholder","allowEmpty","resetAfter","closeOnSelect","Function","taggable","tagPlaceholder","tagPosition","max","Number","id","optionsLimit","groupValues","groupSelect","blockKeys","preserveSearch","preselectFirst","preventAutofocus","mounted","internalValue","select","filteredOptions","computed","modelValue","normalizedSearch","filterAndFlat","isSelected","isExistingOption","isTag","unshift","slice","valueKeys","element","optionKeys","flatAndStrip","currentOptionLabel","getOptionLabel","watch","handler","$emit","deep","emits","methods","getValue","updateSearch","isOptionDisabled","$isDisabled","key","selectGroup","disabled","pointerDirty","deactivate","removeElement","selectedGroup","find","wholeGroupSelected","val","newValue","optionsToAdd","splice","every","wholeGroupDisabled","shouldClose","index","removeLastElement","activate","adjustPosition","pointer","$nextTick","$refs","focus","$el","blur","toggle","window","spaceAbove","getBoundingClientRect","top","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","openDirection","Math","min","pointerMixin","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","setAttribute","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","list","scrollTop","pointerBackward","pointerSet","script","name","mixins","compatConfig","MODE","ATTR_ENUMERATED_COERCION","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limit","limitText","count","loading","showNoOptions","showNoResults","tabindex","hasOptionGroup","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","position","padding","contentStyle","display","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","_hoisted_1","ref","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","createTextVNode","_hoisted_8","_hoisted_9","render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createBlock","onFocus","$event","onBlur","onKeydown","withKeys","withModifiers","onKeypress","onKeyup","role","renderSlot","$slots","createVNode","onMousedown","remove","withDirectives","Fragment","renderList","textContent","toDisplayString","vShow","createCommentVNode","Transition","withCtx","_","autocomplete","spellcheck","style","value","onInput","target","args","onClick","onMouseenter"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/5697.eb811050.js b/public/js/5697.eb811050.js new file mode 100644 index 0000000..8d74361 --- /dev/null +++ b/public/js/5697.eb811050.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[5697],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},1109:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=5697.eb811050.js.map \ No newline at end of file diff --git a/public/js/5697.eb811050.js.map b/public/js/5697.eb811050.js.map new file mode 100644 index 0000000..2d5948c --- /dev/null +++ b/public/js/5697.eb811050.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/5697.eb811050.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNOC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZJ,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/worship/NeighborhoodContent.vue","webpack://miriamgemeinde/./src/content/worship/NeighborhoodContent.vue?ba4a"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./NeighborhoodContent.vue?vue&type=template&id=3b38655a\"\nimport script from \"./NeighborhoodContent.vue?vue&type=script&lang=js\"\nexport * from \"./NeighborhoodContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/6007.7dddac38.js b/public/js/6007.7dddac38.js new file mode 100644 index 0000000..6fcaa39 --- /dev/null +++ b/public/js/6007.7dddac38.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[6007],{6007:function(t,e,o){o.r(e),o.d(e,{default:function(){return U}});var n=o(6768),s=o(5187);const a=t=>((0,n.Qi)("data-v-f0b51122"),t=t(),(0,n.jt)(),t),c=a((()=>(0,n.Lk)("h1",null,"Kontaktpersonen Verwaltung",-1))),i=["onClick"];function l(t,e,o,a,l,r){const p=(0,n.g2)("ContactPersonForm");return(0,n.uX)(),(0,n.CE)("div",null,[c,(0,n.bF)(p,{contactPerson:l.selectedContactPerson,positions:l.positions,onContactPersonSaved:r.fetchContactPersons},null,8,["contactPerson","positions","onContactPersonSaved"]),(0,n.Lk)("ul",null,[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(l.contactPersons,(t=>((0,n.uX)(),(0,n.CE)("li",{key:t.id,onClick:e=>r.selectContactPerson(t)},(0,s.v_)(t.name),9,i)))),128))])])}var r=o(4373),p=o(5688);const d=t=>((0,n.Qi)("data-v-1c19470f"),t=t(),(0,n.jt)(),t),u={class:"contact-person-form"},m=d((()=>(0,n.Lk)("h2",null,"Kontaktperson Formular",-1))),P=d((()=>(0,n.Lk)("label",{for:"name"},"Name:",-1))),h=d((()=>(0,n.Lk)("label",{for:"phone"},"Telefon:",-1))),C=d((()=>(0,n.Lk)("label",{for:"street"},"Straße:",-1))),k=d((()=>(0,n.Lk)("label",{for:"zipcode"},"PLZ:",-1))),b=d((()=>(0,n.Lk)("label",{for:"city"},"Ort:",-1))),f=d((()=>(0,n.Lk)("label",{for:"email"},"Email:",-1))),y=d((()=>(0,n.Lk)("label",{for:"positions"},"Positionen:",-1))),v=d((()=>(0,n.Lk)("button",{type:"submit"},"Speichern",-1)));function L(t,e,o,s,a,c){const i=(0,n.g2)("multiselect");return(0,n.uX)(),(0,n.CE)("div",u,[m,(0,n.Lk)("form",{onSubmit:e[8]||(e[8]=(0,p.D$)(((...t)=>c.saveContactPerson&&c.saveContactPerson(...t)),["prevent"]))},[P,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":e[0]||(e[0]=t=>a.localContactPerson.name=t),required:""},null,512),[[p.Jo,a.localContactPerson.name]]),h,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"phone","onUpdate:modelValue":e[1]||(e[1]=t=>a.localContactPerson.phone=t)},null,512),[[p.Jo,a.localContactPerson.phone]]),C,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"street","onUpdate:modelValue":e[2]||(e[2]=t=>a.localContactPerson.street=t)},null,512),[[p.Jo,a.localContactPerson.street]]),k,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"zipcode","onUpdate:modelValue":e[3]||(e[3]=t=>a.localContactPerson.zipcode=t)},null,512),[[p.Jo,a.localContactPerson.zipcode]]),b,(0,n.bo)((0,n.Lk)("input",{type:"text",id:"city","onUpdate:modelValue":e[4]||(e[4]=t=>a.localContactPerson.city=t)},null,512),[[p.Jo,a.localContactPerson.city]]),f,(0,n.bo)((0,n.Lk)("input",{type:"email",id:"email","onUpdate:modelValue":e[5]||(e[5]=t=>a.localContactPerson.email=t)},null,512),[[p.Jo,a.localContactPerson.email]]),y,(0,n.bF)(i,{modelValue:a.selectedPositions,"onUpdate:modelValue":e[6]||(e[6]=t=>a.selectedPositions=t),options:o.positions,multiple:!0,"close-on-select":!1,"clear-on-select":!1,"preserve-search":!0,placeholder:"Wähle einige",label:"caption","track-by":"id","preselect-first":!1},null,8,["modelValue","options"]),v,(0,n.Lk)("button",{type:"button",onClick:e[7]||(e[7]=(...t)=>c.resetForm&&c.resetForm(...t))},"Neue Kontaktperson")],32)])}var F=o(8074),A={name:"ContactPersonForm",components:{Multiselect:F.Ay},props:{contactPerson:{type:Object,default:()=>({name:"",phone:"",street:"",zipcode:"",city:"",email:"",positions:[]})},positions:{type:Array,required:!0}},data(){return{localContactPerson:{...this.contactPerson},selectedPositions:this.contactPerson.positions||[]}},watch:{contactPerson:{handler(t){this.localContactPerson={...t},this.selectedPositions=t.positions||[]},deep:!0,immediate:!0},selectedPositions(t){this.localContactPerson.positions=t}},methods:{async saveContactPerson(){try{const t=this.selectedPositions.map((t=>t.id)),e={...this.localContactPerson,positionIds:t};this.localContactPerson.id?await r.A.put(`/contact-persons/${this.localContactPerson.id}`,e):await r.A.post("/contact-persons",e),this.$emit("contactPersonSaved")}catch(t){console.error("Fehler beim Speichern der Kontaktperson:",t)}},resetForm(){this.localContactPerson={name:"",phone:"",street:"",zipcode:"",city:"",email:"",positions:[]},this.selectedPositions=[]}}},V=o(1241);const g=(0,V.A)(A,[["render",L],["__scopeId","data-v-1c19470f"]]);var w=g,z={name:"ContactPersonManagement",components:{ContactPersonForm:w},data(){return{contactPersons:[],selectedContactPerson:{name:"",phone:"",street:"",zipcode:"",city:"",email:"",positions:[]},positions:[]}},created(){this.fetchContactPersons(),this.fetchPositions()},methods:{async fetchContactPersons(){try{const t=await r.A.get("/contact-persons");this.contactPersons=t.data}catch(t){console.error("Fehler beim Abrufen der Kontaktpersonen:",t)}},async fetchPositions(){try{const t=await r.A.get("/positions");this.positions=t.data}catch(t){console.error("Fehler beim Abrufen der Positionen:",t)}},selectContactPerson(t){this.selectedContactPerson=t}}};const S=(0,V.A)(z,[["render",l],["__scopeId","data-v-f0b51122"]]);var U=S}}]); +//# sourceMappingURL=6007.7dddac38.js.map \ No newline at end of file diff --git a/public/js/6007.7dddac38.js.map b/public/js/6007.7dddac38.js.map new file mode 100644 index 0000000..acf8082 --- /dev/null +++ b/public/js/6007.7dddac38.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/6007.7dddac38.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/ContactPersonManagement.vue","webpack://miriamgemeinde/./src/components/ContactPersonForm.vue","webpack://miriamgemeinde/./src/components/ContactPersonForm.vue?4762","webpack://miriamgemeinde/./src/content/admin/ContactPersonManagement.vue?79ee"],"sourcesContent":["\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./ContactPersonForm.vue?vue&type=template&id=1c19470f&scoped=true\"\nimport script from \"./ContactPersonForm.vue?vue&type=script&lang=js\"\nexport * from \"./ContactPersonForm.vue?vue&type=script&lang=js\"\n\nimport \"./ContactPersonForm.vue?vue&type=style&index=0&id=1c19470f&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1c19470f\"]])\n\nexport default __exports__","import { render } from \"./ContactPersonManagement.vue?vue&type=template&id=f0b51122&scoped=true\"\nimport script from \"./ContactPersonManagement.vue?vue&type=script&lang=js\"\nexport * from \"./ContactPersonManagement.vue?vue&type=script&lang=js\"\n\nimport \"./ContactPersonManagement.vue?vue&type=style&index=0&id=f0b51122&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f0b51122\"]])\n\nexport default __exports__"],"names":["_createElementVNode","_createElementBlock","_hoisted_1","_createVNode","_component_ContactPersonForm","contactPerson","$data","selectedContactPerson","positions","onContactPersonSaved","$options","fetchContactPersons","_Fragment","_renderList","contactPersons","key","id","onClick","$event","selectContactPerson","name","_hoisted_2","class","for","type","onSubmit","_cache","_withModifiers","args","saveContactPerson","_hoisted_3","localContactPerson","required","_hoisted_4","phone","_hoisted_5","street","_hoisted_6","zipcode","_hoisted_7","city","_hoisted_8","email","_hoisted_9","_component_multiselect","modelValue","selectedPositions","options","$props","multiple","placeholder","label","_hoisted_10","resetForm","components","Multiselect","props","Object","default","Array","data","this","watch","handler","newVal","deep","immediate","methods","positionIds","map","position","payload","axios","put","post","$emit","error","console","__exports__","ContactPersonForm","created","fetchPositions","response","get","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/6107.facac1f8.js b/public/js/6107.facac1f8.js new file mode 100644 index 0000000..ad4cddb --- /dev/null +++ b/public/js/6107.facac1f8.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[6107],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},2259:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=6107.facac1f8.js.map \ No newline at end of file diff --git a/public/js/6107.facac1f8.js.map b/public/js/6107.facac1f8.js.map new file mode 100644 index 0000000..b957790 --- /dev/null +++ b/public/js/6107.facac1f8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/6107.facac1f8.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZN,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/meetingpoint/TeenEveningContent.vue","webpack://miriamgemeinde/./src/content/meetingpoint/TeenEveningContent.vue?9de5"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n \n \n \n ","import { render } from \"./TeenEveningContent.vue?vue&type=template&id=3aeedfa6\"\nimport script from \"./TeenEveningContent.vue?vue&type=script&lang=js\"\nexport * from \"./TeenEveningContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/6959.5a9ab1e8.js b/public/js/6959.5a9ab1e8.js new file mode 100644 index 0000000..bbf9155 --- /dev/null +++ b/public/js/6959.5a9ab1e8.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[6959],{8899:function(e,t,n){function a(e){const[t,n]=e.split(":");return`${t}:${n}`}function l(e){const t={year:"numeric",month:"2-digit",day:"2-digit"};return new Date(e).toLocaleDateString("de-DE",t)}function o(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0");return`${n}:${a}`}n.d(t,{Yq:function(){return l},fU:function(){return a},ry:function(){return o}})},6959:function(e,t,n){n.r(t),n.d(t,{default:function(){return z}});var a=n(6768),l=n(5187);const o=e=>((0,a.Qi)("data-v-97f69b82"),e=e(),(0,a.jt)(),e),s={class:"event-management"},i=o((()=>(0,a.Lk)("h2",null,"Veranstaltungen",-1))),d=o((()=>(0,a.Lk)("thead",null,[(0,a.Lk)("tr",null,[(0,a.Lk)("th",null,"Name"),(0,a.Lk)("th",null,"Typ"),(0,a.Lk)("th",null,"Datum"),(0,a.Lk)("th",null,"Uhrzeit"),(0,a.Lk)("th",null,"Wochentag"),(0,a.Lk)("th",null,"Beschreibung"),(0,a.Lk)("th",null,"Aktionen")])],-1))),u={key:0},c=["onClick"],r=["onClick"];function v(e,t,n,o,v,h){const k=(0,a.g2)("EventForm");return(0,a.uX)(),(0,a.CE)("div",s,[i,(0,a.Lk)("button",{onClick:t[0]||(t[0]=(...e)=>h.createEvent&&h.createEvent(...e))},"Neue Veranstaltung"),v.showForm?((0,a.uX)(),(0,a.Wv)(k,{key:0,event:v.selectedEvent,institutions:v.institutions,eventPlaces:v.eventPlaces,contactPersons:v.contactPersons,onSaved:h.handleEventSaved,onCancelled:h.handleEventCancelled},null,8,["event","institutions","eventPlaces","contactPersons","onSaved","onCancelled"])):(0,a.Q3)("",!0),(0,a.Lk)("table",null,[d,(0,a.Lk)("tbody",null,[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(v.events,(e=>((0,a.uX)(),(0,a.CE)("tr",{key:e.id},[(0,a.Lk)("td",null,(0,l.v_)(e.name),1),(0,a.Lk)("td",null,(0,l.v_)(h.getEventTypeCaption(e.eventTypeId)),1),(0,a.Lk)("td",null,(0,l.v_)(e.date),1),(0,a.Lk)("td",null,[(0,a.eW)((0,l.v_)(h.formatTime(e.time)),1),e.endTime?((0,a.uX)(),(0,a.CE)("span",u," - "+(0,l.v_)(h.formatTime(e.endTime)),1)):(0,a.Q3)("",!0)]),(0,a.Lk)("td",null,(0,l.v_)(h.getWeekdayName(e.dayOfWeek)),1),(0,a.Lk)("td",null,(0,l.v_)(e.description),1),(0,a.Lk)("td",null,[(0,a.Lk)("button",{onClick:t=>h.editEvent(e)},"Bearbeiten",8,c),(0,a.Lk)("button",{onClick:t=>h.deleteEvent(e.id)},"Löschen",8,r)])])))),128))])])])}var h=n(4373),k=n(5688);const p=e=>((0,a.Qi)("data-v-529bdc3a"),e=e(),(0,a.jt)(),e),m={class:"event-form"},L=p((()=>(0,a.Lk)("h2",null,"Veranstaltung Formular",-1))),y=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"name"},"Name:")],-1))),f=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"eventType"},"Typ:")],-1))),b=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"dateMode"},"Datum-Modus:")],-1))),E=p((()=>(0,a.Lk)("option",{value:"date"},"Datum",-1))),g=p((()=>(0,a.Lk)("option",{value:"weekday"},"Wochentag",-1))),D=p((()=>(0,a.Lk)("option",{value:"interval"},"Intervall",-1))),P=[E,g,D],T={key:0},w=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"date"},"Datum:")],-1))),C={key:1},V=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"dayOfWeek"},"Wochentag:")],-1))),F=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"time"},"Uhrzeit:")],-1))),M=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"endTime"},"Ende-Uhrzeit:")],-1))),I=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"description"},"Beschreibung:")],-1))),A=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"institution"},"Institution:")],-1))),U=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"eventPlace"},"Veranstaltungsort:")],-1))),W=p((()=>(0,a.Lk)("td",null,[(0,a.Lk)("label",{for:"contactPersons"},"Kontaktpersonen:")],-1))),S=p((()=>(0,a.Lk)("tr",null,[(0,a.Lk)("td",{colspan:"2"},[(0,a.Lk)("button",{type:"submit"},"Speichern")])],-1)));function _(e,t,n,l,o,s){const i=(0,a.g2)("multiselect");return(0,a.uX)(),(0,a.CE)("div",m,[L,(0,a.Lk)("form",{onSubmit:t[11]||(t[11]=(0,k.D$)(((...e)=>s.saveEvent&&s.saveEvent(...e)),["prevent"]))},[(0,a.Lk)("table",null,[(0,a.Lk)("tr",null,[y,(0,a.Lk)("td",null,[(0,a.bo)((0,a.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":t[0]||(t[0]=e=>o.eventData.name=e),required:""},null,512),[[k.Jo,o.eventData.name]])])]),(0,a.Lk)("tr",null,[f,(0,a.Lk)("td",null,[(0,a.bF)(i,{modelValue:o.selectedEventType,"onUpdate:modelValue":t[1]||(t[1]=e=>o.selectedEventType=e),options:o.eventTypes,label:"caption","track-by":"id",placeholder:"Typ wählen"},null,8,["modelValue","options"])])]),(0,a.Lk)("tr",null,[b,(0,a.Lk)("td",null,[(0,a.bo)((0,a.Lk)("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>o.dateMode=e)},P,512),[[k.u1,o.dateMode]])])]),"date"===o.dateMode||"interval"===o.dateMode?((0,a.uX)(),(0,a.CE)("tr",T,[w,(0,a.Lk)("td",null,[(0,a.bo)((0,a.Lk)("input",{type:"date",id:"date","onUpdate:modelValue":t[3]||(t[3]=e=>o.eventData.date=e)},null,512),[[k.Jo,o.eventData.date]])])])):(0,a.Q3)("",!0),"weekday"===o.dateMode||"interval"===o.dateMode?((0,a.uX)(),(0,a.CE)("tr",C,[V,(0,a.Lk)("td",null,[(0,a.bF)(i,{modelValue:o.eventData.dayOfWeek,"onUpdate:modelValue":t[4]||(t[4]=e=>o.eventData.dayOfWeek=e),options:o.weekdays,label:"name","track-by":"value",placeholder:"Wochentag wählen"},null,8,["modelValue","options"])])])):(0,a.Q3)("",!0),(0,a.Lk)("tr",null,[F,(0,a.Lk)("td",null,[(0,a.bo)((0,a.Lk)("input",{type:"time",id:"time","onUpdate:modelValue":t[5]||(t[5]=e=>o.eventData.time=e)},null,512),[[k.Jo,o.eventData.time]])])]),(0,a.Lk)("tr",null,[M,(0,a.Lk)("td",null,[(0,a.bo)((0,a.Lk)("input",{type:"time",id:"endTime","onUpdate:modelValue":t[6]||(t[6]=e=>o.eventData.endTime=e)},null,512),[[k.Jo,o.eventData.endTime]])])]),(0,a.Lk)("tr",null,[I,(0,a.Lk)("td",null,[(0,a.bo)((0,a.Lk)("textarea",{id:"description","onUpdate:modelValue":t[7]||(t[7]=e=>o.eventData.description=e),class:"descriptionedit"},null,512),[[k.Jo,o.eventData.description]])])]),(0,a.Lk)("tr",null,[A,(0,a.Lk)("td",null,[(0,a.bF)(i,{modelValue:o.selectedInstitution,"onUpdate:modelValue":t[8]||(t[8]=e=>o.selectedInstitution=e),options:o.localInstitutions,label:"name","track-by":"id",placeholder:"Institution wählen"},null,8,["modelValue","options"])])]),(0,a.Lk)("tr",null,[U,(0,a.Lk)("td",null,[(0,a.bF)(i,{modelValue:o.selectedEventPlace,"onUpdate:modelValue":t[9]||(t[9]=e=>o.selectedEventPlace=e),options:o.localEventPlaces,label:"name","track-by":"id",placeholder:"Veranstaltungsort wählen"},null,8,["modelValue","options"])])]),(0,a.Lk)("tr",null,[W,(0,a.Lk)("td",null,[(0,a.bF)(i,{modelValue:o.selectedContactPersons,"onUpdate:modelValue":t[10]||(t[10]=e=>o.selectedContactPersons=e),options:o.localContactPersons,multiple:!0,label:"name","track-by":"id",placeholder:"Kontaktpersonen wählen"},null,8,["modelValue","options"])])]),S])],32)])}var O=n(8074),X={name:"EventForm",components:{Multiselect:O.Ay},props:{event:{type:Object,required:!0,default:()=>({})},institutions:{type:Array,required:!0,default:()=>[]},eventPlaces:{type:Array,required:!0,default:()=>[]},contactPersons:{type:Array,required:!0,default:()=>[]}},data(){return{eventData:{...this.event},selectedEventType:null,selectedInstitution:this.event.institution||null,selectedEventPlace:this.event.eventPlace||null,selectedContactPersons:this.event.contactPersons||[],eventTypes:[],dateMode:"date",weekdays:[{name:"Montag",value:1},{name:"Dienstag",value:2},{name:"Mittwoch",value:3},{name:"Donnerstag",value:4},{name:"Freitag",value:5},{name:"Samstag",value:6},{name:"Sonntag",value:7}],localInstitutions:[...this.institutions],localEventPlaces:[...this.eventPlaces],localContactPersons:[...this.contactPersons]}},watch:{event(e){this.eventData={...e},this.selectedEventType=this.eventTypes.find((t=>t.id===e.eventTypeId))||null,this.selectedInstitution=e.institution||null,this.selectedEventPlace=e.eventPlace||null,this.selectedContactPersons=e.contactPersons||[],this.determineDateMode()},institutions(e){this.localInstitutions=[...e]},eventPlaces(e){this.localEventPlaces=[...e]},contactPersons(e){this.localContactPersons=[...e]}},async created(){try{const e=await h.A.get("/event-types");this.eventTypes=e.data,this.selectedEventType=this.eventTypes.find((e=>e.id===this.event.eventTypeId))||null}catch(e){console.error("Failed to fetch event types:",e)}this.determineDateMode()},methods:{async saveEvent(){try{const e={...this.eventData,eventTypeId:this.selectedEventType?this.selectedEventType.id:null,institution_id:this.selectedInstitution?this.selectedInstitution.id:null,event_place_id:this.selectedEventPlace?this.selectedEventPlace.id:null,contactPersonIds:this.selectedContactPersons.map((e=>e.id))};let t;e.dayOfWeek=e.dayOfWeek?e.dayOfWeek.value??-1:-1,t=this.eventData.id?await h.A.put(`/events/${this.eventData.id}`,e):await h.A.post("/events",e),this.$emit("saved",t.data)}catch(e){console.error("Failed to save event:",e)}},determineDateMode(){this.eventData.date&&this.eventData.dayOfWeek?this.dateMode="interval":this.eventData.date?this.dateMode="date":this.eventData.dayOfWeek?this.dateMode="weekday":this.dateMode="date"}}},$=n(1241);const q=(0,$.A)(X,[["render",_],["__scopeId","data-v-529bdc3a"]]);var Q=q,J=n(8899),N={components:{EventForm:Q},data(){return{events:[],institutions:[],eventPlaces:[],contactPersons:[],eventTypes:[],selectedEvent:null,showForm:!1}},async created(){await this.fetchData()},methods:{formatTime:J.fU,async fetchData(){try{const[e,t,n,a,l]=await Promise.all([h.A.get("/events"),h.A.get("/institutions"),h.A.get("/event-places"),h.A.get("/contact-persons"),h.A.get("/event-types")]);this.events=e.data,this.institutions=t.data,this.eventPlaces=n.data,this.contactPersons=a.data,this.eventTypes=l.data}catch(e){console.error("Fehler beim Abrufen der Daten:",e)}},createEvent(){this.selectedEvent={},this.showForm=!0},editEvent(e){this.selectedEvent={...e},this.showForm=!0},async deleteEvent(e){try{await h.A.delete(`/events/${e}`),this.fetchData()}catch(t){console.error("Fehler beim Löschen der Veranstaltung:",t)}},handleEventSaved(){this.showForm=!1,this.fetchData()},handleEventCancelled(){this.showForm=!1},getEventTypeCaption(e){const t=this.eventTypes.find((t=>t.id===e));return t?t.caption:"Unbekannt"},getWeekdayName(e){const t=["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"];return t[e-1]}}};const j=(0,$.A)(N,[["render",v],["__scopeId","data-v-97f69b82"]]);var z=j}}]); +//# sourceMappingURL=6959.5a9ab1e8.js.map \ No newline at end of file diff --git a/public/js/6959.5a9ab1e8.js.map b/public/js/6959.5a9ab1e8.js.map new file mode 100644 index 0000000..411af20 --- /dev/null +++ b/public/js/6959.5a9ab1e8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/6959.5a9ab1e8.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/utils/strings.js","webpack://miriamgemeinde/./src/content/admin/EventManagement.vue","webpack://miriamgemeinde/./src/components/EventForm.vue","webpack://miriamgemeinde/./src/components/EventForm.vue?911d","webpack://miriamgemeinde/./src/content/admin/EventManagement.vue?8fcc"],"sourcesContent":["// srv/utils/strings.js\n\nexport function formatTime(time) {\n const [hours, minutes] = time.split(':');\n return `${hours}:${minutes}`;\n}\n\nexport function formatDate(date) {\n const options = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return new Date(date).toLocaleDateString('de-DE', options);\n}\n\nexport function formatTimeFromDate(dateString) {\n const date = new Date(dateString);\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n return `${hours}:${minutes}`;\n}\n\n","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./EventForm.vue?vue&type=template&id=529bdc3a&scoped=true\"\nimport script from \"./EventForm.vue?vue&type=script&lang=js\"\nexport * from \"./EventForm.vue?vue&type=script&lang=js\"\n\nimport \"./EventForm.vue?vue&type=style&index=0&id=529bdc3a&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-529bdc3a\"]])\n\nexport default __exports__","import { render } from \"./EventManagement.vue?vue&type=template&id=97f69b82&scoped=true\"\nimport script from \"./EventManagement.vue?vue&type=script&lang=js\"\nexport * from \"./EventManagement.vue?vue&type=script&lang=js\"\n\nimport \"./EventManagement.vue?vue&type=style&index=0&id=97f69b82&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-97f69b82\"]])\n\nexport default __exports__"],"names":["formatTime","time","hours","minutes","split","formatDate","date","options","year","month","day","Date","toLocaleDateString","formatTimeFromDate","dateString","String","getHours","padStart","getMinutes","class","_createElementVNode","key","_createElementBlock","_hoisted_1","_hoisted_2","onClick","_cache","args","$options","createEvent","$data","showForm","_createBlock","_component_EventForm","event","selectedEvent","institutions","eventPlaces","contactPersons","onSaved","handleEventSaved","onCancelled","handleEventCancelled","_createCommentVNode","_hoisted_3","_Fragment","_renderList","events","id","_toDisplayString","name","getEventTypeCaption","eventTypeId","_createTextVNode","endTime","_hoisted_4","getWeekdayName","dayOfWeek","description","$event","editEvent","_hoisted_5","deleteEvent","_hoisted_6","for","value","_hoisted_7","_hoisted_8","colspan","type","onSubmit","_withModifiers","saveEvent","eventData","required","_createVNode","_component_multiselect","modelValue","selectedEventType","eventTypes","label","placeholder","dateMode","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","weekdays","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","selectedInstitution","localInstitutions","_hoisted_18","selectedEventPlace","localEventPlaces","_hoisted_19","selectedContactPersons","localContactPersons","multiple","_hoisted_20","components","Multiselect","props","Object","default","Array","data","this","institution","eventPlace","watch","newVal","find","determineDateMode","created","eventTypeResponse","axios","get","error","console","methods","payload","institution_id","event_place_id","contactPersonIds","map","person","response","put","post","$emit","__exports__","EventForm","fetchData","eventResponse","institutionResponse","eventPlaceResponse","contactPersonResponse","Promise","all","delete","eventType","caption","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/7008.0d83e4f4.js b/public/js/7008.0d83e4f4.js new file mode 100644 index 0000000..2ae150d --- /dev/null +++ b/public/js/7008.0d83e4f4.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[7008],{7008:function(n,e,r){r.r(e),r.d(e,{default:function(){return m}});var u=r(6768);const t=(0,u.Lk)("h2",null,null,-1),a=[t];function i(n,e,r,t,i,c){return(0,u.uX)(),(0,u.CE)("div",null,a)}var c={name:"DaycareCentersContent"},l=r(1241);const s=(0,l.A)(c,[["render",i]]);var m=s}}]); +//# sourceMappingURL=7008.0d83e4f4.js.map \ No newline at end of file diff --git a/public/js/7008.0d83e4f4.js.map b/public/js/7008.0d83e4f4.js.map new file mode 100644 index 0000000..e9a6c8e --- /dev/null +++ b/public/js/7008.0d83e4f4.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/7008.0d83e4f4.js","mappings":"gMAEMA,EAAAA,EAAAA,IAAS,mB,GAATC,G,0CADFC,EAAAA,EAAAA,IAEM,WAHVC,E,CAOE,OACEC,KAAM,yB,UCHV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/content/DaycareCentersContent.vue","webpack://miriamgemeinde/./src/content/DaycareCentersContent.vue?5586"],"sourcesContent":["\n \n \n ","import { render } from \"./DaycareCentersContent.vue?vue&type=template&id=3df03ad4\"\nimport script from \"./DaycareCentersContent.vue?vue&type=script&lang=js\"\nexport * from \"./DaycareCentersContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementVNode","_hoisted_1","_createElementBlock","_hoisted_2","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/7120.84da16bb.js b/public/js/7120.84da16bb.js new file mode 100644 index 0000000..5eb9dda --- /dev/null +++ b/public/js/7120.84da16bb.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[7120],{7120:function(n,e,r){r.r(e),r.d(e,{default:function(){return d}});var i=r(6768);const u=(0,i.Lk)("h2",null,"Miriams Wunderkiste",-1),t=[u];function a(n,e,r,u,a,s){return(0,i.uX)(),(0,i.CE)("div",null,t)}var s={name:"MiriamsWonderboxContent"},m=r(1241);const c=(0,m.A)(s,[["render",a]]);var d=c}}]); +//# sourceMappingURL=7120.84da16bb.js.map \ No newline at end of file diff --git a/public/js/7120.84da16bb.js.map b/public/js/7120.84da16bb.js.map new file mode 100644 index 0000000..4c03176 --- /dev/null +++ b/public/js/7120.84da16bb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/7120.84da16bb.js","mappings":"gMAEIA,EAAAA,EAAAA,IAA4B,UAAxB,uBAAmB,G,GAAvBC,G,0CADFC,EAAAA,EAAAA,IAEM,WAHRC,E,CAOA,OACEC,KAAM,2B,UCHR,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/content/MiriamsWonderboxContent.vue","webpack://miriamgemeinde/./src/content/MiriamsWonderboxContent.vue?fbd9"],"sourcesContent":["\n\n","import { render } from \"./MiriamsWonderboxContent.vue?vue&type=template&id=337ce6d1\"\nimport script from \"./MiriamsWonderboxContent.vue?vue&type=script&lang=js\"\nexport * from \"./MiriamsWonderboxContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementVNode","_hoisted_1","_createElementBlock","_hoisted_2","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/7158.b45849ac.js b/public/js/7158.b45849ac.js new file mode 100644 index 0000000..c902dae --- /dev/null +++ b/public/js/7158.b45849ac.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[7158],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},4116:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=7158.b45849ac.js.map \ No newline at end of file diff --git a/public/js/7158.b45849ac.js.map b/public/js/7158.b45849ac.js.map new file mode 100644 index 0000000..c01a82c --- /dev/null +++ b/public/js/7158.b45849ac.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/7158.b45849ac.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNOC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZJ,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/worship/AllWorshipsContent.vue","webpack://miriamgemeinde/./src/content/worship/AllWorshipsContent.vue?d325"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./AllWorshipsContent.vue?vue&type=template&id=2e594c3a\"\nimport script from \"./AllWorshipsContent.vue?vue&type=script&lang=js\"\nexport * from \"./AllWorshipsContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/7361.210695ca.js b/public/js/7361.210695ca.js new file mode 100644 index 0000000..a53eeb5 --- /dev/null +++ b/public/js/7361.210695ca.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[7361],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},5669:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=7361.210695ca.js.map \ No newline at end of file diff --git a/public/js/7361.210695ca.js.map b/public/js/7361.210695ca.js.map new file mode 100644 index 0000000..99cd626 --- /dev/null +++ b/public/js/7361.210695ca.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/7361.210695ca.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZN,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/meetingpoint/YouthMinistryContent.vue","webpack://miriamgemeinde/./src/content/meetingpoint/YouthMinistryContent.vue?1f4a"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n \n \n \n ","import { render } from \"./YouthMinistryContent.vue?vue&type=template&id=3ff3db82\"\nimport script from \"./YouthMinistryContent.vue?vue&type=script&lang=js\"\nexport * from \"./YouthMinistryContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/7382.4ca8ff1c.js b/public/js/7382.4ca8ff1c.js new file mode 100644 index 0000000..e96b26e --- /dev/null +++ b/public/js/7382.4ca8ff1c.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[7382],{7382:function(e,l,t){t.r(l),t.d(l,{default:function(){return c}});var a=t(6768),i=t(5187);const o={key:0,class:"dialog-overlay"},n={class:"dialog"};function s(e,l,t,s,r,u){return t.modelValue?((0,a.uX)(),(0,a.CE)("div",o,[(0,a.Lk)("div",n,[(0,a.Lk)("h2",null,(0,i.v_)(t.title),1),(0,a.Lk)("p",null,(0,i.v_)(t.message),1),(0,a.Lk)("button",{onClick:l[0]||(l[0]=(...e)=>u.closeDialog&&u.closeDialog(...e))},"OK")])])):(0,a.Q3)("",!0)}var r={name:"DialogComponent",props:{title:{type:String,required:!0},message:{type:String,required:!0},modelValue:{type:Boolean,default:!1}},methods:{closeDialog(){this.$emit("update:modelValue",!1),this.$emit("close")}}},u=t(1241);const d=(0,u.A)(r,[["render",s],["__scopeId","data-v-21ade8c0"]]);var c=d}}]); +//# sourceMappingURL=7382.4ca8ff1c.js.map \ No newline at end of file diff --git a/public/js/7382.4ca8ff1c.js.map b/public/js/7382.4ca8ff1c.js.map new file mode 100644 index 0000000..d097515 --- /dev/null +++ b/public/js/7382.4ca8ff1c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/7382.4ca8ff1c.js","mappings":"0MAAAA,IAAA,EAC2BC,MAAM,kB,GACtBA,MAAM,U,+BADFC,EAAAC,aAAU,WAArBC,EAAAA,EAAAA,IAMM,MANNC,EAMM,EALJC,EAAAA,EAAAA,IAIM,MAJNC,EAIM,EAHJD,EAAAA,EAAAA,IAAoB,WAAAE,EAAAA,EAAAA,IAAbN,EAAAO,OAAK,IACZH,EAAAA,EAAAA,IAAoB,UAAAE,EAAAA,EAAAA,IAAdN,EAAAQ,SAAO,IACbJ,EAAAA,EAAAA,IAAwC,UAA/BK,QAAKC,EAAA,KAAAA,EAAA,OAAAC,IAAEC,EAAAC,aAAAD,EAAAC,eAAAF,KAAa,YALrCG,EAAAA,EAAAA,IAAA,M,CAWE,OACEC,KAAM,kBACNC,MAAO,CACLT,MAAO,CACLU,KAAMC,OACNC,UAAU,GAEZX,QAAS,CACPS,KAAMC,OACNC,UAAU,GAEZlB,WAAY,CACVgB,KAAMG,QACNC,SAAS,IAGbC,QAAS,CACPT,WAAAA,GACEU,KAAKC,MAAM,qBAAqB,GAChCD,KAAKC,MAAM,QACb,I,UCxBN,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/common/components/DialogComponent.vue","webpack://miriamgemeinde/./src/common/components/DialogComponent.vue?92fc"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./DialogComponent.vue?vue&type=template&id=21ade8c0&scoped=true\"\nimport script from \"./DialogComponent.vue?vue&type=script&lang=js\"\nexport * from \"./DialogComponent.vue?vue&type=script&lang=js\"\n\nimport \"./DialogComponent.vue?vue&type=style&index=0&id=21ade8c0&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-21ade8c0\"]])\n\nexport default __exports__"],"names":["key","class","$props","modelValue","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","title","message","onClick","_cache","args","$options","closeDialog","_createCommentVNode","name","props","type","String","required","Boolean","default","methods","this","$emit","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/757.a98aad7e.js b/public/js/757.a98aad7e.js new file mode 100644 index 0000000..b2feaa1 --- /dev/null +++ b/public/js/757.a98aad7e.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[757],{8899:function(e,t,a){function i(e){const[t,a]=e.split(":");return`${t}:${a}`}function n(e){const t={year:"numeric",month:"2-digit",day:"2-digit"};return new Date(e).toLocaleDateString("de-DE",t)}function l(e){const t=new Date(e),a=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return`${a}:${i}`}a.d(t,{Yq:function(){return n},fU:function(){return i},ry:function(){return l}})},3138:function(e,t,a){a.r(t),a.d(t,{default:function(){return w}});var i=a(6768),n=a(5688),l=a(5187);const o=e=>((0,i.Qi)("data-v-454efcad"),e=e(),(0,i.jt)(),e),d=o((()=>(0,i.Lk)("h1",null,"Bild hochladen",-1))),r=o((()=>(0,i.Lk)("label",{for:"title"},"Titel",-1))),s=o((()=>(0,i.Lk)("label",{for:"description"},"Beschreibung",-1))),u=o((()=>(0,i.Lk)("label",{for:"image"},"Bild",-1))),c=o((()=>(0,i.Lk)("label",{for:"page"},"Seite",-1))),m=o((()=>(0,i.Lk)("option",{value:""},"Keine Seite",-1))),g=["value"],p=o((()=>(0,i.Lk)("button",{type:"submit"},"Hochladen",-1))),h={key:0},f=o((()=>(0,i.Lk)("h2",null,"Hochgeladene Bilder",-1))),k=["src","alt"],L=["onUpdate:modelValue","onChange"],b=["onUpdate:modelValue","onChange"];function v(e,t,a,o,v,y){return(0,i.uX)(),(0,i.CE)("div",null,[d,(0,i.Lk)("form",{onSubmit:t[4]||(t[4]=(0,n.D$)(((...e)=>y.uploadImage&&y.uploadImage(...e)),["prevent"]))},[(0,i.Lk)("div",null,[r,(0,i.bo)((0,i.Lk)("input",{type:"text",id:"title","onUpdate:modelValue":t[0]||(t[0]=e=>v.title=e)},null,512),[[n.Jo,v.title]])]),(0,i.Lk)("div",null,[s,(0,i.bo)((0,i.Lk)("textarea",{id:"description","onUpdate:modelValue":t[1]||(t[1]=e=>v.description=e)},null,512),[[n.Jo,v.description]])]),(0,i.Lk)("div",null,[u,(0,i.Lk)("input",{type:"file",id:"image",onChange:t[2]||(t[2]=(...e)=>y.onFileChange&&y.onFileChange(...e))},null,32)]),(0,i.Lk)("div",null,[c,(0,i.bo)((0,i.Lk)("select",{id:"page","onUpdate:modelValue":t[3]||(t[3]=e=>v.selectedPage=e)},[m,((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(v.pages,(e=>((0,i.uX)(),(0,i.CE)("option",{key:e.id,value:e.id},(0,l.v_)(e.title),9,g)))),128))],512),[[n.u1,v.selectedPage]])]),p],32),v.images.length?((0,i.uX)(),(0,i.CE)("div",h,[f,((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(v.images,(e=>((0,i.uX)(),(0,i.CE)("div",{key:e.id,class:"uploaded-image"},[(0,i.Lk)("img",{src:`/images/uploads/${e.filename}`,alt:e.title,width:"100"},null,8,k),(0,i.bo)((0,i.Lk)("input",{type:"text","onUpdate:modelValue":t=>e.title=t,onChange:t=>y.updateImage(e)},null,40,L),[[n.Jo,e.title]]),(0,i.bo)((0,i.Lk)("textarea",{"onUpdate:modelValue":t=>e.description=t,onChange:t=>y.updateImage(e)},null,40,b),[[n.Jo,e.description]]),(0,i.Lk)("p",null,(0,l.v_)(y.formatDate(e.uploadDate))+" "+(0,l.v_)(y.formatTimeFromDate(e.uploadDate)),1)])))),128))])):(0,i.Q3)("",!0)])}var y=a(3173),C=a(8899),I={name:"ImageUpload",data(){return{title:"",description:"",image:null,selectedPage:"",pages:[],images:[]}},methods:{formatDate:C.Yq,formatTimeFromDate:C.ry,onFileChange(e){this.image=e.target.files[0]},async uploadImage(){const e=new FormData;e.append("title",this.title),e.append("description",this.description),e.append("image",this.image),e.append("pageId",this.selectedPage);try{await y.A.post("/image/",e),this.fetchImages(),this.resetForm()}catch(t){console.error("Fehler beim Hochladen des Bildes:",t)}},async fetchImages(){try{const e=await y.A.get("/image");this.images=e.data}catch(e){console.error("Fehler beim Abrufen der Bilder:",e)}},async fetchPages(){try{const e=await y.A.get("/image/pages");this.pages=e.data}catch(e){console.error("Fehler beim Abrufen der Seiten:",e)}},async updateImage(e){try{await y.A.put(`/image/${e.id}`,{title:e.title,description:e.description}),this.fetchImages()}catch(t){console.error("Fehler beim Aktualisieren des Bildes:",t)}},resetForm(){this.title="",this.description="",this.image=null,this.selectedPage="",document.getElementById("image").value=null}},mounted(){this.fetchImages(),this.fetchPages()}},F=a(1241);const D=(0,F.A)(I,[["render",v],["__scopeId","data-v-454efcad"]]);var w=D}}]); +//# sourceMappingURL=757.a98aad7e.js.map \ No newline at end of file diff --git a/public/js/757.a98aad7e.js.map b/public/js/757.a98aad7e.js.map new file mode 100644 index 0000000..b1a70a8 --- /dev/null +++ b/public/js/757.a98aad7e.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/757.a98aad7e.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/utils/strings.js","webpack://miriamgemeinde/./src/content/admin/ImageUpload.vue","webpack://miriamgemeinde/./src/content/admin/ImageUpload.vue?2bcf"],"sourcesContent":["// srv/utils/strings.js\n\nexport function formatTime(time) {\n const [hours, minutes] = time.split(':');\n return `${hours}:${minutes}`;\n}\n\nexport function formatDate(date) {\n const options = { year: 'numeric', month: '2-digit', day: '2-digit' };\n return new Date(date).toLocaleDateString('de-DE', options);\n}\n\nexport function formatTimeFromDate(dateString) {\n const date = new Date(dateString);\n const hours = String(date.getHours()).padStart(2, '0');\n const minutes = String(date.getMinutes()).padStart(2, '0');\n return `${hours}:${minutes}`;\n}\n\n","\n \n \n \n \n ","import { render } from \"./ImageUpload.vue?vue&type=template&id=454efcad&scoped=true\"\nimport script from \"./ImageUpload.vue?vue&type=script&lang=js\"\nexport * from \"./ImageUpload.vue?vue&type=script&lang=js\"\n\nimport \"./ImageUpload.vue?vue&type=style&index=0&id=454efcad&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-454efcad\"]])\n\nexport default __exports__"],"names":["formatTime","time","hours","minutes","split","formatDate","date","options","year","month","day","Date","toLocaleDateString","formatTimeFromDate","dateString","String","getHours","padStart","getMinutes","_createElementVNode","for","value","type","key","_createElementBlock","_hoisted_1","onSubmit","_cache","_withModifiers","args","$options","uploadImage","_hoisted_2","id","$event","$data","title","_hoisted_3","description","_hoisted_4","onChange","onFileChange","_hoisted_5","selectedPage","_hoisted_6","_Fragment","_renderList","pages","page","_hoisted_7","_hoisted_8","images","length","_hoisted_9","_hoisted_10","image","class","src","filename","alt","width","_hoisted_11","updateImage","_hoisted_12","_hoisted_13","_toDisplayString","uploadDate","_createCommentVNode","name","data","methods","e","this","target","files","formData","FormData","append","axios","post","fetchImages","resetForm","error","console","response","get","fetchPages","put","document","getElementById","mounted","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/7876.0d8ab0bc.js b/public/js/7876.0d8ab0bc.js new file mode 100644 index 0000000..3d211d5 --- /dev/null +++ b/public/js/7876.0d8ab0bc.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[7876],{7876:function(e,n,r){r.r(n),r.d(n,{default:function(){return m}});var t=r(6768);const i=e=>((0,t.Qi)("data-v-017249f5"),e=e(),(0,t.jt)(),e),s={class:"forgot-password"},a=i((()=>(0,t.Lk)("h2",null,"Passwort vergessen",-1))),u=i((()=>(0,t.Lk)("form",null,[(0,t.Lk)("label",{for:"email"},"Email-Adresse:"),(0,t.Lk)("input",{type:"email",id:"email",required:""}),(0,t.Lk)("button",{type:"submit"},"Link zum Zurücksetzen senden")],-1)));function l(e,n,r,i,l,o){const d=(0,t.g2)("router-link");return(0,t.uX)(),(0,t.CE)("div",s,[a,u,(0,t.Lk)("p",null,[(0,t.bF)(d,{to:"/login"},{default:(0,t.k6)((()=>[(0,t.eW)("Login")])),_:1})]),(0,t.Lk)("p",null,[(0,t.bF)(d,{to:"/register"},{default:(0,t.k6)((()=>[(0,t.eW)("Registrieren")])),_:1})])])}var o={name:"ForgotPassword"},d=r(1241);const k=(0,d.A)(o,[["render",l],["__scopeId","data-v-017249f5"]]);var m=k}}]); +//# sourceMappingURL=7876.0d8ab0bc.js.map \ No newline at end of file diff --git a/public/js/7876.0d8ab0bc.js.map b/public/js/7876.0d8ab0bc.js.map new file mode 100644 index 0000000..10f6bf0 --- /dev/null +++ b/public/js/7876.0d8ab0bc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/7876.0d8ab0bc.js","mappings":"sPACSA,MAAM,mB,UACTC,EAAAA,EAAAA,IAA2B,UAAvB,sBAAkB,K,UACtBA,EAAAA,EAAAA,IAKO,cAJLA,EAAAA,EAAAA,IAAyC,SAAlCC,IAAI,SAAQ,mBACnBD,EAAAA,EAAAA,IAAwC,SAAjCE,KAAK,QAAQC,GAAG,QAAQC,SAAA,MAE/BJ,EAAAA,EAAAA,IAA2D,UAAnDE,KAAK,UAAS,kCAA4B,K,0EANtDG,EAAAA,EAAAA,IAcM,MAdNC,EAcM,CAbJC,EACAC,GAMAR,EAAAA,EAAAA,IAEI,WADFS,EAAAA,EAAAA,IAA4CC,EAAA,CAA/BC,GAAG,UAAQ,CAVhCC,SAAAC,EAAAA,EAAAA,KAUiC,IAAK,EAVtCC,EAAAA,EAAAA,IAUiC,YAVjCC,EAAA,OAYMf,EAAAA,EAAAA,IAEI,WADFS,EAAAA,EAAAA,IAAsDC,EAAA,CAAzCC,GAAG,aAAW,CAbnCC,SAAAC,EAAAA,EAAAA,KAaoC,IAAY,EAbhDC,EAAAA,EAAAA,IAaoC,mBAbpCC,EAAA,O,CAmBE,OACEC,KAAM,kB,UCbV,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://miriamgemeinde/./src/content/authentication/ForgotPasswordContent.vue","webpack://miriamgemeinde/./src/content/authentication/ForgotPasswordContent.vue?8368"],"sourcesContent":["\n \n \n \n \n","import { render } from \"./ForgotPasswordContent.vue?vue&type=template&id=017249f5&scoped=true\"\nimport script from \"./ForgotPasswordContent.vue?vue&type=script&lang=js\"\nexport * from \"./ForgotPasswordContent.vue?vue&type=script&lang=js\"\n\nimport \"./ForgotPasswordContent.vue?vue&type=style&index=0&id=017249f5&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-017249f5\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","id","required","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_router_link","to","default","_withCtx","_createTextVNode","_","name","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/8060.f4d2f3e9.js b/public/js/8060.f4d2f3e9.js new file mode 100644 index 0000000..4d95e97 --- /dev/null +++ b/public/js/8060.f4d2f3e9.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[8060],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},7326:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=8060.f4d2f3e9.js.map \ No newline at end of file diff --git a/public/js/8060.f4d2f3e9.js.map b/public/js/8060.f4d2f3e9.js.map new file mode 100644 index 0000000..ea3a430 --- /dev/null +++ b/public/js/8060.f4d2f3e9.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/8060.f4d2f3e9.js","mappings":"yQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNSC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZN,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/meetingpoint/HeliandPathfinderContent.vue","webpack://miriamgemeinde/./src/content/meetingpoint/HeliandPathfinderContent.vue?5dc2"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n \n \n \n \n ","import { render } from \"./HeliandPathfinderContent.vue?vue&type=template&id=0ac6d2a8\"\nimport script from \"./HeliandPathfinderContent.vue?vue&type=script&lang=js\"\nexport * from \"./HeliandPathfinderContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/8074.dfd9f966.js b/public/js/8074.dfd9f966.js new file mode 100644 index 0000000..58bc6b1 --- /dev/null +++ b/public/js/8074.dfd9f966.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[8074],{5693:function(e,t,n){n.r(t),n.d(t,{default:function(){return y}});var l=n(6768),a=n(5688),c=n(5187);const d=e=>((0,l.Qi)("data-v-920e5ffc"),e=e(),(0,l.jt)(),e),o={class:"event-places-management"},i=d((()=>(0,l.Lk)("h2",null,"Veranstaltungsorte verwalten",-1))),r=d((()=>(0,l.Lk)("label",{for:"name"},"Name:",-1))),s=d((()=>(0,l.Lk)("label",{for:"street"},"Straße:",-1))),u=d((()=>(0,l.Lk)("label",{for:"zipcode"},"PLZ:",-1))),v=d((()=>(0,l.Lk)("label",{for:"city"},"Stadt:",-1))),p=d((()=>(0,l.Lk)("label",{for:"backgroundColor"},"Hintergrundfarbe:",-1))),k=d((()=>(0,l.Lk)("button",{type:"submit"},"Speichern",-1))),h=d((()=>(0,l.Lk)("thead",null,[(0,l.Lk)("tr",null,[(0,l.Lk)("th",null,"Name"),(0,l.Lk)("th",null,"Bearbeiten"),(0,l.Lk)("th",null,"Löschen")])],-1))),f=["onClick"],P=["onClick"];function E(e,t,n,d,E,m){return(0,l.uX)(),(0,l.CE)("div",o,[i,(0,l.Lk)("form",{onSubmit:t[6]||(t[6]=(0,a.D$)(((...e)=>m.addEventPlace&&m.addEventPlace(...e)),["prevent"]))},[r,(0,l.bo)((0,l.Lk)("input",{type:"text",id:"name","onUpdate:modelValue":t[0]||(t[0]=e=>E.newEventPlace.name=e),placeholder:"Name",required:""},null,512),[[a.Jo,E.newEventPlace.name]]),s,(0,l.bo)((0,l.Lk)("input",{type:"text",id:"street","onUpdate:modelValue":t[1]||(t[1]=e=>E.newEventPlace.street=e),placeholder:"Straße",required:""},null,512),[[a.Jo,E.newEventPlace.street]]),u,(0,l.bo)((0,l.Lk)("input",{type:"text",id:"zipcode","onUpdate:modelValue":t[2]||(t[2]=e=>E.newEventPlace.zipcode=e),placeholder:"PLZ",required:""},null,512),[[a.Jo,E.newEventPlace.zipcode]]),v,(0,l.bo)((0,l.Lk)("input",{type:"text",id:"city","onUpdate:modelValue":t[3]||(t[3]=e=>E.newEventPlace.city=e),placeholder:"Stadt",required:""},null,512),[[a.Jo,E.newEventPlace.city]]),p,(0,l.bo)((0,l.Lk)("input",{type:"color",id:"backgroundColor","onUpdate:modelValue":t[4]||(t[4]=e=>E.newEventPlace.backgroundColor=e)},null,512),[[a.Jo,E.newEventPlace.backgroundColor]]),k,E.editMode?((0,l.uX)(),(0,l.CE)("button",{key:0,type:"button",onClick:t[5]||(t[5]=(...e)=>m.resetForm&&m.resetForm(...e))},"Neuen Veranstaltungsort erstellen")):(0,l.Q3)("",!0)],32),(0,l.Lk)("table",null,[h,(0,l.Lk)("tbody",null,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(E.eventPlaces,(e=>((0,l.uX)(),(0,l.CE)("tr",{key:e.id},[(0,l.Lk)("td",null,(0,c.v_)(e.name),1),(0,l.Lk)("td",null,[(0,l.Lk)("button",{onClick:t=>m.editEventPlace(e)},"Bearbeiten",8,f)]),(0,l.Lk)("td",null,[(0,l.Lk)("button",{onClick:t=>m.deleteEventPlace(e.id)},"Löschen",8,P)])])))),128))])])])}n(4114);var m=n(4373),b={data(){return{eventPlaces:[],newEventPlace:{name:"",street:"",zipcode:"",city:"",backgroundColor:"#ffffff"},editMode:!1,editId:null}},methods:{async fetchEventPlaces(){const e=await m.A.get("/event-places");this.eventPlaces=e.data},async addEventPlace(){if(this.editMode)await m.A.put(`/event-places/${this.editId}`,this.newEventPlace);else{const e=await m.A.post("/event-places",this.newEventPlace);this.eventPlaces.push(e.data)}this.resetForm(),await this.fetchEventPlaces()},async updateEventPlace(e){await m.A.put(`/event-places/${e.id}`,e),this.fetchEventPlaces()},async deleteEventPlace(e){await m.A.delete(`/event-places/${e}`),this.fetchEventPlaces()},editEventPlace(e){this.newEventPlace={...e},this.editMode=!0,this.editId=e.id},resetForm(){this.newEventPlace={name:"",street:"",zipcode:"",city:"",backgroundColor:"#ffffff"},this.editMode=!1,this.editId=null}},created(){this.fetchEventPlaces()}},L=n(1241);const w=(0,L.A)(b,[["render",E],["__scopeId","data-v-920e5ffc"]]);var y=w}}]); +//# sourceMappingURL=8074.dfd9f966.js.map \ No newline at end of file diff --git a/public/js/8074.dfd9f966.js.map b/public/js/8074.dfd9f966.js.map new file mode 100644 index 0000000..fce4d3c --- /dev/null +++ b/public/js/8074.dfd9f966.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/8074.dfd9f966.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/EventPlacesManagement.vue","webpack://miriamgemeinde/./src/content/admin/EventPlacesManagement.vue?8243"],"sourcesContent":["\n\n\n\n\n","import { render } from \"./EventPlacesManagement.vue?vue&type=template&id=920e5ffc&scoped=true\"\nimport script from \"./EventPlacesManagement.vue?vue&type=script&lang=js\"\nexport * from \"./EventPlacesManagement.vue?vue&type=script&lang=js\"\n\nimport \"./EventPlacesManagement.vue?vue&type=style&index=0&id=920e5ffc&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-920e5ffc\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","_createElementBlock","_hoisted_1","_hoisted_2","onSubmit","_cache","_withModifiers","args","$options","addEventPlace","_hoisted_3","id","$event","$data","newEventPlace","name","placeholder","required","_hoisted_4","street","_hoisted_5","zipcode","_hoisted_6","city","_hoisted_7","backgroundColor","_hoisted_8","editMode","key","onClick","resetForm","_createCommentVNode","_hoisted_9","_Fragment","_renderList","eventPlaces","eventPlace","_toDisplayString","editEventPlace","_hoisted_10","deleteEventPlace","_hoisted_11","data","editId","methods","fetchEventPlaces","response","axios","get","this","put","post","push","updateEventPlace","delete","created","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/8183.73935aeb.js b/public/js/8183.73935aeb.js new file mode 100644 index 0000000..9e471e7 --- /dev/null +++ b/public/js/8183.73935aeb.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[8183],{8183:function(e,r,t){t.r(r),t.d(r,{default:function(){return y}});var s=t(6768),n=t(5187),a=t(5688);const i=e=>((0,s.Qi)("data-v-a495c756"),e=e(),(0,s.jt)(),e),u={class:"user-administration"},l=i((()=>(0,s.Lk)("h1",null,"Benutzerverwaltung",-1))),o=i((()=>(0,s.Lk)("label",{for:"name"},"Name:",-1))),c=i((()=>(0,s.Lk)("label",{for:"email"},"Email:",-1))),d=i((()=>(0,s.Lk)("label",{for:"password"},"Passwort:",-1))),m=["required"],h=i((()=>(0,s.Lk)("label",{for:"active"},"Aktiv:",-1))),p={type:"submit"},U={key:1},k=i((()=>(0,s.Lk)("h2",null,"Vorhandene Benutzer",-1))),v=["onClick"];function b(e,r,t,i,b,C){return(0,s.uX)(),(0,s.CE)("div",u,[l,(0,s.Lk)("h2",null,(0,n.v_)(C.formTitle),1),(0,s.Lk)("form",{onSubmit:r[4]||(r[4]=(0,a.D$)(((...e)=>C.saveUser&&C.saveUser(...e)),["prevent"]))},[o,(0,s.bo)((0,s.Lk)("input",{id:"name","onUpdate:modelValue":r[0]||(r[0]=e=>b.currentUser.name=e),required:""},null,512),[[a.Jo,b.currentUser.name]]),c,(0,s.bo)((0,s.Lk)("input",{id:"email","onUpdate:modelValue":r[1]||(r[1]=e=>b.currentUser.email=e),type:"email",required:""},null,512),[[a.Jo,b.currentUser.email]]),d,(0,s.bo)((0,s.Lk)("input",{id:"password","onUpdate:modelValue":r[2]||(r[2]=e=>b.currentUser.password=e),type:"password",required:b.isCreating},null,8,m),[[a.Jo,b.currentUser.password]]),(0,s.Lk)("div",null,[h,(0,s.bo)((0,s.Lk)("input",{id:"active","onUpdate:modelValue":r[3]||(r[3]=e=>b.currentUser.active=e),type:"checkbox"},null,512),[[a.lH,b.currentUser.active]])]),(0,s.Lk)("button",p,(0,n.v_)(b.isCreating?"Erstellen":"Aktualisieren"),1)],32),b.isCreating?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("button",{key:0,onClick:r[5]||(r[5]=(...e)=>C.resetForm&&C.resetForm(...e))},"Zurück zu Benutzer erstellen")),b.users.length?((0,s.uX)(),(0,s.CE)("div",U,[k,(0,s.Lk)("ul",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(b.users,(e=>((0,s.uX)(),(0,s.CE)("li",{key:e.id,onClick:r=>C.editUser(e)},(0,n.v_)(e.name)+" ("+(0,n.v_)(e.email)+") ",9,v)))),128))])])):(0,s.Q3)("",!0)])}var C=t(3173),f={name:"UserAdministration",data(){return{users:[],currentUser:{name:"",email:"",password:"",active:!1},isCreating:!0}},computed:{formTitle(){return this.isCreating?"Benutzer erstellen":"Benutzer bearbeiten"}},methods:{async fetchUsers(){try{const e=await C.A.get("/users");this.users=e.data}catch(e){console.error("Fehler beim Abrufen der Benutzer:",e)}},async saveUser(){this.isCreating?await this.createUser():await this.updateUser(),this.resetForm(),this.fetchUsers()},async createUser(){try{await C.A.post("/users",this.currentUser)}catch(e){console.error("Fehler beim Erstellen des Benutzers:",e)}},async updateUser(){try{await C.A.put(`/users/${this.currentUser.id}`,this.currentUser)}catch(e){console.error("Fehler beim Aktualisieren des Benutzers:",e)}},editUser(e){this.currentUser={...e,password:""},this.isCreating=!1},resetForm(){this.currentUser={name:"",email:"",password:"",active:!1},this.isCreating=!0}},mounted(){this.fetchUsers()}},w=t(1241);const L=(0,w.A)(f,[["render",b],["__scopeId","data-v-a495c756"]]);var y=L}}]); +//# sourceMappingURL=8183.73935aeb.js.map \ No newline at end of file diff --git a/public/js/8183.73935aeb.js.map b/public/js/8183.73935aeb.js.map new file mode 100644 index 0000000..380c0cd --- /dev/null +++ b/public/js/8183.73935aeb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/8183.73935aeb.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/UserAdministration.vue","webpack://miriamgemeinde/./src/content/admin/UserAdministration.vue?913a"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./UserAdministration.vue?vue&type=template&id=a495c756&scoped=true\"\nimport script from \"./UserAdministration.vue?vue&type=script&lang=js\"\nexport * from \"./UserAdministration.vue?vue&type=script&lang=js\"\n\nimport \"./UserAdministration.vue?vue&type=style&index=0&id=a495c756&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a495c756\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","for","type","key","_createElementBlock","_hoisted_1","_hoisted_2","_toDisplayString","$options","formTitle","onSubmit","_cache","_withModifiers","args","saveUser","_hoisted_3","id","$event","$data","currentUser","name","required","_hoisted_4","email","_hoisted_5","password","isCreating","_hoisted_6","_hoisted_7","active","_hoisted_8","_createCommentVNode","onClick","resetForm","users","length","_hoisted_9","_hoisted_10","_Fragment","_renderList","user","editUser","_hoisted_11","data","computed","this","methods","fetchUsers","response","axios","get","error","console","createUser","updateUser","post","put","mounted","__exports__","render"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/830.92a4d716.js b/public/js/830.92a4d716.js new file mode 100644 index 0000000..e08dce5 --- /dev/null +++ b/public/js/830.92a4d716.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[830],{5727:function(n,t,e){e.d(t,{A:function(){return d}});var o=e(6768),r=e(5187);function i(n,t,e,i,u,a){const c=(0,o.g2)("RenderContentComponent");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("h1",null,(0,r.v_)(u.title),1),(0,o.bF)(c,{content:u.content},null,8,["content"])])}var u=e(3173),a=e(782),c=e(891),s={name:"ContentComponent",components:{RenderContentComponent:c.A},props:{link:{type:String,required:!0}},data(){return{content:"",title:""}},computed:{...(0,a.aH)(["menuData"]),...(0,a.L8)(["getMenuData"])},watch:{link:{immediate:!0,handler(n){this.fetchContent(n),this.setTitle(n)}}},methods:{async fetchContent(n){try{const t=await u.A.get(`/page-content?link=${n}`);this.content=t.data.content}catch(t){console.error("Fehler beim Abrufen des Inhalts:",t)}},setTitle(n){const t=(n,e)=>{for(const o of n){if(o.link===e)return o.pageTitle||o.name;if(o.submenu&&o.submenu.length>0){const n=t(o.submenu,e);if(n)return`${n}`}}return""};this.title=t(this.menuData,n)}}},l=e(1241);const m=(0,l.A)(s,[["render",i]]);var d=m},2844:function(n,t,e){e.r(t),e.d(t,{default:function(){return l}});var o=e(6768);const r={class:"some-page"};function i(n,t,e,i,u,a){const c=(0,o.g2)("ContentComponent");return(0,o.uX)(),(0,o.CE)("div",r,[(0,o.bF)(c,{link:a.currentLink},null,8,["link"])])}var u=e(5727),a={name:"SomePage",components:{ContentComponent:u.A},computed:{currentLink(){return this.$route.path}}},c=e(1241);const s=(0,c.A)(a,[["render",i]]);var l=s}}]); +//# sourceMappingURL=830.92a4d716.js.map \ No newline at end of file diff --git a/public/js/830.92a4d716.js.map b/public/js/830.92a4d716.js.map new file mode 100644 index 0000000..1cae8da --- /dev/null +++ b/public/js/830.92a4d716.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/830.92a4d716.js","mappings":"wQACIA,EAAAA,EAAAA,IAGM,aAFJC,EAAAA,EAAAA,IAAoB,WAAAC,EAAAA,EAAAA,IAAbC,EAAAC,OAAK,IACZC,EAAAA,EAAAA,IAA6CC,EAAA,CAApBC,QAASJ,EAAAI,SAAO,qB,iCAS7C,GACEC,KAAM,mBACNC,WAAY,CACVC,uBAAsBA,EAAAA,GAExBC,MAAO,CACLC,KAAM,CACJC,KAAMC,OACNC,UAAU,IAGdC,IAAAA,GACE,MAAO,CACLT,QAAS,GACTH,MAAO,GAEX,EACAa,SAAU,KACLC,EAAAA,EAAAA,IAAS,CAAC,iBACVC,EAAAA,EAAAA,IAAW,CAAC,iBAEjBC,MAAO,CACLR,KAAM,CACJS,WAAW,EACXC,OAAAA,CAAQC,GACNC,KAAKC,aAAaF,GAClBC,KAAKE,SAASH,EAChB,IAGJI,QAAS,CACP,kBAAMF,CAAab,GACjB,IACE,MAAMgB,QAAiBC,EAAAA,EAAMC,IAAI,sBAAsBlB,KACvDY,KAAKjB,QAAUqB,EAASZ,KAAKT,OAC/B,CAAE,MAAOwB,GACPC,QAAQD,MAAM,mCAAoCA,EACpD,CACF,EACAL,QAAAA,CAASd,GACP,MAAMqB,EAAYA,CAACC,EAAWtB,KAC5B,IAAK,MAAMuB,KAAQD,EAAW,CAC5B,GAAIC,EAAKvB,OAASA,EAChB,OAAOuB,EAAKC,WAAaD,EAAK3B,KAEhC,GAAI2B,EAAKE,SAAWF,EAAKE,QAAQC,OAAS,EAAG,CAC3C,MAAMC,EAAQN,EAAUE,EAAKE,QAASzB,GACtC,GAAI2B,EACF,MAAO,GAAGA,GAEd,CACF,CACA,MAAO,EAAE,EAEXf,KAAKpB,MAAQ6B,EAAUT,KAAKgB,SAAU5B,EACxC,I,UC9DN,MAAM6B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O,2FCNOC,MAAM,a,+EAAX3C,EAAAA,EAAAA,IAEM,MAFN4C,EAEM,EADJvC,EAAAA,EAAAA,IAAwCwC,EAAA,CAArBjC,KAAMkC,EAAAC,aAAW,kB,eAOxC,GACEvC,KAAM,WACNC,WAAY,CACVuC,iBAAgBA,EAAAA,GAElB/B,SAAU,CACR8B,WAAAA,GACE,OAAOvB,KAAKyB,OAAOC,IACrB,I,UCZJ,MAAMT,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://miriamgemeinde/./src/components/ContentComponent.vue","webpack://miriamgemeinde/./src/components/ContentComponent.vue?9b83","webpack://miriamgemeinde/./src/content/meetingpoint/ChildrensChurchContent.vue","webpack://miriamgemeinde/./src/content/meetingpoint/ChildrensChurchContent.vue?91f5"],"sourcesContent":["\n \n \n \n \n ","import { render } from \"./ContentComponent.vue?vue&type=template&id=3064f417\"\nimport script from \"./ContentComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContentComponent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { render } from \"./ChildrensChurchContent.vue?vue&type=template&id=30684879\"\nimport script from \"./ChildrensChurchContent.vue?vue&type=script&lang=js\"\nexport * from \"./ChildrensChurchContent.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createElementBlock","_createElementVNode","_toDisplayString","$data","title","_createVNode","_component_RenderContentComponent","content","name","components","RenderContentComponent","props","link","type","String","required","data","computed","mapState","mapGetters","watch","immediate","handler","newLink","this","fetchContent","setTitle","methods","response","axios","get","error","console","findTitle","menuItems","item","pageTitle","submenu","length","found","menuData","__exports__","render","class","_hoisted_1","_component_ContentComponent","$options","currentLink","ContentComponent","$route","path"],"sourceRoot":""} \ No newline at end of file diff --git a/public/js/8712.1e0ea3f5.js b/public/js/8712.1e0ea3f5.js new file mode 100644 index 0000000..99b74b6 --- /dev/null +++ b/public/js/8712.1e0ea3f5.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkmiriamgemeinde"]=self["webpackChunkmiriamgemeinde"]||[]).push([[8712],{8712:function(t,e,n){n.r(e),n.d(e,{default:function(){return ak}});var o=n(6768),r=n(5187),i=n(5688);const s=t=>((0,o.Qi)("data-v-35f9b467"),t=t(),(0,o.jt)(),t),l={class:"edit-pages"},a=s((()=>(0,o.Lk)("h2",null,"Webseiten bearbeiten",-1))),c=s((()=>(0,o.Lk)("label",{for:"page-select"},"Wähle eine Seite:",-1))),p=["value"],d={class:"toolbar"},h={class:"table-toolbar"},u={class:"additional-toolbar"},f={class:(0,r.C4)(["htmleditor"])};function m(t,e,n,s,m,g){const x=(0,o.g2)("BoldIcon"),M=(0,o.g2)("ItalicIcon"),y=(0,o.g2)("UnderlineIcon"),v=(0,o.g2)("StrikethroughIcon"),w=(0,o.g2)("TableIcon"),b=(0,o.g2)("ListIcon"),k=(0,o.g2)("NumberedListLeftIcon"),W=(0,o.g2)("StatsReportIcon"),Q=(0,o.g2)("OpenInWindowIcon"),C=(0,o.g2)("DownloadIcon"),S=(0,o.g2)("ArrowDownIcon"),O=(0,o.g2)("Table2ColumnsIcon"),T=(0,o.g2)("ArrowRightIcon"),A=(0,o.g2)("TableRowsIcon"),E=(0,o.g2)("AlignTopBoxIcon"),L=(0,o.g2)("AlignLeftBoxIcon"),N=(0,o.g2)("EditorContent"),D=(0,o.g2)("WorshipDialog"),R=(0,o.g2)("AddImageDialog"),I=(0,o.g2)("AddContactDialog"),P=(0,o.g2)("AddEventDialog"),H=(0,o.g2)("AddLinkDialog"),$=(0,o.g2)("AddDownloadDialog"),B=(0,o.g2)("AddInstitutionDialog");return(0,o.uX)(),(0,o.CE)("div",l,[a,(0,o.Lk)("div",null,[c,(0,o.bo)((0,o.Lk)("select",{id:"page-select","onUpdate:modelValue":e[0]||(e[0]=t=>s.selectedPage=t),onChange:e[1]||(e[1]=(...t)=>s.loadPageContent&&s.loadPageContent(...t))},[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(s.sortedPages,(t=>((0,o.uX)(),(0,o.CE)("option",{key:t.link,value:t.link},(0,r.v_)(t.name),9,p)))),128))],544),[[i.u1,s.selectedPage]])]),(0,o.Lk)("div",d,[(0,o.Lk)("button",{onClick:e[2]||(e[2]=t=>s.toggleHeading(1))},"H1"),(0,o.Lk)("button",{onClick:e[3]||(e[3]=t=>s.toggleHeading(2))},"H2"),(0,o.Lk)("button",{onClick:e[4]||(e[4]=t=>s.toggleHeading(3))},"H3"),(0,o.Lk)("button",{onClick:e[5]||(e[5]=t=>s.toggleBold()),width:"24",height:"24"},[(0,o.bF)(x,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[6]||(e[6]=t=>s.toggleItalic())},[(0,o.bF)(M,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[7]||(e[7]=t=>s.toggleUnderline())},[(0,o.bF)(y,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[8]||(e[8]=t=>s.toggleStrike())},[(0,o.bF)(v,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[9]||(e[9]=t=>s.insertTable())},[(0,o.bF)(w,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[10]||(e[10]=t=>s.toggleBulletList())},[(0,o.bF)(b,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[11]||(e[11]=t=>s.toggleOrderedList())},[(0,o.bF)(k,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[12]||(e[12]=(...t)=>s.openAddImageDialog&&s.openAddImageDialog(...t))},[(0,o.bF)(W,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[13]||(e[13]=(...t)=>s.openAddLinkDialog&&s.openAddLinkDialog(...t))},[(0,o.bF)(Q,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[14]||(e[14]=(...t)=>s.openAddDownloadDialog&&s.openAddDownloadDialog(...t))},[(0,o.bF)(C,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[15]||(e[15]=(...t)=>s.openColorPicker&&s.openColorPicker(...t))},"Schriftfarbe"),(0,o.Lk)("input",{type:"color",ref:"colorPicker",onInput:e[16]||(e[16]=(...t)=>s.setColor&&s.setColor(...t)),style:{display:"none"}},null,544)]),(0,o.Lk)("div",h,[(0,o.Lk)("button",{onClick:e[17]||(e[17]=e=>t.addColumnBefore())},[(0,o.bF)(S,{width:"10",height:"10",class:"align-top"}),(0,o.bF)(O,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[18]||(e[18]=e=>t.addColumnAfter())},[(0,o.bF)(O,{width:"24",height:"24"}),(0,o.bF)(S,{width:"10",height:"10",class:"align-top"})]),(0,o.Lk)("button",{onClick:e[19]||(e[19]=e=>t.addRowBefore())},[(0,o.bF)(T,{width:"10",height:"10",class:"align-top"}),(0,o.bF)(A,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[20]||(e[20]=e=>t.addRowAfter())},[(0,o.bF)(T,{width:"10",height:"10"}),(0,o.bF)(A,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[21]||(e[21]=e=>t.deleteColumn())},[(0,o.bF)(O,{width:"24",height:"24",class:"delete-icon"})]),(0,o.Lk)("button",{onClick:e[22]||(e[22]=e=>t.deleteRow())},[(0,o.bF)(A,{width:"24",height:"24",class:"delete-icon"})]),(0,o.Lk)("button",{onClick:e[23]||(e[23]=e=>t.toggleHeaderColumn())},[(0,o.bF)(E,{width:"24",height:"24"})]),(0,o.Lk)("button",{onClick:e[24]||(e[24]=e=>t.toggleHeaderRow())},[(0,o.bF)(L,{width:"24",height:"24"})])]),(0,o.Lk)("div",u,[(0,o.Lk)("button",{onClick:e[25]||(e[25]=(...t)=>s.openAddEventsDialog&&s.openAddEventsDialog(...t))},"Events"),(0,o.Lk)("button",{onClick:e[26]||(e[26]=(...t)=>s.openAddContactDialog&&s.openAddContactDialog(...t))},"Kontaktpersonen"),(0,o.Lk)("button",{onClick:e[27]||(e[27]=(...t)=>s.openAddInstitutionDialog&&s.openAddInstitutionDialog(...t))},"Institutionen"),(0,o.Lk)("button",{onClick:e[28]||(e[28]=(...t)=>s.openWorshipDialog&&s.openWorshipDialog(...t))},"Gottesdienste")]),(0,o.Lk)("div",f,[(0,o.bF)(N,{editor:s.editor},null,8,["editor"])]),(0,o.Lk)("button",{onClick:e[29]||(e[29]=(...t)=>s.savePageContent&&s.savePageContent(...t))},"Speichern"),(0,o.bF)(D,{ref:"worshipDialog",onConfirm:s.insertWorshipList},null,8,["onConfirm"]),(0,o.bF)(R,{ref:"addImageDialog",onConfirm:s.insertImage},null,8,["onConfirm"]),(0,o.bF)(I,{ref:"addContactDialog",onConfirm:s.insertContact},null,8,["onConfirm"]),(0,o.bF)(P,{ref:"addEventDialog",onConfirm:s.insertEvent},null,8,["onConfirm"]),(0,o.bF)(H,{ref:"addLinkDialog",onConfirm:s.insertLink},null,8,["onConfirm"]),(0,o.bF)($,{ref:"addDownloadDialog",onConfirm:s.insertDownload},null,8,["onConfirm"]),(0,o.bF)(B,{ref:"addInstitutionDialog",onConfirm:s.insertInstitution},null,8,["onConfirm"]),(0,o.Lk)("input",{type:"color",ref:"colorPicker",onInput:e[30]||(e[30]=(...t)=>s.setColor&&s.setColor(...t)),style:{display:"none"}},null,544)])}n(4114);var g=n(1798),x=n(782),M=n(3173);n(3375),n(9225),n(3972),n(9209),n(5714),n(7561),n(6197);function y(t){this.content=t}y.prototype={constructor:y,find:function(t){for(var e=0;e>1}},y.from=function(t){if(t instanceof y)return t;var e=[];if(t)for(var n in t)e.push(n,t[n]);return new y(e)};var v=y;function w(t,e,n){for(let o=0;;o++){if(o==t.childCount||o==e.childCount)return t.childCount==e.childCount?null:n;let r=t.child(o),i=e.child(o);if(r!=i){if(!r.sameMarkup(i))return n;if(r.isText&&r.text!=i.text){for(let t=0;r.text[t]==i.text[t];t++)n++;return n}if(r.content.size||i.content.size){let t=w(r.content,i.content,n+1);if(null!=t)return t}n+=r.nodeSize}else n+=r.nodeSize}}function b(t,e,n,o){for(let r=t.childCount,i=e.childCount;;){if(0==r||0==i)return r==i?null:{a:n,b:o};let s=t.child(--r),l=e.child(--i),a=s.nodeSize;if(s!=l){if(!s.sameMarkup(l))return{a:n,b:o};if(s.isText&&s.text!=l.text){let t=0,e=Math.min(s.text.length,l.text.length);while(tt&&!1!==n(l,o+s,r||null,i)&&l.content.size){let r=s+1;l.nodesBetween(Math.max(0,t-r),Math.min(l.content.size,e-r),n,o+r)}s=a}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,e,n,o){let r="",i=!0;return this.nodesBetween(t,e,((s,l)=>{let a=s.isText?s.text.slice(Math.max(t,l)-l,e-l):s.isLeaf?o?"function"===typeof o?o(s):o:s.type.spec.leafText?s.type.spec.leafText(s):"":"";s.isBlock&&(s.isLeaf&&a||s.isTextblock)&&n&&(i?i=!1:r+=n),r+=a}),0),r}append(t){if(!t.size)return this;if(!this.size)return t;let e=this.lastChild,n=t.firstChild,o=this.content.slice(),r=0;for(e.isText&&e.sameMarkup(n)&&(o[o.length-1]=e.withText(e.text+n.text),r=1);rt)for(let r=0,i=0;it&&((ie)&&(s=s.isText?s.cut(Math.max(0,t-i),Math.min(s.text.length,e-i)):s.cut(Math.max(0,t-i-1),Math.min(s.content.size,e-i-1))),n.push(s),o+=s.nodeSize),i=l}return new k(n,o)}cutByIndex(t,e){return t==e?k.empty:0==t&&e==this.content.length?this:new k(this.content.slice(t,e))}replaceChild(t,e){let n=this.content[t];if(n==e)return this;let o=this.content.slice(),r=this.size+e.nodeSize-n.nodeSize;return o[t]=e,new k(o,r)}addToStart(t){return new k([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new k(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let e=0;ethis.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let n=0,o=0;;n++){let r=this.child(n),i=o+r.nodeSize;if(i>=t)return i==t||e>0?Q(n+1,i):Q(n,o);o=i}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map((t=>t.toJSON())):null}static fromJSON(t,e){if(!e)return k.empty;if(!Array.isArray(e))throw new RangeError("Invalid input for Fragment.fromJSON");return new k(e.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return k.empty;let e,n=0;for(let o=0;othis.type.rank&&(e||(e=t.slice(0,o)),e.push(this),n=!0),e&&e.push(r)}}return e||(e=t.slice()),n||e.push(this),e}removeFromSet(t){for(let e=0;et.type.rank-e.type.rank)),e}}S.none=[];class O extends Error{}class T{constructor(t,e,n){this.content=t,this.openStart=e,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,e){let n=E(this.content,t+this.openStart,e);return n&&new T(n,this.openStart,this.openEnd)}removeBetween(t,e){return new T(A(this.content,t+this.openStart,e+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,e){if(!e)return T.empty;let n=e.openStart||0,o=e.openEnd||0;if("number"!=typeof n||"number"!=typeof o)throw new RangeError("Invalid input for Slice.fromJSON");return new T(k.fromJSON(t,e.content),n,o)}static maxOpen(t,e=!0){let n=0,o=0;for(let r=t.firstChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.firstChild)n++;for(let r=t.lastChild;r&&!r.isLeaf&&(e||!r.type.spec.isolating);r=r.lastChild)o++;return new T(t,n,o)}}function A(t,e,n){let{index:o,offset:r}=t.findIndex(e),i=t.maybeChild(o),{index:s,offset:l}=t.findIndex(n);if(r==e||i.isText){if(l!=n&&!t.child(s).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(n))}if(o!=s)throw new RangeError("Removing non-flat range");return t.replaceChild(o,i.copy(A(i.content,e-r-1,n-r-1)))}function E(t,e,n,o){let{index:r,offset:i}=t.findIndex(e),s=t.maybeChild(r);if(i==e||s.isText)return o&&!o.canReplace(r,r,n)?null:t.cut(0,e).append(n).append(t.cut(e));let l=E(s.content,e-i-1,n);return l&&t.replaceChild(r,s.copy(l))}function L(t,e,n){if(n.openStart>t.depth)throw new O("Inserted content deeper than insertion position");if(t.depth-n.openStart!=e.depth-n.openEnd)throw new O("Inconsistent open depths");return N(t,e,n,0)}function N(t,e,n,o){let r=t.index(o),i=t.node(o);if(r==e.index(o)&&o=0&&t.isText&&t.sameMarkup(e[n])?e[n]=t.withText(e[n].text+t.text):e.push(t)}function P(t,e,n,o){let r=(e||t).node(n),i=0,s=e?e.index(n):r.childCount;t&&(i=t.index(n),t.depth>n?i++:t.textOffset&&(I(t.nodeAfter,o),i++));for(let l=i;lr&&R(t,e,r+1),s=o.depth>r&&R(n,o,r+1),l=[];return P(null,t,r,l),i&&s&&e.index(r)==n.index(r)?(D(i,s),I(H(i,$(t,e,n,o,r+1)),l)):(i&&I(H(i,B(t,e,r+1)),l),P(e,n,r,l),s&&I(H(s,B(n,o,r+1)),l)),P(o,null,r,l),new k(l)}function B(t,e,n){let o=[];if(P(null,t,n,o),t.depth>n){let r=R(t,e,n+1);I(H(r,B(t,e,n+1)),o)}return P(e,null,n,o),new k(o)}function z(t,e){let n=e.depth-t.openStart,o=e.node(n),r=o.copy(t.content);for(let i=n-1;i>=0;i--)r=e.node(i).copy(k.from(r));return{start:r.resolveNoCache(t.openStart+n),end:r.resolveNoCache(r.content.size-t.openEnd-n)}}T.empty=new T(k.empty,0,0);class V{constructor(t,e,n){this.pos=t,this.path=e,this.parentOffset=n,this.depth=e.length/3-1}resolveDepth(t){return null==t?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[3*this.resolveDepth(t)]}index(t){return this.path[3*this.resolveDepth(t)+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t!=this.depth||this.textOffset?1:0)}start(t){return t=this.resolveDepth(t),0==t?0:this.path[3*t-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]}after(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[3*t-1]+this.path[3*t].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,e=this.index(this.depth);if(e==t.childCount)return null;let n=this.pos-this.path[this.path.length-1],o=t.child(e);return n?t.child(e).cut(n):o}get nodeBefore(){let t=this.index(this.depth),e=this.pos-this.path[this.path.length-1];return e?this.parent.child(t).cut(0,e):0==t?null:this.parent.child(t-1)}posAtIndex(t,e){e=this.resolveDepth(e);let n=this.path[3*e],o=0==e?0:this.path[3*e-1]+1;for(let r=0;r0;e--)if(this.start(e)<=t&&this.end(e)>=t)return e;return 0}blockRange(t=this,e){if(t.pos=0;n--)if(t.pos<=this.end(n)&&(!e||e(this.node(n))))return new _(this,t,n);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos=0&&e<=t.content.size))throw new RangeError("Position "+e+" out of range");let n=[],o=0,r=e;for(let i=t;;){let{index:t,offset:e}=i.content.findIndex(r),s=r-e;if(n.push(i,t,o+e),!s)break;if(i=i.child(t),i.isText)break;r=s-1,o+=e+1}return new V(e,n,r)}static resolveCached(t,e){for(let o=0;ot&&this.nodesBetween(t,e,(t=>(n.isInSet(t.marks)&&(o=!0),!o))),o}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;return this.content.size&&(t+="("+this.content.toStringInner()+")"),X(this.marks,t)}contentMatchAt(t){let e=this.type.contentMatch.matchFragment(this.content,0,t);if(!e)throw new Error("Called contentMatchAt on a node with invalid content");return e}canReplace(t,e,n=k.empty,o=0,r=n.childCount){let i=this.contentMatchAt(t).matchFragment(n,o,r),s=i&&i.matchFragment(this.content,e);if(!s||!s.validEnd)return!1;for(let l=o;lt.type.name))}`);this.content.forEach((t=>t.check()))}toJSON(){let t={type:this.type.name};for(let e in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map((t=>t.toJSON()))),t}static fromJSON(t,e){if(!e)throw new RangeError("Invalid input for Node.fromJSON");let n=null;if(e.marks){if(!Array.isArray(e.marks))throw new RangeError("Invalid mark data for Node.fromJSON");n=e.marks.map(t.markFromJSON)}if("text"==e.type){if("string"!=typeof e.text)throw new RangeError("Invalid text node in JSON");return t.text(e.text,n)}let o=k.fromJSON(t,e.content);return t.nodeType(e.type).create(e.attrs,o,n)}}U.prototype.text=void 0;class J extends U{constructor(t,e,n,o){if(super(t,e,null,o),!n)throw new RangeError("Empty text nodes are not allowed");this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):X(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,e){return this.text.slice(t,e)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new J(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new J(this.type,this.attrs,t,this.marks)}cut(t=0,e=this.text.length){return 0==t&&e==this.text.length?this:this.withText(this.text.slice(t,e))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();return t.text=this.text,t}}function X(t,e){for(let n=t.length-1;n>=0;n--)e=t[n].type.name+"("+e+")";return e}class G{constructor(t){this.validEnd=t,this.next=[],this.wrapCache=[]}static parse(t,e){let n=new Y(t,e);if(null==n.next)return G.empty;let o=Z(n);n.next&&n.err("Unexpected trailing text");let r=ct(st(o));return pt(r,n),r}matchType(t){for(let e=0;et.createAndFill())));for(let t=0;t=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function e(n){t.push(n);for(let o=0;o{let o=n+(e.validEnd?"*":" ")+" ";for(let r=0;r"+t.indexOf(e.next[r].next);return o})).join("\n")}}G.empty=new G(!0);class Y{constructor(t,e){this.string=t,this.nodeTypes=e,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),""==this.tokens[this.tokens.length-1]&&this.tokens.pop(),""==this.tokens[0]&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}}function Z(t){let e=[];do{e.push(tt(t))}while(t.eat("|"));return 1==e.length?e[0]:{type:"choice",exprs:e}}function tt(t){let e=[];do{e.push(et(t))}while(t.next&&")"!=t.next&&"|"!=t.next);return 1==e.length?e[0]:{type:"seq",exprs:e}}function et(t){let e=it(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else{if(!t.eat("{"))break;e=ot(t,e)}return e}function nt(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function ot(t,e){let n=nt(t),o=n;return t.eat(",")&&(o="}"!=t.next?nt(t):-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:n,max:o,expr:e}}function rt(t,e){let n=t.nodeTypes,o=n[e];if(o)return[o];let r=[];for(let i in n){let t=n[i];t.groups.indexOf(e)>-1&&r.push(t)}return 0==r.length&&t.err("No node type or group '"+e+"' found"),r}function it(t){if(t.eat("(")){let e=Z(t);return t.eat(")")||t.err("Missing closing paren"),e}if(!/\W/.test(t.next)){let e=rt(t,t.next).map((e=>(null==t.inline?t.inline=e.isInline:t.inline!=e.isInline&&t.err("Mixing inline and block content"),{type:"name",value:e})));return t.pos++,1==e.length?e[0]:{type:"choice",exprs:e}}t.err("Unexpected token '"+t.next+"'")}function st(t){let e=[[]];return r(i(t,0),n()),e;function n(){return e.push([])-1}function o(t,n,o){let r={term:o,to:n};return e[t].push(r),r}function r(t,e){t.forEach((t=>t.to=e))}function i(t,e){if("choice"==t.type)return t.exprs.reduce(((t,n)=>t.concat(i(n,e))),[]);if("seq"!=t.type){if("star"==t.type){let s=n();return o(e,s),r(i(t.expr,s),s),[o(s)]}if("plus"==t.type){let s=n();return r(i(t.expr,e),s),r(i(t.expr,s),s),[o(s)]}if("opt"==t.type)return[o(e)].concat(i(t.expr,e));if("range"==t.type){let s=e;for(let e=0;e{t[e].forEach((({term:e,to:n})=>{if(!e)return;let o;for(let t=0;t{o||r.push([e,o=[]]),-1==o.indexOf(t)&&o.push(t)}))}))}));let i=e[o.join(",")]=new G(o.indexOf(t.length-1)>-1);for(let t=0;t-1}allowsMarks(t){if(null==this.markSet)return!0;for(let e=0;en[t]=new ft(t,e,o)));let o=e.spec.topNode||"doc";if(!n[o])throw new RangeError("Schema is missing its top node type ('"+o+"')");if(!n.text)throw new RangeError("Every schema needs a 'text' type");for(let r in n.text.attrs)throw new RangeError("The text node type should not have attributes");return n}}class mt{constructor(t){this.hasDefault=Object.prototype.hasOwnProperty.call(t,"default"),this.default=t.default}get isRequired(){return!this.hasDefault}}class gt{constructor(t,e,n,o){this.name=t,this.rank=e,this.schema=n,this.spec=o,this.attrs=ut(o.attrs),this.excluded=null;let r=dt(this.attrs);this.instance=r?new S(this,r):null}create(t=null){return!t&&this.instance?this.instance:new S(this,ht(this.attrs,t))}static compile(t,e){let n=Object.create(null),o=0;return t.forEach(((t,r)=>n[t]=new gt(t,o++,e,r))),n}removeFromSet(t){for(var e=0;e-1}}class xt{constructor(t){this.linebreakReplacement=null,this.cached=Object.create(null);let e=this.spec={};for(let o in t)e[o]=t[o];e.nodes=v.from(t.nodes),e.marks=v.from(t.marks||{}),this.nodes=ft.compile(this.spec.nodes,this),this.marks=gt.compile(this.spec.marks,this);let n=Object.create(null);for(let o in this.nodes){if(o in this.marks)throw new RangeError(o+" can not be both a node and a mark");let t=this.nodes[o],e=t.spec.content||"",r=t.spec.marks;if(t.contentMatch=n[e]||(n[e]=G.parse(e,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!t.isInline||!t.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=t}t.markSet="_"==r?null:r?Mt(this,r.split(" ")):""!=r&&t.inlineContent?null:[]}for(let o in this.marks){let t=this.marks[o],e=t.spec.excludes;t.excluded=null==e?[t]:""==e?[]:Mt(this,e.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(t,e=null,n,o){if("string"==typeof t)t=this.nodeType(t);else{if(!(t instanceof ft))throw new RangeError("Invalid node type: "+t);if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")")}return t.createChecked(e,n,o)}text(t,e){let n=this.nodes.text;return new J(n,n.defaultAttrs,t,S.setFrom(e))}mark(t,e){return"string"==typeof t&&(t=this.marks[t]),t.create(e)}nodeFromJSON(t){return U.fromJSON(this,t)}markFromJSON(t){return S.fromJSON(this,t)}nodeType(t){let e=this.nodes[t];if(!e)throw new RangeError("Unknown node type: "+t);return e}}function Mt(t,e){let n=[];for(let o=0;o-1)&&n.push(s=o)}if(!s)throw new SyntaxError("Unknown mark type: '"+e[o]+"'")}return n}function yt(t){return null!=t.tag}function vt(t){return null!=t.style}class wt{constructor(t,e){this.schema=t,this.rules=e,this.tags=[],this.styles=[],e.forEach((t=>{yt(t)?this.tags.push(t):vt(t)&&this.styles.push(t)})),this.normalizeLists=!this.tags.some((e=>{if(!/^(ul|ol)\b/.test(e.tag)||!e.node)return!1;let n=t.nodes[e.node];return n.contentMatch.matchType(n)}))}parse(t,e={}){let n=new At(this,e,!1);return n.addAll(t,e.from,e.to),n.finish()}parseSlice(t,e={}){let n=new At(this,e,!0);return n.addAll(t,e.from,e.to),T.maxOpen(n.finish())}matchTag(t,e,n){for(let o=n?this.tags.indexOf(n)+1:0;ot.length&&(61!=i.charCodeAt(t.length)||i.slice(t.length+1)!=e))){if(o.getAttrs){let t=o.getAttrs(e);if(!1===t)continue;o.attrs=t||void 0}return o}}}static schemaRules(t){let e=[];function n(t){let n=null==t.priority?50:t.priority,o=0;for(;o{n(t=Nt(t)),t.mark||t.ignore||t.clearMark||(t.mark=o)}))}for(let o in t.nodes){let e=t.nodes[o].spec.parseDOM;e&&e.forEach((t=>{n(t=Nt(t)),t.node||t.ignore||t.mark||(t.node=o)}))}return e}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new wt(t,wt.schemaRules(t)))}}const bt={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},kt={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},Wt={ol:!0,ul:!0},Qt=1,Ct=2,St=4;function Ot(t,e,n){return null!=e?(e?Qt:0)|("full"===e?Ct:0):t&&"pre"==t.whitespace?Qt|Ct:n&~St}class Tt{constructor(t,e,n,o,r,i,s){this.type=t,this.attrs=e,this.marks=n,this.pendingMarks=o,this.solid=r,this.options=s,this.content=[],this.activeMarks=S.none,this.stashMarks=[],this.match=i||(s&St?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let e=this.type.contentMatch.fillBefore(k.from(t));if(!e){let e,n=this.type.contentMatch;return(e=n.findWrapping(t.type))?(this.match=n,e):null}this.match=this.type.contentMatch.matchFragment(e)}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&Qt)){let t,e=this.content[this.content.length-1];if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let e=k.from(this.content);return!t&&this.match&&(e=e.append(this.match.fillBefore(k.empty,!0))),this.type?this.type.create(this.attrs,e,this.marks):e}popFromStashMark(t){for(let e=this.stashMarks.length-1;e>=0;e--)if(t.eq(this.stashMarks[e]))return this.stashMarks.splice(e,1)[0]}applyPending(t){for(let e=0,n=this.pendingMarks;ethis.addAll(t))),e&&this.sync(n),this.needsBlock=i}else this.withStyleRules(t,(()=>{this.addElementByRule(t,r,!1===r.consuming?n:void 0)}))}leafFallback(t){"BR"==t.nodeName&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(t.ownerDocument.createTextNode("\n"))}ignoreFallback(t){"BR"!=t.nodeName||this.top.type&&this.top.type.inlineContent||this.findPlace(this.parser.schema.text("-"))}readStyles(t){let e=S.none,n=S.none;for(let o=0,r=t.length;o{i.clearMark(t)&&(n=t.addToSet(n))})):e=this.parser.schema.marks[i.mark].create(i.attrs).addToSet(e),!1!==i.consuming)break;o=i}}return[e,n]}addElementByRule(t,e,n){let o,r,i;if(e.node)r=this.parser.schema.nodes[e.node],r.isLeaf?this.insertNode(r.create(e.attrs))||this.leafFallback(t):o=this.enter(r,e.attrs||null,e.preserveWhitespace);else{let t=this.parser.schema.marks[e.mark];i=t.create(e.attrs),this.addPendingMark(i)}let s=this.top;if(r&&r.isLeaf)this.findInside(t);else if(n)this.addElement(t,n);else if(e.getContent)this.findInside(t),e.getContent(t,this.parser.schema).forEach((t=>this.insertNode(t)));else{let n=t;"string"==typeof e.contentElement?n=t.querySelector(e.contentElement):"function"==typeof e.contentElement?n=e.contentElement(t):e.contentElement&&(n=e.contentElement),this.findAround(t,n,!0),this.addAll(n)}o&&this.sync(s)&&this.open--,i&&this.removePendingMark(i,s)}addAll(t,e,n){let o=e||0;for(let r=e?t.childNodes[e]:t.firstChild,i=null==n?null:t.childNodes[n];r!=i;r=r.nextSibling,++o)this.findAtPoint(t,o),this.addDOM(r);this.findAtPoint(t,o)}findPlace(t){let e,n;for(let o=this.open;o>=0;o--){let r=this.nodes[o],i=r.findWrapping(t);if(i&&(!e||e.length>i.length)&&(e=i,n=r,!i.length))break;if(r.solid)break}if(!e)return!1;this.sync(n);for(let o=0;othis.open){for(;e>this.open;e--)this.nodes[e-1].content.push(this.nodes[e].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(this.isOpen||this.options.topOpen)}sync(t){for(let e=this.open;e>=0;e--)if(this.nodes[e]==t)return this.open=e,!0;return!1}get currentPos(){this.closeExtra();let t=0;for(let e=this.open;e>=0;e--){let n=this.nodes[e].content;for(let e=n.length-1;e>=0;e--)t+=n[e].nodeSize;e&&t++}return t}findAtPoint(t,e){if(this.find)for(let n=0;n-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let e=t.split("/"),n=this.options.context,o=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),r=-(n?n.depth+1:0)+(o?0:1),i=(t,s)=>{for(;t>=0;t--){let l=e[t];if(""==l){if(t==e.length-1||0==t)continue;for(;s>=r;s--)if(i(t-1,s))return!0;return!1}{let t=s>0||0==s&&o?this.nodes[s].type:n&&s>=r?n.node(s-r).type:null;if(!t||t.name!=l&&-1==t.groups.indexOf(l))return!1;s--}}return!0};return i(e.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let e=t.depth;e>=0;e--){let n=t.node(e).contentMatchAt(t.indexAfter(e)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}addPendingMark(t){let e=Rt(t,this.top.pendingMarks);e&&this.top.stashMarks.push(e),this.top.pendingMarks=t.addToSet(this.top.pendingMarks)}removePendingMark(t,e){for(let n=this.open;n>=0;n--){let o=this.nodes[n],r=o.pendingMarks.lastIndexOf(t);if(r>-1)o.pendingMarks=t.removeFromSet(o.pendingMarks);else{o.activeMarks=t.removeFromSet(o.activeMarks);let e=o.popFromStashMark(t);e&&o.type&&o.type.allowsMarkType(e.type)&&(o.activeMarks=e.addToSet(o.activeMarks))}if(o==e)break}}}function Et(t){for(let e=t.firstChild,n=null;e;e=e.nextSibling){let t=1==e.nodeType?e.nodeName.toLowerCase():null;t&&Wt.hasOwnProperty(t)&&n?(n.appendChild(e),e=n):"li"==t?n=e:t&&(n=null)}}function Lt(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function Nt(t){let e={};for(let n in t)e[n]=t[n];return e}function Dt(t,e){let n=e.schema.nodes;for(let o in n){let r=n[o];if(!r.allowsMarkType(t))continue;let i=[],s=t=>{i.push(t);for(let n=0;n{if(r.length||t.marks.length){let n=0,i=0;while(n=0;o--){let r=this.serializeMark(t.marks[o],t.isInline,e);r&&((r.contentDOM||r.dom).appendChild(n),n=r.dom)}return n}serializeMark(t,e,n={}){let o=this.marks[t.type.name];return o&&It.renderSpec(Ht(n),o(t,e))}static renderSpec(t,e,n=null){if("string"==typeof e)return{dom:t.createTextNode(e)};if(null!=e.nodeType)return{dom:e};if(e.dom&&null!=e.dom.nodeType)return e;let o,r=e[0],i=r.indexOf(" ");i>0&&(n=r.slice(0,i),r=r.slice(i+1));let s=n?t.createElementNS(n,r):t.createElement(r),l=e[1],a=1;if(l&&"object"==typeof l&&null==l.nodeType&&!Array.isArray(l)){a=2;for(let t in l)if(null!=l[t]){let e=t.indexOf(" ");e>0?s.setAttributeNS(t.slice(0,e),t.slice(e+1),l[t]):s.setAttribute(t,l[t])}}for(let c=a;ca)throw new RangeError("Content hole must be the only child of its parent node");return{dom:s,contentDOM:s}}{let{dom:e,contentDOM:i}=It.renderSpec(t,r,n);if(s.appendChild(e),i){if(o)throw new RangeError("Multiple content holes");o=i}}}return{dom:s,contentDOM:o}}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new It(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let e=Pt(t.nodes);return e.text||(e.text=t=>t.text),e}static marksFromSchema(t){return Pt(t.marks)}}function Pt(t){let e={};for(let n in t){let o=t[n].spec.toDOM;o&&(e[n]=o)}return e}function Ht(t){return t.document||window.document}const $t=65535,Bt=Math.pow(2,16);function zt(t,e){return t+e*Bt}function Vt(t){return t&$t}function Ft(t){return(t-(t&$t))/Bt}const jt=1,Kt=2,_t=4,qt=8;class Ut{constructor(t,e,n){this.pos=t,this.delInfo=e,this.recover=n}get deleted(){return(this.delInfo&qt)>0}get deletedBefore(){return(this.delInfo&(jt|_t))>0}get deletedAfter(){return(this.delInfo&(Kt|_t))>0}get deletedAcross(){return(this.delInfo&_t)>0}}class Jt{constructor(t,e=!1){if(this.ranges=t,this.inverted=e,!t.length&&Jt.empty)return Jt.empty}recover(t){let e=0,n=Vt(t);if(!this.inverted)for(let o=0;ot)break;let a=this.ranges[s+r],c=this.ranges[s+i],p=l+a;if(t<=p){let r=a?t==l?-1:t==p?1:e:e,i=l+o+(r<0?0:c);if(n)return i;let d=t==(e<0?l:p)?null:zt(s/3,t-l),h=t==l?Kt:t==p?jt:_t;return(e<0?t!=l:t!=p)&&(h|=qt),new Ut(i,h,d)}o+=c-a}return n?t+o:new Ut(t+o,0,null)}touches(t,e){let n=0,o=Vt(e),r=this.inverted?2:1,i=this.inverted?1:2;for(let s=0;st)break;let l=this.ranges[s+r],a=e+l;if(t<=a&&s==3*o)return!0;n+=this.ranges[s+i]-l}return!1}forEach(t){let e=this.inverted?2:1,n=this.inverted?1:2;for(let o=0,r=0;o=0;e--){let o=t.getMirror(e);this.appendMap(t.maps[e].invert(),null!=o&&o>e?n-o-1:void 0)}}invert(){let t=new Xt;return t.appendMappingInverted(this),t}map(t,e=1){if(this.mirror)return this._map(t,e,!0);for(let n=this.from;nr&&et.isAtom&&e.type.allowsMarkType(this.mark.type)?t.mark(this.mark.addToSet(t.marks)):t),o),e.openStart,e.openEnd);return Zt.fromReplace(t,this.from,this.to,r)}invert(){return new ne(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return e.deleted&&n.deleted||e.pos>=n.pos?null:new ee(e.pos,n.pos,this.mark)}merge(t){return t instanceof ee&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new ee(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new ee(e.from,e.to,t.markFromJSON(e.mark))}}Yt.jsonID("addMark",ee);class ne extends Yt{constructor(t,e,n){super(),this.from=t,this.to=e,this.mark=n}apply(t){let e=t.slice(this.from,this.to),n=new T(te(e.content,(t=>t.mark(this.mark.removeFromSet(t.marks))),t),e.openStart,e.openEnd);return Zt.fromReplace(t,this.from,this.to,n)}invert(){return new ee(this.from,this.to,this.mark)}map(t){let e=t.mapResult(this.from,1),n=t.mapResult(this.to,-1);return e.deleted&&n.deleted||e.pos>=n.pos?null:new ne(e.pos,n.pos,this.mark)}merge(t){return t instanceof ne&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new ne(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to)throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new ne(e.from,e.to,t.markFromJSON(e.mark))}}Yt.jsonID("removeMark",ne);class oe extends Yt{constructor(t,e){super(),this.pos=t,this.mark=e}apply(t){let e=t.nodeAt(this.pos);if(!e)return Zt.fail("No node at mark step's position");let n=e.type.create(e.attrs,null,this.mark.addToSet(e.marks));return Zt.fromReplace(t,this.pos,this.pos+1,new T(k.from(n),0,e.isLeaf?0:1))}invert(t){let e=t.nodeAt(this.pos);if(e){let t=this.mark.addToSet(e.marks);if(t.length==e.marks.length){for(let n=0;nn.pos?null:new se(e.pos,n.pos,o,r,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,e){if("number"!=typeof e.from||"number"!=typeof e.to||"number"!=typeof e.gapFrom||"number"!=typeof e.gapTo||"number"!=typeof e.insert)throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new se(e.from,e.to,e.gapFrom,e.gapTo,T.fromJSON(t,e.slice),e.insert,!!e.structure)}}function le(t,e,n){let o=t.resolve(e),r=n-e,i=o.depth;while(r>0&&i>0&&o.indexAfter(i)==o.node(i).childCount)i--,r--;if(r>0){let t=o.node(i).maybeChild(o.indexAfter(i));while(r>0){if(!t||t.isLeaf)return!0;t=t.firstChild,r--}}return!1}function ae(t,e,n,o){let r,i,s=[],l=[];t.doc.nodesBetween(e,n,((t,a,c)=>{if(!t.isInline)return;let p=t.marks;if(!o.isInSet(p)&&c.type.allowsMarkType(o.type)){let c=Math.max(a,e),d=Math.min(a+t.nodeSize,n),h=o.addToSet(p);for(let t=0;tt.step(e))),l.forEach((e=>t.step(e)))}function ce(t,e,n,o){let r=[],i=0;t.doc.nodesBetween(e,n,((t,s)=>{if(!t.isInline)return;i++;let l=null;if(o instanceof gt){let e,n=t.marks;while(e=o.isInSet(n))(l||(l=[])).push(e),n=e.removeFromSet(n)}else o?o.isInSet(t.marks)&&(l=[o]):l=t.marks;if(l&&l.length){let o=Math.min(s+t.nodeSize,n);for(let t=0;tt.step(new ne(e.from,e.to,e.style))))}function pe(t,e,n,o=n.contentMatch,r=!0){let i=t.doc.nodeAt(e),s=[],l=e+1;for(let a=0;a=0;a--)t.step(s[a])}function de(t,e,n){return(0==e||t.canReplace(e,t.childCount))&&(n==t.childCount||t.canReplace(0,n))}function he(t){let e=t.parent,n=e.content.cutByIndex(t.startIndex,t.endIndex);for(let o=t.depth;;--o){let e=t.$from.node(o),r=t.$from.index(o),i=t.$to.indexAfter(o);if(on;f--)m||o.index(f)>0?(m=!0,p=k.from(o.node(f).copy(p)),d++):a--;let h=k.empty,u=0;for(let f=i,m=!1;f>n;f--)m||r.after(f+1)=0;s--){if(o.size){let t=n[s].type.contentMatch.matchFragment(o);if(!t||!t.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}o=k.from(n[s].type.create(n[s].attrs,o))}let r=e.start,i=e.end;t.step(new se(r,i,r,i,new T(o,0,0),n.length,!0))}function ye(t,e,n,o,r){if(!o.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let i=t.steps.length;t.doc.nodesBetween(e,n,((e,n)=>{if(e.isTextblock&&!e.hasMarkup(o,r)&&be(t.doc,t.mapping.slice(i).map(n),o)){let s=null;if(o.schema.linebreakReplacement){let t="pre"==o.whitespace,e=!!o.contentMatch.matchType(o.schema.linebreakReplacement);t&&!e?s=!1:!t&&e&&(s=!0)}!1===s&&we(t,e,n,i),pe(t,t.mapping.slice(i).map(n,1),o,void 0,null===s);let l=t.mapping.slice(i),a=l.map(n,1),c=l.map(n+e.nodeSize,1);return t.step(new se(a,c,a+1,c-1,new T(k.from(o.create(r,null,e.marks)),0,0),1,!0)),!0===s&&ve(t,e,n,i),!1}}))}function ve(t,e,n,o){e.forEach(((r,i)=>{if(r.isText){let s,l=/\r?\n|\r/g;while(s=l.exec(r.text)){let r=t.mapping.slice(o).map(n+1+i+s.index);t.replaceWith(r,r+1,e.type.schema.linebreakReplacement.create())}}}))}function we(t,e,n,o){e.forEach(((r,i)=>{if(r.type==r.type.schema.linebreakReplacement){let r=t.mapping.slice(o).map(n+1+i);t.replaceWith(r,r+1,e.type.schema.text("\n"))}}))}function be(t,e,n){let o=t.resolve(e),r=o.index();return o.parent.canReplaceWith(r,r+1,n)}function ke(t,e,n,o,r){let i=t.doc.nodeAt(e);if(!i)throw new RangeError("No node at given position");n||(n=i.type);let s=n.create(o,null,r||i.marks);if(i.isLeaf)return t.replaceWith(e,e+i.nodeSize,s);if(!n.validContent(i.content))throw new RangeError("Invalid content for node type "+n.name);t.step(new se(e,e+i.nodeSize,e+1,e+i.nodeSize-1,new T(k.from(s),0,0),1,!0))}function We(t,e,n=1,o){let r=t.resolve(e),i=r.depth-n,s=o&&o[o.length-1]||r.parent;if(i<0||r.parent.type.spec.isolating||!r.parent.canReplace(r.index(),r.parent.childCount)||!s.type.validContent(r.parent.content.cutByIndex(r.index(),r.parent.childCount)))return!1;for(let c=r.depth-1,p=n-2;c>i;c--,p--){let t=r.node(c),e=r.index(c);if(t.type.spec.isolating)return!1;let n=t.content.cutByIndex(e,t.childCount),i=o&&o[p+1];i&&(n=n.replaceChild(0,i.type.create(i.attrs)));let s=o&&o[p]||t;if(!t.canReplace(e+1,t.childCount)||!s.type.validContent(n))return!1}let l=r.indexAfter(i),a=o&&o[0];return r.node(i).canReplaceWith(l,l,a?a.type:r.node(i+1).type)}function Qe(t,e,n=1,o){let r=t.doc.resolve(e),i=k.empty,s=k.empty;for(let l=r.depth,a=r.depth-n,c=n-1;l>a;l--,c--){i=k.from(r.node(l).copy(i));let t=o&&o[c];s=k.from(t?t.type.create(t.attrs,s):r.node(l).copy(s))}t.step(new ie(e,e,new T(i.append(s),n,n),!0))}function Ce(t,e){let n=t.resolve(e),o=n.index();return Se(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(o,o+1)}function Se(t,e){return!(!t||!e||t.isLeaf||!t.canAppend(e))}function Oe(t,e,n=-1){let o=t.resolve(e);for(let r=o.depth;;r--){let t,i,s=o.index(r);if(r==o.depth?(t=o.nodeBefore,i=o.nodeAfter):n>0?(t=o.node(r+1),s++,i=o.node(r).maybeChild(s)):(t=o.node(r).maybeChild(s-1),i=o.node(r+1)),t&&!t.isTextblock&&Se(t,i)&&o.node(r).canReplace(s,s+1))return e;if(0==r)break;e=n<0?o.before(r):o.after(r)}}function Te(t,e,n){let o=new ie(e-n,e+n,T.empty,!0);t.step(o)}function Ae(t,e,n){let o=t.resolve(e);if(o.parent.canReplaceWith(o.index(),o.index(),n))return e;if(0==o.parentOffset)for(let r=o.depth-1;r>=0;r--){let t=o.index(r);if(o.node(r).canReplaceWith(t,t,n))return o.before(r+1);if(t>0)return null}if(o.parentOffset==o.parent.content.size)for(let r=o.depth-1;r>=0;r--){let t=o.indexAfter(r);if(o.node(r).canReplaceWith(t,t,n))return o.after(r+1);if(t=0;t--){let e=t==o.depth?0:o.pos<=(o.start(t+1)+o.end(t+1))/2?-1:1,n=o.index(t)+(e>0?1:0),s=o.node(t),l=!1;if(1==i)l=s.canReplace(n,n,r);else{let t=s.contentMatchAt(n).findWrapping(r.firstChild.type);l=t&&s.canReplaceWith(n,n,t[0])}if(l)return 0==e?o.pos:e<0?o.before(t+1):o.after(t+1)}return null}function Le(t,e,n=e,o=T.empty){if(e==n&&!o.size)return null;let r=t.resolve(e),i=t.resolve(n);return Ne(r,i,o)?new ie(e,n,o):new De(r,i,o).fit()}function Ne(t,e,n){return!n.openStart&&!n.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),n.content)}Yt.jsonID("replaceAround",se);class De{constructor(t,e,n){this.$from=t,this.$to=e,this.unplaced=n,this.frontier=[],this.placed=k.empty;for(let o=0;o<=t.depth;o++){let e=t.node(o);this.frontier.push({type:e.type,match:e.contentMatchAt(t.indexAfter(o))})}for(let o=t.depth;o>0;o--)this.placed=k.from(t.node(o).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){while(this.unplaced.size){let t=this.findFittable();t?this.placeNodes(t):this.openMore()||this.dropNode()}let t=this.mustMoveInline(),e=this.placed.size-this.depth-this.$from.depth,n=this.$from,o=this.close(t<0?this.$to:n.doc.resolve(t));if(!o)return null;let r=this.placed,i=n.depth,s=o.depth;while(i&&s&&1==r.childCount)r=r.firstChild.content,i--,s--;let l=new T(r,i,s);return t>-1?new se(n.pos,t,this.$to.pos,this.$to.end(),l,e):l.size||n.pos!=this.$to.pos?new ie(n.pos,o.pos,l):null}findFittable(){let t=this.unplaced.openStart;for(let e=this.unplaced.content,n=0,o=this.unplaced.openEnd;n1&&(o=0),r.type.spec.isolating&&o<=n){t=n;break}e=r.content}for(let e=1;e<=2;e++)for(let n=1==e?t:this.unplaced.openStart;n>=0;n--){let t,o=null;n?(o=Pe(this.unplaced.content,n-1).firstChild,t=o.content):t=this.unplaced.content;let r=t.firstChild;for(let i=this.depth;i>=0;i--){let t,{type:s,match:l}=this.frontier[i],a=null;if(1==e&&(r?l.matchType(r.type)||(a=l.fillBefore(k.from(r),!1)):o&&s.compatibleContent(o.type)))return{sliceDepth:n,frontierDepth:i,parent:o,inject:a};if(2==e&&r&&(t=l.findWrapping(r.type)))return{sliceDepth:n,frontierDepth:i,parent:o,wrap:t};if(o&&l.matchType(o.type))break}}}openMore(){let{content:t,openStart:e,openEnd:n}=this.unplaced,o=Pe(t,e);return!(!o.childCount||o.firstChild.isLeaf)&&(this.unplaced=new T(t,e+1,Math.max(n,o.size+e>=t.size-n?e+1:0)),!0)}dropNode(){let{content:t,openStart:e,openEnd:n}=this.unplaced,o=Pe(t,e);if(o.childCount<=1&&e>0){let r=t.size-e<=e+o.size;this.unplaced=new T(Re(t,e-1,1),e-1,r?e-1:n)}else this.unplaced=new T(Re(t,e,1),e,n)}placeNodes({sliceDepth:t,frontierDepth:e,parent:n,inject:o,wrap:r}){while(this.depth>e)this.closeFrontierNode();if(r)for(let f=0;f1||0==l||t.content.size)&&(p=e,c.push(He(t.mark(d.allowedMarks(t.marks)),1==a?l:0,a==s.childCount?h:-1)))}let u=a==s.childCount;u||(h=-1),this.placed=Ie(this.placed,e,k.from(c)),this.frontier[e].match=p,u&&h<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let f=0,m=s;f1&&o==this.$to.end(--n))++o;return o}findCloseLevel(t){t:for(let e=Math.min(this.depth,t.depth);e>=0;e--){let{match:n,type:o}=this.frontier[e],r=e=0;n--){let{match:e,type:o}=this.frontier[n],r=$e(t,n,o,e,!0);if(!r||r.childCount)continue t}return{depth:e,fit:i,move:r?t.doc.resolve(t.after(e+1)):t}}}}close(t){let e=this.findCloseLevel(t);if(!e)return null;while(this.depth>e.depth)this.closeFrontierNode();e.fit.childCount&&(this.placed=Ie(this.placed,e.depth,e.fit)),t=e.move;for(let n=e.depth+1;n<=t.depth;n++){let e=t.node(n),o=e.type.contentMatch.fillBefore(e.content,!0,t.index(n));this.openFrontierNode(e.type,e.attrs,o)}return t}openFrontierNode(t,e=null,n){let o=this.frontier[this.depth];o.match=o.match.matchType(t),this.placed=Ie(this.placed,this.depth,k.from(t.create(e,n))),this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let t=this.frontier.pop(),e=t.match.fillBefore(k.empty,!0);e.childCount&&(this.placed=Ie(this.placed,this.frontier.length,e))}}function Re(t,e,n){return 0==e?t.cutByIndex(n,t.childCount):t.replaceChild(0,t.firstChild.copy(Re(t.firstChild.content,e-1,n)))}function Ie(t,e,n){return 0==e?t.append(n):t.replaceChild(t.childCount-1,t.lastChild.copy(Ie(t.lastChild.content,e-1,n)))}function Pe(t,e){for(let n=0;n1&&(o=o.replaceChild(0,He(o.firstChild,e-1,1==o.childCount?n-1:0))),e>0&&(o=t.type.contentMatch.fillBefore(o).append(o),n<=0&&(o=o.append(t.type.contentMatch.matchFragment(o).fillBefore(k.empty,!0)))),t.copy(o)}function $e(t,e,n,o,r){let i=t.node(e),s=r?t.indexAfter(e):t.index(e);if(s==i.childCount&&!n.compatibleContent(i.type))return null;let l=o.fillBefore(i.content,!0,s);return l&&!Be(n,i.content,s)?l:null}function Be(t,e,n){for(let o=n;o0;h--,u--){let t=r.node(h).type.spec;if(t.defining||t.definingAsContext||t.isolating)break;s.indexOf(h)>-1?l=h:r.before(h)==u&&s.splice(1,0,-h)}let a=s.indexOf(l),c=[],p=o.openStart;for(let h=o.content,u=0;;u++){let t=h.firstChild;if(c.push(t),u==o.openStart)break;h=t.content}for(let h=p-1;h>=0;h--){let t=c[h],e=ze(t.type);if(e&&!t.sameMarkup(r.node(Math.abs(l)-1)))p=h;else if(e||!t.type.isTextblock)break}for(let h=o.openStart;h>=0;h--){let e=(h+p+1)%(o.openStart+1),l=c[e];if(l)for(let c=0;c=0;h--){if(t.replace(e,n,o),t.steps.length>d)break;let l=s[h];l<0||(e=r.before(l),n=i.after(l))}}function Fe(t,e,n,o,r){if(eo){let e=r.contentMatchAt(0),n=e.fillBefore(t).append(t);t=n.append(e.matchFragment(n).fillBefore(k.empty,!0))}return t}function je(t,e,n,o){if(!o.isInline&&e==n&&t.doc.resolve(e).parent.content.size){let r=Ae(t.doc,e,o.type);null!=r&&(e=n=r)}t.replaceRange(e,n,new T(k.from(o),0,0))}function Ke(t,e,n){let o=t.doc.resolve(e),r=t.doc.resolve(n),i=_e(o,r);for(let s=0;s0&&(n||o.node(e-1).canReplace(o.index(e-1),r.indexAfter(e-1))))return t.delete(o.before(e),r.after(e))}for(let s=1;s<=o.depth&&s<=r.depth;s++)if(e-o.start(s)==o.depth-s&&n>o.end(s)&&r.end(s)-n!=r.depth-s)return t.delete(o.before(s),n);t.delete(e,n)}function _e(t,e){let n=[],o=Math.min(t.depth,e.depth);for(let r=o;r>=0;r--){let o=t.start(r);if(oe.pos+(e.depth-r)||t.node(r).type.spec.isolating||e.node(r).type.spec.isolating)break;(o==e.start(r)||r==t.depth&&r==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&r&&e.start(r-1)==o-1)&&n.push(r)}return n}class qe extends Yt{constructor(t,e,n){super(),this.pos=t,this.attr=e,this.value=n}apply(t){let e=t.nodeAt(this.pos);if(!e)return Zt.fail("No node at attribute step's position");let n=Object.create(null);for(let r in e.attrs)n[r]=e.attrs[r];n[this.attr]=this.value;let o=e.type.create(n,null,e.marks);return Zt.fromReplace(t,this.pos,this.pos+1,new T(k.from(o),0,e.isLeaf?0:1))}getMap(){return Jt.empty}invert(t){return new qe(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let e=t.mapResult(this.pos,1);return e.deletedAfter?null:new qe(e.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,e){if("number"!=typeof e.pos||"string"!=typeof e.attr)throw new RangeError("Invalid input for AttrStep.fromJSON");return new qe(e.pos,e.attr,e.value)}}Yt.jsonID("attr",qe);class Ue extends Yt{constructor(t,e){super(),this.attr=t,this.value=e}apply(t){let e=Object.create(null);for(let o in t.attrs)e[o]=t.attrs[o];e[this.attr]=this.value;let n=t.type.create(e,t.content,t.marks);return Zt.ok(n)}getMap(){return Jt.empty}invert(t){return new Ue(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,e){if("string"!=typeof e.attr)throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new Ue(e.attr,e.value)}}Yt.jsonID("docAttr",Ue);let Je=class extends Error{};Je=function t(e){let n=Error.call(this,e);return n.__proto__=t.prototype,n},Je.prototype=Object.create(Error.prototype),Je.prototype.constructor=Je,Je.prototype.name="TransformError";class Xe{constructor(t){this.doc=t,this.steps=[],this.docs=[],this.mapping=new Xt}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let e=this.maybeStep(t);if(e.failed)throw new Je(e.failed);return this}maybeStep(t){let e=t.apply(this.doc);return e.failed||this.addStep(t,e.doc),e}get docChanged(){return this.steps.length>0}addStep(t,e){this.docs.push(this.doc),this.steps.push(t),this.mapping.appendMap(t.getMap()),this.doc=e}replace(t,e=t,n=T.empty){let o=Le(this.doc,t,e,n);return o&&this.step(o),this}replaceWith(t,e,n){return this.replace(t,e,new T(k.from(n),0,0))}delete(t,e){return this.replace(t,e,T.empty)}insert(t,e){return this.replaceWith(t,t,e)}replaceRange(t,e,n){return Ve(this,t,e,n),this}replaceRangeWith(t,e,n){return je(this,t,e,n),this}deleteRange(t,e){return Ke(this,t,e),this}lift(t,e){return ue(this,t,e),this}join(t,e=1){return Te(this,t,e),this}wrap(t,e){return Me(this,t,e),this}setBlockType(t,e=t,n,o=null){return ye(this,t,e,n,o),this}setNodeMarkup(t,e,n=null,o){return ke(this,t,e,n,o),this}setNodeAttribute(t,e,n){return this.step(new qe(t,e,n)),this}setDocAttribute(t,e){return this.step(new Ue(t,e)),this}addNodeMark(t,e){return this.step(new oe(t,e)),this}removeNodeMark(t,e){if(!(e instanceof S)){let n=this.doc.nodeAt(t);if(!n)throw new RangeError("No node at position "+t);if(e=e.isInSet(n.marks),!e)return this}return this.step(new re(t,e)),this}split(t,e=1,n){return Qe(this,t,e,n),this}addMark(t,e,n){return ae(this,t,e,n),this}removeMark(t,e,n){return ce(this,t,e,n),this}clearIncompatible(t,e,n){return pe(this,t,e,n),this}}const Ge=Object.create(null);class Ye{constructor(t,e,n){this.$anchor=t,this.$head=e,this.ranges=n||[new Ze(t.min(e),t.max(e))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let e=0;e=0;r--){let o=e<0?cn(t.node(0),t.node(r),t.before(r+1),t.index(r),e,n):cn(t.node(0),t.node(r),t.after(r+1),t.index(r)+1,e,n);if(o)return o}return null}static near(t,e=1){return this.findFrom(t,e)||this.findFrom(t,-e)||new ln(t.node(0))}static atStart(t){return cn(t,t,0,0,1)||new ln(t)}static atEnd(t){return cn(t,t,t.content.size,t.childCount,-1)||new ln(t)}static fromJSON(t,e){if(!e||!e.type)throw new RangeError("Invalid input for Selection.fromJSON");let n=Ge[e.type];if(!n)throw new RangeError(`No selection type ${e.type} defined`);return n.fromJSON(t,e)}static jsonID(t,e){if(t in Ge)throw new RangeError("Duplicate use of selection JSON ID "+t);return Ge[t]=e,e.prototype.jsonID=t,e}getBookmark(){return nn.between(this.$anchor,this.$head).getBookmark()}}Ye.prototype.visible=!0;class Ze{constructor(t,e){this.$from=t,this.$to=e}}let tn=!1;function en(t){tn||t.parent.inlineContent||(tn=!0,console["warn"]("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class nn extends Ye{constructor(t,e=t){en(t),en(e),super(t,e)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,e){let n=t.resolve(e.map(this.head));if(!n.parent.inlineContent)return Ye.near(n);let o=t.resolve(e.map(this.anchor));return new nn(o.parent.inlineContent?o:n,n)}replace(t,e=T.empty){if(super.replace(t,e),e==T.empty){let e=this.$from.marksAcross(this.$to);e&&t.ensureMarks(e)}}eq(t){return t instanceof nn&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new on(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,e){if("number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid input for TextSelection.fromJSON");return new nn(t.resolve(e.anchor),t.resolve(e.head))}static create(t,e,n=e){let o=t.resolve(e);return new this(o,n==e?o:t.resolve(n))}static between(t,e,n){let o=t.pos-e.pos;if(n&&!o||(n=o>=0?1:-1),!e.parent.inlineContent){let t=Ye.findFrom(e,n,!0)||Ye.findFrom(e,-n,!0);if(!t)return Ye.near(e,n);e=t.$head}return t.parent.inlineContent||(0==o?t=e:(t=(Ye.findFrom(t,-n,!0)||Ye.findFrom(t,n,!0)).$anchor,t.pos0?0:1);r>0?s=0;s+=r){let o=e.child(s);if(o.isAtom){if(!i&&rn.isSelectable(o))return rn.create(t,n-(r<0?o.nodeSize:0))}else{let e=cn(t,o,n+r,r<0?o.childCount:0,r,i);if(e)return e}n+=o.nodeSize*r}return null}function pn(t,e,n){let o=t.steps.length-1;if(o{null==i&&(i=o)})),t.setSelection(Ye.near(t.doc.resolve(i),n))}const dn=1,hn=2,un=4;class fn extends Xe{constructor(t){super(t.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=t.selection,this.storedMarks=t.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(t){return this.storedMarks=t,this.updated|=hn,this}ensureMarks(t){return S.sameSet(this.storedMarks||this.selection.$from.marks(),t)||this.setStoredMarks(t),this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&hn)>0}addStep(t,e){super.addStep(t,e),this.updated=this.updated&~hn,this.storedMarks=null}setTime(t){return this.time=t,this}replaceSelection(t){return this.selection.replace(this,t),this}replaceSelectionWith(t,e=!0){let n=this.selection;return e&&(t=t.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||S.none))),n.replaceWith(this,t),this}deleteSelection(){return this.selection.replace(this),this}insertText(t,e,n){let o=this.doc.type.schema;if(null==e)return t?this.replaceSelectionWith(o.text(t),!0):this.deleteSelection();{if(null==n&&(n=e),n=null==n?e:n,!t)return this.deleteRange(e,n);let r=this.storedMarks;if(!r){let t=this.doc.resolve(e);r=n==e?t.marks():t.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(e,n,o.text(t,r)),this.selection.empty||this.setSelection(Ye.near(this.selection.$to)),this}}setMeta(t,e){return this.meta["string"==typeof t?t:t.key]=e,this}getMeta(t){return this.meta["string"==typeof t?t:t.key]}get isGeneric(){for(let t in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=un,this}get scrolledIntoView(){return(this.updated&un)>0}}function mn(t,e){return e&&t?t.bind(e):t}class gn{constructor(t,e,n){this.name=t,this.init=mn(e.init,n),this.apply=mn(e.apply,n)}}const xn=[new gn("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new gn("selection",{init(t,e){return t.selection||Ye.atStart(e.doc)},apply(t){return t.selection}}),new gn("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,n,o){return o.selection.$cursor?t.storedMarks:null}}),new gn("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class Mn{constructor(t,e){this.schema=t,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=xn.slice(),e&&e.forEach((t=>{if(this.pluginsByKey[t.key])throw new RangeError("Adding different instances of a keyed plugin ("+t.key+")");this.plugins.push(t),this.pluginsByKey[t.key]=t,t.spec.state&&this.fields.push(new gn(t.key,t.spec.state,t))}))}}class yn{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,e=-1){for(let n=0;nt.toJSON()))),t&&"object"==typeof t)for(let n in t){if("doc"==n||"selection"==n)throw new RangeError("The JSON fields `doc` and `selection` are reserved");let o=t[n],r=o.spec.state;r&&r.toJSON&&(e[n]=r.toJSON.call(o,this[o.key]))}return e}static fromJSON(t,e,n){if(!e)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let o=new Mn(t.schema,t.plugins),r=new yn(o);return o.fields.forEach((o=>{if("doc"==o.name)r.doc=U.fromJSON(t.schema,e.doc);else if("selection"==o.name)r.selection=Ye.fromJSON(r.doc,e.selection);else if("storedMarks"==o.name)e.storedMarks&&(r.storedMarks=e.storedMarks.map(t.schema.markFromJSON));else{if(n)for(let i in n){let s=n[i],l=s.spec.state;if(s.key==o.name&&l&&l.fromJSON&&Object.prototype.hasOwnProperty.call(e,i))return void(r[o.name]=l.fromJSON.call(s,t,e[i],r))}r[o.name]=o.init(t,r)}})),r}}function vn(t,e,n){for(let o in t){let r=t[o];r instanceof Function?r=r.bind(e):"handleDOMEvents"==o&&(r=vn(r,e,{})),n[o]=r}return n}class wn{constructor(t){this.spec=t,this.props={},t.props&&vn(t.props,this,this.props),this.key=t.key?t.key.key:kn("plugin")}getState(t){return t[this.key]}}const bn=Object.create(null);function kn(t){return t in bn?t+"$"+ ++bn[t]:(bn[t]=0,t+"$")}class Wn{constructor(t="key"){this.key=kn(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}}const Qn=function(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e},Cn=function(t){let e=t.assignedSlot||t.parentNode;return e&&11==e.nodeType?e.host:e};let Sn=null;const On=function(t,e,n){let o=Sn||(Sn=document.createRange());return o.setEnd(t,null==n?t.nodeValue.length:n),o.setStart(t,e||0),o},Tn=function(){Sn=null},An=function(t,e,n,o){return n&&(Ln(t,e,n,o,-1)||Ln(t,e,n,o,1))},En=/^(img|br|input|textarea|hr)$/i;function Ln(t,e,n,o,r){for(;;){if(t==n&&e==o)return!0;if(e==(r<0?0:Nn(t))){let n=t.parentNode;if(!n||1!=n.nodeType||Pn(t)||En.test(t.nodeName)||"false"==t.contentEditable)return!1;e=Qn(t)+(r<0?0:1),t=n}else{if(1!=t.nodeType)return!1;if(t=t.childNodes[e+(r<0?-1:0)],"false"==t.contentEditable)return!1;e=r<0?Nn(t):0}}}function Nn(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function Dn(t,e){for(;;){if(3==t.nodeType&&e)return t;if(1==t.nodeType&&e>0){if("false"==t.contentEditable)return null;t=t.childNodes[e-1],e=Nn(t)}else{if(!t.parentNode||Pn(t))return null;e=Qn(t),t=t.parentNode}}}function Rn(t,e){for(;;){if(3==t.nodeType&&e2),no=eo||!!Vn&&/Mac/.test(Vn.platform),oo=!!Vn&&/Win/.test(Vn.platform),ro=/Android \d/.test(jn),io=!!Fn&&"webkitFontSmoothing"in Fn.documentElement.style,so=io?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function lo(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function ao(t,e){return"number"==typeof t?t:t[e]}function co(t){let e=t.getBoundingClientRect(),n=e.width/t.offsetWidth||1,o=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*n,top:e.top,bottom:e.top+t.clientHeight*o}}function po(t,e,n){let o=t.someProp("scrollThreshold")||0,r=t.someProp("scrollMargin")||5,i=t.dom.ownerDocument;for(let s=n||t.dom;;s=Cn(s)){if(!s)break;if(1!=s.nodeType)continue;let t=s,n=t==i.body,l=n?lo(i):co(t),a=0,c=0;if(e.topl.bottom-ao(o,"bottom")&&(c=e.bottom-e.top>l.bottom-l.top?e.top+ao(r,"top")-l.top:e.bottom-l.bottom+ao(r,"bottom")),e.leftl.right-ao(o,"right")&&(a=e.right-l.right+ao(r,"right")),a||c)if(n)i.defaultView.scrollBy(a,c);else{let n=t.scrollLeft,o=t.scrollTop;c&&(t.scrollTop+=c),a&&(t.scrollLeft+=a);let r=t.scrollLeft-n,i=t.scrollTop-o;e={left:e.left-r,top:e.top-i,right:e.right-r,bottom:e.bottom-i}}if(n||/^(fixed|sticky)$/.test(getComputedStyle(s).position))break}}function ho(t){let e,n,o=t.dom.getBoundingClientRect(),r=Math.max(0,o.top);for(let i=(o.left+o.right)/2,s=r+1;s=r-20){e=o,n=l.top;break}}return{refDOM:e,refTop:n,stack:uo(t.dom)}}function uo(t){let e=[],n=t.ownerDocument;for(let o=t;o;o=Cn(o))if(e.push({dom:o,top:o.scrollTop,left:o.scrollLeft}),t==n)break;return e}function fo({refDOM:t,refTop:e,stack:n}){let o=t?t.getBoundingClientRect().top:0;mo(n,0==o?0:o-e)}function mo(t,e){for(let n=0;n=c){a=Math.max(u.bottom,a),c=Math.min(u.top,c);let t=u.left>e.left?u.left-e.left:u.right=(u.left+u.right)/2?1:0));continue}}else u.top>e.top&&!r&&u.left<=e.left&&u.right>=e.left&&(r=p,i={left:Math.max(u.left,Math.min(u.right,e.left)),top:u.top});!n&&(e.left>=u.right&&e.top>=u.top||e.left>=u.left&&e.top>=u.bottom)&&(l=d+1)}}return!n&&r&&(n=r,o=i,s=0),n&&3==n.nodeType?yo(n,o):!n||s&&1==n.nodeType?{node:t,offset:l}:Mo(n,o)}function yo(t,e){let n=t.nodeValue.length,o=document.createRange();for(let r=0;r=(n.left+n.right)/2?1:0)}}return{node:t,offset:0}}function vo(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function wo(t,e){let n=t.parentNode;return n&&/^li$/i.test(n.nodeName)&&e.left(t.left+t.right)/2?1:-1}return t.docView.posFromDOM(o,r,i)}function ko(t,e,n,o){let r=-1;for(let i=e,s=!1;;){if(i==t.dom)break;let e=t.docView.nearestDesc(i,!0);if(!e)return null;if(1==e.dom.nodeType&&(e.node.isBlock&&e.parent||!e.contentDOM)){let t=e.dom.getBoundingClientRect();if(e.node.isBlock&&e.parent&&(!s&&t.left>o.left||t.top>o.top?r=e.posBefore:(!s&&t.right-1?r:t.docView.posFromDOM(e,n,-1)}function Wo(t,e,n){let o=t.childNodes.length;if(o&&n.tope.top&&r++}let o;io&&r&&1==n.nodeType&&1==(o=n.childNodes[r-1]).nodeType&&"false"==o.contentEditable&&o.getBoundingClientRect().top>=e.top&&r--,n==t.dom&&r==n.childNodes.length-1&&1==n.lastChild.nodeType&&e.top>n.lastChild.getBoundingClientRect().bottom?s=t.state.doc.content.size:0!=r&&1==n.nodeType&&"BR"==n.childNodes[r-1].nodeName||(s=ko(t,n,r,e))}null==s&&(s=bo(t,l,e));let a=t.docView.nearestDesc(l,!0);return{pos:s,inside:a?a.posAtStart-a.border:-1}}function Co(t){return t.top=0&&r==o.nodeValue.length?(t--,i=1):n<0?t--:e++,Ao(So(On(o,t,e),i),i<0)}{let t=So(On(o,r,r),n);if(Xn&&r&&/\s/.test(o.nodeValue[r-1])&&r=0)}if(null==i&&r&&(n<0||r==Nn(o))){let t=o.childNodes[r-1],e=3==t.nodeType?On(t,Nn(t)-(s?0:1)):1!=t.nodeType||"BR"==t.nodeName&&t.nextSibling?null:t;if(e)return Ao(So(e,1),!1)}if(null==i&&r=0)}function Ao(t,e){if(0==t.width)return t;let n=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:n,right:n}}function Eo(t,e){if(0==t.height)return t;let n=e?t.top:t.bottom;return{top:n,bottom:n,left:t.left,right:t.right}}function Lo(t,e,n){let o=t.state,r=t.root.activeElement;o!=e&&t.updateState(e),r!=t.dom&&t.focus();try{return n()}finally{o!=e&&t.updateState(o),r!=t.dom&&r&&r.focus()}}function No(t,e,n){let o=e.selection,r="up"==n?o.$from:o.$to;return Lo(t,e,(()=>{let{node:e}=t.docView.domFromPos(r.pos,"up"==n?-1:1);for(;;){let n=t.docView.nearestDesc(e,!0);if(!n)break;if(n.node.isBlock){e=n.contentDOM||n.dom;break}e=n.dom.parentNode}let o=To(t,r.pos,1);for(let t=e.firstChild;t;t=t.nextSibling){let e;if(1==t.nodeType)e=t.getClientRects();else{if(3!=t.nodeType)continue;e=On(t,0,t.nodeValue.length).getClientRects()}for(let t=0;tr.top+1&&("up"==n?o.top-r.top>2*(r.bottom-o.top):r.bottom-o.bottom>2*(o.bottom-r.top)))return!1}}return!0}))}const Do=/[\u0590-\u08ac]/;function Ro(t,e,n){let{$head:o}=e.selection;if(!o.parent.isTextblock)return!1;let r=o.parentOffset,i=!r,s=r==o.parent.content.size,l=t.domSelection();return Do.test(o.parent.textContent)&&l.modify?Lo(t,e,(()=>{let{focusNode:e,focusOffset:r,anchorNode:i,anchorOffset:s}=t.domSelectionRange(),a=l.caretBidiLevel;l.modify("move",n,"character");let c=o.depth?t.docView.domAfterPos(o.before()):t.dom,{focusNode:p,focusOffset:d}=t.domSelectionRange(),h=p&&!c.contains(1==p.nodeType?p:p.parentNode)||e==p&&r==d;try{l.collapse(i,s),e&&(e!=i||r!=s)&&l.extend&&l.extend(e,r)}catch(u){}return null!=a&&(l.caretBidiLevel=a),h})):"left"==n||"backward"==n?i:s}let Io=null,Po=null,Ho=!1;function $o(t,e,n){return Io==e&&Po==n?Ho:(Io=e,Po=n,Ho="up"==n||"down"==n?No(t,e,n):Ro(t,e,n))}const Bo=0,zo=1,Vo=2,Fo=3;class jo{constructor(t,e,n,o){this.parent=t,this.children=e,this.dom=n,this.contentDOM=o,this.dirty=Bo,n.pmViewDesc=this}matchesWidget(t){return!1}matchesMark(t){return!1}matchesNode(t,e,n){return!1}matchesHack(t){return!1}parseRule(){return null}stopEvent(t){return!1}get size(){let t=0;for(let e=0;eQn(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))o=2&t.compareDocumentPosition(this.contentDOM);else if(this.dom.firstChild){if(0==e)for(let e=t;;e=e.parentNode){if(e==this.dom){o=!1;break}if(e.previousSibling)break}if(null==o&&e==t.childNodes.length)for(let e=t;;e=e.parentNode){if(e==this.dom){o=!0;break}if(e.nextSibling)break}}return(null==o?n>0:o)?this.posAtEnd:this.posAtStart}nearestDesc(t,e=!1){for(let n=!0,o=t;o;o=o.parentNode){let r,i=this.getDesc(o);if(i&&(!e||i.node)){if(!n||!(r=i.nodeDOM)||(1==r.nodeType?r.contains(1==t.nodeType?t:t.parentNode):r==t))return i;n=!1}}}getDesc(t){let e=t.pmViewDesc;for(let n=e;n;n=n.parent)if(n==this)return e}posFromDOM(t,e,n){for(let o=t;o;o=o.parentNode){let r=this.getDesc(o);if(r)return r.localPosFromDOM(t,e,n)}return-1}descAt(t){for(let e=0,n=0;et||e instanceof Go){o=t-r;break}r=i}if(o)return this.children[n].domFromPos(o-this.children[n].border,e);for(let r;n&&!(r=this.children[n-1]).size&&r instanceof Ko&&r.side>=0;n--);if(e<=0){let t,o=!0;for(;;n--,o=!1)if(t=n?this.children[n-1]:null,!t||t.dom.parentNode==this.contentDOM)break;return t&&e&&o&&!t.border&&!t.domAtom?t.domFromPos(t.size,e):{node:this.contentDOM,offset:t?Qn(t.dom)+1:0}}{let t,o=!0;for(;;n++,o=!1)if(t=n=r&&e<=l-n.border&&n.node&&n.contentDOM&&this.contentDOM.contains(n.contentDOM))return n.parseRange(t,e,r);t=i;for(let e=s;e>0;e--){let n=this.children[e-1];if(n.size&&n.dom.parentNode==this.contentDOM&&!n.emptyChildAt(1)){o=Qn(n.dom)+1;break}t-=n.size}-1==o&&(o=0)}if(o>-1&&(l>e||s==this.children.length-1)){e=l;for(let t=s+1;tu&&ie){let t=s;s=l,l=t}let n=document.createRange();n.setEnd(l.node,l.offset),n.setStart(s.node,s.offset),a.removeAllRanges(),a.addRange(n)}}ignoreMutation(t){return!this.contentDOM&&"selection"!=t.type}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,e){for(let n=0,o=0;o=n:tn){let o=n+r.border,s=i-r.border;if(t>=o&&e<=s)return this.dirty=t==n||e==i?Vo:zo,void(t!=o||e!=s||!r.contentLost&&r.dom.parentNode==this.contentDOM?r.markDirty(t-o,e-o):r.dirty=Fo);r.dirty=r.dom!=r.contentDOM||r.dom.parentNode!=this.contentDOM||r.children.length?Fo:Vo}n=i}this.dirty=Vo}markParentsDirty(){let t=1;for(let e=this.parent;e;e=e.parent,t++){let n=1==t?Vo:zo;e.dirtyr?r.parent?r.parent.posBeforeChild(r):void 0:o))),!e.type.spec.raw){if(1!=i.nodeType){let t=document.createElement("span");t.appendChild(i),i=t}i.contentEditable="false",i.classList.add("ProseMirror-widget")}super(t,[],i,null),this.widget=e,this.widget=e,r=this}matchesWidget(t){return this.dirty==Bo&&t.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(t){let e=this.widget.spec.stopEvent;return!!e&&e(t)}ignoreMutation(t){return"selection"!=t.type||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get side(){return this.widget.type.side}}class _o extends jo{constructor(t,e,n,o){super(t,[],e,null),this.textDOM=n,this.text=o}get size(){return this.text.length}localPosFromDOM(t,e){return t!=this.textDOM?this.posAtStart+(e?this.size:0):this.posAtStart+e}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return"characterData"===t.type&&t.target.nodeValue==t.oldValue}}class qo extends jo{constructor(t,e,n,o){super(t,[],n,o),this.mark=e}static create(t,e,n,o){let r=o.nodeViews[e.type.name],i=r&&r(e,o,n);return i&&i.dom||(i=It.renderSpec(document,e.type.spec.toDOM(e,n))),new qo(t,e,i.dom,i.contentDOM||i.dom)}parseRule(){return this.dirty&Fo||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=Fo&&this.mark.eq(t)}markDirty(t,e){if(super.markDirty(t,e),this.dirty!=Bo){let t=this.parent;while(!t.node)t=t.parent;t.dirty0&&(r=fr(r,0,t,n));for(let s=0;ss?s.parent?s.parent.posBeforeChild(s):void 0:i),n,o),c=a&&a.dom,p=a&&a.contentDOM;if(e.isText)if(c){if(3!=c.nodeType)throw new RangeError("Text must be rendered as a DOM text node")}else c=document.createTextNode(e.text);else c||({dom:c,contentDOM:p}=It.renderSpec(document,e.type.spec.toDOM(e)));p||e.isText||"BR"==c.nodeName||(c.hasAttribute("contenteditable")||(c.contentEditable="false"),e.type.spec.draggable&&(c.draggable=!0));let d=c;return c=ir(c,n,e),a?s=new Yo(t,e,n,o,c,p||null,d,a,r,i+1):e.isText?new Xo(t,e,n,o,c,d,r):new Uo(t,e,n,o,c,p||null,d,r,i+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if("pre"==this.node.type.whitespace&&(t.preserveWhitespace="full"),this.contentDOM)if(this.contentLost){for(let e=this.children.length-1;e>=0;e--){let n=this.children[e];if(this.dom.contains(n.dom.parentNode)){t.contentElement=n.dom.parentNode;break}}t.contentElement||(t.getContent=()=>k.empty)}else t.contentElement=this.contentDOM;else t.getContent=()=>this.node.content;return t}matchesNode(t,e,n){return this.dirty==Bo&&t.eq(this.node)&&sr(e,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,e){let n=this.node.inlineContent,o=e,r=t.composing?this.localCompositionInfo(t,e):null,i=r&&r.pos>-1?r:null,s=r&&r.pos<0,l=new ar(this,i&&i.node,t);dr(this.node,this.innerDeco,((e,r,i)=>{e.spec.marks?l.syncToMarks(e.spec.marks,n,t):e.type.side>=0&&!i&&l.syncToMarks(r==this.node.childCount?S.none:this.node.child(r).marks,n,t),l.placeWidget(e,t,o)}),((e,i,a,c)=>{let p;l.syncToMarks(e.marks,n,t),l.findNodeMatch(e,i,a,c)||s&&t.state.selection.from>o&&t.state.selection.to-1&&l.updateNodeAt(e,i,a,p,t)||l.updateNextNode(e,i,a,t,c,o)||l.addNode(e,i,a,t,o),o+=e.nodeSize})),l.syncToMarks([],n,t),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==Vo)&&(i&&this.protectLocalComposition(t,i),Zo(this.contentDOM,this.children,t),eo&&hr(this.dom))}localCompositionInfo(t,e){let{from:n,to:o}=t.state.selection;if(!(t.state.selection instanceof nn)||ne+this.node.content.size)return null;let r=t.input.compositionNode;if(!r||!this.dom.contains(r.parentNode))return null;if(this.node.inlineContent){let t=r.nodeValue,i=ur(this.node.content,t,n-e,o-e);return i<0?null:{node:r,pos:i,text:t}}return{node:r,pos:-1,text:""}}protectLocalComposition(t,{node:e,pos:n,text:o}){if(this.getDesc(e))return;let r=e;for(;;r=r.parentNode){if(r.parentNode==this.contentDOM)break;while(r.previousSibling)r.parentNode.removeChild(r.previousSibling);while(r.nextSibling)r.parentNode.removeChild(r.nextSibling);r.pmViewDesc&&(r.pmViewDesc=void 0)}let i=new _o(this,r,e,o);t.input.compositionNodes.push(i),this.children=fr(this.children,n,n+o.length,t,i)}update(t,e,n,o){return!(this.dirty==Fo||!t.sameMarkup(this.node))&&(this.updateInner(t,e,n,o),!0)}updateInner(t,e,n,o){this.updateOuterDeco(e),this.node=t,this.innerDeco=n,this.contentDOM&&this.updateChildren(o,this.posAtStart),this.dirty=Bo}updateOuterDeco(t){if(sr(t,this.outerDeco))return;let e=1!=this.nodeDOM.nodeType,n=this.dom;this.dom=or(this.dom,this.nodeDOM,nr(this.outerDeco,this.node,e),nr(t,this.node,e)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=t}selectNode(){1==this.nodeDOM.nodeType&&this.nodeDOM.classList.add("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||(this.dom.draggable=!0)}deselectNode(){1==this.nodeDOM.nodeType&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),!this.contentDOM&&this.node.type.spec.draggable||this.dom.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}}function Jo(t,e,n,o,r){ir(o,e,t);let i=new Uo(void 0,t,e,n,o,o,o,r,0);return i.contentDOM&&i.updateChildren(r,0),i}class Xo extends Uo{constructor(t,e,n,o,r,i,s){super(t,e,n,o,r,null,i,s,0)}parseRule(){let t=this.nodeDOM.parentNode;while(t&&t!=this.dom&&!t.pmIsDeco)t=t.parentNode;return{skip:t||!0}}update(t,e,n,o){return!(this.dirty==Fo||this.dirty!=Bo&&!this.inParent()||!t.sameMarkup(this.node))&&(this.updateOuterDeco(e),this.dirty==Bo&&t.text==this.node.text||t.text==this.nodeDOM.nodeValue||(this.nodeDOM.nodeValue=t.text,o.trackWrites==this.nodeDOM&&(o.trackWrites=null)),this.node=t,this.dirty=Bo,!0)}inParent(){let t=this.parent.contentDOM;for(let e=this.nodeDOM;e;e=e.parentNode)if(e==t)return!0;return!1}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,e,n){return t==this.nodeDOM?this.posAtStart+Math.min(e,this.node.text.length):super.localPosFromDOM(t,e,n)}ignoreMutation(t){return"characterData"!=t.type&&"selection"!=t.type}slice(t,e,n){let o=this.node.cut(t,e),r=document.createTextNode(o.text);return new Xo(this.parent,o,this.outerDeco,this.innerDeco,r,r,n)}markDirty(t,e){super.markDirty(t,e),this.dom==this.nodeDOM||0!=t&&e!=this.nodeDOM.nodeValue.length||(this.dirty=Fo)}get domAtom(){return!1}isText(t){return this.node.text==t}}class Go extends jo{parseRule(){return{ignore:!0}}matchesHack(t){return this.dirty==Bo&&this.dom.nodeName==t}get domAtom(){return!0}get ignoreForCoords(){return"IMG"==this.dom.nodeName}}class Yo extends Uo{constructor(t,e,n,o,r,i,s,l,a,c){super(t,e,n,o,r,i,s,a,c),this.spec=l}update(t,e,n,o){if(this.dirty==Fo)return!1;if(this.spec.update){let r=this.spec.update(t,e,n);return r&&this.updateInner(t,e,n,o),r}return!(!this.contentDOM&&!t.isLeaf)&&super.update(t,e,n,o)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,e,n,o){this.spec.setSelection?this.spec.setSelection(t,e,n):super.setSelection(t,e,n,o)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(t){return!!this.spec.stopEvent&&this.spec.stopEvent(t)}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}}function Zo(t,e,n){let o=t.firstChild,r=!1;for(let i=0;i>1,i=Math.min(r,t.length);while(o-1)o>this.index&&(this.changed=!0,this.destroyBetween(this.index,o)),this.top=this.top.children[this.index];else{let o=qo.create(this.top,t[r],e,n);this.top.children.splice(this.index,0,o),this.top=o,this.changed=!0}this.index=0,r++}}findNodeMatch(t,e,n,o){let r,i=-1;if(o>=this.preMatch.index&&(r=this.preMatch.matches[o-this.preMatch.index]).parent==this.top&&r.matchesNode(t,e,n))i=this.top.children.indexOf(r,this.index);else for(let s=this.index,l=Math.min(this.top.children.length,s+5);s0){let l;for(;;)if(o){let t=n.children[o-1];if(!(t instanceof qo)){l=t,o--;break}n=t,o=t.children.length}else{if(n==e)break t;o=n.parent.children.indexOf(n),n=n.parent}let a=l.node;if(a){if(a!=t.child(r-1))break;--r,i.set(l,r),s.push(l)}}return{index:r,matched:i,matches:s.reverse()}}function pr(t,e){return t.type.side-e.type.side}function dr(t,e,n,o){let r=e.locals(t),i=0;if(0==r.length){for(let n=0;ni)l.push(r[s++]);let f=i+h.nodeSize;if(h.isText){let t=f;s!t.inline)):l.slice();o(h,m,e.forChild(i,h),u),i=f}}function hr(t){if("UL"==t.nodeName||"OL"==t.nodeName){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t).listStyle,t.style.cssText=e}}function ur(t,e,n,o){for(let r=0,i=0;r=n){if(i>=o&&a.slice(o-e.length-l,o-l)==e)return o-e.length;let t=l=0&&t+e.length+l>=n)return l+t;if(n==o&&a.length>=o+e.length-l&&a.slice(o-l,o-l+e.length)==e)return o}}return-1}function fr(t,e,n,o,r){let i=[];for(let s=0,l=0;s=n||p<=e?i.push(a):(cn&&i.push(a.slice(n-c,a.size,o)))}return i}function mr(t,e=null){let n=t.domSelectionRange(),o=t.state.doc;if(!n.focusNode)return null;let r=t.docView.nearestDesc(n.focusNode),i=r&&0==r.size,s=t.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(s<0)return null;let l,a,c=o.resolve(s);if(Hn(n)){l=c;while(r&&!r.node)r=r.parent;let t=r.node;if(r&&t.isAtom&&rn.isSelectable(t)&&r.parent&&(!t.isInline||!In(n.focusNode,n.focusOffset,r.dom))){let t=r.posBefore;a=new rn(s==t?c:o.resolve(t))}}else{let e=t.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(e<0)return null;l=o.resolve(e)}if(!a){let n="pointer"==e||t.state.selection.head{n.anchorNode==o&&n.anchorOffset==r||(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout((()=>{gr(t)&&!t.state.selection.visible||t.dom.classList.remove("ProseMirror-hideselection")}),20))})}function kr(t){let e=t.domSelection(),n=document.createRange(),o=t.cursorWrapper.dom,r="IMG"==o.nodeName;r?n.setEnd(o.parentNode,Qn(o)+1):n.setEnd(o,0),n.collapse(!1),e.removeAllRanges(),e.addRange(n),!r&&!t.state.selection.visible&&Un&&Jn<=11&&(o.disabled=!0,o.disabled=!1)}function Wr(t,e){if(e instanceof rn){let n=t.docView.descAt(e.from);n!=t.lastSelectedViewDesc&&(Qr(t),n&&n.selectNode(),t.lastSelectedViewDesc=n)}else Qr(t)}function Qr(t){t.lastSelectedViewDesc&&(t.lastSelectedViewDesc.parent&&t.lastSelectedViewDesc.deselectNode(),t.lastSelectedViewDesc=void 0)}function Cr(t,e,n,o){return t.someProp("createSelectionBetween",(o=>o(t,e,n)))||nn.between(e,n,o)}function Sr(t){return!(t.editable&&!t.hasFocus())&&Or(t)}function Or(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return t.dom.contains(3==e.anchorNode.nodeType?e.anchorNode.parentNode:e.anchorNode)&&(t.editable||t.dom.contains(3==e.focusNode.nodeType?e.focusNode.parentNode:e.focusNode))}catch(n){return!1}}function Tr(t){let e=t.docView.domFromPos(t.state.selection.anchor,0),n=t.domSelectionRange();return An(e.node,e.offset,n.anchorNode,n.anchorOffset)}function Ar(t,e){let{$anchor:n,$head:o}=t.selection,r=e>0?n.max(o):n.min(o),i=r.parent.inlineContent?r.depth?t.doc.resolve(e>0?r.after():r.before()):null:r;return i&&Ye.findFrom(i,e)}function Er(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function Lr(t,e,n){let o=t.state.selection;if(!(o instanceof nn)){if(o instanceof rn&&o.node.isInline)return Er(t,new nn(e>0?o.$to:o.$from));{let n=Ar(t.state,e);return!!n&&Er(t,n)}}if(n.indexOf("s")>-1){let{$head:n}=o,r=n.textOffset?null:e<0?n.nodeBefore:n.nodeAfter;if(!r||r.isText||!r.isLeaf)return!1;let i=t.state.doc.resolve(n.pos+r.nodeSize*(e<0?-1:1));return Er(t,new nn(o.$anchor,i))}if(!o.empty)return!1;if(t.endOfTextblock(e>0?"forward":"backward")){let n=Ar(t.state,e);return!!(n&&n instanceof rn)&&Er(t,n)}if(!(no&&n.indexOf("m")>-1)){let n,r=o.$head,i=r.textOffset?null:e<0?r.nodeBefore:r.nodeAfter;if(!i||i.isText)return!1;let s=e<0?r.pos-i.nodeSize:r.pos;return!!(i.isAtom||(n=t.docView.descAt(s))&&!n.contentDOM)&&(rn.isSelectable(i)?Er(t,new rn(e<0?t.state.doc.resolve(r.pos-i.nodeSize):r)):!!io&&Er(t,new nn(t.state.doc.resolve(e<0?s:s+i.nodeSize))))}}function Nr(t){return 3==t.nodeType?t.nodeValue.length:t.childNodes.length}function Dr(t,e){let n=t.pmViewDesc;return n&&0==n.size&&(e<0||t.nextSibling||"BR"!=t.nodeName)}function Rr(t,e){return e<0?Ir(t):Pr(t)}function Ir(t){let e=t.domSelectionRange(),n=e.focusNode,o=e.focusOffset;if(!n)return;let r,i,s=!1;for(Xn&&1==n.nodeType&&o0){if(1!=n.nodeType)break;{let t=n.childNodes[o-1];if(Dr(t,-1))r=n,i=--o;else{if(3!=t.nodeType)break;n=t,o=n.nodeValue.length}}}else{if(Hr(n))break;{let e=n.previousSibling;while(e&&Dr(e,-1))r=n.parentNode,i=Qn(e),e=e.previousSibling;if(e)n=e,o=Nr(n);else{if(n=n.parentNode,n==t.dom)break;o=0}}}s?zr(t,n,o):r&&zr(t,r,i)}function Pr(t){let e=t.domSelectionRange(),n=e.focusNode,o=e.focusOffset;if(!n)return;let r,i,s=Nr(n);for(;;)if(o{t.state==r&&xr(t)}),50)}function Vr(t,e){let n=t.state.doc.resolve(e);if(!Yn&&!oo&&n.parent.inlineContent){let o=t.coordsAtPos(e);if(e>n.start()){let n=t.coordsAtPos(e-1),r=(n.top+n.bottom)/2;if(r>o.top&&r1)return n.lefto.top&&r1)return n.left>o.left?"ltr":"rtl"}}let o=getComputedStyle(t.dom).direction;return"rtl"==o?"rtl":"ltr"}function Fr(t,e,n){let o=t.state.selection;if(o instanceof nn&&!o.empty||n.indexOf("s")>-1)return!1;if(no&&n.indexOf("m")>-1)return!1;let{$from:r,$to:i}=o;if(!r.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let n=Ar(t.state,e);if(n&&n instanceof rn)return Er(t,n)}if(!r.parent.inlineContent){let n=e<0?r:i,s=o instanceof ln?Ye.near(n,e):Ye.findFrom(n,e);return!!s&&Er(t,s)}return!1}function jr(t,e){if(!(t.state.selection instanceof nn))return!0;let{$head:n,$anchor:o,empty:r}=t.state.selection;if(!n.sameParent(o))return!0;if(!r)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let i=!n.textOffset&&(e<0?n.nodeBefore:n.nodeAfter);if(i&&!i.isText){let o=t.state.tr;return e<0?o.delete(n.pos-i.nodeSize,n.pos):o.delete(n.pos,n.pos+i.nodeSize),t.dispatch(o),!0}return!1}function Kr(t,e,n){t.domObserver.stop(),e.contentEditable=n,t.domObserver.start()}function _r(t){if(!to||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:n}=t.domSelectionRange();if(e&&1==e.nodeType&&0==n&&e.firstChild&&"false"==e.firstChild.contentEditable){let n=e.firstChild;Kr(t,n,"true"),setTimeout((()=>Kr(t,n,"false")),20)}return!1}function qr(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}function Ur(t,e){let n=e.keyCode,o=qr(e);if(8==n||no&&72==n&&"c"==o)return jr(t,-1)||Rr(t,-1);if(46==n&&!e.shiftKey||no&&68==n&&"c"==o)return jr(t,1)||Rr(t,1);if(13==n||27==n)return!0;if(37==n||no&&66==n&&"c"==o){let e=37==n?"ltr"==Vr(t,t.state.selection.from)?-1:1:-1;return Lr(t,e,o)||Rr(t,e)}if(39==n||no&&70==n&&"c"==o){let e=39==n?"ltr"==Vr(t,t.state.selection.from)?1:-1:1;return Lr(t,e,o)||Rr(t,e)}return 38==n||no&&80==n&&"c"==o?Fr(t,-1,o)||Rr(t,-1):40==n||no&&78==n&&"c"==o?_r(t)||Fr(t,1,o)||Rr(t,1):o==(no?"m":"c")&&(66==n||73==n||89==n||90==n)}function Jr(t,e){t.someProp("transformCopied",(n=>{e=n(e,t)}));let n=[],{content:o,openStart:r,openEnd:i}=e;while(r>1&&i>1&&1==o.childCount&&1==o.firstChild.childCount){r--,i--;let t=o.firstChild;n.push(t.type.name,t.attrs!=t.type.defaultAttrs?t.attrs:null),o=t.content}let s=t.someProp("clipboardSerializer")||It.fromSchema(t.state.schema),l=si(),a=l.createElement("div");a.appendChild(s.serializeFragment(o,{document:l}));let c,p=a.firstChild,d=0;while(p&&1==p.nodeType&&(c=ri[p.nodeName.toLowerCase()])){for(let t=c.length-1;t>=0;t--){let e=l.createElement(c[t]);while(a.firstChild)e.appendChild(a.firstChild);a.appendChild(e),d++}p=a.firstChild}p&&1==p.nodeType&&p.setAttribute("data-pm-slice",`${r} ${i}${d?` -${d}`:""} ${JSON.stringify(n)}`);let h=t.someProp("clipboardTextSerializer",(n=>n(e,t)))||e.content.textBetween(0,e.content.size,"\n\n");return{dom:a,text:h,slice:e}}function Xr(t,e,n,o,r){let i,s,l=r.parent.type.spec.code;if(!n&&!e)return null;let a=e&&(o||l||!n);if(a){if(t.someProp("transformPastedText",(n=>{e=n(e,l||o,t)})),l)return e?new T(k.from(t.state.schema.text(e.replace(/\r\n?/g,"\n"))),0,0):T.empty;let n=t.someProp("clipboardTextParser",(n=>n(e,r,o,t)));if(n)s=n;else{let n=r.marks(),{schema:o}=t.state,s=It.fromSchema(o);i=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach((t=>{let e=i.appendChild(document.createElement("p"));t&&e.appendChild(s.serializeNode(o.text(t,n)))}))}}else t.someProp("transformPastedHTML",(e=>{n=e(n,t)})),i=li(n),io&&ai(i);let c=i&&i.querySelector("[data-pm-slice]"),p=c&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(c.getAttribute("data-pm-slice")||"");if(p&&p[3])for(let d=+p[3];d>0;d--){let t=i.firstChild;while(t&&1!=t.nodeType)t=t.nextSibling;if(!t)break;i=t}if(!s){let e=t.someProp("clipboardParser")||t.someProp("domParser")||wt.fromSchema(t.state.schema);s=e.parseSlice(i,{preserveWhitespace:!(!a&&!p),context:r,ruleFromNode(t){return"BR"!=t.nodeName||t.nextSibling||!t.parentNode||Gr.test(t.parentNode.nodeName)?null:{ignore:!0}}})}if(p)s=ci(oi(s,+p[1],+p[2]),p[4]);else if(s=T.maxOpen(Yr(s.content,r),!0),s.openStart||s.openEnd){let t=0,e=0;for(let n=s.content.firstChild;t{s=e(s,t)})),s}const Gr=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function Yr(t,e){if(t.childCount<2)return t;for(let n=e.depth;n>=0;n--){let o,r=e.node(n),i=r.contentMatchAt(e.index(n)),s=[];if(t.forEach((t=>{if(!s)return;let e,n=i.findWrapping(t.type);if(!n)return s=null;if(e=s.length&&o.length&&ti(n,o,t,s[s.length-1],0))s[s.length-1]=e;else{s.length&&(s[s.length-1]=ei(s[s.length-1],o.length));let e=Zr(t,n);s.push(e),i=i.matchType(e.type),o=n}})),s)return k.from(s)}return t}function Zr(t,e,n=0){for(let o=e.length-1;o>=n;o--)t=e[o].create(null,k.from(t));return t}function ti(t,e,n,o,r){if(r1&&(i=0),r=n&&(l=e<0?s.contentMatchAt(0).fillBefore(l,i<=r).append(l):l.append(s.contentMatchAt(s.childCount).fillBefore(k.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,s.copy(l))}function oi(t,e,n){return e]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n,o=si().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(t);if((n=r&&ri[r[1].toLowerCase()])&&(t=n.map((t=>"<"+t+">")).join("")+t+n.map((t=>"")).reverse().join("")),o.innerHTML=t,n)for(let i=0;i=0;a-=2){let t=o.nodes[n[a]];if(!t||t.hasRequiredAttrs())break;r=k.from(t.create(n[a+1],r)),i++,s++}return new T(r,i,s)}const pi={},di={},hi={touchstart:!0,touchmove:!0};class ui{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:""},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastAndroidDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function fi(t){for(let e in pi){let n=pi[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=e=>{!yi(t,e)||Mi(t,e)||!t.editable&&e.type in di||n(t,e)},hi[e]?{passive:!0}:void 0)}to&&t.dom.addEventListener("input",(()=>null)),xi(t)}function mi(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function gi(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function xi(t){t.someProp("handleDOMEvents",(e=>{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=e=>Mi(t,e))}))}function Mi(t,e){return t.someProp("handleDOMEvents",(n=>{let o=n[e.type];return!!o&&(o(t,e)||e.defaultPrevented)}))}function yi(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||11==n.nodeType||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function vi(t,e){Mi(t,e)||!pi[e.type]||!t.editable&&e.type in di||pi[e.type](t,e)}function wi(t){return{left:t.clientX,top:t.clientY}}function bi(t,e){let n=e.x-t.clientX,o=e.y-t.clientY;return n*n+o*o<100}function ki(t,e,n,o,r){if(-1==o)return!1;let i=t.state.doc.resolve(o);for(let s=i.depth+1;s>0;s--)if(t.someProp(e,(e=>s>i.depth?e(t,n,i.nodeAfter,i.before(s),r,!0):e(t,n,i.node(s),i.before(s),r,!1))))return!0;return!1}function Wi(t,e,n){t.focused||t.focus();let o=t.state.tr.setSelection(e);"pointer"==n&&o.setMeta("pointer",!0),t.dispatch(o)}function Qi(t,e){if(-1==e)return!1;let n=t.state.doc.resolve(e),o=n.nodeAfter;return!!(o&&o.isAtom&&rn.isSelectable(o))&&(Wi(t,new rn(n),"pointer"),!0)}function Ci(t,e){if(-1==e)return!1;let n,o,r=t.state.selection;r instanceof rn&&(n=r.node);let i=t.state.doc.resolve(e);for(let s=i.depth+1;s>0;s--){let t=s>i.depth?i.nodeAfter:i.node(s);if(rn.isSelectable(t)){o=n&&r.$from.depth>0&&s>=r.$from.depth&&i.before(r.$from.depth+1)==r.$from.pos?i.before(r.$from.depth):i.before(s);break}}return null!=o&&(Wi(t,rn.create(t.state.doc,o),"pointer"),!0)}function Si(t,e,n,o,r){return ki(t,"handleClickOn",e,n,o)||t.someProp("handleClick",(n=>n(t,e,o)))||(r?Ci(t,n):Qi(t,n))}function Oi(t,e,n,o){return ki(t,"handleDoubleClickOn",e,n,o)||t.someProp("handleDoubleClick",(n=>n(t,e,o)))}function Ti(t,e,n,o){return ki(t,"handleTripleClickOn",e,n,o)||t.someProp("handleTripleClick",(n=>n(t,e,o)))||Ai(t,n,o)}function Ai(t,e,n){if(0!=n.button)return!1;let o=t.state.doc;if(-1==e)return!!o.inlineContent&&(Wi(t,nn.create(o,0,o.content.size),"pointer"),!0);let r=o.resolve(e);for(let i=r.depth+1;i>0;i--){let e=i>r.depth?r.nodeAfter:r.node(i),n=r.before(i);if(e.inlineContent)Wi(t,nn.create(o,n+1,n+1+e.content.size),"pointer");else{if(!rn.isSelectable(e))continue;Wi(t,rn.create(o,n),"pointer")}return!0}}function Ei(t){return Bi(t)}di.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=16==n.keyCode||n.shiftKey,!Di(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!ro||!Yn||13!=n.keyCode))if(229!=n.keyCode&&t.domObserver.forceFlush(),!eo||13!=n.keyCode||n.ctrlKey||n.altKey||n.metaKey)t.someProp("handleKeyDown",(e=>e(t,n)))||Ur(t,n)?n.preventDefault():mi(t,"key");else{let e=Date.now();t.input.lastIOSEnter=e,t.input.lastIOSEnterFallbackTimeout=setTimeout((()=>{t.input.lastIOSEnter==e&&(t.someProp("handleKeyDown",(e=>e(t,$n(13,"Enter")))),t.input.lastIOSEnter=0)}),200)}},di.keyup=(t,e)=>{16==e.keyCode&&(t.input.shiftKey=!1)},di.keypress=(t,e)=>{let n=e;if(Di(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||no&&n.metaKey)return;if(t.someProp("handleKeyPress",(e=>e(t,n))))return void n.preventDefault();let o=t.state.selection;if(!(o instanceof nn)||!o.$from.sameParent(o.$to)){let e=String.fromCharCode(n.charCode);/[\r\n]/.test(e)||t.someProp("handleTextInput",(n=>n(t,o.$from.pos,o.$to.pos,e)))||t.dispatch(t.state.tr.insertText(e).scrollIntoView()),n.preventDefault()}};const Li=no?"metaKey":"ctrlKey";pi.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let o=Ei(t),r=Date.now(),i="singleClick";r-t.input.lastClick.time<500&&bi(n,t.input.lastClick)&&!n[Li]&&("singleClick"==t.input.lastClick.type?i="doubleClick":"doubleClick"==t.input.lastClick.type&&(i="tripleClick")),t.input.lastClick={time:r,x:n.clientX,y:n.clientY,type:i};let s=t.posAtCoords(wi(n));s&&("singleClick"==i?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new Ni(t,s,n,!!o)):("doubleClick"==i?Oi:Ti)(t,s.pos,s.inside,n)?n.preventDefault():mi(t,"pointer"))};class Ni{constructor(t,e,n,o){let r,i;if(this.view=t,this.pos=e,this.event=n,this.flushed=o,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=t.state.doc,this.selectNode=!!n[Li],this.allowDefault=n.shiftKey,e.inside>-1)r=t.state.doc.nodeAt(e.inside),i=e.inside;else{let n=t.state.doc.resolve(e.pos);r=n.parent,i=n.depth?n.before():0}const s=o?null:n.target,l=s?t.docView.nearestDesc(s,!0):null;this.target=l&&1==l.dom.nodeType?l.dom:null;let{selection:a}=t.state;(0==n.button&&r.type.spec.draggable&&!1!==r.type.spec.selectable||a instanceof rn&&a.from<=i&&a.to>i)&&(this.mightDrag={node:r,pos:i,addAttr:!(!this.target||this.target.draggable),setUneditable:!(!this.target||!Xn||this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout((()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")}),20),this.view.domObserver.start()),t.root.addEventListener("mouseup",this.up=this.up.bind(this)),t.root.addEventListener("mousemove",this.move=this.move.bind(this)),mi(t,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout((()=>xr(this.view))),this.view.input.mouseDown=null}up(t){if(this.done(),!this.view.dom.contains(t.target))return;let e=this.pos;this.view.state.doc!=this.startDoc&&(e=this.view.posAtCoords(wi(t))),this.updateAllowDefault(t),this.allowDefault||!e?mi(this.view,"pointer"):Si(this.view,e.pos,e.inside,t,this.selectNode)?t.preventDefault():0==t.button&&(this.flushed||to&&this.mightDrag&&!this.mightDrag.node.isAtom||Yn&&!this.view.state.selection.visible&&Math.min(Math.abs(e.pos-this.view.state.selection.from),Math.abs(e.pos-this.view.state.selection.to))<=2)?(Wi(this.view,Ye.near(this.view.state.doc.resolve(e.pos)),"pointer"),t.preventDefault()):mi(this.view,"pointer")}move(t){this.updateAllowDefault(t),mi(this.view,"pointer"),0==t.buttons&&this.done()}updateAllowDefault(t){!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4)&&(this.allowDefault=!0)}}function Di(t,e){return!!t.composing||!!(to&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500)&&(t.input.compositionEndedAt=-2e8,!0)}pi.touchstart=t=>{t.input.lastTouch=Date.now(),Ei(t),mi(t,"pointer")},pi.touchmove=t=>{t.input.lastTouch=Date.now(),mi(t,"pointer")},pi.contextmenu=t=>Ei(t);const Ri=ro?5e3:-1;function Ii(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout((()=>Bi(t)),e))}function Pi(t){t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=$i());while(t.input.compositionNodes.length>0)t.input.compositionNodes.pop().markParentsDirty()}function Hi(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=Dn(e.focusNode,e.focusOffset),o=Rn(e.focusNode,e.focusOffset);if(n&&o&&n!=o){let e=o.pmViewDesc,r=t.domObserver.lastChangedTextNode;if(n==r||o==r)return r;if(!e||!e.isText(o.nodeValue))return o;if(t.input.compositionNode==o){let t=n.pmViewDesc;if(t&&t.isText(n.nodeValue))return o}}return n||o}function $i(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}function Bi(t,e=!1){if(!(ro&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),Pi(t),e||t.docView&&t.docView.dirty){let e=mr(t);return e&&!e.eq(t.state.selection)?t.dispatch(t.state.tr.setSelection(e)):t.updateState(t.state),!0}return!1}}function zi(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let o=getSelection(),r=document.createRange();r.selectNodeContents(e),t.dom.blur(),o.removeAllRanges(),o.addRange(r),setTimeout((()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()}),50)}di.compositionstart=di.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$from;if(e.selection.empty&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some((t=>!1===t.type.spec.inclusive))))t.markCursor=t.state.storedMarks||n.marks(),Bi(t,!0),t.markCursor=null;else if(Bi(t),Xn&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let e=t.domSelectionRange();for(let n=e.focusNode,o=e.focusOffset;n&&1==n.nodeType&&0!=o;){let e=o<0?n.lastChild:n.childNodes[o-1];if(!e)break;if(3==e.nodeType){t.domSelection().collapse(e,e.nodeValue.length);break}n=e,o=-1}}t.input.composing=!0}Ii(t,Ri)},di.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then((()=>t.domObserver.flush())),t.input.compositionID++,Ii(t,20))};const Vi=Un&&Jn<15||eo&&so<604;function Fi(t){return 0==t.openStart&&0==t.openEnd&&1==t.content.childCount?t.content.firstChild:null}function ji(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,o=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(o.contentEditable="true"),o.style.cssText="position: fixed; left: -10000px; top: 10px",o.focus();let r=t.input.shiftKey&&45!=t.input.lastKeyCode;setTimeout((()=>{t.focus(),o.parentNode&&o.parentNode.removeChild(o),n?Ki(t,o.value,null,r,e):Ki(t,o.textContent,o.innerHTML,r,e)}),50)}function Ki(t,e,n,o,r){let i=Xr(t,e,n,o,t.state.selection.$from);if(t.someProp("handlePaste",(e=>e(t,r,i||T.empty))))return!0;if(!i)return!1;let s=Fi(i),l=s?t.state.tr.replaceSelectionWith(s,o):t.state.tr.replaceSelection(i);return t.dispatch(l.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function _i(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}pi.copy=di.cut=(t,e)=>{let n=e,o=t.state.selection,r="cut"==n.type;if(o.empty)return;let i=Vi?null:n.clipboardData,s=o.content(),{dom:l,text:a}=Jr(t,s);i?(n.preventDefault(),i.clearData(),i.setData("text/html",l.innerHTML),i.setData("text/plain",a)):zi(t,l),r&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))},di.paste=(t,e)=>{let n=e;if(t.composing&&!ro)return;let o=Vi?null:n.clipboardData,r=t.input.shiftKey&&45!=t.input.lastKeyCode;o&&Ki(t,_i(o),o.getData("text/html"),r,n)?n.preventDefault():ji(t,n)};class qi{constructor(t,e,n){this.slice=t,this.move=e,this.node=n}}const Ui=no?"altKey":"ctrlKey";pi.dragstart=(t,e)=>{let n=e,o=t.input.mouseDown;if(o&&o.done(),!n.dataTransfer)return;let r,i=t.state.selection,s=i.empty?null:t.posAtCoords(wi(n));if(s&&s.pos>=i.from&&s.pos<=(i instanceof rn?i.to-1:i.to));else if(o&&o.mightDrag)r=rn.create(t.state.doc,o.mightDrag.pos);else if(n.target&&1==n.target.nodeType){let e=t.docView.nearestDesc(n.target,!0);e&&e.node.type.spec.draggable&&e!=t.docView&&(r=rn.create(t.state.doc,e.posBefore))}let l=(r||t.state.selection).content(),{dom:a,text:c,slice:p}=Jr(t,l);n.dataTransfer.clearData(),n.dataTransfer.setData(Vi?"Text":"text/html",a.innerHTML),n.dataTransfer.effectAllowed="copyMove",Vi||n.dataTransfer.setData("text/plain",c),t.dragging=new qi(p,!n[Ui],r)},pi.dragend=t=>{let e=t.dragging;window.setTimeout((()=>{t.dragging==e&&(t.dragging=null)}),50)},di.dragover=di.dragenter=(t,e)=>e.preventDefault(),di.drop=(t,e)=>{let n=e,o=t.dragging;if(t.dragging=null,!n.dataTransfer)return;let r=t.posAtCoords(wi(n));if(!r)return;let i=t.state.doc.resolve(r.pos),s=o&&o.slice;s?t.someProp("transformPasted",(e=>{s=e(s,t)})):s=Xr(t,_i(n.dataTransfer),Vi?null:n.dataTransfer.getData("text/html"),!1,i);let l=!(!o||n[Ui]);if(t.someProp("handleDrop",(e=>e(t,n,s||T.empty,l))))return void n.preventDefault();if(!s)return;n.preventDefault();let a=s?Ee(t.state.doc,i.pos,s):i.pos;null==a&&(a=i.pos);let c=t.state.tr;if(l){let{node:t}=o;t?t.replace(c):c.deleteSelection()}let p=c.mapping.map(a),d=0==s.openStart&&0==s.openEnd&&1==s.content.childCount,h=c.doc;if(d?c.replaceRangeWith(p,p,s.content.firstChild):c.replaceRange(p,p,s),c.doc.eq(h))return;let u=c.doc.resolve(p);if(d&&rn.isSelectable(s.content.firstChild)&&u.nodeAfter&&u.nodeAfter.sameMarkup(s.content.firstChild))c.setSelection(new rn(u));else{let e=c.mapping.map(a);c.mapping.maps[c.mapping.maps.length-1].forEach(((t,n,o,r)=>e=r)),c.setSelection(Cr(t,u,c.doc.resolve(e)))}t.focus(),t.dispatch(c.setMeta("uiEvent","drop"))},pi.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout((()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&xr(t)}),20))},pi.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)},pi.beforeinput=(t,e)=>{let n=e;if(Yn&&ro&&"deleteContentBackward"==n.inputType){t.domObserver.flushSoon();let{domChangeCount:e}=t.input;setTimeout((()=>{if(t.input.domChangeCount!=e)return;if(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",(e=>e(t,$n(8,"Backspace")))))return;let{$cursor:n}=t.state.selection;n&&n.pos>0&&t.dispatch(t.state.tr.delete(n.pos-1,n.pos).scrollIntoView())}),50)}};for(let os in di)pi[os]=di[os];function Ji(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}class Xi{constructor(t,e){this.toDOM=t,this.spec=e||es,this.side=this.spec.side||0}map(t,e,n,o){let{pos:r,deleted:i}=t.mapResult(e.from+o,this.side<0?-1:1);return i?null:new Zi(r-n,r-n,this)}valid(){return!0}eq(t){return this==t||t instanceof Xi&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&Ji(this.spec,t.spec))}destroy(t){this.spec.destroy&&this.spec.destroy(t)}}class Gi{constructor(t,e){this.attrs=t,this.spec=e||es}map(t,e,n,o){let r=t.map(e.from+o,this.spec.inclusiveStart?-1:1)-n,i=t.map(e.to+o,this.spec.inclusiveEnd?1:-1)-n;return r>=i?null:new Zi(r,i,this)}valid(t,e){return e.from=t&&(!r||r(s.spec))&&n.push(s.copy(s.from+o,s.to+o))}for(let i=0;it){let s=this.children[i]+1;this.children[i+2].findInner(t-s,e-s,n,o+s,r)}}map(t,e,n){return this==rs||0==t.maps.length?this:this.mapInner(t,e,0,0,n||es)}mapInner(t,e,n,o,r){let i;for(let s=0;s{let s,l=i+n;if(s=cs(e,t,l)){o||(o=this.children.slice());while(ri&&e.to=t){this.children[s]==t&&(n=this.children[s+2]);break}let r=t+1,i=r+e.content.size;for(let s=0;sr&&t.type instanceof Gi){let e=Math.max(r,t.from)-r,n=Math.min(i,t.to)-r;en.map(t,e,es)));return is.from(n)}forChild(t,e){if(e.isLeaf)return ns.empty;let n=[];for(let o=0;ot instanceof ns))?t:t.reduce(((t,e)=>t.concat(e instanceof ns?e:e.members)),[]))}}}function ss(t,e,n,o,r,i,s){let l=t.slice();for(let c=0,p=i;c{let i=r-o-(n-e);for(let s=0;so+p-t)continue;let r=l[s]+p-t;n>=r?l[s+1]=e<=r?-2:-1:e>=p&&i&&(l[s]+=i,l[s+1]+=i)}t+=i})),p=n.maps[c].map(p,-1)}let a=!1;for(let c=0;c=o.content.size){a=!0;continue}let d=n.map(t[c+1]+i,-1),h=d-r,{index:u,offset:f}=o.content.findIndex(p),m=o.maybeChild(u);if(m&&f==p&&f+m.nodeSize==h){let o=l[c+2].mapInner(n,m,e+1,t[c]+i+1,s);o!=rs?(l[c]=p,l[c+1]=h,l[c+2]=o):(l[c+1]=-2,a=!0)}else a=!0}if(a){let a=as(l,t,e,n,r,i,s),c=ds(a,o,0,s);e=c.local;for(let t=0;tn&&i.to{let l=cs(t,e,s+n);if(l){i=!0;let t=ds(l,e,n+s+1,o);t!=rs&&r.push(s,s+e.nodeSize,t)}}));let s=ls(i?ps(t):t,-n).sort(hs);for(let l=0;l0)e++;t.splice(e,0,n)}function ms(t){let e=[];return t.someProp("decorations",(n=>{let o=n(t.state);o&&o!=rs&&e.push(o)})),t.cursorWrapper&&e.push(ns.create(t.state.doc,[t.cursorWrapper.deco])),is.from(e)}const gs={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},xs=Un&&Jn<=11;class Ms{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}}class ys{constructor(t,e){this.view=t,this.handleDOMChange=e,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new Ms,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver((t=>{for(let e=0;e"childList"==t.type&&t.removedNodes.length||"characterData"==t.type&&t.oldValue.length>t.target.nodeValue.length))?this.flushSoon():this.flush()})),xs&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout((()=>{this.flushingSoon=-1,this.flush()}),20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,gs)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let e=0;ethis.flush()),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout((()=>this.suppressingSelectionUpdates=!1),50)}onSelectionChange(){if(Sr(this.view)){if(this.suppressingSelectionUpdates)return xr(this.view);if(Un&&Jn<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&An(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return!0;let e,n=new Set;for(let r=t.focusNode;r;r=Cn(r))n.add(r);for(let r=t.anchorNode;r;r=Cn(r))if(n.has(r)){e=r;break}let o=e&&this.view.docView.nearestDesc(e);return o&&o.ignoreMutation({type:"selection",target:3==e.nodeType?e.parentNode:e})?(this.setCurSelection(),!0):void 0}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let e=this.pendingRecords();e.length&&(this.queue=[]);let n=t.domSelectionRange(),o=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&Sr(t)&&!this.ignoreSelectionChange(n),r=-1,i=-1,s=!1,l=[];if(t.editable)for(let c=0;c"BR"==t.nodeName));if(2==e.length){let[t,n]=e;t.parentNode&&t.parentNode.parentNode==n.parentNode?n.remove():t.remove()}else{let{focusNode:n}=this.currentSelection;for(let o of e){let e=o.parentNode;!e||"LI"!=e.nodeName||n&&Qs(t,n)==e||o.remove()}}}let a=null;r<0&&o&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)-1||o)&&(r>-1&&(t.docView.markDirty(r,i),bs(t)),this.handleDOMChange(r,i,s,l),t.docView&&t.docView.dirty?t.updateState(t.state):this.currentSelection.eq(n)||xr(t),this.currentSelection.set(n))}registerMutation(t,e){if(e.indexOf(t.target)>-1)return null;let n=this.view.docView.nearestDesc(t.target);if("attributes"==t.type&&(n==this.view.docView||"contenteditable"==t.attributeName||"style"==t.attributeName&&!t.oldValue&&!t.target.getAttribute("style")))return null;if(!n||n.ignoreMutation(t))return null;if("childList"==t.type){for(let n=0;ni;g--){let t=r.childNodes[g-1],e=t.pmViewDesc;if("BR"==t.nodeName&&!e){s=g;break}if(!e||e.size)break}let d=t.state.doc,h=t.someProp("domParser")||wt.fromSchema(t.state.schema),u=d.resolve(l),f=null,m=h.parse(r,{topNode:u.parent,topMatch:u.parent.contentMatchAt(u.index()),topOpen:!0,from:i,to:s,preserveWhitespace:"pre"!=u.parent.type.whitespace||"full",findPositions:o,ruleFromNode:Ss,context:u});if(o&&null!=o[0].pos){let t=o[0].pos,e=o[1]&&o[1].pos;null==e&&(e=t),f={anchor:t+l,head:e+l}}return{doc:m,sel:f,from:l,to:a}}function Ss(t){let e=t.pmViewDesc;if(e)return e.parseRule();if("BR"==t.nodeName&&t.parentNode){if(to&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let t=document.createElement("div");return t.appendChild(document.createElement("li")),{skip:t}}if(t.parentNode.lastChild==t||to&&/^(tr|table)$/i.test(t.parentNode.nodeName))return{ignore:!0}}else if("IMG"==t.nodeName&&t.getAttribute("mark-placeholder"))return{ignore:!0};return null}const Os=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function Ts(t,e,n,o,r){let i=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let e=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,n=mr(t,e);if(n&&!t.state.selection.eq(n)){if(Yn&&ro&&13===t.input.lastKeyCode&&Date.now()-100e(t,$n(13,"Enter")))))return;let o=t.state.tr.setSelection(n);"pointer"==e?o.setMeta("pointer",!0):"key"==e&&o.scrollIntoView(),i&&o.setMeta("composition",i),t.dispatch(o)}return}let s=t.state.doc.resolve(e),l=s.sharedDepth(n);e=s.before(l+1),n=t.state.doc.resolve(n).after(l+1);let a,c,p=t.state.selection,d=Cs(t,e,n),h=t.state.doc,u=h.slice(d.from,d.to);8===t.input.lastKeyCode&&Date.now()-100Date.now()-225||ro)&&r.some((t=>1==t.nodeType&&!Os.test(t.nodeName)))&&(!f||f.endA>=f.endB)&&t.someProp("handleKeyDown",(e=>e(t,$n(13,"Enter")))))return void(t.input.lastIOSEnter=0);if(!f){if(!(o&&p instanceof nn&&!p.empty&&p.$head.sameParent(p.$anchor))||t.composing||d.sel&&d.sel.anchor!=d.sel.head){if(d.sel){let e=As(t,t.state.doc,d.sel);if(e&&!e.eq(t.state.selection)){let n=t.state.tr.setSelection(e);i&&n.setMeta("composition",i),t.dispatch(n)}}return}f={start:p.from,endA:p.to,endB:p.to}}t.input.domChangeCount++,t.state.selection.fromt.state.selection.from&&f.start<=t.state.selection.from+2&&t.state.selection.from>=d.from?f.start=t.state.selection.from:f.endA=t.state.selection.to-2&&t.state.selection.to<=d.to&&(f.endB+=t.state.selection.to-f.endA,f.endA=t.state.selection.to)),Un&&Jn<=11&&f.endB==f.start+1&&f.endA==f.start&&f.start>d.from&&"  "==d.doc.textBetween(f.start-d.from-1,f.start-d.from+1)&&(f.start--,f.endA--,f.endB--);let m,g=d.doc.resolveNoCache(f.start-d.from),x=d.doc.resolveNoCache(f.endB-d.from),M=h.resolve(f.start),y=g.sameParent(x)&&g.parent.inlineContent&&M.end()>=f.endA;if((eo&&t.input.lastIOSEnter>Date.now()-225&&(!y||r.some((t=>"DIV"==t.nodeName||"P"==t.nodeName)))||!y&&g.pose(t,$n(13,"Enter")))))return void(t.input.lastIOSEnter=0);if(t.state.selection.anchor>f.start&&Ls(h,f.start,f.endA,g,x)&&t.someProp("handleKeyDown",(e=>e(t,$n(8,"Backspace")))))return void(ro&&Yn&&t.domObserver.suppressSelectionUpdates());Yn&&ro&&f.endB==f.start&&(t.input.lastAndroidDelete=Date.now()),ro&&!y&&g.start()!=x.start()&&0==x.parentOffset&&g.depth==x.depth&&d.sel&&d.sel.anchor==d.sel.head&&d.sel.head==f.endA&&(f.endB-=2,x=d.doc.resolveNoCache(f.endB-d.from),setTimeout((()=>{t.someProp("handleKeyDown",(function(e){return e(t,$n(13,"Enter"))}))}),20));let v,w,b,k=f.start,W=f.endA;if(y)if(g.pos==x.pos)Un&&Jn<=11&&0==g.parentOffset&&(t.domObserver.suppressSelectionUpdates(),setTimeout((()=>xr(t)),20)),v=t.state.tr.delete(k,W),w=h.resolve(f.start).marksAcross(h.resolve(f.endA));else if(f.endA==f.endB&&(b=Es(g.parent.content.cut(g.parentOffset,x.parentOffset),M.parent.content.cut(M.parentOffset,f.endA-M.start()))))v=t.state.tr,"add"==b.type?v.addMark(k,W,b.mark):v.removeMark(k,W,b.mark);else if(g.parent.child(g.index()).isText&&g.index()==x.index()-(x.textOffset?0:1)){let e=g.parent.textBetween(g.parentOffset,x.parentOffset);if(t.someProp("handleTextInput",(n=>n(t,k,W,e))))return;v=t.state.tr.insertText(e,k,W)}if(v||(v=t.state.tr.replace(k,W,d.doc.slice(f.start-d.from,f.endB-d.from))),d.sel){let e=As(t,v.doc,d.sel);e&&!(Yn&&ro&&t.composing&&e.empty&&(f.start!=f.endB||t.input.lastAndroidDeletee.content.size?null:Cr(t,e.resolve(n.anchor),e.resolve(n.head))}function Es(t,e){let n,o,r,i=t.firstChild.marks,s=e.firstChild.marks,l=i,a=s;for(let p=0;pt.mark(o.addToSet(t.marks));else{if(0!=l.length||1!=a.length)return null;o=a[0],n="remove",r=t=>t.mark(o.removeFromSet(t.marks))}let c=[];for(let p=0;pn||Ns(s,!0,!1)0&&(e||t.indexAfter(o)==t.node(o).childCount))o--,r++,e=!1;if(n){let e=t.node(o).maybeChild(t.indexAfter(o));while(e&&!e.isLeaf)e=e.firstChild,r++}return r}function Ds(t,e,n,o,r){let i=t.findDiffStart(e,n);if(null==i)return null;let{a:s,b:l}=t.findDiffEnd(e,n+t.size,n+e.size);if("end"==r){let t=Math.max(0,i-Math.min(s,l));o-=s+t-i}if(s=s?i-o:0;i-=t,i&&i=l?i-o:0;i-=e,i&&i=56320&&e<=57343&&n>=55296&&n<=56319}class Is{constructor(t,e){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new ui,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=e,this.state=e.state,this.directPlugins=e.plugins||[],this.directPlugins.forEach(Fs),this.dispatch=this.dispatch.bind(this),this.dom=t&&t.mount||document.createElement("div"),t&&(t.appendChild?t.appendChild(this.dom):"function"==typeof t?t(this.dom):t.mount&&(this.mounted=!0)),this.editable=$s(this),Hs(this),this.nodeViews=zs(this),this.docView=Jo(this.state.doc,Ps(this),ms(this),this.dom,this),this.domObserver=new ys(this,((t,e,n,o)=>Ts(this,t,e,n,o))),this.domObserver.start(),fi(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let e in t)this._props[e]=t[e];this._props.state=this.state}return this._props}update(t){t.handleDOMEvents!=this._props.handleDOMEvents&&xi(this);let e=this._props;this._props=t,t.plugins&&(t.plugins.forEach(Fs),this.directPlugins=t.plugins),this.updateStateInner(t.state,e)}setProps(t){let e={};for(let n in this._props)e[n]=this._props[n];e.state=this.state;for(let n in t)e[n]=t[n];this.update(e)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,e){var n;let o=this.state,r=!1,i=!1;t.storedMarks&&this.composing&&(Pi(this),i=!0),this.state=t;let s=o.plugins!=t.plugins||this._props.plugins!=e.plugins;if(s||this._props.plugins!=e.plugins||this._props.nodeViews!=e.nodeViews){let t=zs(this);Vs(t,this.nodeViews)&&(this.nodeViews=t,r=!0)}(s||e.handleDOMEvents!=this._props.handleDOMEvents)&&xi(this),this.editable=$s(this),Hs(this);let l=ms(this),a=Ps(this),c=o.plugins==t.plugins||o.doc.eq(t.doc)?t.scrollToSelection>o.scrollToSelection?"to selection":"preserve":"reset",p=r||!this.docView.matchesNode(t.doc,a,l);!p&&t.selection.eq(o.selection)||(i=!0);let d="preserve"==c&&i&&null==this.dom.style.overflowAnchor&&ho(this);if(i){this.domObserver.stop();let e=p&&(Un||Yn)&&!this.composing&&!o.selection.empty&&!t.selection.empty&&Bs(o.selection,t.selection);if(p){let n=Yn?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=Hi(this)),!r&&this.docView.update(t.doc,a,l,this)||(this.docView.updateOuterDeco(a),this.docView.destroy(),this.docView=Jo(t.doc,a,l,this.dom,this)),n&&!this.trackWrites&&(e=!0)}e||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Tr(this))?xr(this,e):(Wr(this,t.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(o),(null===(n=this.dragging)||void 0===n?void 0:n.node)&&!o.doc.eq(t.doc)&&this.updateDraggedNode(this.dragging,o),"reset"==c?this.dom.scrollTop=0:"to selection"==c?this.scrollToSelection():d&&fo(d)}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(this.someProp("handleScrollToSelection",(t=>t(this))));else if(this.state.selection instanceof rn){let e=this.docView.domAfterPos(this.state.selection.from);1==e.nodeType&&po(this,e.getBoundingClientRect(),t)}else po(this,this.coordsAtPos(this.state.selection.head,1),t)}destroyPluginViews(){let t;while(t=this.pluginViews.pop())t.destroy&&t.destroy()}updatePluginViews(t){if(t&&t.plugins==this.state.plugins&&this.directPlugins==this.prevDirectPlugins)for(let e=0;e0&&this.state.doc.nodeAt(t);r==n.node&&(o=t)}this.dragging=new qi(t.slice,t.move,o<0?void 0:rn.create(this.state.doc,o))}someProp(t,e){let n,o=this._props&&this._props[t];if(null!=o&&(n=e?e(o):o))return n;for(let i=0;ie.ownerDocument.getSelection()),this._root=e;return t||document}updateRoot(){this._root=null}posAtCoords(t){return Qo(this,t)}coordsAtPos(t,e=1){return To(this,t,e)}domAtPos(t,e=0){return this.docView.domFromPos(t,e)}nodeDOM(t){let e=this.docView.descAt(t);return e?e.nodeDOM:null}posAtDOM(t,e,n=-1){let o=this.docView.posFromDOM(t,e,n);if(null==o)throw new RangeError("DOM position not inside the editor");return o}endOfTextblock(t,e){return $o(this,e||this.state,t)}pasteHTML(t,e){return Ki(this,"",t,!1,e||new ClipboardEvent("paste"))}pasteText(t,e){return Ki(this,t,null,!0,e||new ClipboardEvent("paste"))}destroy(){this.docView&&(gi(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],ms(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,Tn())}get isDestroyed(){return null==this.docView}dispatchEvent(t){return vi(this,t)}dispatch(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))}domSelectionRange(){let t=this.domSelection();return to&&11===this.root.nodeType&&Bn(this.dom.ownerDocument)==this.dom&&Ws(this,t)||t}domSelection(){return this.root.getSelection()}}function Ps(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",(n=>{if("function"==typeof n&&(n=n(t.state)),n)for(let t in n)"class"==t?e.class+=" "+n[t]:"style"==t?e.style=(e.style?e.style+";":"")+n[t]:e[t]||"contenteditable"==t||"nodeName"==t||(e[t]=String(n[t]))})),e.translate||(e.translate="no"),[Zi.node(0,t.state.doc.content.size,e)]}function Hs(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:Zi.widget(t.state.selection.head,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function $s(t){return!t.someProp("editable",(e=>!1===e(t.state)))}function Bs(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}function zs(t){let e=Object.create(null);function n(t){for(let n in t)Object.prototype.hasOwnProperty.call(e,n)||(e[n]=t[n])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function Vs(t,e){let n=0,o=0;for(let r in t){if(t[r]!=e[r])return!0;n++}for(let r in e)o++;return n!=o}function Fs(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}for(var js={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Ks={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},_s="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),qs="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Us=0;Us<10;Us++)js[48+Us]=js[96+Us]=String(Us);for(Us=1;Us<=24;Us++)js[Us+111]="F"+Us;for(Us=65;Us<=90;Us++)js[Us]=String.fromCharCode(Us+32),Ks[Us]=String.fromCharCode(Us);for(var Js in js)Ks.hasOwnProperty(Js)||(Ks[Js]=js[Js]);function Xs(t){var e=_s&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||qs&&t.shiftKey&&t.key&&1==t.key.length||"Unidentified"==t.key,n=!e&&t.key||(t.shiftKey?Ks:js)[t.keyCode]||t.key||"Unidentified";return"Esc"==n&&(n="Escape"),"Del"==n&&(n="Delete"),"Left"==n&&(n="ArrowLeft"),"Up"==n&&(n="ArrowUp"),"Right"==n&&(n="ArrowRight"),"Down"==n&&(n="ArrowDown"),n}const Gs="undefined"!=typeof navigator&&/Mac|iP(hone|[oa]d)/.test(navigator.platform);function Ys(t){let e,n,o,r,i=t.split(/-(?!$)/),s=i[i.length-1];"Space"==s&&(s=" ");for(let l=0;l127)&&(o=js[n.keyCode])&&o!=r){let r=e[tl(o,n)];if(r&&r(t.state,t.dispatch,t))return!0}}return!1}}const ol=(t,e)=>!t.selection.empty&&(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function rl(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("backward",t):n.parentOffset>0)?null:n}const il=(t,e,n)=>{let o=rl(t,n);if(!o)return!1;let r=dl(o);if(!r){let n=o.blockRange(),r=n&&he(n);return null!=r&&(e&&e(t.tr.lift(n,r).scrollIntoView()),!0)}let i=r.nodeBefore;if(!i.type.spec.isolating&&Tl(t,r,e))return!0;if(0==o.parent.content.size&&(cl(i,"end")||rn.isSelectable(i))){let n=Le(t.doc,o.before(),o.after(),T.empty);if(n&&n.slice.size{let o=rl(t,n);if(!o)return!1;let r=dl(o);return!!r&&al(t,r,e)},ll=(t,e,n)=>{let o=hl(t,n);if(!o)return!1;let r=ml(o);return!!r&&al(t,r,e)};function al(t,e,n){let o=e.nodeBefore,r=o,i=e.pos-1;for(;!r.isTextblock;i--){if(r.type.spec.isolating)return!1;let t=r.lastChild;if(!t)return!1;r=t}let s=e.nodeAfter,l=s,a=e.pos+1;for(;!l.isTextblock;a++){if(l.type.spec.isolating)return!1;let t=l.firstChild;if(!t)return!1;l=t}let c=Le(t.doc,i,a,T.empty);if(!c||c.from!=i||c instanceof ie&&c.slice.size>=a-i)return!1;if(n){let e=t.tr.step(c);e.setSelection(nn.create(e.doc,i)),n(e.scrollIntoView())}return!0}function cl(t,e,n=!1){for(let o=t;o;o="start"==e?o.firstChild:o.lastChild){if(o.isTextblock)return!0;if(n&&1!=o.childCount)return!1}return!1}const pl=(t,e,n)=>{let{$head:o,empty:r}=t.selection,i=o;if(!r)return!1;if(o.parent.isTextblock){if(n?!n.endOfTextblock("backward",t):o.parentOffset>0)return!1;i=dl(o)}let s=i&&i.nodeBefore;return!(!s||!rn.isSelectable(s))&&(e&&e(t.tr.setSelection(rn.create(t.doc,i.pos-s.nodeSize)).scrollIntoView()),!0)};function dl(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function hl(t,e){let{$cursor:n}=t.selection;return!n||(e?!e.endOfTextblock("forward",t):n.parentOffset{let o=hl(t,n);if(!o)return!1;let r=ml(o);if(!r)return!1;let i=r.nodeAfter;if(Tl(t,r,e))return!0;if(0==o.parent.content.size&&(cl(i,"start")||rn.isSelectable(i))){let n=Le(t.doc,o.before(),o.after(),T.empty);if(n&&n.slice.size{let{$head:o,empty:r}=t.selection,i=o;if(!r)return!1;if(o.parent.isTextblock){if(n?!n.endOfTextblock("forward",t):o.parentOffset=0;e--){let n=t.node(e);if(t.index(e)+1{let n,o=t.selection,r=o instanceof rn;if(r){if(o.node.isTextblock||!Ce(t.doc,o.from))return!1;n=o.from}else if(n=Oe(t.doc,o.from,-1),null==n)return!1;if(e){let o=t.tr.join(n);r&&o.setSelection(rn.create(o.doc,n-t.doc.resolve(n).nodeBefore.nodeSize)),e(o.scrollIntoView())}return!0},xl=(t,e)=>{let n,o=t.selection;if(o instanceof rn){if(o.node.isTextblock||!Ce(t.doc,o.to))return!1;n=o.to}else if(n=Oe(t.doc,o.to,1),null==n)return!1;return e&&e(t.tr.join(n).scrollIntoView()),!0},Ml=(t,e)=>{let{$from:n,$to:o}=t.selection,r=n.blockRange(o),i=r&&he(r);return null!=i&&(e&&e(t.tr.lift(r,i).scrollIntoView()),!0)},yl=(t,e)=>{let{$head:n,$anchor:o}=t.selection;return!(!n.parent.type.spec.code||!n.sameParent(o))&&(e&&e(t.tr.insertText("\n").scrollIntoView()),!0)};function vl(t){for(let e=0;e{let{$head:n,$anchor:o}=t.selection;if(!n.parent.type.spec.code||!n.sameParent(o))return!1;let r=n.node(-1),i=n.indexAfter(-1),s=vl(r.contentMatchAt(i));if(!s||!r.canReplaceWith(i,i,s))return!1;if(e){let o=n.after(),r=t.tr.replaceWith(o,o,s.createAndFill());r.setSelection(Ye.near(r.doc.resolve(o),1)),e(r.scrollIntoView())}return!0},bl=(t,e)=>{let n=t.selection,{$from:o,$to:r}=n;if(n instanceof ln||o.parent.inlineContent||r.parent.inlineContent)return!1;let i=vl(r.parent.contentMatchAt(r.indexAfter()));if(!i||!i.isTextblock)return!1;if(e){let n=(!o.parentOffset&&r.index(){let{$cursor:n}=t.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let o=n.before();if(We(t.doc,o))return e&&e(t.tr.split(o).scrollIntoView()),!0}let o=n.blockRange(),r=o&&he(o);return null!=r&&(e&&e(t.tr.lift(o,r).scrollIntoView()),!0)};function Wl(t){return(e,n)=>{let{$from:o,$to:r}=e.selection;if(e.selection instanceof rn&&e.selection.node.isBlock)return!(!o.parentOffset||!We(e.doc,o.pos))&&(n&&n(e.tr.split(o.pos).scrollIntoView()),!0);if(!o.parent.isBlock)return!1;if(n){let i=r.parentOffset==r.parent.content.size,s=e.tr;(e.selection instanceof nn||e.selection instanceof ln)&&s.deleteSelection();let l=0==o.depth?null:vl(o.node(-1).contentMatchAt(o.indexAfter(-1))),a=t&&t(r.parent,i),c=a?[a]:i&&l?[{type:l}]:void 0,p=We(s.doc,s.mapping.map(o.pos),1,c);if(c||p||!We(s.doc,s.mapping.map(o.pos),1,l?[{type:l}]:void 0)||(l&&(c=[{type:l}]),p=!0),p&&(s.split(s.mapping.map(o.pos),1,c),!i&&!o.parentOffset&&o.parent.type!=l)){let t=s.mapping.map(o.before()),e=s.doc.resolve(t);l&&o.node(-1).canReplaceWith(e.index(),e.index()+1,l)&&s.setNodeMarkup(s.mapping.map(o.before()),l)}n(s.scrollIntoView())}return!0}}const Ql=Wl(),Cl=(t,e)=>{let n,{$from:o,to:r}=t.selection,i=o.sharedDepth(r);return 0!=i&&(n=o.before(i),e&&e(t.tr.setSelection(rn.create(t.doc,n))),!0)},Sl=(t,e)=>(e&&e(t.tr.setSelection(new ln(t.doc))),!0);function Ol(t,e,n){let o=e.nodeBefore,r=e.nodeAfter,i=e.index();return!!(o&&r&&o.type.compatibleContent(r.type))&&(!o.content.size&&e.parent.canReplace(i-1,i)?(n&&n(t.tr.delete(e.pos-o.nodeSize,e.pos).scrollIntoView()),!0):!(!e.parent.canReplace(i,i+1)||!r.isTextblock&&!Ce(t.doc,e.pos))&&(n&&n(t.tr.clearIncompatible(e.pos,o.type,o.contentMatchAt(o.childCount)).join(e.pos).scrollIntoView()),!0))}function Tl(t,e,n){let o,r,i=e.nodeBefore,s=e.nodeAfter;if(i.type.spec.isolating||s.type.spec.isolating)return!1;if(Ol(t,e,n))return!0;let l=e.parent.canReplace(e.index(),e.index()+1);if(l&&(o=(r=i.contentMatchAt(i.childCount)).findWrapping(s.type))&&r.matchType(o[0]||s.type).validEnd){if(n){let r=e.pos+s.nodeSize,l=k.empty;for(let t=o.length-1;t>=0;t--)l=k.from(o[t].create(null,l));l=k.from(i.copy(l));let a=t.tr.step(new se(e.pos-1,r,e.pos,r,new T(l,1,0),o.length,!0)),c=r+2*o.length;Ce(a.doc,c)&&a.join(c),n(a.scrollIntoView())}return!0}let a=Ye.findFrom(e,1),c=a&&a.$from.blockRange(a.$to),p=c&&he(c);if(null!=p&&p>=e.depth)return n&&n(t.tr.lift(c,p).scrollIntoView()),!0;if(l&&cl(s,"start",!0)&&cl(i,"end")){let o=i,r=[];for(;;){if(r.push(o),o.isTextblock)break;o=o.lastChild}let l=s,a=1;for(;!l.isTextblock;l=l.firstChild)a++;if(o.canReplace(o.childCount,o.childCount,l.content)){if(n){let o=k.empty;for(let t=r.length-1;t>=0;t--)o=k.from(r[t].copy(o));let i=t.tr.step(new se(e.pos-r.length,e.pos+s.nodeSize,e.pos+a,e.pos+s.nodeSize-a,new T(o,r.length,0),0,!0));n(i.scrollIntoView())}return!0}}return!1}function Al(t){return function(e,n){let o=e.selection,r=t<0?o.$from:o.$to,i=r.depth;while(r.node(i).isInline){if(!i)return!1;i--}return!!r.node(i).isTextblock&&(n&&n(e.tr.setSelection(nn.create(e.doc,t<0?r.start(i):r.end(i)))),!0)}}const El=Al(-1),Ll=Al(1);function Nl(t,e=null){return function(n,o){let{$from:r,$to:i}=n.selection,s=r.blockRange(i),l=s&&fe(s,t,e);return!!l&&(o&&o(n.tr.wrap(s,l).scrollIntoView()),!0)}}function Dl(t,e=null){return function(n,o){let r=!1;for(let i=0;i{if(r)return!1;if(o.isTextblock&&!o.hasMarkup(t,e))if(o.type==t)r=!0;else{let e=n.doc.resolve(i),o=e.index();r=e.parent.canReplaceWith(o,o+1,t)}}))}if(!r)return!1;if(o){let r=n.tr;for(let o=0;o=2&&r.node(s.depth-1).type.compatibleContent(t)&&0==s.startIndex){if(0==r.index(s.depth-1))return!1;let t=n.doc.resolve(s.start-2);a=new _(t,t,s.depth),s.endIndex=0;p--)i=k.from(n[p].type.create(n[p].attrs,i));t.step(new se(e.start-(o?2:0),e.end,e.start,e.end,new T(i,0,0),n.length,!0));let s=0;for(let p=0;pe.childCount>0&&e.firstChild.type==t));return!!i&&(!n||(o.node(i.depth-1).type==t?Fl(e,n,t,i):jl(e,n,i)))}}function Fl(t,e,n,o){let r=t.tr,i=o.end,s=o.$to.end(o.depth);im;f--)u-=r.child(f).nodeSize,o.delete(u-1,u+1);let i=o.doc.resolve(n.start),s=i.nodeAfter;if(o.mapping.map(n.end)!=n.start+i.nodeAfter.nodeSize)return!1;let l=0==n.startIndex,a=n.endIndex==r.childCount,c=i.node(-1),p=i.index(-1);if(!c.canReplace(p+(l?0:1),p+1,s.content.append(a?k.empty:k.from(r))))return!1;let d=i.pos,h=d+s.nodeSize;return o.step(new se(d-(l?1:0),h+(a?1:0),d+1,h-1,new T((l?k.empty:k.from(r.copy(k.empty))).append(a?k.empty:k.from(r.copy(k.empty))),l?0:1,a?0:1),l?0:1)),e(o.scrollIntoView()),!0}function Kl(t){return function(e,n){let{$from:o,$to:r}=e.selection,i=o.blockRange(r,(e=>e.childCount>0&&e.firstChild.type==t));if(!i)return!1;let s=i.startIndex;if(0==s)return!1;let l=i.parent,a=l.child(s-1);if(a.type!=t)return!1;if(n){let o=a.lastChild&&a.lastChild.type==l.type,r=k.from(o?t.create():null),s=new T(k.from(t.create(null,k.from(l.type.create(null,r)))),o?3:1,0),c=i.start,p=i.end;n(e.tr.step(new se(c-(o?3:1),p,c,p,s,1,!0)).scrollIntoView())}return!0}}function _l(t){const{state:e,transaction:n}=t;let{selection:o}=n,{doc:r}=n,{storedMarks:i}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return i},get selection(){return o},get doc(){return r},get tr(){return o=n.selection,r=n.doc,i=n.storedMarks,n}}}class ql{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:t,editor:e,state:n}=this,{view:o}=e,{tr:r}=n,i=this.buildProps(r);return Object.fromEntries(Object.entries(t).map((([t,e])=>{const n=(...t)=>{const n=e(...t)(i);return r.getMeta("preventDispatch")||this.hasCustomState||o.dispatch(r),n};return[t,n]})))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(t,e=!0){const{rawCommands:n,editor:o,state:r}=this,{view:i}=o,s=[],l=!!t,a=t||r.tr,c=()=>(l||!e||a.getMeta("preventDispatch")||this.hasCustomState||i.dispatch(a),s.every((t=>!0===t))),p={...Object.fromEntries(Object.entries(n).map((([t,n])=>{const o=(...t)=>{const o=this.buildProps(a,e),r=n(...t)(o);return s.push(r),p};return[t,o]}))),run:c};return p}createCan(t){const{rawCommands:e,state:n}=this,o=!1,r=t||n.tr,i=this.buildProps(r,o),s=Object.fromEntries(Object.entries(e).map((([t,e])=>[t,(...t)=>e(...t)({...i,dispatch:void 0})])));return{...s,chain:()=>this.createChain(r,o)}}buildProps(t,e=!0){const{rawCommands:n,editor:o,state:r}=this,{view:i}=o,s={tr:t,editor:o,view:i,state:_l({state:r,transaction:t}),dispatch:e?()=>{}:void 0,chain:()=>this.createChain(t,e),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(n).map((([t,e])=>[t,(...t)=>e(...t)(s)])))}};return s}}class Ul{constructor(){this.callbacks={}}on(t,e){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(e),this}emit(t,...e){const n=this.callbacks[t];return n&&n.forEach((t=>t.apply(this,e))),this}off(t,e){const n=this.callbacks[t];return n&&(e?this.callbacks[t]=n.filter((t=>t!==e)):delete this.callbacks[t]),this}removeAllListeners(){this.callbacks={}}}function Jl(t,e,n){if(void 0===t.config[e]&&t.parent)return Jl(t.parent,e,n);if("function"===typeof t.config[e]){const o=t.config[e].bind({...n,parent:t.parent?Jl(t.parent,e,n):null});return o}return t.config[e]}function Xl(t){const e=t.filter((t=>"extension"===t.type)),n=t.filter((t=>"node"===t.type)),o=t.filter((t=>"mark"===t.type));return{baseExtensions:e,nodeExtensions:n,markExtensions:o}}function Gl(t){const e=[],{nodeExtensions:n,markExtensions:o}=Xl(t),r=[...n,...o],i={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach((t=>{const n={name:t.name,options:t.options,storage:t.storage},o=Jl(t,"addGlobalAttributes",n);if(!o)return;const r=o();r.forEach((t=>{t.types.forEach((n=>{Object.entries(t.attributes).forEach((([t,o])=>{e.push({type:n,name:t,attribute:{...i,...o}})}))}))}))})),r.forEach((t=>{const n={name:t.name,options:t.options,storage:t.storage},o=Jl(t,"addAttributes",n);if(!o)return;const r=o();Object.entries(r).forEach((([n,o])=>{const r={...i,...o};"function"===typeof(null===r||void 0===r?void 0:r.default)&&(r.default=r.default()),(null===r||void 0===r?void 0:r.isRequired)&&void 0===(null===r||void 0===r?void 0:r.default)&&delete r.default,e.push({type:t.name,name:n,attribute:r})}))})),e}function Yl(t,e){if("string"===typeof t){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}function Zl(...t){return t.filter((t=>!!t)).reduce(((t,e)=>{const n={...t};return Object.entries(e).forEach((([t,e])=>{const o=n[t];if(o)if("class"===t){const o=e?e.split(" "):[],r=n[t]?n[t].split(" "):[],i=o.filter((t=>!r.includes(t)));n[t]=[...r,...i].join(" ")}else n[t]="style"===t?[n[t],e].join("; "):e;else n[t]=e})),n}),{})}function ta(t,e){return e.filter((t=>t.attribute.rendered)).map((e=>e.attribute.renderHTML?e.attribute.renderHTML(t.attrs)||{}:{[e.name]:t.attrs[e.name]})).reduce(((t,e)=>Zl(t,e)),{})}function ea(t){return"function"===typeof t}function na(t,e=void 0,...n){return ea(t)?e?t.bind(e)(...n):t(...n):t}function oa(t={}){return 0===Object.keys(t).length&&t.constructor===Object}function ra(t){return"string"!==typeof t?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):"true"===t||"false"!==t&&t}function ia(t,e){return t.style?t:{...t,getAttrs:n=>{const o=t.getAttrs?t.getAttrs(n):t.attrs;if(!1===o)return!1;const r=e.reduce(((t,e)=>{const o=e.attribute.parseHTML?e.attribute.parseHTML(n):ra(n.getAttribute(e.name));return null===o||void 0===o?t:{...t,[e.name]:o}}),{});return{...o,...r}}}}function sa(t){return Object.fromEntries(Object.entries(t).filter((([t,e])=>("attrs"!==t||!oa(e))&&(null!==e&&void 0!==e))))}function la(t,e){var n;const o=Gl(t),{nodeExtensions:r,markExtensions:i}=Xl(t),s=null===(n=r.find((t=>Jl(t,"topNode"))))||void 0===n?void 0:n.name,l=Object.fromEntries(r.map((n=>{const r=o.filter((t=>t.type===n.name)),i={name:n.name,options:n.options,storage:n.storage,editor:e},s=t.reduce(((t,e)=>{const o=Jl(e,"extendNodeSchema",i);return{...t,...o?o(n):{}}}),{}),l=sa({...s,content:na(Jl(n,"content",i)),marks:na(Jl(n,"marks",i)),group:na(Jl(n,"group",i)),inline:na(Jl(n,"inline",i)),atom:na(Jl(n,"atom",i)),selectable:na(Jl(n,"selectable",i)),draggable:na(Jl(n,"draggable",i)),code:na(Jl(n,"code",i)),defining:na(Jl(n,"defining",i)),isolating:na(Jl(n,"isolating",i)),attrs:Object.fromEntries(r.map((t=>{var e;return[t.name,{default:null===(e=null===t||void 0===t?void 0:t.attribute)||void 0===e?void 0:e.default}]})))}),a=na(Jl(n,"parseHTML",i));a&&(l.parseDOM=a.map((t=>ia(t,r))));const c=Jl(n,"renderHTML",i);c&&(l.toDOM=t=>c({node:t,HTMLAttributes:ta(t,r)}));const p=Jl(n,"renderText",i);return p&&(l.toText=p),[n.name,l]}))),a=Object.fromEntries(i.map((n=>{const r=o.filter((t=>t.type===n.name)),i={name:n.name,options:n.options,storage:n.storage,editor:e},s=t.reduce(((t,e)=>{const o=Jl(e,"extendMarkSchema",i);return{...t,...o?o(n):{}}}),{}),l=sa({...s,inclusive:na(Jl(n,"inclusive",i)),excludes:na(Jl(n,"excludes",i)),group:na(Jl(n,"group",i)),spanning:na(Jl(n,"spanning",i)),code:na(Jl(n,"code",i)),attrs:Object.fromEntries(r.map((t=>{var e;return[t.name,{default:null===(e=null===t||void 0===t?void 0:t.attribute)||void 0===e?void 0:e.default}]})))}),a=na(Jl(n,"parseHTML",i));a&&(l.parseDOM=a.map((t=>ia(t,r))));const c=Jl(n,"renderHTML",i);return c&&(l.toDOM=t=>c({mark:t,HTMLAttributes:ta(t,r)})),[n.name,l]})));return new xt({topNode:s,nodes:l,marks:a})}function aa(t,e){return e.nodes[t]||e.marks[t]||null}function ca(t,e){return Array.isArray(e)?e.some((e=>{const n="string"===typeof e?e:e.name;return n===t.name})):e}const pa=(t,e=500)=>{let n="";const o=t.parentOffset;return t.parent.nodesBetween(Math.max(0,o-e),o,((t,e,r,i)=>{var s,l;const a=(null===(l=(s=t.type.spec).toText)||void 0===l?void 0:l.call(s,{node:t,pos:e,parent:r,index:i}))||t.textContent||"%leaf%";n+=a.slice(0,Math.max(0,o-e))})),n};function da(t){return"[object RegExp]"===Object.prototype.toString.call(t)}class ha{constructor(t){this.find=t.find,this.handler=t.handler}}const ua=(t,e)=>{if(da(e))return e.exec(t);const n=e(t);if(!n)return null;const o=[n.text];return o.index=n.index,o.input=t,o.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),o.push(n.replaceWith)),o};function fa(t){var e;const{editor:n,from:o,to:r,text:i,rules:s,plugin:l}=t,{view:a}=n;if(a.composing)return!1;const c=a.state.doc.resolve(o);if(c.parent.type.spec.code||(null===(e=c.nodeBefore||c.nodeAfter)||void 0===e?void 0:e.marks.find((t=>t.type.spec.code))))return!1;let p=!1;const d=pa(c)+i;return s.forEach((t=>{if(p)return;const e=ua(d,t.find);if(!e)return;const s=a.state.tr,c=_l({state:a.state,transaction:s}),h={from:o-(e[0].length-i.length),to:r},{commands:u,chain:f,can:m}=new ql({editor:n,state:c}),g=t.handler({state:c,range:h,match:e,commands:u,chain:f,can:m});null!==g&&s.steps.length&&(s.setMeta(l,{transform:s,from:o,to:r,text:i}),a.dispatch(s),p=!0)})),p}function ma(t){const{editor:e,rules:n}=t,o=new wn({state:{init(){return null},apply(t,r){const i=t.getMeta(o);if(i)return i;const s=t.getMeta("applyInputRules"),l=!!s;return l&&setTimeout((()=>{const{from:t,text:r}=s,i=t+r.length;fa({editor:e,from:t,to:i,text:r,rules:n,plugin:o})})),t.selectionSet||t.docChanged?null:r}},props:{handleTextInput(t,r,i,s){return fa({editor:e,from:r,to:i,text:s,rules:n,plugin:o})},handleDOMEvents:{compositionend:t=>(setTimeout((()=>{const{$cursor:r}=t.state.selection;r&&fa({editor:e,from:r.pos,to:r.pos,text:"",rules:n,plugin:o})})),!1)},handleKeyDown(t,r){if("Enter"!==r.key)return!1;const{$cursor:i}=t.state.selection;return!!i&&fa({editor:e,from:i.pos,to:i.pos,text:"\n",rules:n,plugin:o})}},isInputRules:!0});return o}function ga(t){return"number"===typeof t}class xa{constructor(t){this.find=t.find,this.handler=t.handler}}const Ma=(t,e,n)=>{if(da(e))return[...t.matchAll(e)];const o=e(t,n);return o?o.map((e=>{const n=[e.text];return n.index=e.index,n.input=t,n.data=e.data,e.replaceWith&&(e.text.includes(e.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),n.push(e.replaceWith)),n})):[]};function ya(t){const{editor:e,state:n,from:o,to:r,rule:i,pasteEvent:s,dropEvent:l}=t,{commands:a,chain:c,can:p}=new ql({editor:e,state:n}),d=[];n.doc.nodesBetween(o,r,((t,e)=>{if(!t.isTextblock||t.type.spec.code)return;const h=Math.max(o,e),u=Math.min(r,e+t.content.size),f=t.textBetween(h-e,u-e,void 0,""),m=Ma(f,i.find,s);m.forEach((t=>{if(void 0===t.index)return;const e=h+t.index+1,o=e+t[0].length,r={from:n.tr.mapping.map(e),to:n.tr.mapping.map(o)},u=i.handler({state:n,range:r,match:t,commands:a,chain:c,can:p,pasteEvent:s,dropEvent:l});d.push(u)}))}));const h=d.every((t=>null!==t));return h}const va=t=>{var e;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return null===(e=n.clipboardData)||void 0===e||e.setData("text/html",t),n};function wa(t){const{editor:e,rules:n}=t;let o=null,r=!1,i=!1,s="undefined"!==typeof ClipboardEvent?new ClipboardEvent("paste"):null,l="undefined"!==typeof DragEvent?new DragEvent("drop"):null;const a=({state:t,from:n,to:o,rule:r,pasteEvt:i})=>{const a=t.tr,c=_l({state:t,transaction:a}),p=ya({editor:e,state:c,from:Math.max(n-1,0),to:o.b-1,rule:r,pasteEvent:i,dropEvent:l});if(p&&a.steps.length)return l="undefined"!==typeof DragEvent?new DragEvent("drop"):null,s="undefined"!==typeof ClipboardEvent?new ClipboardEvent("paste"):null,a},c=n.map((t=>new wn({view(t){const e=e=>{var n;o=(null===(n=t.dom.parentElement)||void 0===n?void 0:n.contains(e.target))?t.dom.parentElement:null};return window.addEventListener("dragstart",e),{destroy(){window.removeEventListener("dragstart",e)}}},props:{handleDOMEvents:{drop:(t,e)=>(i=o===t.dom.parentElement,l=e,!1),paste:(t,e)=>{var n;const o=null===(n=e.clipboardData)||void 0===n?void 0:n.getData("text/html");return s=e,r=!!(null===o||void 0===o?void 0:o.includes("data-pm-slice")),!1}}},appendTransaction:(e,n,o)=>{const l=e[0],c="paste"===l.getMeta("uiEvent")&&!r,p="drop"===l.getMeta("uiEvent")&&!i,d=l.getMeta("applyPasteRules"),h=!!d;if(!c&&!p&&!h)return;if(h){const{from:e,text:n}=d,r=e+n.length,i=va(n);return a({rule:t,state:o,from:e,to:{b:r},pasteEvt:i})}const u=n.doc.content.findDiffStart(o.doc.content),f=n.doc.content.findDiffEnd(o.doc.content);return ga(u)&&f&&u!==f.b?a({rule:t,state:o,from:u,to:f,pasteEvt:s}):void 0}})));return c}function ba(t){const e=t.filter(((e,n)=>t.indexOf(e)!==n));return[...new Set(e)]}class ka{constructor(t,e){this.splittableMarks=[],this.editor=e,this.extensions=ka.resolve(t),this.schema=la(this.extensions,e),this.setupExtensions()}static resolve(t){const e=ka.sort(ka.flatten(t)),n=ba(e.map((t=>t.name)));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map((t=>`'${t}'`)).join(", ")}]. This can lead to issues.`),e}static flatten(t){return t.map((t=>{const e={name:t.name,options:t.options,storage:t.storage},n=Jl(t,"addExtensions",e);return n?[t,...this.flatten(n())]:t})).flat(10)}static sort(t){const e=100;return t.sort(((t,n)=>{const o=Jl(t,"priority")||e,r=Jl(n,"priority")||e;return o>r?-1:o{const n={name:e.name,options:e.options,storage:e.storage,editor:this.editor,type:aa(e.name,this.schema)},o=Jl(e,"addCommands",n);return o?{...t,...o()}:t}),{})}get plugins(){const{editor:t}=this,e=ka.sort([...this.extensions].reverse()),n=[],o=[],r=e.map((e=>{const r={name:e.name,options:e.options,storage:e.storage,editor:t,type:aa(e.name,this.schema)},i=[],s=Jl(e,"addKeyboardShortcuts",r);let l={};if("mark"===e.type&&e.config.exitable&&(l.ArrowRight=()=>Bp.handleExit({editor:t,mark:e})),s){const e=Object.fromEntries(Object.entries(s()).map((([e,n])=>[e,()=>n({editor:t})])));l={...l,...e}}const a=el(l);i.push(a);const c=Jl(e,"addInputRules",r);ca(e,t.options.enableInputRules)&&c&&n.push(...c());const p=Jl(e,"addPasteRules",r);ca(e,t.options.enablePasteRules)&&p&&o.push(...p());const d=Jl(e,"addProseMirrorPlugins",r);if(d){const t=d();i.push(...t)}return i})).flat();return[ma({editor:t,rules:n}),...wa({editor:t,rules:o}),...r]}get attributes(){return Gl(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:e}=Xl(this.extensions);return Object.fromEntries(e.filter((t=>!!Jl(t,"addNodeView"))).map((e=>{const n=this.attributes.filter((t=>t.type===e.name)),o={name:e.name,options:e.options,storage:e.storage,editor:t,type:Yl(e.name,this.schema)},r=Jl(e,"addNodeView",o);if(!r)return[];const i=(o,i,s,l)=>{const a=ta(o,n);return r()({editor:t,node:o,getPos:s,decorations:l,HTMLAttributes:a,extension:e})};return[e.name,i]})))}setupExtensions(){this.extensions.forEach((t=>{var e;this.editor.extensionStorage[t.name]=t.storage;const n={name:t.name,options:t.options,storage:t.storage,editor:this.editor,type:aa(t.name,this.schema)};if("mark"===t.type){const o=null===(e=na(Jl(t,"keepOnSplit",n)))||void 0===e||e;o&&this.splittableMarks.push(t.name)}const o=Jl(t,"onBeforeCreate",n),r=Jl(t,"onCreate",n),i=Jl(t,"onUpdate",n),s=Jl(t,"onSelectionUpdate",n),l=Jl(t,"onTransaction",n),a=Jl(t,"onFocus",n),c=Jl(t,"onBlur",n),p=Jl(t,"onDestroy",n);o&&this.editor.on("beforeCreate",o),r&&this.editor.on("create",r),i&&this.editor.on("update",i),s&&this.editor.on("selectionUpdate",s),l&&this.editor.on("transaction",l),a&&this.editor.on("focus",a),c&&this.editor.on("blur",c),p&&this.editor.on("destroy",p)}))}}function Wa(t){return Object.prototype.toString.call(t).slice(8,-1)}function Qa(t){return"Object"===Wa(t)&&(t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype)}function Ca(t,e){const n={...t};return Qa(t)&&Qa(e)&&Object.keys(e).forEach((o=>{Qa(e[o])?o in t?n[o]=Ca(t[o],e[o]):Object.assign(n,{[o]:e[o]}):Object.assign(n,{[o]:e[o]})})),n}class Sa{constructor(t={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=na(Jl(this,"addOptions",{name:this.name}))),this.storage=na(Jl(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new Sa(t)}configure(t={}){const e=this.extend();return e.parent=this.parent,e.options=Ca(this.options,t),e.storage=na(Jl(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new Sa({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=na(Jl(e,"addOptions",{name:e.name})),e.storage=na(Jl(e,"addStorage",{name:e.name,options:e.options})),e}}function Oa(t,e,n){const{from:o,to:r}=e,{blockSeparator:i="\n\n",textSerializers:s={}}=n||{};let l="";return t.nodesBetween(o,r,((t,n,a,c)=>{var p;t.isBlock&&n>o&&(l+=i);const d=null===s||void 0===s?void 0:s[t.type.name];if(d)return a&&(l+=d({node:t,pos:n,parent:a,index:c,range:e})),!1;t.isText&&(l+=null===(p=null===t||void 0===t?void 0:t.text)||void 0===p?void 0:p.slice(Math.max(o,n)-n,r-n))})),l}function Ta(t){return Object.fromEntries(Object.entries(t.nodes).filter((([,t])=>t.spec.toText)).map((([t,e])=>[t,e.spec.toText])))}const Aa=Sa.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new wn({key:new Wn("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:o,selection:r}=e,{ranges:i}=r,s=Math.min(...i.map((t=>t.$from.pos))),l=Math.max(...i.map((t=>t.$to.pos))),a=Ta(n),c={from:s,to:l};return Oa(o,c,{...void 0!==this.options.blockSeparator?{blockSeparator:this.options.blockSeparator}:{},textSerializers:a})}}})]}}),Ea=()=>({editor:t,view:e})=>(requestAnimationFrame((()=>{var n;t.isDestroyed||(e.dom.blur(),null===(n=null===window||void 0===window?void 0:window.getSelection())||void 0===n||n.removeAllRanges())})),!0),La=(t=!1)=>({commands:e})=>e.setContent("",t),Na=()=>({state:t,tr:e,dispatch:n})=>{const{selection:o}=e,{ranges:r}=o;return!n||(r.forEach((({$from:n,$to:o})=>{t.doc.nodesBetween(n.pos,o.pos,((t,n)=>{if(t.type.isText)return;const{doc:o,mapping:r}=e,i=o.resolve(r.map(n)),s=o.resolve(r.map(n+t.nodeSize)),l=i.blockRange(s);if(!l)return;const a=he(l);if(t.type.isTextblock){const{defaultType:t}=i.parent.contentMatchAt(i.index());e.setNodeMarkup(l.start,t)}(a||0===a)&&e.lift(l,a)}))})),!0)},Da=t=>e=>t(e),Ra=()=>({state:t,dispatch:e})=>bl(t,e),Ia=(t,e)=>({editor:n,tr:o})=>{const{state:r}=n,i=r.doc.slice(t.from,t.to);o.deleteRange(t.from,t.to);const s=o.mapping.map(e);return o.insert(s,i.content),o.setSelection(new nn(o.doc.resolve(s-1))),!0},Pa=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,o=n.$anchor.node();if(o.content.size>0)return!1;const r=t.selection.$anchor;for(let i=r.depth;i>0;i-=1){const n=r.node(i);if(n.type===o.type){if(e){const e=r.before(i),n=r.after(i);t.delete(e,n).scrollIntoView()}return!0}}return!1},Ha=t=>({tr:e,state:n,dispatch:o})=>{const r=Yl(t,n.schema),i=e.selection.$anchor;for(let t=i.depth;t>0;t-=1){const n=i.node(t);if(n.type===r){if(o){const n=i.before(t),o=i.after(t);e.delete(n,o).scrollIntoView()}return!0}}return!1},$a=t=>({tr:e,dispatch:n})=>{const{from:o,to:r}=t;return n&&e.delete(o,r),!0},Ba=()=>({state:t,dispatch:e})=>ol(t,e),za=()=>({commands:t})=>t.keyboardShortcut("Enter"),Va=()=>({state:t,dispatch:e})=>wl(t,e);function Fa(t,e,n={strict:!0}){const o=Object.keys(e);return!o.length||o.every((o=>n.strict?e[o]===t[o]:da(e[o])?e[o].test(t[o]):e[o]===t[o]))}function ja(t,e,n={}){return t.find((t=>t.type===e&&Fa(t.attrs,n)))}function Ka(t,e,n={}){return!!ja(t,e,n)}function _a(t,e,n={}){if(!t||!e)return;let o=t.parent.childAfter(t.parentOffset);if(t.parentOffset===o.offset&&0!==o.offset&&(o=t.parent.childBefore(t.parentOffset)),!o.node)return;const r=ja([...o.node.marks],e,n);if(!r)return;let i=o.index,s=t.start()+o.offset,l=i+1,a=s+o.node.nodeSize;ja([...o.node.marks],e,n);while(i>0&&r.isInSet(t.parent.child(i-1).marks))i-=1,s-=t.parent.child(i).nodeSize;while(l({tr:n,state:o,dispatch:r})=>{const i=qa(t,o.schema),{doc:s,selection:l}=n,{$from:a,from:c,to:p}=l;if(r){const t=_a(a,i,e);if(t&&t.from<=c&&t.to>=p){const e=nn.create(s,t.from,t.to);n.setSelection(e)}}return!0},Ja=t=>e=>{const n="function"===typeof t?t(e):t;for(let t=0;t({editor:n,view:o,tr:r,dispatch:i})=>{e={scrollIntoView:!0,...e};const s=()=>{Za()&&o.dom.focus(),requestAnimationFrame((()=>{n.isDestroyed||(o.focus(),(null===e||void 0===e?void 0:e.scrollIntoView)&&n.commands.scrollIntoView())}))};if(o.hasFocus()&&null===t||!1===t)return!0;if(i&&null===t&&!Xa(n.state.selection))return s(),!0;const l=Ya(r.doc,t)||n.state.selection,a=n.state.selection.eq(l);return i&&(a||r.setSelection(l),a&&r.storedMarks&&r.setStoredMarks(r.storedMarks),s()),!0},ec=(t,e)=>n=>t.every(((t,o)=>e(t,{...n,index:o}))),nc=(t,e)=>({tr:n,commands:o})=>o.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),oc=t=>{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const o=e[n];3===o.nodeType&&o.nodeValue&&/^(\n\s\s|\n)$/.test(o.nodeValue)?t.removeChild(o):1===o.nodeType&&oc(o)}return t};function rc(t){const e=`${t}`,n=(new window.DOMParser).parseFromString(e,"text/html").body;return oc(n)}function ic(t,e,n){n={slice:!0,parseOptions:{},...n};const o="object"===typeof t&&null!==t,r="string"===typeof t;if(o)try{const n=Array.isArray(t)&&t.length>0;return n?k.fromArray(t.map((t=>e.nodeFromJSON(t)))):e.nodeFromJSON(t)}catch(i){return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",i),ic("",e,n)}if(r){const o=wt.fromSchema(e);return n.slice?o.parseSlice(rc(t),n.parseOptions).content:o.parse(rc(t),n.parseOptions)}return ic("",e,n)}function sc(t,e,n){const o=t.steps.length-1;if(o{0===s&&(s=o)})),t.setSelection(Ye.near(t.doc.resolve(s),n))}const lc=t=>t.toString().startsWith("<"),ac=(t,e,n)=>({tr:o,dispatch:r,editor:i})=>{if(r){n={parseOptions:{},updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};const r=ic(e,i.schema,{parseOptions:{preserveWhitespace:"full",...n.parseOptions}});if("<>"===r.toString())return!0;let{from:s,to:l}="number"===typeof t?{from:t,to:t}:{from:t.from,to:t.to},a=!0,c=!0;const p=lc(r)?r:[r];if(p.forEach((t=>{t.check(),a=!!a&&(t.isText&&0===t.marks.length),c=!!c&&t.isBlock})),s===l&&c){const{parent:t}=o.doc.resolve(s),e=t.isTextblock&&!t.type.spec.code&&!t.childCount;e&&(s-=1,l+=1)}let d;a?(d=Array.isArray(e)?e.map((t=>t.text||"")).join(""):"object"===typeof e&&e&&e.text?e.text:e,o.insertText(d,s,l)):(d=r,o.replaceWith(s,l,d)),n.updateSelection&&sc(o,o.steps.length-1,-1),n.applyInputRules&&o.setMeta("applyInputRules",{from:s,text:d}),n.applyPasteRules&&o.setMeta("applyPasteRules",{from:s,text:d})}return!0},cc=()=>({state:t,dispatch:e})=>gl(t,e),pc=()=>({state:t,dispatch:e})=>xl(t,e),dc=()=>({state:t,dispatch:e})=>il(t,e),hc=()=>({state:t,dispatch:e})=>ul(t,e),uc=()=>({tr:t,state:e,dispatch:n})=>{try{const o=Oe(e.doc,e.selection.$from.pos,-1);return null!==o&&void 0!==o&&(t.join(o,2),n&&n(t),!0)}catch{return!1}},fc=()=>({state:t,dispatch:e,tr:n})=>{try{const o=Oe(t.doc,t.selection.$from.pos,1);return null!==o&&void 0!==o&&(n.join(o,2),e&&e(n),!0)}catch(o){return!1}},mc=()=>({state:t,dispatch:e})=>sl(t,e),gc=()=>({state:t,dispatch:e})=>ll(t,e);function xc(){return"undefined"!==typeof navigator&&/Mac/.test(navigator.platform)}function Mc(t){const e=t.split(/-(?!$)/);let n,o,r,i,s=e[e.length-1];"Space"===s&&(s=" ");for(let l=0;l({editor:e,view:n,tr:o,dispatch:r})=>{const i=Mc(t).split(/-(?!$)/),s=i.find((t=>!["Alt","Ctrl","Meta","Shift"].includes(t))),l=new KeyboardEvent("keydown",{key:"Space"===s?" ":s,altKey:i.includes("Alt"),ctrlKey:i.includes("Ctrl"),metaKey:i.includes("Meta"),shiftKey:i.includes("Shift"),bubbles:!0,cancelable:!0}),a=e.captureTransaction((()=>{n.someProp("handleKeyDown",(t=>t(n,l)))}));return null===a||void 0===a||a.steps.forEach((t=>{const e=t.map(o.mapping);e&&r&&o.maybeStep(e)})),!0};function vc(t,e,n={}){const{from:o,to:r,empty:i}=t.selection,s=e?Yl(e,t.schema):null,l=[];t.doc.nodesBetween(o,r,((t,e)=>{if(t.isText)return;const n=Math.max(o,e),i=Math.min(r,e+t.nodeSize);l.push({node:t,from:n,to:i})}));const a=r-o,c=l.filter((t=>!s||s.name===t.node.type.name)).filter((t=>Fa(t.node.attrs,n,{strict:!1})));if(i)return!!c.length;const p=c.reduce(((t,e)=>t+e.to-e.from),0);return p>=a}const wc=(t,e={})=>({state:n,dispatch:o})=>{const r=Yl(t,n.schema),i=vc(n,r,e);return!!i&&Ml(n,o)},bc=()=>({state:t,dispatch:e})=>kl(t,e),kc=t=>({state:e,dispatch:n})=>{const o=Yl(t,e.schema);return Vl(o)(e,n)},Wc=()=>({state:t,dispatch:e})=>yl(t,e);function Qc(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function Cc(t,e){const n="string"===typeof e?[e]:e;return Object.keys(t).reduce(((e,o)=>(n.includes(o)||(e[o]=t[o]),e)),{})}const Sc=(t,e)=>({tr:n,state:o,dispatch:r})=>{let i=null,s=null;const l=Qc("string"===typeof t?t:t.name,o.schema);return!!l&&("node"===l&&(i=Yl(t,o.schema)),"mark"===l&&(s=qa(t,o.schema)),r&&n.selection.ranges.forEach((t=>{o.doc.nodesBetween(t.$from.pos,t.$to.pos,((t,o)=>{i&&i===t.type&&n.setNodeMarkup(o,void 0,Cc(t.attrs,e)),s&&t.marks.length&&t.marks.forEach((r=>{s===r.type&&n.addMark(o,o+t.nodeSize,s.create(Cc(r.attrs,e)))}))}))})),!0)},Oc=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),Tc=()=>({tr:t,commands:e})=>e.setTextSelection({from:0,to:t.doc.content.size}),Ac=()=>({state:t,dispatch:e})=>pl(t,e),Ec=()=>({state:t,dispatch:e})=>fl(t,e),Lc=()=>({state:t,dispatch:e})=>Cl(t,e),Nc=()=>({state:t,dispatch:e})=>Ll(t,e),Dc=()=>({state:t,dispatch:e})=>El(t,e);function Rc(t,e,n={}){return ic(t,e,{slice:!1,parseOptions:n})}const Ic=(t,e=!1,n={})=>({tr:o,editor:r,dispatch:i})=>{const{doc:s}=o,l=Rc(t,r.schema,n);return i&&o.replaceWith(0,s.content.size,l).setMeta("preventUpdate",!e),!0};function Pc(t,e){const n=qa(e,t.schema),{from:o,to:r,empty:i}=t.selection,s=[];i?(t.storedMarks&&s.push(...t.storedMarks),s.push(...t.selection.$head.marks())):t.doc.nodesBetween(o,r,(t=>{s.push(...t.marks)}));const l=s.find((t=>t.type.name===n.name));return l?{...l.attrs}:{}}function Hc(t,e){const n=new Xe(t);return e.forEach((t=>{t.steps.forEach((t=>{n.step(t)}))})),n}function $c(t){for(let e=0;e{n(t)&&o.push({node:t,pos:e})})),o}function zc(t,e){for(let n=t.depth;n>0;n-=1){const o=t.node(n);if(e(o))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:o}}}function Vc(t){return e=>zc(e.$from,t)}function Fc(t,e){const n=It.fromSchema(e).serializeFragment(t),o=document.implementation.createHTMLDocument(),r=o.createElement("div");return r.appendChild(n),r.innerHTML}function jc(t,e){const n={from:0,to:t.content.size};return Oa(t,n,e)}function Kc(t,e){const n=Yl(e,t.schema),{from:o,to:r}=t.selection,i=[];t.doc.nodesBetween(o,r,(t=>{i.push(t)}));const s=i.reverse().find((t=>t.type.name===n.name));return s?{...s.attrs}:{}}function _c(t,e){const n=Qc("string"===typeof e?e:e.name,t.schema);return"node"===n?Kc(t,e):"mark"===n?Pc(t,e):{}}function qc(t,e=JSON.stringify){const n={};return t.filter((t=>{const o=e(t);return!Object.prototype.hasOwnProperty.call(n,o)&&(n[o]=!0)}))}function Uc(t){const e=qc(t);return 1===e.length?e:e.filter(((t,n)=>{const o=e.filter(((t,e)=>e!==n));return!o.some((e=>t.oldRange.from>=e.oldRange.from&&t.oldRange.to<=e.oldRange.to&&t.newRange.from>=e.newRange.from&&t.newRange.to<=e.newRange.to))}))}function Jc(t){const{mapping:e,steps:n}=t,o=[];return e.maps.forEach(((t,r)=>{const i=[];if(t.ranges.length)t.forEach(((t,e)=>{i.push({from:t,to:e})}));else{const{from:t,to:e}=n[r];if(void 0===t||void 0===e)return;i.push({from:t,to:e})}i.forEach((({from:t,to:n})=>{const i=e.slice(r).map(t,-1),s=e.slice(r).map(n),l=e.invert().map(i,-1),a=e.invert().map(s);o.push({oldRange:{from:l,to:a},newRange:{from:i,to:s}})}))})),Uc(o)}function Xc(t,e,n){const o=[];return t===e?n.resolve(t).marks().forEach((e=>{const r=n.resolve(t-1),i=_a(r,e.type);i&&o.push({mark:e,...i})})):n.nodesBetween(t,e,((t,e)=>{t&&void 0!==(null===t||void 0===t?void 0:t.nodeSize)&&o.push(...t.marks.map((n=>({from:e,to:e+t.nodeSize,mark:n}))))})),o}function Gc(t,e,n){return Object.fromEntries(Object.entries(n).filter((([n])=>{const o=t.find((t=>t.type===e&&t.name===n));return!!o&&o.attribute.keepOnSplit})))}function Yc(t,e,n={}){const{empty:o,ranges:r}=t.selection,i=e?qa(e,t.schema):null;if(o)return!!(t.storedMarks||t.selection.$from.marks()).filter((t=>!i||i.name===t.type.name)).find((t=>Fa(t.attrs,n,{strict:!1})));let s=0;const l=[];if(r.forEach((({$from:e,$to:n})=>{const o=e.pos,r=n.pos;t.doc.nodesBetween(o,r,((t,e)=>{if(!t.isText&&!t.marks.length)return;const n=Math.max(o,e),i=Math.min(r,e+t.nodeSize),a=i-n;s+=a,l.push(...t.marks.map((t=>({mark:t,from:n,to:i}))))}))})),0===s)return!1;const a=l.filter((t=>!i||i.name===t.mark.type.name)).filter((t=>Fa(t.mark.attrs,n,{strict:!1}))).reduce(((t,e)=>t+e.to-e.from),0),c=l.filter((t=>!i||t.mark.type!==i&&t.mark.type.excludes(i))).reduce(((t,e)=>t+e.to-e.from),0),p=a>0?a+c:a;return p>=s}function Zc(t,e,n={}){if(!e)return vc(t,null,n)||Yc(t,null,n);const o=Qc(e,t.schema);return"node"===o?vc(t,e,n):"mark"===o&&Yc(t,e,n)}function tp(t,e){const{nodeExtensions:n}=Xl(e),o=n.find((e=>e.name===t));if(!o)return!1;const r={name:o.name,options:o.options,storage:o.storage},i=na(Jl(o,"group",r));return"string"===typeof i&&i.split(" ").includes("list")}function ep(t){var e;const n=null===(e=t.type.createAndFill())||void 0===e?void 0:e.toJSON(),o=t.toJSON();return JSON.stringify(n)===JSON.stringify(o)}function np(t){return t instanceof rn}function op(t,e,n){const o=0,r=t.state.doc.content.size,i=Ga(e,o,r),s=Ga(n,o,r),l=t.coordsAtPos(i),a=t.coordsAtPos(s,-1),c=Math.min(l.top,a.top),p=Math.max(l.bottom,a.bottom),d=Math.min(l.left,a.left),h=Math.max(l.right,a.right),u=h-d,f=p-c,m=d,g=c,x={top:c,bottom:p,left:d,right:h,width:u,height:f,x:m,y:g};return{...x,toJSON:()=>x}}function rp(t,e,n){var o;const{selection:r}=e;let i=null;if(Xa(r)&&(i=r.$cursor),i){const e=null!==(o=t.storedMarks)&&void 0!==o?o:i.marks();return!!n.isInSet(e)||!e.some((t=>t.type.excludes(n)))}const{ranges:s}=r;return s.some((({$from:e,$to:o})=>{let r=0===e.depth&&(t.doc.inlineContent&&t.doc.type.allowsMarkType(n));return t.doc.nodesBetween(e.pos,o.pos,((t,e,o)=>{if(r)return!1;if(t.isInline){const e=!o||o.type.allowsMarkType(n),i=!!n.isInSet(t.marks)||!t.marks.some((t=>t.type.excludes(n)));r=e&&i}return!r})),r}))}const ip=(t,e={})=>({tr:n,state:o,dispatch:r})=>{const{selection:i}=n,{empty:s,ranges:l}=i,a=qa(t,o.schema);if(r)if(s){const t=Pc(o,a);n.addStoredMark(a.create({...t,...e}))}else l.forEach((t=>{const r=t.$from.pos,i=t.$to.pos;o.doc.nodesBetween(r,i,((t,o)=>{const s=Math.max(o,r),l=Math.min(o+t.nodeSize,i),c=t.marks.find((t=>t.type===a));c?t.marks.forEach((t=>{a===t.type&&n.addMark(s,l,a.create({...t.attrs,...e}))})):n.addMark(s,l,a.create(e))}))}));return rp(o,n,a)},sp=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),lp=(t,e={})=>({state:n,dispatch:o,chain:r})=>{const i=Yl(t,n.schema);return i.isTextblock?r().command((({commands:t})=>{const o=Dl(i,e)(n);return!!o||t.clearNodes()})).command((({state:t})=>Dl(i,e)(t,o))).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},ap=t=>({tr:e,dispatch:n})=>{if(n){const{doc:n}=e,o=Ga(t,0,n.content.size),r=rn.create(n,o);e.setSelection(r)}return!0},cp=t=>({tr:e,dispatch:n})=>{if(n){const{doc:n}=e,{from:o,to:r}="number"===typeof t?{from:t,to:t}:t,i=nn.atStart(n).from,s=nn.atEnd(n).to,l=Ga(o,i,s),a=Ga(r,i,s),c=nn.create(n,l,a);e.setSelection(c)}return!0},pp=t=>({state:e,dispatch:n})=>{const o=Yl(t,e.schema);return Kl(o)(e,n)};function dp(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const o=n.filter((t=>null===e||void 0===e?void 0:e.includes(t.type.name)));t.tr.ensureMarks(o)}}const hp=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:o,editor:r})=>{const{selection:i,doc:s}=e,{$from:l,$to:a}=i,c=r.extensionManager.attributes,p=Gc(c,l.node().type.name,l.node().attrs);if(i instanceof rn&&i.node.isBlock)return!(!l.parentOffset||!We(s,l.pos))&&(o&&(t&&dp(n,r.extensionManager.splittableMarks),e.split(l.pos).scrollIntoView()),!0);if(!l.parent.isBlock)return!1;if(o){const o=a.parentOffset===a.parent.content.size;i instanceof nn&&e.deleteSelection();const s=0===l.depth?void 0:$c(l.node(-1).contentMatchAt(l.indexAfter(-1)));let c=o&&s?[{type:s,attrs:p}]:void 0,d=We(e.doc,e.mapping.map(l.pos),1,c);if(c||d||!We(e.doc,e.mapping.map(l.pos),1,s?[{type:s}]:void 0)||(d=!0,c=s?[{type:s,attrs:p}]:void 0),d&&(e.split(e.mapping.map(l.pos),1,c),s&&!o&&!l.parentOffset&&l.parent.type!==s)){const t=e.mapping.map(l.before()),n=e.doc.resolve(t);l.node(-1).canReplaceWith(n.index(),n.index()+1,s)&&e.setNodeMarkup(e.mapping.map(l.before()),s)}t&&dp(n,r.extensionManager.splittableMarks),e.scrollIntoView()}return!0},up=t=>({tr:e,state:n,dispatch:o,editor:r})=>{var i;const s=Yl(t,n.schema),{$from:l,$to:a}=n.selection,c=n.selection.node;if(c&&c.isBlock||l.depth<2||!l.sameParent(a))return!1;const p=l.node(-1);if(p.type!==s)return!1;const d=r.extensionManager.attributes;if(0===l.parent.content.size&&l.node(-1).childCount===l.indexAfter(-1)){if(2===l.depth||l.node(-3).type!==s||l.index(-2)!==l.node(-2).childCount-1)return!1;if(o){let t=k.empty;const n=l.index(-1)?1:l.index(-2)?2:3;for(let e=l.depth-n;e>=l.depth-3;e-=1)t=k.from(l.node(e).copy(t));const o=l.indexAfter(-1){if(p>-1)return!1;t.isTextblock&&0===t.content.size&&(p=e+1)})),p>-1&&e.setSelection(nn.near(e.doc.resolve(p))),e.scrollIntoView()}return!0}const h=a.pos===l.end()?p.contentMatchAt(0).defaultType:null,u=Gc(d,p.type.name,p.attrs),f=Gc(d,l.node().type.name,l.node().attrs);e.delete(l.pos,a.pos);const m=h?[{type:s,attrs:u},{type:h,attrs:f}]:[{type:s,attrs:u}];if(!We(e.doc,l.pos,2))return!1;if(o){const{selection:t,storedMarks:i}=n,{splittableMarks:s}=r.extensionManager,a=i||t.$to.parentOffset&&t.$from.marks();if(e.split(l.pos,2,m).scrollIntoView(),!a||!o)return!0;const c=a.filter((t=>s.includes(t.type.name)));e.ensureMarks(c)}return!0},fp=(t,e)=>{const n=Vc((t=>t.type===e))(t.selection);if(!n)return!0;const o=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(void 0===o)return!0;const r=t.doc.nodeAt(o),i=n.node.type===(null===r||void 0===r?void 0:r.type)&&Ce(t.doc,n.pos);return!i||(t.join(n.pos),!0)},mp=(t,e)=>{const n=Vc((t=>t.type===e))(t.selection);if(!n)return!0;const o=t.doc.resolve(n.start).after(n.depth);if(void 0===o)return!0;const r=t.doc.nodeAt(o),i=n.node.type===(null===r||void 0===r?void 0:r.type)&&Ce(t.doc,o);return!i||(t.join(o),!0)},gp=(t,e,n,o={})=>({editor:r,tr:i,state:s,dispatch:l,chain:a,commands:c,can:p})=>{const{extensions:d,splittableMarks:h}=r.extensionManager,u=Yl(t,s.schema),f=Yl(e,s.schema),{selection:m,storedMarks:g}=s,{$from:x,$to:M}=m,y=x.blockRange(M),v=g||m.$to.parentOffset&&m.$from.marks();if(!y)return!1;const w=Vc((t=>tp(t.type.name,d)))(m);if(y.depth>=1&&w&&y.depth-w.depth<=1){if(w.node.type===u)return c.liftListItem(f);if(tp(w.node.type.name,d)&&u.validContent(w.node.content)&&l)return a().command((()=>(i.setNodeMarkup(w.pos,u),!0))).command((()=>fp(i,u))).command((()=>mp(i,u))).run()}return n&&v&&l?a().command((()=>{const t=p().wrapInList(u,o),e=v.filter((t=>h.includes(t.type.name)));return i.ensureMarks(e),!!t||c.clearNodes()})).wrapInList(u,o).command((()=>fp(i,u))).command((()=>mp(i,u))).run():a().command((()=>{const t=p().wrapInList(u,o);return!!t||c.clearNodes()})).wrapInList(u,o).command((()=>fp(i,u))).command((()=>mp(i,u))).run()},xp=(t,e={},n={})=>({state:o,commands:r})=>{const{extendEmptyMarkRange:i=!1}=n,s=qa(t,o.schema),l=Yc(o,s,e);return l?r.unsetMark(s,{extendEmptyMarkRange:i}):r.setMark(s,e)},Mp=(t,e,n={})=>({state:o,commands:r})=>{const i=Yl(t,o.schema),s=Yl(e,o.schema),l=vc(o,i,n);return l?r.setNode(s):r.setNode(i,n)},yp=(t,e={})=>({state:n,commands:o})=>{const r=Yl(t,n.schema),i=vc(n,r,e);return i?o.lift(r):o.wrapIn(r,e)},vp=()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let o=0;o=0;t-=1)e.step(n.steps[t].invert(n.docs[t]));if(i.text){const n=e.doc.resolve(i.from).marks();e.replaceWith(i.from,i.to,t.schema.text(i.text,n))}else e.delete(i.from,i.to)}return!0}}return!1},wp=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:o,ranges:r}=n;return o||e&&r.forEach((e=>{t.removeMark(e.$from.pos,e.$to.pos)})),!0},bp=(t,e={})=>({tr:n,state:o,dispatch:r})=>{var i;const{extendEmptyMarkRange:s=!1}=e,{selection:l}=n,a=qa(t,o.schema),{$from:c,empty:p,ranges:d}=l;if(!r)return!0;if(p&&s){let{from:t,to:e}=l;const o=null===(i=c.marks().find((t=>t.type===a)))||void 0===i?void 0:i.attrs,r=_a(c,a,o);r&&(t=r.from,e=r.to),n.removeMark(t,e,a)}else d.forEach((t=>{n.removeMark(t.$from.pos,t.$to.pos,a)}));return n.removeStoredMark(a),!0},kp=(t,e={})=>({tr:n,state:o,dispatch:r})=>{let i=null,s=null;const l=Qc("string"===typeof t?t:t.name,o.schema);return!!l&&("node"===l&&(i=Yl(t,o.schema)),"mark"===l&&(s=qa(t,o.schema)),r&&n.selection.ranges.forEach((t=>{const r=t.$from.pos,l=t.$to.pos;o.doc.nodesBetween(r,l,((t,o)=>{i&&i===t.type&&n.setNodeMarkup(o,void 0,{...t.attrs,...e}),s&&t.marks.length&&t.marks.forEach((i=>{if(s===i.type){const a=Math.max(o,r),c=Math.min(o+t.nodeSize,l);n.addMark(a,c,s.create({...i.attrs,...e}))}}))}))})),!0)},Wp=(t,e={})=>({state:n,dispatch:o})=>{const r=Yl(t,n.schema);return Nl(r,e)(n,o)},Qp=(t,e={})=>({state:n,dispatch:o})=>{const r=Yl(t,n.schema);return Bl(r,e)(n,o)};var Cp=Object.freeze({__proto__:null,blur:Ea,clearContent:La,clearNodes:Na,command:Da,createParagraphNear:Ra,cut:Ia,deleteCurrentNode:Pa,deleteNode:Ha,deleteRange:$a,deleteSelection:Ba,enter:za,exitCode:Va,extendMarkRange:Ua,first:Ja,focus:tc,forEach:ec,insertContent:nc,insertContentAt:ac,joinUp:cc,joinDown:pc,joinBackward:dc,joinForward:hc,joinItemBackward:uc,joinItemForward:fc,joinTextblockBackward:mc,joinTextblockForward:gc,keyboardShortcut:yc,lift:wc,liftEmptyBlock:bc,liftListItem:kc,newlineInCode:Wc,resetAttributes:Sc,scrollIntoView:Oc,selectAll:Tc,selectNodeBackward:Ac,selectNodeForward:Ec,selectParentNode:Lc,selectTextblockEnd:Nc,selectTextblockStart:Dc,setContent:Ic,setMark:ip,setMeta:sp,setNode:lp,setNodeSelection:ap,setTextSelection:cp,sinkListItem:pp,splitBlock:hp,splitListItem:up,toggleList:gp,toggleMark:xp,toggleNode:Mp,toggleWrap:yp,undoInputRule:vp,unsetAllMarks:wp,unsetMark:bp,updateAttributes:kp,wrapIn:Wp,wrapInList:Qp});const Sp=Sa.create({name:"commands",addCommands(){return{...Cp}}}),Op=Sa.create({name:"editable",addProseMirrorPlugins(){return[new wn({key:new Wn("editable"),props:{editable:()=>this.editor.options.editable}})]}}),Tp=Sa.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new wn({key:new Wn("focusEvents"),props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const o=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(o),!1},blur:(e,n)=>{t.isFocused=!1;const o=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(o),!1}}}})]}}),Ap=Sa.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first((({commands:t})=>[()=>t.undoInputRule(),()=>t.command((({tr:e})=>{const{selection:n,doc:o}=e,{empty:r,$anchor:i}=n,{pos:s,parent:l}=i,a=i.parent.isTextblock&&s>0?e.doc.resolve(s-1):i,c=a.parent.type.spec.isolating,p=i.pos-i.parentOffset,d=c&&1===a.parent.childCount?p===i.pos:Ye.atStart(o).from===s;return!(!r||!l.type.isTextblock||l.textContent.length||!d||d&&"paragraph"===i.parent.type.name)&&t.clearNodes()})),()=>t.deleteSelection(),()=>t.joinBackward(),()=>t.selectNodeBackward()])),e=()=>this.editor.commands.first((({commands:t})=>[()=>t.deleteSelection(),()=>t.deleteCurrentNode(),()=>t.joinForward(),()=>t.selectNodeForward()])),n=()=>this.editor.commands.first((({commands:t})=>[()=>t.newlineInCode(),()=>t.createParagraphNear(),()=>t.liftEmptyBlock(),()=>t.splitBlock()])),o={Enter:n,"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},r={...o},i={...o,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Za()||xc()?i:r},addProseMirrorPlugins(){return[new wn({key:new Wn("clearDocument"),appendTransaction:(t,e,n)=>{const o=t.some((t=>t.docChanged))&&!e.doc.eq(n.doc);if(!o)return;const{empty:r,from:i,to:s}=e.selection,l=Ye.atStart(e.doc).from,a=Ye.atEnd(e.doc).to,c=i===l&&s===a;if(r||!c)return;const p=0===n.doc.textBetween(0,n.doc.content.size," "," ").length;if(!p)return;const d=n.tr,h=_l({state:n,transaction:d}),{commands:u}=new ql({editor:this.editor,state:h});return u.clearNodes(),d.steps.length?d:void 0}})]}}),Ep=Sa.create({name:"tabindex",addProseMirrorPlugins(){return[new wn({key:new Wn("tabindex"),props:{attributes:this.editor.isEditable?{tabindex:"0"}:{}}})]}});class Lp{constructor(t,e,n=!1,o=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=t,this.editor=e,this.currentNode=o}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var t;return null!==(t=this.actualDepth)&&void 0!==t?t:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(t){let e=this.from,n=this.to;if(this.isBlock){if(0===this.content.size)return void console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);e=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:e,to:n},t)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(0===this.depth)return null;const t=this.resolvedPos.start(this.resolvedPos.depth-1),e=this.resolvedPos.doc.resolve(t);return new Lp(e,this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new Lp(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new Lp(t,this.editor)}get children(){const t=[];return this.node.content.forEach(((e,n)=>{const o=e.isBlock&&!e.isTextblock,r=this.pos+n+1,i=this.resolvedPos.doc.resolve(r);if(!o&&i.depth<=this.depth)return;const s=new Lp(i,this.editor,o,o?e:null);o&&(s.actualDepth=this.depth+1),t.push(new Lp(i,this.editor,o,o?e:null))})),t}get firstChild(){return this.children[0]||null}get lastChild(){const t=this.children;return t[t.length-1]||null}closest(t,e={}){let n=null,o=this.parent;while(o&&!n){if(o.node.type.name===t)if(Object.keys(e).length>0){const t=o.node.attrs,n=Object.keys(e);for(let o=0;o{if(!(n&&o.length>0)){if(i.node.type.name===t){const t=r.every((t=>e[t]===i.node.attrs[t]));t&&o.push(i)}n&&o.length>0||(o=o.concat(i.querySelectorAll(t,e,n)))}})),o}setAttribute(t){const e=this.editor.state.selection;this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name,t).setTextSelection(e.from).run()}}const Np='.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: "liga" 0; /* the above doesn\'t seem to work in Edge */\n}\n\n.ProseMirror [contenteditable="false"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable="false"] [contenteditable="true"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\nimg.ProseMirror-separator {\n display: inline !important;\n border: none !important;\n margin: 0 !important;\n width: 1px !important;\n height: 1px !important;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n margin: 0;\n}\n\n.ProseMirror-gapcursor:after {\n content: "";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.tippy-box[data-animation=fade][data-state=hidden] {\n opacity: 0\n}';function Dp(t,e,n){const o=document.querySelector(`style[data-tiptap-style${n?`-${n}`:""}]`);if(null!==o)return o;const r=document.createElement("style");return e&&r.setAttribute("nonce",e),r.setAttribute("data-tiptap-style"+(n?`-${n}`:""),""),r.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(r),r}class Rp extends Ul{constructor(t={}){super(),this.isFocused=!1,this.extensionStorage={},this.options={element:document.createElement("div"),content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.createView(),this.injectCSS(),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),window.setTimeout((()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}))}),0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=Dp(Np,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},this.view&&this.state&&!this.isDestroyed&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,e=!0){this.setOptions({editable:t}),e&&this.emit("update",{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(t,e){const n=ea(e)?e(t,[...this.state.plugins]):[...this.state.plugins,t],o=this.state.reconfigure({plugins:n});this.view.updateState(o)}unregisterPlugin(t){if(this.isDestroyed)return;const e="string"===typeof t?`${t}$`:t.key,n=this.state.reconfigure({plugins:this.state.plugins.filter((t=>!t.key.startsWith(e)))});this.view.updateState(n)}createExtensionManager(){var t,e;const n=this.options.enableCoreExtensions?[Op,Aa.configure({blockSeparator:null===(e=null===(t=this.options.coreExtensionOptions)||void 0===t?void 0:t.clipboardTextSerializer)||void 0===e?void 0:e.blockSeparator}),Sp,Tp,Ap,Ep]:[],o=[...n,...this.options.extensions].filter((t=>["extension","node","mark"].includes(null===t||void 0===t?void 0:t.type)));this.extensionManager=new ka(o,this)}createCommandManager(){this.commandManager=new ql({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){const t=Rc(this.options.content,this.schema,this.options.parseOptions),e=Ya(t,this.options.autofocus);this.view=new Is(this.options.element,{...this.options.editorProps,dispatchTransaction:this.dispatchTransaction.bind(this),state:yn.create({doc:t,selection:e||void 0})});const n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.createNodeViews(),this.prependClass();const o=this.view.dom;o.editor=this}createNodeViews(){this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;const e=this.capturedTransaction;return this.capturedTransaction=null,e}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction)return this.capturedTransaction?void t.steps.forEach((t=>{var e;return null===(e=this.capturedTransaction)||void 0===e?void 0:e.step(t)})):void(this.capturedTransaction=t);const e=this.state.apply(t),n=!this.state.selection.eq(e.selection);this.view.updateState(e),this.emit("transaction",{editor:this,transaction:t}),n&&this.emit("selectionUpdate",{editor:this,transaction:t});const o=t.getMeta("focus"),r=t.getMeta("blur");o&&this.emit("focus",{editor:this,event:o.event,transaction:t}),r&&this.emit("blur",{editor:this,event:r.event,transaction:t}),t.docChanged&&!t.getMeta("preventUpdate")&&this.emit("update",{editor:this,transaction:t})}getAttributes(t){return _c(this.state,t)}isActive(t,e){const n="string"===typeof t?t:null,o="string"===typeof t?e:t;return Zc(this.state,n,o)}getJSON(){return this.state.doc.toJSON()}getHTML(){return Fc(this.state.doc.content,this.schema)}getText(t){const{blockSeparator:e="\n\n",textSerializers:n={}}=t||{};return jc(this.state.doc,{blockSeparator:e,textSerializers:{...Ta(this.schema),...n}})}get isEmpty(){return ep(this.state.doc)}getCharacterCount(){return console.warn('[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'),this.state.doc.content.size-2}destroy(){this.emit("destroy"),this.view&&this.view.destroy(),this.removeAllListeners()}get isDestroyed(){var t;return!(null===(t=this.view)||void 0===t?void 0:t.docView)}$node(t,e){var n;return(null===(n=this.$doc)||void 0===n?void 0:n.querySelector(t,e))||null}$nodes(t,e){var n;return(null===(n=this.$doc)||void 0===n?void 0:n.querySelectorAll(t,e))||null}$pos(t){const e=this.state.doc.resolve(t);return new Lp(e,this)}get $doc(){return this.$pos(0)}}function Ip(t){return new ha({find:t.find,handler:({state:e,range:n,match:o})=>{const r=na(t.getAttributes,void 0,o);if(!1===r||null===r)return null;const{tr:i}=e,s=o[o.length-1],l=o[0];if(s){const o=l.search(/\S/),a=n.from+l.indexOf(s),c=a+s.length,p=Xc(n.from,n.to,e.doc).filter((e=>{const n=e.mark.type.excluded;return n.find((n=>n===t.type&&n!==e.mark.type))})).filter((t=>t.to>a));if(p.length)return null;cn.from&&i.delete(n.from+o,a);const d=n.from+o+s.length;i.addMark(n.from+o,d,t.type.create(r||{})),i.removeStoredMark(t.type)}}})}function Pp(t){return new ha({find:t.find,handler:({state:e,range:n,match:o})=>{const r=na(t.getAttributes,void 0,o)||{},{tr:i}=e,s=n.from;let l=n.to;const a=t.type.create(r);if(o[1]){const t=o[0].lastIndexOf(o[1]);let e=s+t;e>l?e=l:l=e+o[1].length;const n=o[0][o[0].length-1];i.insertText(n,s+o[0].length-1),i.replaceWith(e,l,a)}else o[0]&&i.insert(s-1,t.type.create(r)).delete(i.mapping.map(s),i.mapping.map(l));i.scrollIntoView()}})}function Hp(t){return new ha({find:t.find,handler:({state:e,range:n,match:o})=>{const r=e.doc.resolve(n.from),i=na(t.getAttributes,void 0,o)||{};if(!r.node(-1).canReplaceWith(r.index(-1),r.indexAfter(-1),t.type))return null;e.tr.delete(n.from,n.to).setBlockType(n.from,n.from,t.type,i)}})}function $p(t){return new ha({find:t.find,handler:({state:e,range:n,match:o,chain:r})=>{const i=na(t.getAttributes,void 0,o)||{},s=e.tr.delete(n.from,n.to),l=s.doc.resolve(n.from),a=l.blockRange(),c=a&&fe(a,t.type,i);if(!c)return null;if(s.wrap(a,c),t.keepMarks&&t.editor){const{selection:n,storedMarks:o}=e,{splittableMarks:r}=t.editor.extensionManager,i=o||n.$to.parentOffset&&n.$from.marks();if(i){const t=i.filter((t=>r.includes(t.type.name)));s.ensureMarks(t)}}if(t.keepAttributes){const e="bulletList"===t.type.name||"orderedList"===t.type.name?"listItem":"taskList";r().updateAttributes(e,i).run()}const p=s.doc.resolve(n.from-1).nodeBefore;p&&p.type===t.type&&Ce(s.doc,n.from-1)&&(!t.joinPredicate||t.joinPredicate(o,p))&&s.join(n.from-1)}})}class Bp{constructor(t={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=na(Jl(this,"addOptions",{name:this.name}))),this.storage=na(Jl(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new Bp(t)}configure(t={}){const e=this.extend();return e.options=Ca(this.options,t),e.storage=na(Jl(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new Bp({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=na(Jl(e,"addOptions",{name:e.name})),e.storage=na(Jl(e,"addStorage",{name:e.name,options:e.options})),e}static handleExit({editor:t,mark:e}){const{tr:n}=t.state,o=t.state.selection.$from,r=o.pos===o.end();if(r){const r=o.marks(),i=!!r.find((t=>(null===t||void 0===t?void 0:t.type.name)===e.name));if(!i)return!1;const s=r.find((t=>(null===t||void 0===t?void 0:t.type.name)===e.name));return s&&n.removeStoredMark(s),n.insertText(" ",o.pos),t.view.dispatch(n),!0}return!1}}class zp{constructor(t={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=na(Jl(this,"addOptions",{name:this.name}))),this.storage=na(Jl(this,"addStorage",{name:this.name,options:this.options}))||{}}static create(t={}){return new zp(t)}configure(t={}){const e=this.extend();return e.options=Ca(this.options,t),e.storage=na(Jl(e,"addStorage",{name:e.name,options:e.options})),e}extend(t={}){const e=new zp({...this.config,...t});return e.parent=this,this.child=e,e.name=t.name?t.name:e.parent.name,t.defaultOptions&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${e.name}".`),e.options=na(Jl(e,"addOptions",{name:e.name})),e.storage=na(Jl(e,"addStorage",{name:e.name,options:e.options})),e}}function Vp(t){return new xa({find:t.find,handler:({state:e,range:n,match:o,pasteEvent:r})=>{const i=na(t.getAttributes,void 0,o,r);if(!1===i||null===i)return null;const{tr:s}=e,l=o[o.length-1],a=o[0];let c=n.to;if(l){const o=a.search(/\S/),r=n.from+a.indexOf(l),p=r+l.length,d=Xc(n.from,n.to,e.doc).filter((e=>{const n=e.mark.type.excluded;return n.find((n=>n===t.type&&n!==e.mark.type))})).filter((t=>t.to>r));if(d.length)return null;pn.from&&s.delete(n.from+o,r),c=n.from+o+l.length,s.addMark(n.from+o,c,t.type.create(i||{})),s.removeStoredMark(t.type)}}})}function Fp(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function jp(t){var e=Fp(t).Element;return t instanceof e||t instanceof Element}function Kp(t){var e=Fp(t).HTMLElement;return t instanceof e||t instanceof HTMLElement}function _p(t){if("undefined"===typeof ShadowRoot)return!1;var e=Fp(t).ShadowRoot;return t instanceof e||t instanceof ShadowRoot}var qp=Math.max,Up=Math.min,Jp=Math.round;function Xp(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Gp(){return!/^((?!chrome|android).)*safari/i.test(Xp())}function Yp(t,e,n){void 0===e&&(e=!1),void 0===n&&(n=!1);var o=t.getBoundingClientRect(),r=1,i=1;e&&Kp(t)&&(r=t.offsetWidth>0&&Jp(o.width)/t.offsetWidth||1,i=t.offsetHeight>0&&Jp(o.height)/t.offsetHeight||1);var s=jp(t)?Fp(t):window,l=s.visualViewport,a=!Gp()&&n,c=(o.left+(a&&l?l.offsetLeft:0))/r,p=(o.top+(a&&l?l.offsetTop:0))/i,d=o.width/r,h=o.height/i;return{width:d,height:h,top:p,right:c+d,bottom:p+h,left:c,x:c,y:p}}function Zp(t){var e=Fp(t),n=e.pageXOffset,o=e.pageYOffset;return{scrollLeft:n,scrollTop:o}}function td(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function ed(t){return t!==Fp(t)&&Kp(t)?td(t):Zp(t)}function nd(t){return t?(t.nodeName||"").toLowerCase():null}function od(t){return((jp(t)?t.ownerDocument:t.document)||window.document).documentElement}function rd(t){return Yp(od(t)).left+Zp(t).scrollLeft}function id(t){return Fp(t).getComputedStyle(t)}function sd(t){var e=id(t),n=e.overflow,o=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+o)}function ld(t){var e=t.getBoundingClientRect(),n=Jp(e.width)/t.offsetWidth||1,o=Jp(e.height)/t.offsetHeight||1;return 1!==n||1!==o}function ad(t,e,n){void 0===n&&(n=!1);var o=Kp(e),r=Kp(e)&&ld(e),i=od(e),s=Yp(t,r,n),l={scrollLeft:0,scrollTop:0},a={x:0,y:0};return(o||!o&&!n)&&(("body"!==nd(e)||sd(i))&&(l=ed(e)),Kp(e)?(a=Yp(e,!0),a.x+=e.clientLeft,a.y+=e.clientTop):i&&(a.x=rd(i))),{x:s.left+l.scrollLeft-a.x,y:s.top+l.scrollTop-a.y,width:s.width,height:s.height}}function cd(t){var e=Yp(t),n=t.offsetWidth,o=t.offsetHeight;return Math.abs(e.width-n)<=1&&(n=e.width),Math.abs(e.height-o)<=1&&(o=e.height),{x:t.offsetLeft,y:t.offsetTop,width:n,height:o}}function pd(t){return"html"===nd(t)?t:t.assignedSlot||t.parentNode||(_p(t)?t.host:null)||od(t)}function dd(t){return["html","body","#document"].indexOf(nd(t))>=0?t.ownerDocument.body:Kp(t)&&sd(t)?t:dd(pd(t))}function hd(t,e){var n;void 0===e&&(e=[]);var o=dd(t),r=o===(null==(n=t.ownerDocument)?void 0:n.body),i=Fp(o),s=r?[i].concat(i.visualViewport||[],sd(o)?o:[]):o,l=e.concat(s);return r?l:l.concat(hd(pd(s)))}function ud(t){return["table","td","th"].indexOf(nd(t))>=0}function fd(t){return Kp(t)&&"fixed"!==id(t).position?t.offsetParent:null}function md(t){var e=/firefox/i.test(Xp()),n=/Trident/i.test(Xp());if(n&&Kp(t)){var o=id(t);if("fixed"===o.position)return null}var r=pd(t);_p(r)&&(r=r.host);while(Kp(r)&&["html","body"].indexOf(nd(r))<0){var i=id(r);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||e&&"filter"===i.willChange||e&&i.filter&&"none"!==i.filter)return r;r=r.parentNode}return null}function gd(t){var e=Fp(t),n=fd(t);while(n&&ud(n)&&"static"===id(n).position)n=fd(n);return n&&("html"===nd(n)||"body"===nd(n)&&"static"===id(n).position)?e:n||md(t)||e}var xd="top",Md="bottom",yd="right",vd="left",wd="auto",bd=[xd,Md,yd,vd],kd="start",Wd="end",Qd="clippingParents",Cd="viewport",Sd="popper",Od="reference",Td=bd.reduce((function(t,e){return t.concat([e+"-"+kd,e+"-"+Wd])}),[]),Ad=[].concat(bd,[wd]).reduce((function(t,e){return t.concat([e,e+"-"+kd,e+"-"+Wd])}),[]),Ed="beforeRead",Ld="read",Nd="afterRead",Dd="beforeMain",Rd="main",Id="afterMain",Pd="beforeWrite",Hd="write",$d="afterWrite",Bd=[Ed,Ld,Nd,Dd,Rd,Id,Pd,Hd,$d];function zd(t){var e=new Map,n=new Set,o=[];function r(t){n.add(t.name);var i=[].concat(t.requires||[],t.requiresIfExists||[]);i.forEach((function(t){if(!n.has(t)){var o=e.get(t);o&&r(o)}})),o.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){n.has(t.name)||r(t)})),o}function Vd(t){var e=zd(t);return Bd.reduce((function(t,n){return t.concat(e.filter((function(t){return t.phase===n})))}),[])}function Fd(t){var e;return function(){return e||(e=new Promise((function(n){Promise.resolve().then((function(){e=void 0,n(t())}))}))),e}}function jd(t){var e=t.reduce((function(t,e){var n=t[e.name];return t[e.name]=n?Object.assign({},n,e,{options:Object.assign({},n.options,e.options),data:Object.assign({},n.data,e.data)}):e,t}),{});return Object.keys(e).map((function(t){return e[t]}))}var Kd={placement:"bottom",modifiers:[],strategy:"absolute"};function _d(){for(var t=arguments.length,e=new Array(t),n=0;n=0?"x":"y"}function th(t){var e,n=t.reference,o=t.element,r=t.placement,i=r?Gd(r):null,s=r?Yd(r):null,l=n.x+n.width/2-o.width/2,a=n.y+n.height/2-o.height/2;switch(i){case xd:e={x:l,y:n.y-o.height};break;case Md:e={x:l,y:n.y+n.height};break;case yd:e={x:n.x+n.width,y:a};break;case vd:e={x:n.x-o.width,y:a};break;default:e={x:n.x,y:n.y}}var c=i?Zd(i):null;if(null!=c){var p="y"===c?"height":"width";switch(s){case kd:e[c]=e[c]-(n[p]/2-o[p]/2);break;case Wd:e[c]=e[c]+(n[p]/2-o[p]/2);break;default:}}return e}function eh(t){var e=t.state,n=t.name;e.modifiersData[n]=th({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}var nh={name:"popperOffsets",enabled:!0,phase:"read",fn:eh,data:{}},oh={top:"auto",right:"auto",bottom:"auto",left:"auto"};function rh(t,e){var n=t.x,o=t.y,r=e.devicePixelRatio||1;return{x:Jp(n*r)/r||0,y:Jp(o*r)/r||0}}function ih(t){var e,n=t.popper,o=t.popperRect,r=t.placement,i=t.variation,s=t.offsets,l=t.position,a=t.gpuAcceleration,c=t.adaptive,p=t.roundOffsets,d=t.isFixed,h=s.x,u=void 0===h?0:h,f=s.y,m=void 0===f?0:f,g="function"===typeof p?p({x:u,y:m}):{x:u,y:m};u=g.x,m=g.y;var x=s.hasOwnProperty("x"),M=s.hasOwnProperty("y"),y=vd,v=xd,w=window;if(c){var b=gd(n),k="clientHeight",W="clientWidth";if(b===Fp(n)&&(b=od(n),"static"!==id(b).position&&"absolute"===l&&(k="scrollHeight",W="scrollWidth")),r===xd||(r===vd||r===yd)&&i===Wd){v=Md;var Q=d&&b===w&&w.visualViewport?w.visualViewport.height:b[k];m-=Q-o.height,m*=a?1:-1}if(r===vd||(r===xd||r===Md)&&i===Wd){y=yd;var C=d&&b===w&&w.visualViewport?w.visualViewport.width:b[W];u-=C-o.width,u*=a?1:-1}}var S,O=Object.assign({position:l},c&&oh),T=!0===p?rh({x:u,y:m},Fp(n)):{x:u,y:m};return u=T.x,m=T.y,a?Object.assign({},O,(S={},S[v]=M?"0":"",S[y]=x?"0":"",S.transform=(w.devicePixelRatio||1)<=1?"translate("+u+"px, "+m+"px)":"translate3d("+u+"px, "+m+"px, 0)",S)):Object.assign({},O,(e={},e[v]=M?m+"px":"",e[y]=x?u+"px":"",e.transform="",e))}function sh(t){var e=t.state,n=t.options,o=n.gpuAcceleration,r=void 0===o||o,i=n.adaptive,s=void 0===i||i,l=n.roundOffsets,a=void 0===l||l,c={placement:Gd(e.placement),variation:Yd(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:r,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,ih(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:s,roundOffsets:a})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,ih(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:a})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var lh={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:sh,data:{}};function ah(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var n=e.styles[t]||{},o=e.attributes[t]||{},r=e.elements[t];Kp(r)&&nd(r)&&(Object.assign(r.style,n),Object.keys(o).forEach((function(t){var e=o[t];!1===e?r.removeAttribute(t):r.setAttribute(t,!0===e?"":e)})))}))}function ch(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow),function(){Object.keys(e.elements).forEach((function(t){var o=e.elements[t],r=e.attributes[t]||{},i=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:n[t]),s=i.reduce((function(t,e){return t[e]="",t}),{});Kp(o)&&nd(o)&&(Object.assign(o.style,s),Object.keys(r).forEach((function(t){o.removeAttribute(t)})))}))}}var ph={name:"applyStyles",enabled:!0,phase:"write",fn:ah,effect:ch,requires:["computeStyles"]};function dh(t,e,n){var o=Gd(t),r=[vd,xd].indexOf(o)>=0?-1:1,i="function"===typeof n?n(Object.assign({},e,{placement:t})):n,s=i[0],l=i[1];return s=s||0,l=(l||0)*r,[vd,yd].indexOf(o)>=0?{x:l,y:s}:{x:s,y:l}}function hh(t){var e=t.state,n=t.options,o=t.name,r=n.offset,i=void 0===r?[0,0]:r,s=Ad.reduce((function(t,n){return t[n]=dh(n,e.rects,i),t}),{}),l=s[e.placement],a=l.x,c=l.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=a,e.modifiersData.popperOffsets.y+=c),e.modifiersData[o]=s}var uh={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hh},fh={left:"right",right:"left",bottom:"top",top:"bottom"};function mh(t){return t.replace(/left|right|bottom|top/g,(function(t){return fh[t]}))}var gh={start:"end",end:"start"};function xh(t){return t.replace(/start|end/g,(function(t){return gh[t]}))}function Mh(t,e){var n=Fp(t),o=od(t),r=n.visualViewport,i=o.clientWidth,s=o.clientHeight,l=0,a=0;if(r){i=r.width,s=r.height;var c=Gp();(c||!c&&"fixed"===e)&&(l=r.offsetLeft,a=r.offsetTop)}return{width:i,height:s,x:l+rd(t),y:a}}function yh(t){var e,n=od(t),o=Zp(t),r=null==(e=t.ownerDocument)?void 0:e.body,i=qp(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=qp(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),l=-o.scrollLeft+rd(t),a=-o.scrollTop;return"rtl"===id(r||n).direction&&(l+=qp(n.clientWidth,r?r.clientWidth:0)-i),{width:i,height:s,x:l,y:a}}function vh(t,e){var n=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(n&&_p(n)){var o=e;do{if(o&&t.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function wh(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function bh(t,e){var n=Yp(t,!1,"fixed"===e);return n.top=n.top+t.clientTop,n.left=n.left+t.clientLeft,n.bottom=n.top+t.clientHeight,n.right=n.left+t.clientWidth,n.width=t.clientWidth,n.height=t.clientHeight,n.x=n.left,n.y=n.top,n}function kh(t,e,n){return e===Cd?wh(Mh(t,n)):jp(e)?bh(e,n):wh(yh(od(t)))}function Wh(t){var e=hd(pd(t)),n=["absolute","fixed"].indexOf(id(t).position)>=0,o=n&&Kp(t)?gd(t):t;return jp(o)?e.filter((function(t){return jp(t)&&vh(t,o)&&"body"!==nd(t)})):[]}function Qh(t,e,n,o){var r="clippingParents"===e?Wh(t):[].concat(e),i=[].concat(r,[n]),s=i[0],l=i.reduce((function(e,n){var r=kh(t,n,o);return e.top=qp(r.top,e.top),e.right=Up(r.right,e.right),e.bottom=Up(r.bottom,e.bottom),e.left=qp(r.left,e.left),e}),kh(t,s,o));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Ch(){return{top:0,right:0,bottom:0,left:0}}function Sh(t){return Object.assign({},Ch(),t)}function Oh(t,e){return e.reduce((function(e,n){return e[n]=t,e}),{})}function Th(t,e){void 0===e&&(e={});var n=e,o=n.placement,r=void 0===o?t.placement:o,i=n.strategy,s=void 0===i?t.strategy:i,l=n.boundary,a=void 0===l?Qd:l,c=n.rootBoundary,p=void 0===c?Cd:c,d=n.elementContext,h=void 0===d?Sd:d,u=n.altBoundary,f=void 0!==u&&u,m=n.padding,g=void 0===m?0:m,x=Sh("number"!==typeof g?g:Oh(g,bd)),M=h===Sd?Od:Sd,y=t.rects.popper,v=t.elements[f?M:h],w=Qh(jp(v)?v:v.contextElement||od(t.elements.popper),a,p,s),b=Yp(t.elements.reference),k=th({reference:b,element:y,strategy:"absolute",placement:r}),W=wh(Object.assign({},y,k)),Q=h===Sd?W:b,C={top:w.top-Q.top+x.top,bottom:Q.bottom-w.bottom+x.bottom,left:w.left-Q.left+x.left,right:Q.right-w.right+x.right},S=t.modifiersData.offset;if(h===Sd&&S){var O=S[r];Object.keys(C).forEach((function(t){var e=[yd,Md].indexOf(t)>=0?1:-1,n=[xd,Md].indexOf(t)>=0?"y":"x";C[t]+=O[n]*e}))}return C}function Ah(t,e){void 0===e&&(e={});var n=e,o=n.placement,r=n.boundary,i=n.rootBoundary,s=n.padding,l=n.flipVariations,a=n.allowedAutoPlacements,c=void 0===a?Ad:a,p=Yd(o),d=p?l?Td:Td.filter((function(t){return Yd(t)===p})):bd,h=d.filter((function(t){return c.indexOf(t)>=0}));0===h.length&&(h=d);var u=h.reduce((function(e,n){return e[n]=Th(t,{placement:n,boundary:r,rootBoundary:i,padding:s})[Gd(n)],e}),{});return Object.keys(u).sort((function(t,e){return u[t]-u[e]}))}function Eh(t){if(Gd(t)===wd)return[];var e=mh(t);return[xh(t),e,xh(e)]}function Lh(t){var e=t.state,n=t.options,o=t.name;if(!e.modifiersData[o]._skip){for(var r=n.mainAxis,i=void 0===r||r,s=n.altAxis,l=void 0===s||s,a=n.fallbackPlacements,c=n.padding,p=n.boundary,d=n.rootBoundary,h=n.altBoundary,u=n.flipVariations,f=void 0===u||u,m=n.allowedAutoPlacements,g=e.options.placement,x=Gd(g),M=x===g,y=a||(M||!f?[mh(g)]:Eh(g)),v=[g].concat(y).reduce((function(t,n){return t.concat(Gd(n)===wd?Ah(e,{placement:n,boundary:p,rootBoundary:d,padding:c,flipVariations:f,allowedAutoPlacements:m}):n)}),[]),w=e.rects.reference,b=e.rects.popper,k=new Map,W=!0,Q=v[0],C=0;C=0,E=A?"width":"height",L=Th(e,{placement:S,boundary:p,rootBoundary:d,altBoundary:h,padding:c}),N=A?T?yd:vd:T?Md:xd;w[E]>b[E]&&(N=mh(N));var D=mh(N),R=[];if(i&&R.push(L[O]<=0),l&&R.push(L[N]<=0,L[D]<=0),R.every((function(t){return t}))){Q=S,W=!1;break}k.set(S,R)}if(W)for(var I=f?3:1,P=function(t){var e=v.find((function(e){var n=k.get(e);if(n)return n.slice(0,t).every((function(t){return t}))}));if(e)return Q=e,"break"},H=I;H>0;H--){var $=P(H);if("break"===$)break}e.placement!==Q&&(e.modifiersData[o]._skip=!0,e.placement=Q,e.reset=!0)}}var Nh={name:"flip",enabled:!0,phase:"main",fn:Lh,requiresIfExists:["offset"],data:{_skip:!1}};function Dh(t){return"x"===t?"y":"x"}function Rh(t,e,n){return qp(t,Up(e,n))}function Ih(t,e,n){var o=Rh(t,e,n);return o>n?n:o}function Ph(t){var e=t.state,n=t.options,o=t.name,r=n.mainAxis,i=void 0===r||r,s=n.altAxis,l=void 0!==s&&s,a=n.boundary,c=n.rootBoundary,p=n.altBoundary,d=n.padding,h=n.tether,u=void 0===h||h,f=n.tetherOffset,m=void 0===f?0:f,g=Th(e,{boundary:a,rootBoundary:c,padding:d,altBoundary:p}),x=Gd(e.placement),M=Yd(e.placement),y=!M,v=Zd(x),w=Dh(v),b=e.modifiersData.popperOffsets,k=e.rects.reference,W=e.rects.popper,Q="function"===typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C="number"===typeof Q?{mainAxis:Q,altAxis:Q}:Object.assign({mainAxis:0,altAxis:0},Q),S=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,O={x:0,y:0};if(b){if(i){var T,A="y"===v?xd:vd,E="y"===v?Md:yd,L="y"===v?"height":"width",N=b[v],D=N+g[A],R=N-g[E],I=u?-W[L]/2:0,P=M===kd?k[L]:W[L],H=M===kd?-W[L]:-k[L],$=e.elements.arrow,B=u&&$?cd($):{width:0,height:0},z=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Ch(),V=z[A],F=z[E],j=Rh(0,k[L],B[L]),K=y?k[L]/2-I-j-V-C.mainAxis:P-j-V-C.mainAxis,_=y?-k[L]/2+I+j+F+C.mainAxis:H+j+F+C.mainAxis,q=e.elements.arrow&&gd(e.elements.arrow),U=q?"y"===v?q.clientTop||0:q.clientLeft||0:0,J=null!=(T=null==S?void 0:S[v])?T:0,X=N+K-J-U,G=N+_-J,Y=Rh(u?Up(D,X):D,N,u?qp(R,G):R);b[v]=Y,O[v]=Y-N}if(l){var Z,tt="x"===v?xd:vd,et="x"===v?Md:yd,nt=b[w],ot="y"===w?"height":"width",rt=nt+g[tt],it=nt-g[et],st=-1!==[xd,vd].indexOf(x),lt=null!=(Z=null==S?void 0:S[w])?Z:0,at=st?rt:nt-k[ot]-W[ot]-lt+C.altAxis,ct=st?nt+k[ot]+W[ot]-lt-C.altAxis:it,pt=u&&st?Ih(at,nt,ct):Rh(u?at:rt,nt,u?ct:it);b[w]=pt,O[w]=pt-nt}e.modifiersData[o]=O}}var Hh={name:"preventOverflow",enabled:!0,phase:"main",fn:Ph,requiresIfExists:["offset"]},$h=function(t,e){return t="function"===typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t,Sh("number"!==typeof t?t:Oh(t,bd))};function Bh(t){var e,n=t.state,o=t.name,r=t.options,i=n.elements.arrow,s=n.modifiersData.popperOffsets,l=Gd(n.placement),a=Zd(l),c=[vd,yd].indexOf(l)>=0,p=c?"height":"width";if(i&&s){var d=$h(r.padding,n),h=cd(i),u="y"===a?xd:vd,f="y"===a?Md:yd,m=n.rects.reference[p]+n.rects.reference[a]-s[a]-n.rects.popper[p],g=s[a]-n.rects.reference[a],x=gd(i),M=x?"y"===a?x.clientHeight||0:x.clientWidth||0:0,y=m/2-g/2,v=d[u],w=M-h[p]-d[f],b=M/2-h[p]/2+y,k=Rh(v,b,w),W=a;n.modifiersData[o]=(e={},e[W]=k,e.centerOffset=k-b,e)}}function zh(t){var e=t.state,n=t.options,o=n.element,r=void 0===o?"[data-popper-arrow]":o;null!=r&&("string"!==typeof r||(r=e.elements.popper.querySelector(r),r))&&vh(e.elements.popper,r)&&(e.elements.arrow=r)}var Vh={name:"arrow",enabled:!0,phase:"main",fn:Bh,effect:zh,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fh(t,e,n){return void 0===n&&(n={x:0,y:0}),{top:t.top-e.height-n.y,right:t.right-e.width+n.x,bottom:t.bottom-e.height+n.y,left:t.left-e.width-n.x}}function jh(t){return[xd,yd,Md,vd].some((function(e){return t[e]>=0}))}function Kh(t){var e=t.state,n=t.name,o=e.rects.reference,r=e.rects.popper,i=e.modifiersData.preventOverflow,s=Th(e,{elementContext:"reference"}),l=Th(e,{altBoundary:!0}),a=Fh(s,o),c=Fh(l,r,i),p=jh(a),d=jh(c);e.modifiersData[n]={referenceClippingOffsets:a,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":d})}var _h={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kh},qh=[Xd,nh,lh,ph,uh,Nh,Hh,Vh,_h],Uh=qd({defaultModifiers:qh}),Jh="tippy-box",Xh="tippy-content",Gh="tippy-backdrop",Yh="tippy-arrow",Zh="tippy-svg-arrow",tu={passive:!0,capture:!0},eu=function(){return document.body};function nu(t,e,n){if(Array.isArray(t)){var o=t[e];return null==o?Array.isArray(n)?n[e]:n:o}return t}function ou(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function ru(t,e){return"function"===typeof t?t.apply(void 0,e):t}function iu(t,e){return 0===e?t:function(o){clearTimeout(n),n=setTimeout((function(){t(o)}),e)};var n}function su(t){return t.split(/\s+/).filter(Boolean)}function lu(t){return[].concat(t)}function au(t,e){-1===t.indexOf(e)&&t.push(e)}function cu(t){return t.filter((function(e,n){return t.indexOf(e)===n}))}function pu(t){return t.split("-")[0]}function du(t){return[].slice.call(t)}function hu(t){return Object.keys(t).reduce((function(e,n){return void 0!==t[n]&&(e[n]=t[n]),e}),{})}function uu(){return document.createElement("div")}function fu(t){return["Element","Fragment"].some((function(e){return ou(t,e)}))}function mu(t){return ou(t,"NodeList")}function gu(t){return ou(t,"MouseEvent")}function xu(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function Mu(t){return fu(t)?[t]:mu(t)?du(t):Array.isArray(t)?t:du(document.querySelectorAll(t))}function yu(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function vu(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function wu(t){var e,n=lu(t),o=n[0];return null!=o&&null!=(e=o.ownerDocument)&&e.body?o.ownerDocument:document}function bu(t,e){var n=e.clientX,o=e.clientY;return t.every((function(t){var e=t.popperRect,r=t.popperState,i=t.props,s=i.interactiveBorder,l=pu(r.placement),a=r.modifiersData.offset;if(!a)return!0;var c="bottom"===l?a.top.y:0,p="top"===l?a.bottom.y:0,d="right"===l?a.left.x:0,h="left"===l?a.right.x:0,u=e.top-o+c>s,f=o-e.bottom-p>s,m=e.left-n+d>s,g=n-e.right-h>s;return u||f||m||g}))}function ku(t,e,n){var o=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[o](e,n)}))}function Wu(t,e){var n=e;while(n){var o;if(t.contains(n))return!0;n=null==n.getRootNode||null==(o=n.getRootNode())?void 0:o.host}return!1}var Qu={isTouch:!1},Cu=0;function Su(){Qu.isTouch||(Qu.isTouch=!0,window.performance&&document.addEventListener("mousemove",Ou))}function Ou(){var t=performance.now();t-Cu<20&&(Qu.isTouch=!1,document.removeEventListener("mousemove",Ou)),Cu=t}function Tu(){var t=document.activeElement;if(xu(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}function Au(){document.addEventListener("touchstart",Su,tu),window.addEventListener("blur",Tu)}var Eu="undefined"!==typeof window&&"undefined"!==typeof document,Lu=!!Eu&&!!window.msCrypto;var Nu={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},Du={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},Ru=Object.assign({appendTo:eu,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},Nu,Du),Iu=Object.keys(Ru),Pu=function(t){var e=Object.keys(t);e.forEach((function(e){Ru[e]=t[e]}))};function Hu(t){var e=t.plugins||[],n=e.reduce((function(e,n){var o,r=n.name,i=n.defaultValue;r&&(e[r]=void 0!==t[r]?t[r]:null!=(o=Ru[r])?o:i);return e}),{});return Object.assign({},t,n)}function $u(t,e){var n=e?Object.keys(Hu(Object.assign({},Ru,{plugins:e}))):Iu,o=n.reduce((function(e,n){var o=(t.getAttribute("data-tippy-"+n)||"").trim();if(!o)return e;if("content"===n)e[n]=o;else try{e[n]=JSON.parse(o)}catch(r){e[n]=o}return e}),{});return o}function Bu(t,e){var n=Object.assign({},e,{content:ru(e.content,[t])},e.ignoreAttributes?{}:$u(t,e.plugins));return n.aria=Object.assign({},Ru.aria,n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}var zu=function(){return"innerHTML"};function Vu(t,e){t[zu()]=e}function Fu(t){var e=uu();return!0===t?e.className=Yh:(e.className=Zh,fu(t)?e.appendChild(t):Vu(e,t)),e}function ju(t,e){fu(e.content)?(Vu(t,""),t.appendChild(e.content)):"function"!==typeof e.content&&(e.allowHTML?Vu(t,e.content):t.textContent=e.content)}function Ku(t){var e=t.firstElementChild,n=du(e.children);return{box:e,content:n.find((function(t){return t.classList.contains(Xh)})),arrow:n.find((function(t){return t.classList.contains(Yh)||t.classList.contains(Zh)})),backdrop:n.find((function(t){return t.classList.contains(Gh)}))}}function _u(t){var e=uu(),n=uu();n.className=Jh,n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var o=uu();function r(n,o){var r=Ku(e),i=r.box,s=r.content,l=r.arrow;o.theme?i.setAttribute("data-theme",o.theme):i.removeAttribute("data-theme"),"string"===typeof o.animation?i.setAttribute("data-animation",o.animation):i.removeAttribute("data-animation"),o.inertia?i.setAttribute("data-inertia",""):i.removeAttribute("data-inertia"),i.style.maxWidth="number"===typeof o.maxWidth?o.maxWidth+"px":o.maxWidth,o.role?i.setAttribute("role",o.role):i.removeAttribute("role"),n.content===o.content&&n.allowHTML===o.allowHTML||ju(s,t.props),o.arrow?l?n.arrow!==o.arrow&&(i.removeChild(l),i.appendChild(Fu(o.arrow))):i.appendChild(Fu(o.arrow)):l&&i.removeChild(l)}return o.className=Xh,o.setAttribute("data-state","hidden"),ju(o,t.props),e.appendChild(n),n.appendChild(o),r(t.props,t.props),{popper:e,onUpdate:r}}_u.$$tippy=!0;var qu=1,Uu=[],Ju=[];function Xu(t,e){var n,o,r,i,s,l,a,c=Bu(t,Object.assign({},Ru,Hu(hu(e)))),p=!1,d=!1,h=!1,u=!1,f=[],m=iu(X,c.interactiveDebounce),g=qu++,x=null,M=cu(c.plugins),y={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},v={id:g,reference:t,popper:uu(),popperInstance:x,props:c,state:y,plugins:M,clearDelayTimeouts:at,setProps:ct,setContent:pt,show:dt,hide:ht,hideWithInteractivity:ut,enable:st,disable:lt,unmount:ft,destroy:mt};if(!c.render)return v;var w=c.render(v),b=w.popper,k=w.onUpdate;b.setAttribute("data-tippy-root",""),b.id="tippy-"+v.id,v.popper=b,t._tippy=v,b._tippy=v;var W=M.map((function(t){return t.fn(v)})),Q=t.hasAttribute("aria-expanded");return q(),I(),N(),D("onCreate",[v]),c.showOnCreate&&rt(),b.addEventListener("mouseenter",(function(){v.props.interactive&&v.state.isVisible&&v.clearDelayTimeouts()})),b.addEventListener("mouseleave",(function(){v.props.interactive&&v.props.trigger.indexOf("mouseenter")>=0&&A().addEventListener("mousemove",m)})),v;function C(){var t=v.props.touch;return Array.isArray(t)?t:[t,0]}function S(){return"hold"===C()[0]}function O(){var t;return!(null==(t=v.props.render)||!t.$$tippy)}function T(){return a||t}function A(){var t=T().parentNode;return t?wu(t):document}function E(){return Ku(b)}function L(t){return v.state.isMounted&&!v.state.isVisible||Qu.isTouch||i&&"focus"===i.type?0:nu(v.props.delay,t?0:1,Ru.delay)}function N(t){void 0===t&&(t=!1),b.style.pointerEvents=v.props.interactive&&!t?"":"none",b.style.zIndex=""+v.props.zIndex}function D(t,e,n){var o;(void 0===n&&(n=!0),W.forEach((function(n){n[t]&&n[t].apply(n,e)})),n)&&(o=v.props)[t].apply(o,e)}function R(){var e=v.props.aria;if(e.content){var n="aria-"+e.content,o=b.id,r=lu(v.props.triggerTarget||t);r.forEach((function(t){var e=t.getAttribute(n);if(v.state.isVisible)t.setAttribute(n,e?e+" "+o:o);else{var r=e&&e.replace(o,"").trim();r?t.setAttribute(n,r):t.removeAttribute(n)}}))}}function I(){if(!Q&&v.props.aria.expanded){var e=lu(v.props.triggerTarget||t);e.forEach((function(t){v.props.interactive?t.setAttribute("aria-expanded",v.state.isVisible&&t===T()?"true":"false"):t.removeAttribute("aria-expanded")}))}}function P(){A().removeEventListener("mousemove",m),Uu=Uu.filter((function(t){return t!==m}))}function H(e){if(!Qu.isTouch||!h&&"mousedown"!==e.type){var n=e.composedPath&&e.composedPath()[0]||e.target;if(!v.props.interactive||!Wu(b,n)){if(lu(v.props.triggerTarget||t).some((function(t){return Wu(t,n)}))){if(Qu.isTouch)return;if(v.state.isVisible&&v.props.trigger.indexOf("click")>=0)return}else D("onClickOutside",[v,e]);!0===v.props.hideOnClick&&(v.clearDelayTimeouts(),v.hide(),d=!0,setTimeout((function(){d=!1})),v.state.isMounted||V())}}}function $(){h=!0}function B(){h=!1}function z(){var t=A();t.addEventListener("mousedown",H,!0),t.addEventListener("touchend",H,tu),t.addEventListener("touchstart",B,tu),t.addEventListener("touchmove",$,tu)}function V(){var t=A();t.removeEventListener("mousedown",H,!0),t.removeEventListener("touchend",H,tu),t.removeEventListener("touchstart",B,tu),t.removeEventListener("touchmove",$,tu)}function F(t,e){K(t,(function(){!v.state.isVisible&&b.parentNode&&b.parentNode.contains(b)&&e()}))}function j(t,e){K(t,e)}function K(t,e){var n=E().box;function o(t){t.target===n&&(ku(n,"remove",o),e())}if(0===t)return e();ku(n,"remove",s),ku(n,"add",o),s=o}function _(e,n,o){void 0===o&&(o=!1);var r=lu(v.props.triggerTarget||t);r.forEach((function(t){t.addEventListener(e,n,o),f.push({node:t,eventType:e,handler:n,options:o})}))}function q(){S()&&(_("touchstart",J,{passive:!0}),_("touchend",G,{passive:!0})),su(v.props.trigger).forEach((function(t){if("manual"!==t)switch(_(t,J),t){case"mouseenter":_("mouseleave",G);break;case"focus":_(Lu?"focusout":"blur",Y);break;case"focusin":_("focusout",Y);break}}))}function U(){f.forEach((function(t){var e=t.node,n=t.eventType,o=t.handler,r=t.options;e.removeEventListener(n,o,r)})),f=[]}function J(t){var e,n=!1;if(v.state.isEnabled&&!Z(t)&&!d){var o="focus"===(null==(e=i)?void 0:e.type);i=t,a=t.currentTarget,I(),!v.state.isVisible&&gu(t)&&Uu.forEach((function(e){return e(t)})),"click"===t.type&&(v.props.trigger.indexOf("mouseenter")<0||p)&&!1!==v.props.hideOnClick&&v.state.isVisible?n=!0:rt(t),"click"===t.type&&(p=!n),n&&!o&&it(t)}}function X(t){var e=t.target,n=T().contains(e)||b.contains(e);if("mousemove"!==t.type||!n){var o=ot().concat(b).map((function(t){var e,n=t._tippy,o=null==(e=n.popperInstance)?void 0:e.state;return o?{popperRect:t.getBoundingClientRect(),popperState:o,props:c}:null})).filter(Boolean);bu(o,t)&&(P(),it(t))}}function G(t){var e=Z(t)||v.props.trigger.indexOf("click")>=0&&p;e||(v.props.interactive?v.hideWithInteractivity(t):it(t))}function Y(t){v.props.trigger.indexOf("focusin")<0&&t.target!==T()||v.props.interactive&&t.relatedTarget&&b.contains(t.relatedTarget)||it(t)}function Z(t){return!!Qu.isTouch&&S()!==t.type.indexOf("touch")>=0}function tt(){et();var e=v.props,n=e.popperOptions,o=e.placement,r=e.offset,i=e.getReferenceClientRect,s=e.moveTransition,a=O()?Ku(b).arrow:null,c=i?{getBoundingClientRect:i,contextElement:i.contextElement||T()}:t,p={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(O()){var n=E(),o=n.box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?o.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?o.setAttribute("data-"+t,""):o.removeAttribute("data-"+t)})),e.attributes.popper={}}}},d=[{name:"offset",options:{offset:r}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},p];O()&&a&&d.push({name:"arrow",options:{element:a,padding:3}}),d.push.apply(d,(null==n?void 0:n.modifiers)||[]),v.popperInstance=Uh(c,b,Object.assign({},n,{placement:o,onFirstUpdate:l,modifiers:d}))}function et(){v.popperInstance&&(v.popperInstance.destroy(),v.popperInstance=null)}function nt(){var t,e=v.props.appendTo,n=T();t=v.props.interactive&&e===eu||"parent"===e?n.parentNode:ru(e,[n]),t.contains(b)||t.appendChild(b),v.state.isMounted=!0,tt()}function ot(){return du(b.querySelectorAll("[data-tippy-root]"))}function rt(t){v.clearDelayTimeouts(),t&&D("onTrigger",[v,t]),z();var e=L(!0),o=C(),r=o[0],i=o[1];Qu.isTouch&&"hold"===r&&i&&(e=i),e?n=setTimeout((function(){v.show()}),e):v.show()}function it(t){if(v.clearDelayTimeouts(),D("onUntrigger",[v,t]),v.state.isVisible){if(!(v.props.trigger.indexOf("mouseenter")>=0&&v.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&p)){var e=L(!1);e?o=setTimeout((function(){v.state.isVisible&&v.hide()}),e):r=requestAnimationFrame((function(){v.hide()}))}}else V()}function st(){v.state.isEnabled=!0}function lt(){v.hide(),v.state.isEnabled=!1}function at(){clearTimeout(n),clearTimeout(o),cancelAnimationFrame(r)}function ct(e){if(!v.state.isDestroyed){D("onBeforeUpdate",[v,e]),U();var n=v.props,o=Bu(t,Object.assign({},n,hu(e),{ignoreAttributes:!0}));v.props=o,q(),n.interactiveDebounce!==o.interactiveDebounce&&(P(),m=iu(X,o.interactiveDebounce)),n.triggerTarget&&!o.triggerTarget?lu(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):o.triggerTarget&&t.removeAttribute("aria-expanded"),I(),N(),k&&k(n,o),v.popperInstance&&(tt(),ot().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)}))),D("onAfterUpdate",[v,e])}}function pt(t){v.setProps({content:t})}function dt(){var t=v.state.isVisible,e=v.state.isDestroyed,n=!v.state.isEnabled,o=Qu.isTouch&&!v.props.touch,r=nu(v.props.duration,0,Ru.duration);if(!(t||e||n||o)&&!T().hasAttribute("disabled")&&(D("onShow",[v],!1),!1!==v.props.onShow(v))){if(v.state.isVisible=!0,O()&&(b.style.visibility="visible"),N(),z(),v.state.isMounted||(b.style.transition="none"),O()){var i=E(),s=i.box,a=i.content;yu([s,a],0)}l=function(){var t;if(v.state.isVisible&&!u){if(u=!0,b.offsetHeight,b.style.transition=v.props.moveTransition,O()&&v.props.animation){var e=E(),n=e.box,o=e.content;yu([n,o],r),vu([n,o],"visible")}R(),I(),au(Ju,v),null==(t=v.popperInstance)||t.forceUpdate(),D("onMount",[v]),v.props.animation&&O()&&j(r,(function(){v.state.isShown=!0,D("onShown",[v])}))}},nt()}}function ht(){var t=!v.state.isVisible,e=v.state.isDestroyed,n=!v.state.isEnabled,o=nu(v.props.duration,1,Ru.duration);if(!(t||e||n)&&(D("onHide",[v],!1),!1!==v.props.onHide(v))){if(v.state.isVisible=!1,v.state.isShown=!1,u=!1,p=!1,O()&&(b.style.visibility="hidden"),P(),V(),N(!0),O()){var r=E(),i=r.box,s=r.content;v.props.animation&&(yu([i,s],o),vu([i,s],"hidden"))}R(),I(),v.props.animation?O()&&F(o,v.unmount):v.unmount()}}function ut(t){A().addEventListener("mousemove",m),au(Uu,m),m(t)}function ft(){v.state.isVisible&&v.hide(),v.state.isMounted&&(et(),ot().forEach((function(t){t._tippy.unmount()})),b.parentNode&&b.parentNode.removeChild(b),Ju=Ju.filter((function(t){return t!==v})),v.state.isMounted=!1,D("onHidden",[v]))}function mt(){v.state.isDestroyed||(v.clearDelayTimeouts(),v.unmount(),U(),delete t._tippy,v.state.isDestroyed=!0,D("onDestroy",[v]))}}function Gu(t,e){void 0===e&&(e={});var n=Ru.plugins.concat(e.plugins||[]);Au();var o=Object.assign({},e,{plugins:n}),r=Mu(t),i=r.reduce((function(t,e){var n=e&&Xu(e,o);return n&&t.push(n),t}),[]);return fu(t)?i[0]:i}Gu.defaultProps=Ru,Gu.setDefaultProps=Pu,Gu.currentInput=Qu;Object.assign({},ph,{effect:function(t){var e=t.state,n={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(e.elements.popper.style,n.popper),e.styles=n,e.elements.arrow&&Object.assign(e.elements.arrow.style,n.arrow)}});Gu.setDefaultProps({render:_u});var Yu=Gu;class Zu{constructor({editor:t,element:e,view:n,tippyOptions:o={},updateDelay:r=250,shouldShow:i}){this.preventHide=!1,this.shouldShow=({view:t,state:e,from:n,to:o})=>{const{doc:r,selection:i}=e,{empty:s}=i,l=!r.textBetween(n,o).length&&Xa(e.selection),a=this.element.contains(document.activeElement),c=t.hasFocus()||a;return!(!c||s||l||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:t})=>{var e;this.preventHide?this.preventHide=!1:(null===t||void 0===t?void 0:t.relatedTarget)&&(null===(e=this.element.parentNode)||void 0===e?void 0:e.contains(t.relatedTarget))||this.hide()},this.tippyBlurHandler=t=>{this.blurHandler({event:t})},this.handleDebouncedUpdate=(t,e)=>{const n=!(null===e||void 0===e?void 0:e.selection.eq(t.state.selection)),o=!(null===e||void 0===e?void 0:e.doc.eq(t.state.doc));(n||o)&&(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout((()=>{this.updateHandler(t,n,o,e)}),this.updateDelay))},this.updateHandler=(t,e,n,o)=>{var r,i,s;const{state:l,composing:a}=t,{selection:c}=l,p=!e&&!n;if(a||p)return;this.createTooltip();const{ranges:d}=c,h=Math.min(...d.map((t=>t.$from.pos))),u=Math.max(...d.map((t=>t.$to.pos))),f=null===(r=this.shouldShow)||void 0===r?void 0:r.call(this,{editor:this.editor,view:t,state:l,oldState:o,from:h,to:u});f?(null===(i=this.tippy)||void 0===i||i.setProps({getReferenceClientRect:(null===(s=this.tippyOptions)||void 0===s?void 0:s.getReferenceClientRect)||(()=>{if(np(l.selection)){let e=t.nodeDOM(h);const n=e.dataset.nodeViewWrapper?e:e.querySelector("[data-node-view-wrapper]");if(n&&(e=n.firstChild),e)return e.getBoundingClientRect()}return op(t,h,u)})}),this.show()):this.hide()},this.editor=t,this.element=e,this.view=n,this.updateDelay=r,i&&(this.shouldShow=i),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=o,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:t}=this.editor.options,e=!!t.parentElement;!this.tippy&&e&&(this.tippy=Yu(t,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"top",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(t,e){const{state:n}=t,o=n.selection.$from.pos!==n.selection.$to.pos;if(this.updateDelay>0&&o)return void this.handleDebouncedUpdate(t,e);const r=!(null===e||void 0===e?void 0:e.selection.eq(t.state.selection)),i=!(null===e||void 0===e?void 0:e.doc.eq(t.state.doc));this.updateHandler(t,r,i,e)}show(){var t;null===(t=this.tippy)||void 0===t||t.show()}hide(){var t;null===(t=this.tippy)||void 0===t||t.hide()}destroy(){var t,e;(null===(t=this.tippy)||void 0===t?void 0:t.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(e=this.tippy)||void 0===e||e.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const tf=t=>new wn({key:"string"===typeof t.pluginKey?new Wn(t.pluginKey):t.pluginKey,view:e=>new Zu({view:e,...t})});Sa.create({name:"bubbleMenu",addOptions(){return{element:null,tippyOptions:{},pluginKey:"bubbleMenu",updateDelay:void 0,shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[tf({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,updateDelay:this.options.updateDelay,shouldShow:this.options.shouldShow})]:[]}});class ef{constructor({editor:t,element:e,view:n,tippyOptions:o={},shouldShow:r}){this.preventHide=!1,this.shouldShow=({view:t,state:e})=>{const{selection:n}=e,{$anchor:o,empty:r}=n,i=1===o.depth,s=o.parent.isTextblock&&!o.parent.type.spec.code&&!o.parent.textContent;return!!(t.hasFocus()&&r&&i&&s&&this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:t})=>{var e;this.preventHide?this.preventHide=!1:(null===t||void 0===t?void 0:t.relatedTarget)&&(null===(e=this.element.parentNode)||void 0===e?void 0:e.contains(t.relatedTarget))||this.hide()},this.tippyBlurHandler=t=>{this.blurHandler({event:t})},this.editor=t,this.element=e,this.view=n,r&&(this.shouldShow=r),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=o,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:t}=this.editor.options,e=!!t.parentElement;!this.tippy&&e&&(this.tippy=Yu(t,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"right",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(t,e){var n,o,r;const{state:i}=t,{doc:s,selection:l}=i,{from:a,to:c}=l,p=e&&e.doc.eq(s)&&e.selection.eq(l);if(p)return;this.createTooltip();const d=null===(n=this.shouldShow)||void 0===n?void 0:n.call(this,{editor:this.editor,view:t,state:i,oldState:e});d?(null===(o=this.tippy)||void 0===o||o.setProps({getReferenceClientRect:(null===(r=this.tippyOptions)||void 0===r?void 0:r.getReferenceClientRect)||(()=>op(t,a,c))}),this.show()):this.hide()}show(){var t;null===(t=this.tippy)||void 0===t||t.show()}hide(){var t;null===(t=this.tippy)||void 0===t||t.hide()}destroy(){var t,e;(null===(t=this.tippy)||void 0===t?void 0:t.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(e=this.tippy)||void 0===e||e.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const nf=t=>new wn({key:"string"===typeof t.pluginKey?new Wn(t.pluginKey):t.pluginKey,view:e=>new ef({view:e,...t})});Sa.create({name:"floatingMenu",addOptions(){return{element:null,tippyOptions:{},pluginKey:"floatingMenu",shouldShow:null}},addProseMirrorPlugins(){return this.options.element?[nf({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,shouldShow:this.options.shouldShow})]:[]}}),(0,o.pM)({name:"BubbleMenu",props:{pluginKey:{type:[String,Object],default:"bubbleMenu"},editor:{type:Object,required:!0},updateDelay:{type:Number,default:void 0},tippyOptions:{type:Object,default:()=>({})},shouldShow:{type:Function,default:null}},setup(t,{slots:e}){const n=(0,g.KR)(null);return(0,o.sV)((()=>{const{updateDelay:e,editor:o,pluginKey:r,shouldShow:i,tippyOptions:s}=t;o.registerPlugin(tf({updateDelay:e,editor:o,element:n.value,pluginKey:r,shouldShow:i,tippyOptions:s}))})),(0,o.xo)((()=>{const{pluginKey:e,editor:n}=t;n.unregisterPlugin(e)})),()=>{var t;return(0,o.h)("div",{ref:n},null===(t=e.default)||void 0===t?void 0:t.call(e))}}});function of(t){return(0,g.rY)(((e,n)=>({get(){return e(),t},set(e){t=e,requestAnimationFrame((()=>{requestAnimationFrame((()=>{n()}))}))}})))}class rf extends Rp{constructor(t={}){return super(t),this.vueRenderers=(0,g.Kh)(new Map),this.contentComponent=null,this.reactiveState=of(this.view.state),this.reactiveExtensionStorage=of(this.extensionStorage),this.on("transaction",(()=>{this.reactiveState.value=this.view.state,this.reactiveExtensionStorage.value=this.extensionStorage})),(0,g.IG)(this)}get state(){return this.reactiveState?this.reactiveState.value:this.view.state}get storage(){return this.reactiveExtensionStorage?this.reactiveExtensionStorage.value:super.storage}registerPlugin(t,e){super.registerPlugin(t,e),this.reactiveState.value=this.view.state}unregisterPlugin(t){super.unregisterPlugin(t),this.reactiveState.value=this.view.state}}const sf=(0,o.pM)({name:"EditorContent",props:{editor:{default:null,type:Object}},setup(t){const e=(0,g.KR)(),n=(0,o.nI)();return(0,o.nT)((()=>{const r=t.editor;r&&r.options.element&&e.value&&(0,o.dY)((()=>{if(!e.value||!r.options.element.firstChild)return;const t=(0,g.R1)(e.value);e.value.append(...r.options.element.childNodes),r.contentComponent=n.ctx._,r.setOptions({element:t}),r.createNodeViews()}))})),(0,o.xo)((()=>{const e=t.editor;if(!e)return;if(e.isDestroyed||e.view.setProps({nodeViews:{}}),e.contentComponent=null,!e.options.element.firstChild)return;const n=document.createElement("div");n.append(...e.options.element.childNodes),e.setOptions({element:n})})),{rootEl:e}},render(){const t=[];return this.editor&&this.editor.vueRenderers.forEach((e=>{const n=(0,o.h)(o.Im,{to:e.teleportElement,key:e.id},(0,o.h)(e.component,{ref:e.id,...e.props}));t.push(n)})),(0,o.h)("div",{ref:t=>{this.rootEl=t}},...t)}}),lf=((0,o.pM)({name:"FloatingMenu",props:{pluginKey:{type:null,default:"floatingMenu"},editor:{type:Object,required:!0},tippyOptions:{type:Object,default:()=>({})},shouldShow:{type:Function,default:null}},setup(t,{slots:e}){const n=(0,g.KR)(null);return(0,o.sV)((()=>{const{pluginKey:e,editor:o,tippyOptions:r,shouldShow:i}=t;o.registerPlugin(nf({pluginKey:e,editor:o,element:n.value,tippyOptions:r,shouldShow:i}))})),(0,o.xo)((()=>{const{pluginKey:e,editor:n}=t;n.unregisterPlugin(e)})),()=>{var t;return(0,o.h)("div",{ref:n},null===(t=e.default)||void 0===t?void 0:t.call(e))}}}),(0,o.pM)({name:"NodeViewContent",props:{as:{type:String,default:"div"}},render(){return(0,o.h)(this.as,{style:{whiteSpace:"pre-wrap"},"data-node-view-content":""})}}),(0,o.pM)({name:"NodeViewWrapper",props:{as:{type:String,default:"div"}},inject:["onDragStart","decorationClasses"],render(){var t,e;return(0,o.h)(this.as,{class:this.decorationClasses,style:{whiteSpace:"normal"},"data-node-view-wrapper":"",onDragstart:this.onDragStart},null===(e=(t=this.$slots).default)||void 0===e?void 0:e.call(t))}}),(t={})=>{const e=(0,g.IJ)();return(0,o.sV)((()=>{e.value=new rf(t)})),(0,o.xo)((()=>{var t;null===(t=e.value)||void 0===t||t.destroy()})),e});Boolean;const af=/^\s*>\s$/,cf=zp.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return["blockquote",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[$p({find:af,type:this.type})]}}),pf=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,df=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,hf=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,uf=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,ff=Bp.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>"normal"!==t.style.fontWeight&&null},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return["strong",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[Ip({find:pf,type:this.type}),Ip({find:hf,type:this.type})]},addPasteRules(){return[Vp({find:df,type:this.type}),Vp({find:uf,type:this.type})]}}),mf=zp.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:t}){return["li",Zl(this.options.HTMLAttributes,t),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),gf=Bp.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:t=>{const e=t.hasAttribute("style");return!!e&&{}}}]},renderHTML({HTMLAttributes:t}){return["span",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:t,commands:e})=>{const n=Pc(t,this.type),o=Object.entries(n).some((([,t])=>!!t));return!!o||e.unsetMark(this.name)}}}}),xf=/^\s*([-+*])\s$/,Mf=zp.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:t}){return["ul",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleBulletList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(mf.name,this.editor.getAttributes(gf.name)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let t=$p({find:xf,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(t=$p({find:xf,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(gf.name),editor:this.editor})),[t]}}),yf=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))$/,vf=/(?:^|\s)(`(?!\s+`)((?:[^`]+))`(?!\s+`))/g,wf=Bp.create({name:"code",addOptions(){return{HTMLAttributes:{}}},excludes:"_",code:!0,exitable:!0,parseHTML(){return[{tag:"code"}]},renderHTML({HTMLAttributes:t}){return["code",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setCode:()=>({commands:t})=>t.setMark(this.name),toggleCode:()=>({commands:t})=>t.toggleMark(this.name),unsetCode:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[Ip({find:yf,type:this.type})]},addPasteRules(){return[Vp({find:vf,type:this.type})]}}),bf=/^```([a-z]+)?[\s\n]$/,kf=/^~~~([a-z]+)?[\s\n]$/,Wf=zp.create({name:"codeBlock",addOptions(){return{languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,HTMLAttributes:{}}},content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:null,parseHTML:t=>{var e;const{languageClassPrefix:n}=this.options,o=[...(null===(e=t.firstElementChild)||void 0===e?void 0:e.classList)||[]],r=o.filter((t=>t.startsWith(n))).map((t=>t.replace(n,""))),i=r[0];return i||null},rendered:!1}}},parseHTML(){return[{tag:"pre",preserveWhitespace:"full"}]},renderHTML({node:t,HTMLAttributes:e}){return["pre",Zl(this.options.HTMLAttributes,e),["code",{class:t.attrs.language?this.options.languageClassPrefix+t.attrs.language:null},0]]},addCommands(){return{setCodeBlock:t=>({commands:e})=>e.setNode(this.name,t),toggleCodeBlock:t=>({commands:e})=>e.toggleNode(this.name,"paragraph",t)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:t,$anchor:e}=this.editor.state.selection,n=1===e.pos;return!(!t||e.parent.type.name!==this.name)&&(!(!n&&e.parent.textContent.length)&&this.editor.commands.clearNodes())},Enter:({editor:t})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:e}=t,{selection:n}=e,{$from:o,empty:r}=n;if(!r||o.parent.type!==this.type)return!1;const i=o.parentOffset===o.parent.nodeSize-2,s=o.parent.textContent.endsWith("\n\n");return!(!i||!s)&&t.chain().command((({tr:t})=>(t.delete(o.pos-2,o.pos),!0))).exitCode().run()},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown)return!1;const{state:e}=t,{selection:n,doc:o}=e,{$from:r,empty:i}=n;if(!i||r.parent.type!==this.type)return!1;const s=r.parentOffset===r.parent.nodeSize-2;if(!s)return!1;const l=r.after();if(void 0===l)return!1;const a=o.nodeAt(l);return!a&&t.commands.exitCode()}}},addInputRules(){return[Hp({find:bf,type:this.type,getAttributes:t=>({language:t[1]})}),Hp({find:kf,type:this.type,getAttributes:t=>({language:t[1]})})]},addProseMirrorPlugins(){return[new wn({key:new Wn("codeBlockVSCodeHandler"),props:{handlePaste:(t,e)=>{if(!e.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const n=e.clipboardData.getData("text/plain"),o=e.clipboardData.getData("vscode-editor-data"),r=o?JSON.parse(o):void 0,i=null===r||void 0===r?void 0:r.mode;if(!n||!i)return!1;const{tr:s}=t.state;return t.state.selection.from===t.state.doc.nodeSize-(1+2*t.state.selection.$to.depth)?s.insert(t.state.selection.from-1,this.type.create({language:i})):s.replaceSelectionWith(this.type.create({language:i})),s.setSelection(nn.near(s.doc.resolve(Math.max(0,s.selection.from-2)))),s.insertText(n.replace(/\r\n?/g,"\n")),s.setMeta("paste",!0),t.dispatch(s),!0}}})]}}),Qf=zp.create({name:"doc",topNode:!0,content:"block+"});function Cf(t={}){return new wn({view(e){return new Sf(e,t)}})}class Sf{constructor(t,e){var n;this.editorView=t,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(n=e.width)&&void 0!==n?n:1,this.color=!1===e.color?void 0:e.color||"black",this.class=e.class,this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let n=t=>{this[e](t)};return t.dom.addEventListener(e,n),{name:e,handler:n}}))}destroy(){this.handlers.forEach((({name:t,handler:e})=>this.editorView.dom.removeEventListener(t,e)))}update(t,e){null!=this.cursorPos&&e.doc!=t.state.doc&&(this.cursorPos>t.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(t){t!=this.cursorPos&&(this.cursorPos=t,null==t?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let t,e=this.editorView.state.doc.resolve(this.cursorPos),n=!e.parent.inlineContent;if(n){let n=e.nodeBefore,o=e.nodeAfter;if(n||o){let e=this.editorView.nodeDOM(this.cursorPos-(n?n.nodeSize:0));if(e){let r=e.getBoundingClientRect(),i=n?r.bottom:r.top;n&&o&&(i=(i+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),t={left:r.left,right:r.right,top:i-this.width/2,bottom:i+this.width/2}}}}if(!t){let e=this.editorView.coordsAtPos(this.cursorPos);t={left:e.left-this.width/2,right:e.left+this.width/2,top:e.top,bottom:e.bottom}}let o,r,i=this.editorView.dom.offsetParent;if(this.element||(this.element=i.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",n),this.element.classList.toggle("prosemirror-dropcursor-inline",!n),!i||i==document.body&&"static"==getComputedStyle(i).position)o=-pageXOffset,r=-pageYOffset;else{let t=i.getBoundingClientRect();o=t.left-i.scrollLeft,r=t.top-i.scrollTop}this.element.style.left=t.left-o+"px",this.element.style.top=t.top-r+"px",this.element.style.width=t.right-t.left+"px",this.element.style.height=t.bottom-t.top+"px"}scheduleRemoval(t){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),t)}dragover(t){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:t.clientX,top:t.clientY}),n=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside),o=n&&n.type.spec.disableDropCursor,r="function"==typeof o?o(this.editorView,e,t):o;if(e&&!r){let t=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=Ee(this.editorView.state.doc,t,this.editorView.dragging.slice);null!=e&&(t=e)}this.setCursor(t),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(t){t.target!=this.editorView.dom&&this.editorView.dom.contains(t.relatedTarget)||this.setCursor(null)}}const Of=Sa.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[Cf(this.options)]}});class Tf extends Ye{constructor(t){super(t,t)}map(t,e){let n=t.resolve(e.map(this.head));return Tf.valid(n)?new Tf(n):Ye.near(n)}content(){return T.empty}eq(t){return t instanceof Tf&&t.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(t,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new Tf(t.resolve(e.pos))}getBookmark(){return new Af(this.anchor)}static valid(t){let e=t.parent;if(e.isTextblock||!Ef(t)||!Lf(t))return!1;let n=e.type.spec.allowGapCursor;if(null!=n)return n;let o=e.contentMatchAt(t.index()).defaultType;return o&&o.isTextblock}static findGapCursorFrom(t,e,n=!1){t:for(;;){if(!n&&Tf.valid(t))return t;let o=t.pos,r=null;for(let n=t.depth;;n--){let i=t.node(n);if(e>0?t.indexAfter(n)0){r=i.child(e>0?t.indexAfter(n):t.index(n)-1);break}if(0==n)return null;o+=e;let s=t.doc.resolve(o);if(Tf.valid(s))return s}for(;;){let i=e>0?r.firstChild:r.lastChild;if(!i){if(r.isAtom&&!r.isText&&!rn.isSelectable(r)){t=t.doc.resolve(o+r.nodeSize*e),n=!1;continue t}break}r=i,o+=e;let s=t.doc.resolve(o);if(Tf.valid(s))return s}return null}}}Tf.prototype.visible=!1,Tf.findFrom=Tf.findGapCursorFrom,Ye.jsonID("gapcursor",Tf);class Af{constructor(t){this.pos=t}map(t){return new Af(t.map(this.pos))}resolve(t){let e=t.resolve(this.pos);return Tf.valid(e)?new Tf(e):Ye.near(e)}}function Ef(t){for(let e=t.depth;e>=0;e--){let n=t.index(e),o=t.node(e);if(0!=n)for(let t=o.child(n-1);;t=t.lastChild){if(0==t.childCount&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return!0;if(t.inlineContent)return!1}else if(o.type.spec.isolating)return!0}return!0}function Lf(t){for(let e=t.depth;e>=0;e--){let n=t.indexAfter(e),o=t.node(e);if(n!=o.childCount)for(let t=o.child(n);;t=t.firstChild){if(0==t.childCount&&!t.inlineContent||t.isAtom||t.type.spec.isolating)return!0;if(t.inlineContent)return!1}else if(o.type.spec.isolating)return!0}return!0}function Nf(){return new wn({props:{decorations:Hf,createSelectionBetween(t,e,n){return e.pos==n.pos&&Tf.valid(n)?new Tf(n):null},handleClick:If,handleKeyDown:Df,handleDOMEvents:{beforeinput:Pf}}})}const Df=nl({ArrowLeft:Rf("horiz",-1),ArrowRight:Rf("horiz",1),ArrowUp:Rf("vert",-1),ArrowDown:Rf("vert",1)});function Rf(t,e){const n="vert"==t?e>0?"down":"up":e>0?"right":"left";return function(t,o,r){let i=t.selection,s=e>0?i.$to:i.$from,l=i.empty;if(i instanceof nn){if(!r.endOfTextblock(n)||0==s.depth)return!1;l=!1,s=t.doc.resolve(e>0?s.after():s.before())}let a=Tf.findGapCursorFrom(s,e,l);return!!a&&(o&&o(t.tr.setSelection(new Tf(a))),!0)}}function If(t,e,n){if(!t||!t.editable)return!1;let o=t.state.doc.resolve(e);if(!Tf.valid(o))return!1;let r=t.posAtCoords({left:n.clientX,top:n.clientY});return!(r&&r.inside>-1&&rn.isSelectable(t.state.doc.nodeAt(r.inside)))&&(t.dispatch(t.state.tr.setSelection(new Tf(o))),!0)}function Pf(t,e){if("insertCompositionText"!=e.inputType||!(t.state.selection instanceof Tf))return!1;let{$from:n}=t.state.selection,o=n.parent.contentMatchAt(n.index()).findWrapping(t.state.schema.nodes.text);if(!o)return!1;let r=k.empty;for(let s=o.length-1;s>=0;s--)r=k.from(o[s].createAndFill(null,r));let i=t.state.tr.replace(n.pos,n.pos,new T(r,0,0));return i.setSelection(nn.near(i.doc.resolve(n.pos+1))),t.dispatch(i),!1}function Hf(t){if(!(t.selection instanceof Tf))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",ns.create(t.doc,[Zi.widget(t.selection.head,e,{key:"gapcursor"})])}const $f=Sa.create({name:"gapCursor",addProseMirrorPlugins(){return[Nf()]},extendNodeSchema(t){var e;const n={name:t.name,options:t.options,storage:t.storage};return{allowGapCursor:null!==(e=na(Jl(t,"allowGapCursor",n)))&&void 0!==e?e:null}}}),Bf=zp.create({name:"hardBreak",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",Zl(this.options.HTMLAttributes,t)]},renderText(){return"\n"},addCommands(){return{setHardBreak:()=>({commands:t,chain:e,state:n,editor:o})=>t.first([()=>t.exitCode(),()=>t.command((()=>{const{selection:t,storedMarks:r}=n;if(t.$from.parent.type.spec.isolating)return!1;const{keepMarks:i}=this.options,{splittableMarks:s}=o.extensionManager,l=r||t.$to.parentOffset&&t.$from.marks();return e().insertContent({type:this.name}).command((({tr:t,dispatch:e})=>{if(e&&l&&i){const e=l.filter((t=>s.includes(t.type.name)));t.ensureMarks(e)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),zf=zp.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map((t=>({tag:`h${t}`,attrs:{level:t}})))},renderHTML({node:t,HTMLAttributes:e}){const n=this.options.levels.includes(t.attrs.level),o=n?t.attrs.level:this.options.levels[0];return[`h${o}`,Zl(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:t=>({commands:e})=>!!this.options.levels.includes(t.level)&&e.setNode(this.name,t),toggleHeading:t=>({commands:e})=>!!this.options.levels.includes(t.level)&&e.toggleNode(this.name,"paragraph",t)}},addKeyboardShortcuts(){return this.options.levels.reduce(((t,e)=>({...t,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})})),{})},addInputRules(){return this.options.levels.map((t=>Hp({find:new RegExp(`^(#{1,${t}})\\s$`),type:this.type,getAttributes:{level:t}})))}});var Vf=200,Ff=function(){};Ff.prototype.append=function(t){return t.length?(t=Ff.from(t),!this.length&&t||t.length=e?Ff.empty:this.sliceInner(Math.max(0,t),Math.min(this.length,e))},Ff.prototype.get=function(t){if(!(t<0||t>=this.length))return this.getInner(t)},Ff.prototype.forEach=function(t,e,n){void 0===e&&(e=0),void 0===n&&(n=this.length),e<=n?this.forEachInner(t,e,n,0):this.forEachInvertedInner(t,e,n,0)},Ff.prototype.map=function(t,e,n){void 0===e&&(e=0),void 0===n&&(n=this.length);var o=[];return this.forEach((function(e,n){return o.push(t(e,n))}),e,n),o},Ff.from=function(t){return t instanceof Ff?t:t&&t.length?new jf(t):Ff.empty};var jf=function(t){function e(e){t.call(this),this.values=e}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(t,n){return 0==t&&n==this.length?this:new e(this.values.slice(t,n))},e.prototype.getInner=function(t){return this.values[t]},e.prototype.forEachInner=function(t,e,n,o){for(var r=e;r=n;r--)if(!1===t(this.values[r],o+r))return!1},e.prototype.leafAppend=function(t){if(this.length+t.length<=Vf)return new e(this.values.concat(t.flatten()))},e.prototype.leafPrepend=function(t){if(this.length+t.length<=Vf)return new e(t.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(e.prototype,n),e}(Ff);Ff.empty=new jf([]);var Kf=function(t){function e(e,n){t.call(this),this.left=e,this.right=n,this.length=e.length+n.length,this.depth=Math.max(e.depth,n.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(t){return tr&&!1===this.right.forEachInner(t,Math.max(e-r,0),Math.min(this.length,n)-r,o+r))&&void 0)},e.prototype.forEachInvertedInner=function(t,e,n,o){var r=this.left.length;return!(e>r&&!1===this.right.forEachInvertedInner(t,e-r,Math.max(n,r)-r,o+r))&&(!(n=n?this.right.slice(t-n,e-n):this.left.slice(t,n).append(this.right.slice(0,e-n))},e.prototype.leafAppend=function(t){var n=this.right.leafAppend(t);if(n)return new e(this.left,n)},e.prototype.leafPrepend=function(t){var n=this.left.leafPrepend(t);if(n)return new e(n,this.right)},e.prototype.appendInner=function(t){return this.left.depth>=Math.max(this.right.depth,t.depth)+1?new e(this.left,new e(this.right,t)):new e(this,t)},e}(Ff),_f=Ff;const qf=500;class Uf{constructor(t,e){this.items=t,this.eventCount=e}popEvent(t,e){if(0==this.eventCount)return null;let n,o,r=this.items.length;for(;;r--){let t=this.items.get(r-1);if(t.selection){--r;break}}e&&(n=this.remapping(r,this.items.length),o=n.maps.length);let i,s,l=t.tr,a=[],c=[];return this.items.forEach(((t,e)=>{if(!t.step)return n||(n=this.remapping(r,e+1),o=n.maps.length),o--,void c.push(t);if(n){c.push(new Xf(t.map));let e,r=t.step.map(n.slice(o));r&&l.maybeStep(r).doc&&(e=l.mapping.maps[l.mapping.maps.length-1],a.push(new Xf(e,void 0,void 0,a.length+c.length))),o--,e&&n.appendMap(e,o)}else l.maybeStep(t.step);return t.selection?(i=n?t.selection.map(n.slice(o)):t.selection,s=new Uf(this.items.slice(0,r).append(c.reverse().concat(a)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:s,transform:l,selection:i}}addTransform(t,e,n,o){let r=[],i=this.eventCount,s=this.items,l=!o&&s.length?s.get(s.length-1):null;for(let c=0;cYf&&(s=Jf(s,a),i-=a),new Uf(s.append(r),i)}remapping(t,e){let n=new Xt;return this.items.forEach(((e,o)=>{let r=null!=e.mirrorOffset&&o-e.mirrorOffset>=t?n.maps.length-e.mirrorOffset:void 0;n.appendMap(e.map,r)}),t,e),n}addMaps(t){return 0==this.eventCount?this:new Uf(this.items.append(t.map((t=>new Xf(t)))),this.eventCount)}rebased(t,e){if(!this.eventCount)return this;let n=[],o=Math.max(0,this.items.length-e),r=t.mapping,i=t.steps.length,s=this.eventCount;this.items.forEach((t=>{t.selection&&s--}),o);let l=e;this.items.forEach((e=>{let o=r.getMirror(--l);if(null==o)return;i=Math.min(i,o);let a=r.maps[o];if(e.step){let i=t.steps[o].invert(t.docs[o]),c=e.selection&&e.selection.map(r.slice(l+1,o));c&&s++,n.push(new Xf(a,i,c))}else n.push(new Xf(a))}),o);let a=[];for(let d=e;dqf&&(p=p.compress(this.items.length-n.length)),p}emptyItemCount(){let t=0;return this.items.forEach((e=>{e.step||t++})),t}compress(t=this.items.length){let e=this.remapping(0,t),n=e.maps.length,o=[],r=0;return this.items.forEach(((i,s)=>{if(s>=t)o.push(i),i.selection&&r++;else if(i.step){let t=i.step.map(e.slice(n)),s=t&&t.getMap();if(n--,s&&e.appendMap(s,n),t){let l=i.selection&&i.selection.map(e.slice(n));l&&r++;let a,c=new Xf(s.invert(),t,l),p=o.length-1;(a=o.length&&o[p].merge(c))?o[p]=a:o.push(c)}}else i.map&&n--}),this.items.length,0),new Uf(_f.from(o.reverse()),r)}}function Jf(t,e){let n;return t.forEach(((t,o)=>{if(t.selection&&0==e--)return n=o,!1})),t.slice(n)}Uf.empty=new Uf(_f.empty,0);class Xf{constructor(t,e,n,o){this.map=t,this.step=e,this.selection=n,this.mirrorOffset=o}merge(t){if(this.step&&t.step&&!t.selection){let e=t.step.merge(this.step);if(e)return new Xf(e.getMap().invert(),e,this.selection)}}}class Gf{constructor(t,e,n,o,r){this.done=t,this.undone=e,this.prevRanges=n,this.prevTime=o,this.prevComposition=r}}const Yf=20;function Zf(t,e,n,o){let r,i=n.getMeta(lm);if(i)return i.historyState;n.getMeta(am)&&(t=new Gf(t.done,t.undone,null,0,-1));let s=n.getMeta("appendedTransaction");if(0==n.steps.length)return t;if(s&&s.getMeta(lm))return s.getMeta(lm).redo?new Gf(t.done.addTransform(n,void 0,o,sm(e)),t.undone,em(n.mapping.maps[n.steps.length-1]),t.prevTime,t.prevComposition):new Gf(t.done,t.undone.addTransform(n,void 0,o,sm(e)),null,t.prevTime,t.prevComposition);if(!1===n.getMeta("addToHistory")||s&&!1===s.getMeta("addToHistory"))return(r=n.getMeta("rebased"))?new Gf(t.done.rebased(n,r),t.undone.rebased(n,r),nm(t.prevRanges,n.mapping),t.prevTime,t.prevComposition):new Gf(t.done.addMaps(n.mapping.maps),t.undone.addMaps(n.mapping.maps),nm(t.prevRanges,n.mapping),t.prevTime,t.prevComposition);{let r=n.getMeta("composition"),i=0==t.prevTime||!s&&t.prevComposition!=r&&(t.prevTime<(n.time||0)-o.newGroupDelay||!tm(n,t.prevRanges)),l=s?nm(t.prevRanges,n.mapping):em(n.mapping.maps[n.steps.length-1]);return new Gf(t.done.addTransform(n,i?e.selection.getBookmark():void 0,o,sm(e)),Uf.empty,l,n.time,null==r?t.prevComposition:r)}}function tm(t,e){if(!e)return!1;if(!t.docChanged)return!0;let n=!1;return t.mapping.maps[0].forEach(((t,o)=>{for(let r=0;r=e[r]&&(n=!0)})),n}function em(t){let e=[];return t.forEach(((t,n,o,r)=>e.push(o,r))),e}function nm(t,e){if(!t)return null;let n=[];for(let o=0;o{let r=lm.getState(n);if(!r||0==(t?r.undone:r.done).eventCount)return!1;if(o){let i=om(r,n,t);i&&o(e?i.scrollIntoView():i)}return!0}}const dm=pm(!1,!0),hm=pm(!0,!0);pm(!1,!1),pm(!0,!1);const um=Sa.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>dm(t,e),redo:()=>({state:t,dispatch:e})=>hm(t,e)}},addProseMirrorPlugins(){return[cm(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),fm=zp.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:t}){return["hr",Zl(this.options.HTMLAttributes,t)]},addCommands(){return{setHorizontalRule:()=>({chain:t,state:e})=>{const{$to:n}=e.selection,o=t();return 0===n.parentOffset?o.insertContentAt(Math.max(n.pos-2,0),{type:this.name}):o.insertContent({type:this.name}),o.command((({tr:t,dispatch:e})=>{var n;if(e){const{$to:e}=t.selection,o=e.end();if(e.nodeAfter)e.nodeAfter.isTextblock?t.setSelection(nn.create(t.doc,e.pos+1)):e.nodeAfter.isBlock?t.setSelection(rn.create(t.doc,e.pos)):t.setSelection(nn.create(t.doc,e.pos));else{const r=null===(n=e.parent.type.contentMatch.defaultType)||void 0===n?void 0:n.create();r&&(t.insert(o,r),t.setSelection(nn.create(t.doc,o+1)))}t.scrollIntoView()}return!0})).run()}}},addInputRules(){return[Pp({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),mm=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,gm=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,xm=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,Mm=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,ym=Bp.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:t=>"normal"!==t.style.fontStyle&&null},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:t}){return["em",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setItalic:()=>({commands:t})=>t.setMark(this.name),toggleItalic:()=>({commands:t})=>t.toggleMark(this.name),unsetItalic:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[Ip({find:mm,type:this.type}),Ip({find:xm,type:this.type})]},addPasteRules(){return[Vp({find:gm,type:this.type}),Vp({find:Mm,type:this.type})]}}),vm=zp.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:t}){return["li",Zl(this.options.HTMLAttributes,t),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),wm=zp.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:t}){return["li",Zl(this.options.HTMLAttributes,t),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),bm=Bp.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:t=>{const e=t.hasAttribute("style");return!!e&&{}}}]},renderHTML({HTMLAttributes:t}){return["span",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:t,commands:e})=>{const n=Pc(t,this.type),o=Object.entries(n).some((([,t])=>!!t));return!!o||e.unsetMark(this.name)}}}}),km=/^(\d+)\.\s$/,Wm=zp.create({name:"orderedList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:t=>t.hasAttribute("start")?parseInt(t.getAttribute("start")||"",10):1}}},parseHTML(){return[{tag:"ol"}]},renderHTML({HTMLAttributes:t}){const{start:e,...n}=t;return 1===e?["ol",Zl(this.options.HTMLAttributes,n),0]:["ol",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleOrderedList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(wm.name,this.editor.getAttributes(bm.name)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let t=$p({find:km,type:this.type,getAttributes:t=>({start:+t[1]}),joinPredicate:(t,e)=>e.childCount+e.attrs.start===+t[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(t=$p({find:km,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:t=>({start:+t[1],...this.editor.getAttributes(bm.name)}),joinPredicate:(t,e)=>e.childCount+e.attrs.start===+t[1],editor:this.editor})),[t]}}),Qm=zp.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),Cm=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Sm=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Om=Bp.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:t=>!!t.includes("line-through")&&{}}]},renderHTML({HTMLAttributes:t}){return["s",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setStrike:()=>({commands:t})=>t.setMark(this.name),toggleStrike:()=>({commands:t})=>t.toggleMark(this.name),unsetStrike:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[Ip({find:Cm,type:this.type})]},addPasteRules(){return[Vp({find:Sm,type:this.type})]}}),Tm=zp.create({name:"text",group:"inline"}),Am=Sa.create({name:"starterKit",addExtensions(){var t,e,n,o,r,i,s,l,a,c,p,d,h,u,f,m,g,x;const M=[];return!1!==this.options.blockquote&&M.push(cf.configure(null===(t=this.options)||void 0===t?void 0:t.blockquote)),!1!==this.options.bold&&M.push(ff.configure(null===(e=this.options)||void 0===e?void 0:e.bold)),!1!==this.options.bulletList&&M.push(Mf.configure(null===(n=this.options)||void 0===n?void 0:n.bulletList)),!1!==this.options.code&&M.push(wf.configure(null===(o=this.options)||void 0===o?void 0:o.code)),!1!==this.options.codeBlock&&M.push(Wf.configure(null===(r=this.options)||void 0===r?void 0:r.codeBlock)),!1!==this.options.document&&M.push(Qf.configure(null===(i=this.options)||void 0===i?void 0:i.document)),!1!==this.options.dropcursor&&M.push(Of.configure(null===(s=this.options)||void 0===s?void 0:s.dropcursor)),!1!==this.options.gapcursor&&M.push($f.configure(null===(l=this.options)||void 0===l?void 0:l.gapcursor)),!1!==this.options.hardBreak&&M.push(Bf.configure(null===(a=this.options)||void 0===a?void 0:a.hardBreak)),!1!==this.options.heading&&M.push(zf.configure(null===(c=this.options)||void 0===c?void 0:c.heading)),!1!==this.options.history&&M.push(um.configure(null===(p=this.options)||void 0===p?void 0:p.history)),!1!==this.options.horizontalRule&&M.push(fm.configure(null===(d=this.options)||void 0===d?void 0:d.horizontalRule)),!1!==this.options.italic&&M.push(ym.configure(null===(h=this.options)||void 0===h?void 0:h.italic)),!1!==this.options.listItem&&M.push(vm.configure(null===(u=this.options)||void 0===u?void 0:u.listItem)),!1!==this.options.orderedList&&M.push(Wm.configure(null===(f=this.options)||void 0===f?void 0:f.orderedList)),!1!==this.options.paragraph&&M.push(Qm.configure(null===(m=this.options)||void 0===m?void 0:m.paragraph)),!1!==this.options.strike&&M.push(Om.configure(null===(g=this.options)||void 0===g?void 0:g.strike)),!1!==this.options.text&&M.push(Tm.configure(null===(x=this.options)||void 0===x?void 0:x.text)),M}});var Em,Lm;if("undefined"!=typeof WeakMap){let t=new WeakMap;Em=e=>t.get(e),Lm=(e,n)=>(t.set(e,n),n)}else{const t=[],e=10;let n=0;Em=e=>{for(let n=0;n(n==e&&(n=0),t[n++]=o,t[n++]=r)}var Nm=class{constructor(t,e,n,o){this.width=t,this.height=e,this.map=n,this.problems=o}findCell(t){for(let e=0;e=n){(i||(i=[])).push({type:"overlong_rowspan",pos:p,n:h-t});break}const l=r+t*e;for(let t=0;to&&(i+=r.attrs.colspan)}}for(let t=0;t1&&(n=!0)}-1==e?e=i:e!=i&&(e=Math.max(e,i))}return e}function Im(t,e,n){t.problems||(t.problems=[]);const o={};for(let r=0;r0;e--)if("row"==t.node(e).type.spec.tableRole)return t.node(0).resolve(t.before(e+1));return null}function zm(t){for(let e=t.depth;e>0;e--){const n=t.node(e).type.spec.tableRole;if("cell"===n||"header_cell"===n)return t.node(e)}return null}function Vm(t){const e=t.selection.$head;for(let n=e.depth;n>0;n--)if("row"==e.node(n).type.spec.tableRole)return!0;return!1}function Fm(t){const e=t.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&"cell"==e.node.type.spec.tableRole)return e.$anchor;const n=Bm(e.$head)||jm(e.$head);if(n)return n;throw new RangeError(`No cell found around position ${e.head}`)}function jm(t){for(let e=t.nodeAfter,n=t.pos;e;e=e.firstChild,n++){const o=e.type.spec.tableRole;if("cell"==o||"header_cell"==o)return t.doc.resolve(n)}for(let e=t.nodeBefore,n=t.pos;e;e=e.lastChild,n--){const o=e.type.spec.tableRole;if("cell"==o||"header_cell"==o)return t.doc.resolve(n-e.nodeSize)}}function Km(t){return"row"==t.parent.type.spec.tableRole&&!!t.nodeAfter}function _m(t){return t.node(0).resolve(t.pos+t.nodeAfter.nodeSize)}function qm(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function Um(t,e,n){const o=t.node(-1),r=Nm.get(o),i=t.start(-1),s=r.nextCell(t.pos-i,e,n);return null==s?null:t.node(0).resolve(i+s)}function Jm(t,e,n=1){const o={...t,colspan:t.colspan-n};return o.colwidth&&(o.colwidth=o.colwidth.slice(),o.colwidth.splice(e,n),o.colwidth.some((t=>t>0))||(o.colwidth=null)),o}function Xm(t,e,n=1){const o={...t,colspan:t.colspan+n};if(o.colwidth){o.colwidth=o.colwidth.slice();for(let t=0;tt!=e.pos-r));l.unshift(e.pos-r);const a=l.map((t=>{const e=n.nodeAt(t);if(!e)throw RangeError(`No cell with offset ${t} found`);const o=r+t+1;return new Ze(s.resolve(o),s.resolve(o+e.content.size))}));super(a[0].$from,a[0].$to,a),this.$anchorCell=t,this.$headCell=e}map(e,n){const o=e.resolve(n.map(this.$anchorCell.pos)),r=e.resolve(n.map(this.$headCell.pos));if(Km(o)&&Km(r)&&qm(o,r)){const e=this.$anchorCell.node(-1)!=o.node(-1);return e&&this.isRowSelection()?t.rowSelection(o,r):e&&this.isColSelection()?t.colSelection(o,r):new t(o,r)}return nn.between(o,r)}content(){const t=this.$anchorCell.node(-1),e=Nm.get(t),n=this.$anchorCell.start(-1),o=e.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),r={},i=[];for(let l=o.top;l0||p>0){let t=a.attrs;if(c>0&&(t=Jm(t,0,c)),p>0&&(t=Jm(t,t.colspan-p,p)),l.lefto.bottom){const t={...a.attrs,rowspan:Math.min(l.bottom,o.bottom)-Math.max(l.top,o.top)};a=l.top0)return!1;const n=t+this.$anchorCell.nodeAfter.attrs.rowspan,o=e+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,o)==this.$headCell.node(-1).childCount}static colSelection(e,n=e){const o=e.node(-1),r=Nm.get(o),i=e.start(-1),s=r.findCell(e.pos-i),l=r.findCell(n.pos-i),a=e.node(0);return s.top<=l.top?(s.top>0&&(e=a.resolve(i+r.map[s.left])),l.bottom0&&(n=a.resolve(i+r.map[l.left])),s.bottom0)return!1;const i=o+this.$anchorCell.nodeAfter.attrs.colspan,s=r+this.$headCell.nodeAfter.attrs.colspan;return Math.max(i,s)==e.width}eq(e){return e instanceof t&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,n=e){const o=e.node(-1),r=Nm.get(o),i=e.start(-1),s=r.findCell(e.pos-i),l=r.findCell(n.pos-i),a=e.node(0);return s.left<=l.left?(s.left>0&&(e=a.resolve(i+r.map[s.top*r.width])),l.right0&&(n=a.resolve(i+r.map[l.top*r.width])),s.right{e.push(Zi.node(n,n+t.nodeSize,{class:"selectedCell"}))})),ns.create(t.doc,e)}function eg({$from:t,$to:e}){if(t.pos==e.pos||t.pos=0;r--,n++)if(t.after(r+1)=0;i--,o--)if(e.before(i+1)>e.start(i))break;return n==o&&/row|table/.test(t.node(r).type.spec.tableRole)}function ng({$from:t,$to:e}){let n,o;for(let r=t.depth;r>0;r--){const e=t.node(r);if("cell"===e.type.spec.tableRole||"header_cell"===e.type.spec.tableRole){n=e;break}}for(let r=e.depth;r>0;r--){const t=e.node(r);if("cell"===t.type.spec.tableRole||"header_cell"===t.type.spec.tableRole){o=t;break}}return n!==o&&0===e.parentOffset}function og(t,e,n){const o=(e||t).selection,r=(e||t).doc;let i,s;if(o instanceof rn&&(s=o.node.type.spec.tableRole)){if("cell"==s||"header_cell"==s)i=Ym.create(r,o.from);else if("row"==s){const t=r.resolve(o.from+1);i=Ym.rowSelection(t,t)}else if(!n){const t=Nm.get(o.node),e=o.from+1,n=e+t.map[t.width*t.height-1];i=Ym.create(r,e+1,n)}}else o instanceof nn&&eg(o)?i=nn.create(r,o.from):o instanceof nn&&ng(o)&&(i=nn.create(r,o.$from.start(),o.$from.end()));return i&&(e||(e=t.tr)).setSelection(i),e}var rg=new Wn("fix-tables");function ig(t,e,n,o){const r=t.childCount,i=e.childCount;t:for(let s=0,l=0;s{"table"==e.type.spec.tableRole&&(n=lg(t,e,o,n))};return e?e.doc!=t.doc&&ig(e.doc,t.doc,0,o):t.doc.descendants(o),n}function lg(t,e,n,o){const r=Nm.get(e);if(!r.problems)return o;o||(o=t.tr);const i=[];for(let a=0;a0){let e="cell";n.firstChild&&(e=n.firstChild.type.spec.tableRole);const i=[];for(let n=0;n0&&o>0||"table"==e.child(0).type.spec.tableRole))n--,o--,e=e.child(0).content;const r=e.child(0),i=r.type.spec.tableRole,s=r.type.schema,l=[];if("row"==i)for(let a=0;a=0;e--){const{rowspan:o,colspan:i}=t.child(e).attrs;for(let t=r;t=e.length&&e.push(k.empty),n[r]o&&(l=l.type.createChecked(Jm(l.attrs,l.attrs.colspan,n+l.attrs.colspan-o),l.content)),s.push(l),n+=l.attrs.colspan;for(let n=1;nr&&(e=e.type.create({...e.attrs,rowspan:Math.max(1,r-e.attrs.rowspan)},e.content)),s.push(e)}t.push(k.from(s))}n=t,e=r}return{width:t,height:e,rows:n}}function hg(t,e,n,o,r,i,s){const l=t.doc.type.schema,a=Hm(l);let c,p;if(r>e.width)for(let d=0,h=0;de.height){const l=[];for(let t=0,o=(e.height-1)*e.width;t=e.width)&&n.nodeAt(e.map[o+t]).type==a.header_cell;l.push(r?p||(p=a.header_cell.createAndFill()):c||(c=a.cell.createAndFill()))}const d=a.row.create(null,k.from(l)),h=[];for(let t=e.height;t{if(!r)return!1;const i=n.selection;if(i instanceof Ym)return xg(n,o,Ye.near(i.$headCell,e));if("horiz"!=t&&!i.empty)return!1;const s=Wg(r,t,e);if(null==s)return!1;if("horiz"==t)return xg(n,o,Ye.near(n.doc.resolve(i.head+e),e));{const r=n.doc.resolve(s),i=Um(r,t,e);let l;return l=i?Ye.near(i,1):e<0?Ye.near(n.doc.resolve(r.before(-1)),-1):Ye.near(n.doc.resolve(r.after(-1)),1),xg(n,o,l)}}}function yg(t,e){return(n,o,r)=>{if(!r)return!1;const i=n.selection;let s;if(i instanceof Ym)s=i;else{const o=Wg(r,t,e);if(null==o)return!1;s=new Ym(n.doc.resolve(o))}const l=Um(s.$headCell,t,e);return!!l&&xg(n,o,new Ym(s.$anchorCell,l))}}function vg(t,e){const n=t.selection;if(!(n instanceof Ym))return!1;if(e){const o=t.tr,r=Hm(t.schema).cell.createAndFill().content;n.forEachCell(((t,e)=>{t.content.eq(r)||o.replace(o.mapping.map(e+1),o.mapping.map(e+t.nodeSize-1),new T(r,0,0))})),o.docChanged&&e(o)}return!0}function wg(t,e){const n=t.state.doc,o=Bm(n.resolve(e));return!!o&&(t.dispatch(t.state.tr.setSelection(new Ym(o))),!0)}function bg(t,e,n){if(!Vm(t.state))return!1;let o=ag(n);const r=t.state.selection;if(r instanceof Ym){o||(o={width:1,height:1,rows:[k.from(pg(Hm(t.state.schema).cell,n))]});const e=r.$anchorCell.node(-1),i=r.$anchorCell.start(-1),s=Nm.get(e).rectBetween(r.$anchorCell.pos-i,r.$headCell.pos-i);return o=dg(o,s.right-s.left,s.bottom-s.top),mg(t.state,t.dispatch,i,s,o),!0}if(o){const e=Fm(t.state),n=e.start(-1);return mg(t.state,t.dispatch,n,Nm.get(e.node(-1)).findCell(e.pos-n),o),!0}return!1}function kg(t,e){var n;if(e.ctrlKey||e.metaKey)return;const o=Qg(t,e.target);let r;if(e.shiftKey&&t.state.selection instanceof Ym)i(t.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&o&&null!=(r=Bm(t.state.selection.$anchor))&&(null==(n=Cg(t,e))?void 0:n.pos)!=r.pos)i(r,e),e.preventDefault();else if(!o)return;function i(e,n){let o=Cg(t,n);const r=null==$m.getState(t.state);if(!o||!qm(e,o)){if(!r)return;o=e}const i=new Ym(e,o);if(r||!t.state.selection.eq(i)){const n=t.state.tr.setSelection(i);r&&n.setMeta($m,e.pos),t.dispatch(n)}}function s(){t.root.removeEventListener("mouseup",s),t.root.removeEventListener("dragstart",s),t.root.removeEventListener("mousemove",l),null!=$m.getState(t.state)&&t.dispatch(t.state.tr.setMeta($m,-1))}function l(n){const r=n,l=$m.getState(t.state);let a;if(null!=l)a=t.state.doc.resolve(l);else if(Qg(t,r.target)!=o&&(a=Cg(t,e),!a))return s();a&&i(a,r)}t.root.addEventListener("mouseup",s),t.root.addEventListener("dragstart",s),t.root.addEventListener("mousemove",l)}function Wg(t,e,n){if(!(t.state.selection instanceof nn))return null;const{$head:o}=t.state.selection;for(let r=o.depth-1;r>=0;r--){const i=o.node(r),s=n<0?o.index(r):o.indexAfter(r);if(s!=(n<0?0:i.childCount))return null;if("cell"==i.type.spec.tableRole||"header_cell"==i.type.spec.tableRole){const i=o.before(r),s="vert"==e?n>0?"down":"up":n>0?"right":"left";return t.endOfTextblock(s)?i:null}}return null}function Qg(t,e){for(;e&&e!=t.dom;e=e.parentNode)if("TD"==e.nodeName||"TH"==e.nodeName)return e;return null}function Cg(t,e){const n=t.posAtCoords({left:e.clientX,top:e.clientY});return n&&n?Bm(t.state.doc.resolve(n.pos)):null}var Sg=class{constructor(t,e){this.node=t,this.cellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),Og(t,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(t){return t.type==this.node.type&&(this.node=t,Og(t,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(t){return"attributes"==t.type&&(t.target==this.table||this.colgroup.contains(t.target))}};function Og(t,e,n,o,r,i){var s;let l=0,a=!0,c=e.firstChild;const p=t.firstChild;if(p){for(let t=0,n=0;tnew n(t,e,o),new Eg(-1,!1)},apply(t,e){return e.apply(t)}},props:{attributes:t=>{const e=Tg.getState(t);return e&&e.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(n,r)=>{Lg(n,r,t,e,o)},mouseleave:t=>{Ng(t)},mousedown:(t,n)=>{Dg(t,n,e)}},decorations:t=>{const e=Tg.getState(t);if(e&&e.activeHandle>-1)return Fg(t,e.activeHandle)},nodeViews:{}}});return r}var Eg=class t{constructor(t,e){this.activeHandle=t,this.dragging=e}apply(e){const n=this,o=e.getMeta(Tg);if(o&&null!=o.setHandle)return new t(o.setHandle,!1);if(o&&void 0!==o.setDragging)return new t(n.activeHandle,o.setDragging);if(n.activeHandle>-1&&e.docChanged){let o=e.mapping.map(n.activeHandle,-1);return Km(e.doc.resolve(o))||(o=-1),new t(o,n.dragging)}return n}};function Lg(t,e,n,o,r){const i=Tg.getState(t.state);if(i&&!i.dragging){const o=Ig(e.target);let s=-1;if(o){const{left:r,right:i}=o.getBoundingClientRect();e.clientX-r<=n?s=Pg(t,e,"left",n):i-e.clientX<=n&&(s=Pg(t,e,"right",n))}if(s!=i.activeHandle){if(!r&&-1!==s){const e=t.state.doc.resolve(s),n=e.node(-1),o=Nm.get(n),r=e.start(-1),i=o.colCount(e.pos-r)+e.nodeAfter.attrs.colspan-1;if(i==o.width-1)return}$g(t,s)}}}function Ng(t){const e=Tg.getState(t.state);e&&e.activeHandle>-1&&!e.dragging&&$g(t,-1)}function Dg(t,e,n){var o;const r=null!=(o=t.dom.ownerDocument.defaultView)?o:window,i=Tg.getState(t.state);if(!i||-1==i.activeHandle||i.dragging)return!1;const s=t.state.doc.nodeAt(i.activeHandle),l=Rg(t,i.activeHandle,s.attrs);function a(e){r.removeEventListener("mouseup",a),r.removeEventListener("mousemove",c);const o=Tg.getState(t.state);(null==o?void 0:o.dragging)&&(Bg(t,o.activeHandle,Hg(o.dragging,e,n)),t.dispatch(t.state.tr.setMeta(Tg,{setDragging:null})))}function c(e){if(!e.which)return a(e);const o=Tg.getState(t.state);if(o&&o.dragging){const r=Hg(o.dragging,e,n);zg(t,o.activeHandle,r,n)}}return t.dispatch(t.state.tr.setMeta(Tg,{setDragging:{startX:e.clientX,startWidth:l}})),r.addEventListener("mouseup",a),r.addEventListener("mousemove",c),e.preventDefault(),!0}function Rg(t,e,{colspan:n,colwidth:o}){const r=o&&o[o.length-1];if(r)return r;const i=t.domAtPos(e),s=i.node.childNodes[i.offset];let l=s.offsetWidth,a=n;if(o)for(let c=0;c0?-1:0;Gm(e,o,r+i)&&(i=0==r||r==e.width?null:0);for(let s=0;s0&&r0&&e.map[l-1]==a||r0?-1:0;Xg(e,o,r+a)&&(a=0==r||r==e.height?null:0);for(let c=0,p=e.width*r;c0&&r0&&i==e.map[p-e.width]){const e=n.nodeAt(i).attrs;t.setNodeMarkup(t.mapping.slice(l).map(i+o),null,{...e,rowspan:e.rowspan-1}),c+=e.colspan-1}else if(r0&&n[i]==n[i-1]||o.right0&&n[r]==n[r-t]||o.bottomn[t.type.spec.tableRole]))(t,e)}function sx(t){return(e,n)=>{var o;const r=e.selection;let i,s;if(r instanceof Ym){if(r.$anchorCell.pos!=r.$headCell.pos)return!1;i=r.$anchorCell.nodeAfter,s=r.$anchorCell.pos}else{if(i=zm(r.$from),!i)return!1;s=null==(o=Bm(r.$from))?void 0:o.pos}if(null==i||null==s)return!1;if(1==i.attrs.colspan&&1==i.attrs.rowspan)return!1;if(n){let o=i.attrs;const l=[],a=o.colwidth;o.rowspan>1&&(o={...o,rowspan:1}),o.colspan>1&&(o={...o,colspan:1});const c=jg(e),p=e.tr;for(let t=0;t{n.attrs[t]!==e&&i.setNodeMarkup(o,null,{...n.attrs,[t]:e})})):i.setNodeMarkup(r.pos,null,{...r.nodeAfter.attrs,[t]:e}),o(i)}return!0}}function ax(t){return function(e,n){if(!Vm(e))return!1;if(n){const o=Hm(e.schema),r=jg(e),i=e.tr,s=r.map.cellsInRect("column"==t?{left:r.left,top:0,right:r.right,bottom:r.map.height}:"row"==t?{left:0,top:r.top,right:r.map.width,bottom:r.bottom}:r),l=s.map((t=>r.table.nodeAt(t)));for(let t=0;t{const e=t+r.tableStart,n=i.doc.nodeAt(e);n&&i.setNodeMarkup(e,d,n.attrs)})),n(i)}return!0}}px("row",{useDeprecatedLogic:!0}),px("column",{useDeprecatedLogic:!0});var dx=px("cell",{useDeprecatedLogic:!0});function hx(t,e){if(e<0){const e=t.nodeBefore;if(e)return t.pos-e.nodeSize;for(let n=t.index(-1)-1,o=t.before();n>=0;n--){const e=t.node(-1).child(n),r=e.lastChild;if(r)return o-1-r.nodeSize;o-=e.nodeSize}}else{if(t.index()0;o--){const r=n.node(o);if("table"==r.type.spec.tableRole)return e&&e(t.tr.delete(n.before(o),n.after(o)).scrollIntoView()),!0}return!1}function mx({allowTableNodeSelection:t=!1}={}){return new wn({key:$m,state:{init(){return null},apply(t,e){const n=t.getMeta($m);if(null!=n)return-1==n?null:n;if(null==e||!t.docChanged)return e;const{deleted:o,pos:r}=t.mapping.mapResult(e);return o?null:r}},props:{decorations:tg,handleDOMEvents:{mousedown:kg},createSelectionBetween(t){return null!=$m.getState(t.state)?t.state.selection:null},handleTripleClick:wg,handleKeyDown:gg,handlePaste:bg},appendTransaction(e,n,o){return og(o,sg(o,n),t)}})}function gx(t,e,n,o,r,i){let s=0,l=!0,a=e.firstChild;const c=t.firstChild;for(let p=0,d=0;p{const o=t.nodes[n];o.spec.tableRole&&(e[o.spec.tableRole]=o)})),t.cached.tableNodeTypes=e,e}function wx(t,e,n,o,r){const i=vx(t),s=[],l=[];for(let c=0;c{const{selection:e}=t.state;if(!bx(e))return!1;let n=0;const o=zc(e.ranges[0].$from,(t=>"table"===t.type.name));null===o||void 0===o||o.node.descendants((t=>{if("table"===t.type.name)return!1;["tableCell","tableHeader"].includes(t.type.name)&&(n+=1)}));const r=n===e.ranges.length;return!!r&&(t.commands.deleteTable(),!0)},Wx=zp.create({name:"table",addOptions(){return{HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:xx,lastColumnResizable:!0,allowTableNodeSelection:!1}},content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML(){return[{tag:"table"}]},renderHTML({node:t,HTMLAttributes:e}){const{colgroup:n,tableWidth:o,tableMinWidth:r}=Mx(t,this.options.cellMinWidth),i=["table",Zl(this.options.HTMLAttributes,e,{style:o?`width: ${o}`:`minWidth: ${r}`}),n,["tbody",0]];return i},addCommands(){return{insertTable:({rows:t=3,cols:e=3,withHeaderRow:n=!0}={})=>({tr:o,dispatch:r,editor:i})=>{const s=wx(i.schema,t,e,n);if(r){const t=o.selection.anchor+1;o.replaceSelectionWith(s).scrollIntoView().setSelection(nn.near(o.doc.resolve(t)))}return!0},addColumnBefore:()=>({state:t,dispatch:e})=>_g(t,e),addColumnAfter:()=>({state:t,dispatch:e})=>qg(t,e),deleteColumn:()=>({state:t,dispatch:e})=>Jg(t,e),addRowBefore:()=>({state:t,dispatch:e})=>Yg(t,e),addRowAfter:()=>({state:t,dispatch:e})=>Zg(t,e),deleteRow:()=>({state:t,dispatch:e})=>ex(t,e),deleteTable:()=>({state:t,dispatch:e})=>fx(t,e),mergeCells:()=>({state:t,dispatch:e})=>rx(t,e),splitCell:()=>({state:t,dispatch:e})=>ix(t,e),toggleHeaderColumn:()=>({state:t,dispatch:e})=>px("column")(t,e),toggleHeaderRow:()=>({state:t,dispatch:e})=>px("row")(t,e),toggleHeaderCell:()=>({state:t,dispatch:e})=>dx(t,e),mergeOrSplit:()=>({state:t,dispatch:e})=>!!rx(t,e)||ix(t,e),setCellAttribute:(t,e)=>({state:n,dispatch:o})=>lx(t,e)(n,o),goToNextCell:()=>({state:t,dispatch:e})=>ux(1)(t,e),goToPreviousCell:()=>({state:t,dispatch:e})=>ux(-1)(t,e),fixTables:()=>({state:t,dispatch:e})=>(e&&sg(t),!0),setCellSelection:t=>({tr:e,dispatch:n})=>{if(n){const n=Ym.create(e.doc,t.anchorCell,t.headCell);e.setSelection(n)}return!0}}},addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:kx,"Mod-Backspace":kx,Delete:kx,"Mod-Delete":kx}},addProseMirrorPlugins(){const t=this.options.resizable&&this.editor.isEditable;return[...t?[Ag({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],mx({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema(t){const e={name:t.name,options:t.options,storage:t.storage};return{tableRole:na(Jl(t,"tableRole",e))}}}),Qx=zp.create({name:"tableRow",addOptions(){return{HTMLAttributes:{}}},content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML(){return[{tag:"tr"}]},renderHTML({HTMLAttributes:t}){return["tr",Zl(this.options.HTMLAttributes,t),0]}}),Cx=Bp.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:t=>!!t.includes("underline")&&{}}]},renderHTML({HTMLAttributes:t}){return["u",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setUnderline:()=>({commands:t})=>t.setMark(this.name),toggleUnderline:()=>({commands:t})=>t.toggleMark(this.name),unsetUnderline:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),Sx="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Ox="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",Tx=(t,e)=>{for(const n in e)t[n]=e[n];return t},Ax="numeric",Ex="ascii",Lx="alpha",Nx="asciinumeric",Dx="alphanumeric",Rx="domain",Ix="emoji",Px="scheme",Hx="slashscheme",$x="whitespace";function Bx(t,e){return t in e||(e[t]=[]),e[t]}function zx(t,e,n){e[Ax]&&(e[Nx]=!0,e[Dx]=!0),e[Ex]&&(e[Nx]=!0,e[Lx]=!0),e[Nx]&&(e[Dx]=!0),e[Lx]&&(e[Dx]=!0),e[Dx]&&(e[Rx]=!0),e[Ix]&&(e[Rx]=!0);for(const o in e){const e=Bx(o,n);e.indexOf(t)<0&&e.push(t)}}function Vx(t,e){const n={};for(const o in e)e[o].indexOf(t)>=0&&(n[o]=!0);return n}function Fx(t){void 0===t&&(t=null),this.j={},this.jr=[],this.jd=null,this.t=t}Fx.groups={},Fx.prototype={accepts(){return!!this.t},go(t){const e=this,n=e.j[t];if(n)return n;for(let o=0;ot.ta(e,n,o,r),Kx=(t,e,n,o,r)=>t.tr(e,n,o,r),_x=(t,e,n,o,r)=>t.ts(e,n,o,r),qx=(t,e,n,o,r)=>t.tt(e,n,o,r),Ux="WORD",Jx="UWORD",Xx="LOCALHOST",Gx="TLD",Yx="UTLD",Zx="SCHEME",tM="SLASH_SCHEME",eM="NUM",nM="WS",oM="NL",rM="OPENBRACE",iM="CLOSEBRACE",sM="OPENBRACKET",lM="CLOSEBRACKET",aM="OPENPAREN",cM="CLOSEPAREN",pM="OPENANGLEBRACKET",dM="CLOSEANGLEBRACKET",hM="FULLWIDTHLEFTPAREN",uM="FULLWIDTHRIGHTPAREN",fM="LEFTCORNERBRACKET",mM="RIGHTCORNERBRACKET",gM="LEFTWHITECORNERBRACKET",xM="RIGHTWHITECORNERBRACKET",MM="FULLWIDTHLESSTHAN",yM="FULLWIDTHGREATERTHAN",vM="AMPERSAND",wM="APOSTROPHE",bM="ASTERISK",kM="AT",WM="BACKSLASH",QM="BACKTICK",CM="CARET",SM="COLON",OM="COMMA",TM="DOLLAR",AM="DOT",EM="EQUALS",LM="EXCLAMATION",NM="HYPHEN",DM="PERCENT",RM="PIPE",IM="PLUS",PM="POUND",HM="QUERY",$M="QUOTE",BM="SEMI",zM="SLASH",VM="TILDE",FM="UNDERSCORE",jM="EMOJI",KM="SYM";var _M=Object.freeze({__proto__:null,WORD:Ux,UWORD:Jx,LOCALHOST:Xx,TLD:Gx,UTLD:Yx,SCHEME:Zx,SLASH_SCHEME:tM,NUM:eM,WS:nM,NL:oM,OPENBRACE:rM,CLOSEBRACE:iM,OPENBRACKET:sM,CLOSEBRACKET:lM,OPENPAREN:aM,CLOSEPAREN:cM,OPENANGLEBRACKET:pM,CLOSEANGLEBRACKET:dM,FULLWIDTHLEFTPAREN:hM,FULLWIDTHRIGHTPAREN:uM,LEFTCORNERBRACKET:fM,RIGHTCORNERBRACKET:mM,LEFTWHITECORNERBRACKET:gM,RIGHTWHITECORNERBRACKET:xM,FULLWIDTHLESSTHAN:MM,FULLWIDTHGREATERTHAN:yM,AMPERSAND:vM,APOSTROPHE:wM,ASTERISK:bM,AT:kM,BACKSLASH:WM,BACKTICK:QM,CARET:CM,COLON:SM,COMMA:OM,DOLLAR:TM,DOT:AM,EQUALS:EM,EXCLAMATION:LM,HYPHEN:NM,PERCENT:DM,PIPE:RM,PLUS:IM,POUND:PM,QUERY:HM,QUOTE:$M,SEMI:BM,SLASH:zM,TILDE:VM,UNDERSCORE:FM,EMOJI:jM,SYM:KM});const qM=/[a-z]/,UM=/\p{L}/u,JM=/\p{Emoji}/u,XM=/\d/,GM=/\s/;const YM="\n",ZM="️",ty="‍";let ey=null,ny=null;function oy(t){void 0===t&&(t=[]);const e={};Fx.groups=e;const n=new Fx;null==ey&&(ey=ly(Sx)),null==ny&&(ny=ly(Ox)),qx(n,"'",wM),qx(n,"{",rM),qx(n,"}",iM),qx(n,"[",sM),qx(n,"]",lM),qx(n,"(",aM),qx(n,")",cM),qx(n,"<",pM),qx(n,">",dM),qx(n,"(",hM),qx(n,")",uM),qx(n,"「",fM),qx(n,"」",mM),qx(n,"『",gM),qx(n,"』",xM),qx(n,"<",MM),qx(n,">",yM),qx(n,"&",vM),qx(n,"*",bM),qx(n,"@",kM),qx(n,"`",QM),qx(n,"^",CM),qx(n,":",SM),qx(n,",",OM),qx(n,"$",TM),qx(n,".",AM),qx(n,"=",EM),qx(n,"!",LM),qx(n,"-",NM),qx(n,"%",DM),qx(n,"|",RM),qx(n,"+",IM),qx(n,"#",PM),qx(n,"?",HM),qx(n,'"',$M),qx(n,"/",zM),qx(n,";",BM),qx(n,"~",VM),qx(n,"_",FM),qx(n,"\\",WM);const o=Kx(n,XM,eM,{[Ax]:!0});Kx(o,XM,o);const r=Kx(n,qM,Ux,{[Ex]:!0});Kx(r,qM,r);const i=Kx(n,UM,Jx,{[Lx]:!0});Kx(i,qM),Kx(i,UM,i);const s=Kx(n,GM,nM,{[$x]:!0});qx(n,YM,oM,{[$x]:!0}),qx(s,YM),Kx(s,GM,s);const l=Kx(n,JM,jM,{[Ix]:!0});Kx(l,JM,l),qx(l,ZM,l);const a=qx(l,ty);Kx(a,JM,l);const c=[[qM,r]],p=[[qM,null],[UM,i]];for(let d=0;dt[0]>e[0]?1:-1));for(let d=0;d=0?r[Rx]=!0:qM.test(e)?XM.test(e)?r[Nx]=!0:r[Ex]=!0:r[Ax]=!0,_x(n,e,e,r)}return _x(n,"localhost",Xx,{ascii:!0}),n.jd=new Fx(KM),{start:n,tokens:Tx({groups:e},_M)}}function ry(t,e){const n=iy(e.replace(/[A-Z]/g,(t=>t.toLowerCase()))),o=n.length,r=[];let i=0,s=0;while(s=0&&(d+=n[s].length,h++),c+=n[s].length,i+=n[s].length,s++;i-=d,s-=h,c-=d,r.push({t:p.t,v:e.slice(i-c,i),s:i-c,e:i})}return r}function iy(t){const e=[],n=t.length;let o=0;while(o56319||o+1===n||(r=t.charCodeAt(o+1))<56320||r>57343?t[o]:t.slice(o,o+2);e.push(s),o+=s.length}return e}function sy(t,e,n,o,r){let i;const s=e.length;for(let l=0;l=0)i++;if(i>0){e.push(n.join(""));for(let e=parseInt(t.substring(o,o+i),10);e>0;e--)n.pop();o+=i}else n.push(t[o]),o++}return e}const ay={defaultProtocol:"http",events:null,format:py,formatHref:py,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function cy(t,e){void 0===e&&(e=null);let n=Tx({},ay);t&&(n=Tx(n,t instanceof cy?t.o:t));const o=n.ignoreTags,r=[];for(let i=0;in?o.substring(0,n)+"…":o},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t){return void 0===t&&(t=ay.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){const e=this,n=this.toHref(t.get("defaultProtocol")),o=t.get("formatHref",n,this),r=t.get("tagName",n,e),i=this.toFormattedString(t),s={},l=t.get("className",n,e),a=t.get("target",n,e),c=t.get("rel",n,e),p=t.getObj("attributes",n,e),d=t.getObj("events",n,e);return s.href=o,l&&(s.class=l),a&&(s.target=a),c&&(s.rel=c),p&&Tx(s,p),{tagName:r,attributes:s,content:i,eventListeners:d}}};const uy=hy("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),fy=hy("text"),my=hy("nl"),gy=hy("url",{isLink:!0,toHref(t){return void 0===t&&(t=ay.defaultProtocol),this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){const t=this.tk;return t.length>=2&&t[0].t!==Xx&&t[1].t===SM}});const xy=t=>new Fx(t);function My(t){let{groups:e}=t;const n=e.domain.concat([vM,bM,kM,WM,QM,CM,TM,EM,NM,eM,DM,RM,IM,PM,zM,KM,VM,FM]),o=[wM,SM,OM,AM,LM,HM,$M,BM,pM,dM,rM,iM,lM,sM,aM,cM,hM,uM,fM,mM,gM,xM,MM,yM],r=[vM,wM,bM,WM,QM,CM,TM,EM,NM,rM,iM,DM,RM,IM,PM,HM,zM,KM,VM,FM],i=xy(),s=qx(i,VM);jx(s,r,s),jx(s,e.domain,s);const l=xy(),a=xy(),c=xy();jx(i,e.domain,l),jx(i,e.scheme,a),jx(i,e.slashscheme,c),jx(l,r,s),jx(l,e.domain,l);const p=qx(l,kM);qx(s,kM,p),qx(a,kM,p),qx(c,kM,p);const d=qx(s,AM);jx(d,r,s),jx(d,e.domain,s);const h=xy();jx(p,e.domain,h),jx(h,e.domain,h);const u=qx(h,AM);jx(u,e.domain,h);const f=xy(uy);jx(u,e.tld,f),jx(u,e.utld,f),qx(p,Xx,f);const m=qx(h,NM);jx(m,e.domain,h),jx(f,e.domain,h),qx(f,AM,u),qx(f,NM,m);const g=qx(f,SM);jx(g,e.numeric,uy);const x=qx(l,NM),M=qx(l,AM);jx(x,e.domain,l),jx(M,r,s),jx(M,e.domain,l);const y=xy(gy);jx(M,e.tld,y),jx(M,e.utld,y),jx(y,e.domain,l),jx(y,r,s),qx(y,AM,M),qx(y,NM,x),qx(y,kM,p);const v=qx(y,SM),w=xy(gy);jx(v,e.numeric,w);const b=xy(gy),k=xy();jx(b,n,b),jx(b,o,k),jx(k,n,b),jx(k,o,k),qx(y,zM,b),qx(w,zM,b);const W=qx(a,SM),Q=qx(c,SM),C=qx(Q,zM),S=qx(C,zM);jx(a,e.domain,l),qx(a,AM,M),qx(a,NM,x),jx(c,e.domain,l),qx(c,AM,M),qx(c,NM,x),jx(W,e.domain,b),qx(W,zM,b),jx(S,e.domain,b),jx(S,n,b),qx(S,zM,b);const O=[[rM,iM],[sM,lM],[aM,cM],[pM,dM],[hM,uM],[fM,mM],[gM,xM],[MM,yM]];for(let T=0;T=0&&h++,r++,p++;if(h<0)r-=p,r0&&(i.push(vy(fy,e,s)),s=[]),r-=h,p-=h;const t=d.t,o=n.slice(r-p,r);i.push(vy(t,e,o))}}return s.length>0&&i.push(vy(fy,e,s)),i}function vy(t,e,n){const o=n[0].s,r=n[n.length-1].e,i=e.slice(o,r);return new t(i,n)}const wy="undefined"!==typeof console&&console&&console.warn||(()=>{}),by="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",ky={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Wy(){Fx.groups={},ky.scanner=null,ky.parser=null,ky.tokenQueue=[],ky.pluginQueue=[],ky.customSchemes=[],ky.initialized=!1}function Qy(t,e){if(void 0===e&&(e=!1),ky.initialized&&wy(`linkifyjs: already initialized - will not register custom scheme "${t}" ${by}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error('linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or "-"\n2. Cannot start or end with "-"\n3. "-" cannot repeat');ky.customSchemes.push([t,e])}function Cy(){ky.scanner=oy(ky.customSchemes);for(let t=0;t{const r=e.some((t=>t.docChanged))&&!n.doc.eq(o.doc),i=e.some((t=>t.getMeta("preventAutolink")));if(!r||i)return;const{tr:s}=o,l=Hc(n.doc,[...e]),a=Jc(l);return a.forEach((({newRange:e})=>{const n=Bc(o.doc,e,(t=>t.isTextblock));let r,i;if(n.length>1?(r=n[0],i=o.doc.textBetween(r.pos,r.pos+r.node.nodeSize,void 0," ")):n.length&&o.doc.textBetween(e.from,e.to," "," ").endsWith(" ")&&(r=n[0],i=o.doc.textBetween(r.pos,e.to,void 0," ")),r&&i){const e=i.split(" ").filter((t=>""!==t));if(e.length<=0)return!1;const n=e[e.length-1],l=r.pos+i.lastIndexOf(n);if(!n)return!1;const a=Sy(n).map((t=>t.toObject()));if(!Ty(a))return!1;a.filter((t=>t.isLink)).map((t=>({...t,from:l+t.start+1,to:l+t.end+1}))).filter((t=>!o.schema.marks.code||!o.doc.rangeHasMark(t.from,t.to,o.schema.marks.code))).filter((e=>!t.validate||t.validate(e.value))).forEach((e=>{Xc(e.from,e.to,o.doc).some((e=>e.mark.type===t.type))||s.addMark(e.from,e.to,t.type.create({href:e.href}))}))}})),s.steps.length?s:void 0}})}function Ey(t){return new wn({key:new Wn("handleClickLink"),props:{handleClick:(e,n,o)=>{var r,i;if(t.whenNotEditable&&e.editable)return!1;if(0!==o.button)return!1;let s=o.target;const l=[];while("DIV"!==s.nodeName)l.push(s),s=s.parentNode;if(!l.find((t=>"A"===t.nodeName)))return!1;const a=_c(e.state,t.type.name),c=o.target,p=null!==(r=null===c||void 0===c?void 0:c.href)&&void 0!==r?r:a.href,d=null!==(i=null===c||void 0===c?void 0:c.target)&&void 0!==i?i:a.target;return!(!c||!p)&&(window.open(p,d),!0)}}})}function Ly(t){return new wn({key:new Wn("handlePasteLink"),props:{handlePaste:(e,n,o)=>{const{state:r}=e,{selection:i}=r,{empty:s}=i;if(s)return!1;let l="";o.content.forEach((t=>{l+=t.textContent}));const a=Oy(l).find((t=>t.isLink&&t.value===l));return!(!l||!a)&&(t.editor.commands.setMark(t.type,{href:a.href}),!0)}}})}const Ny=Bp.create({name:"link",priority:1e3,keepOnSplit:!1,onCreate(){this.options.protocols.forEach((t=>{"string"!==typeof t?Qy(t.scheme,t.optionalSlashes):Qy(t)}))},onDestroy(){Wy()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:void 0}},addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:'a[href]:not([href *= "javascript:" i])'}]},renderHTML({HTMLAttributes:t}){var e;return(null===(e=t.href)||void 0===e?void 0:e.startsWith("javascript:"))?["a",Zl(this.options.HTMLAttributes,{...t,href:""}),0]:["a",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{setLink:t=>({chain:e})=>e().setMark(this.name,t).setMeta("preventAutolink",!0).run(),toggleLink:t=>({chain:e})=>e().toggleMark(this.name,t,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:t})=>t().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[Vp({find:t=>{const e=[];if(t){const n=Oy(t).filter((t=>t.isLink));n.length&&n.forEach((t=>e.push({text:t.value,data:{href:t.href},index:t.start})))}return e},type:this.type,getAttributes:t=>{var e;return{href:null===(e=t.data)||void 0===e?void 0:e.href}}})]},addProseMirrorPlugins(){const t=[];return this.options.autolink&&t.push(Ay({type:this.type,validate:this.options.validate})),this.options.openOnClick&&t.push(Ey({type:this.type,whenNotEditable:"whenNotEditable"===this.options.openOnClick})),this.options.linkOnPaste&&t.push(Ly({editor:this.editor,type:this.type})),t}}),Dy=Bp.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:t=>{const e=t.hasAttribute("style");return!!e&&{}}}]},renderHTML({HTMLAttributes:t}){return["span",Zl(this.options.HTMLAttributes,t),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:t,commands:e})=>{const n=Pc(t,this.type),o=Object.entries(n).some((([,t])=>!!t));return!!o||e.unsetMark(this.name)}}}}),Ry=Sa.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:t=>{var e;return null===(e=t.style.color)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:t=>t.color?{style:`color: ${t.color}`}:{}}}}]},addCommands(){return{setColor:t=>({chain:e})=>e().setMark("textStyle",{color:t}).run(),unsetColor:()=>({chain:t})=>t().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),Iy=zp.create({name:"tableCell",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:t=>{const e=t.getAttribute("colwidth"),n=e?[parseInt(e,10)]:null;return n}}}},tableRole:"cell",isolating:!0,parseHTML(){return[{tag:"td"}]},renderHTML({HTMLAttributes:t}){return["td",Zl(this.options.HTMLAttributes,t),0]}}),Py=zp.create({name:"tableHeader",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:t=>{const e=t.getAttribute("colwidth"),n=e?[parseInt(e,10)]:null;return n}}}},tableRole:"header_cell",isolating:!0,parseHTML(){return[{tag:"th"}]},renderHTML({HTMLAttributes:t}){return["th",Zl(this.options.HTMLAttributes,t),0]}}),Hy=Iy.extend({content:"inline*",parseHTML(){return[{tag:"td"}]},renderHTML({HTMLAttributes:t}){return["td",t,0]}}),$y=Py.extend({content:"inline*",parseHTML(){return[{tag:"th"}]},renderHTML({HTMLAttributes:t}){return["th",t,0]}}),By=t=>((0,o.Qi)("data-v-660e0d32"),t=t(),(0,o.jt)(),t),zy={key:0,class:"dialog-overlay"},Vy={class:"dialog-content"},Fy=By((()=>(0,o.Lk)("h3",null,"Gottesdienst-Konfiguration",-1))),jy=By((()=>(0,o.Lk)("div",null,[(0,o.Lk)("label",{for:"location-select"},"Bitte wählen Sie den Ort für den Gottestdienst aus:")],-1)));function Ky(t,e,n,r,i,s){const l=(0,o.g2)("multiselect");return(0,o.uX)(),(0,o.CE)("div",null,[r.isOpen?((0,o.uX)(),(0,o.CE)("div",zy,[(0,o.Lk)("div",Vy,[Fy,jy,(0,o.Lk)("div",null,[(0,o.bF)(l,{modelValue:r.selectedLocations,"onUpdate:modelValue":e[0]||(e[0]=t=>r.selectedLocations=t),options:r.locations,multiple:!0,"close-on-select":!1,"clear-on-select":!1,"preserve-search":!0,"preselect-first":!1,label:"name","track-by":"id",placeholder:"Orte auswählen"},null,8,["modelValue","options"])]),(0,o.Lk)("div",null,[(0,o.Lk)("button",{onClick:e[1]||(e[1]=(...t)=>r.confirmWorshipConfiguration&&r.confirmWorshipConfiguration(...t))},"Bestätigen"),(0,o.Lk)("button",{onClick:e[2]||(e[2]=(...t)=>r.closeWorshipDialog&&r.closeWorshipDialog(...t))},"Schließen")])])])):(0,o.Q3)("",!0)])}var _y=n(8074),qy={name:"WorshipDialog",components:{Multiselect:_y.Ay},emits:["confirm"],setup(t,{emit:e}){const n=(0,g.KR)(!1),o=(0,g.KR)([]),r=(0,g.KR)([]),i=()=>{n.value=!0,l()},s=()=>{n.value=!1},l=async()=>{try{const t=await M.A.get("/event-places");o.value=t.data}catch(t){console.error("Fehler beim Laden der Orte:",t)}},a=()=>{const t=JSON.stringify(r.value.map((t=>t.id)));e("confirm",t),s()};return{isOpen:n,locations:o,selectedLocations:r,openWorshipDialog:i,closeWorshipDialog:s,confirmWorshipConfiguration:a}}},Uy=n(1241);const Jy=(0,Uy.A)(qy,[["render",Ky],["__scopeId","data-v-660e0d32"]]);var Xy=Jy;const Gy=t=>((0,o.Qi)("data-v-bb7ac8aa"),t=t(),(0,o.jt)(),t),Yy={key:0,class:"dialog-overlay"},Zy={class:"dialog-content"},tv=Gy((()=>(0,o.Lk)("h3",null,"Bild auswählen",-1))),ev={class:"images-container"},nv=["onClick"],ov=["src"],rv=["title"],iv={key:1};function sv(t,e,n,i,s,l){return(0,o.uX)(),(0,o.CE)("div",null,[i.isOpen?((0,o.uX)(),(0,o.CE)("div",Yy,[(0,o.Lk)("div",Zy,[tv,(0,o.Lk)("div",ev,[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(i.images,(t=>((0,o.uX)(),(0,o.CE)("div",{key:t.id,class:(0,r.C4)(["image-block",{selected:t.id===i.selectedImage?.id}]),onClick:e=>i.selectImage(t)},[(0,o.Lk)("img",{src:"/images/uploads/"+t.filename},null,8,ov),t.description?((0,o.uX)(),(0,o.CE)("span",{key:0,title:t.description},(0,r.v_)(t.title),9,rv)):((0,o.uX)(),(0,o.CE)("span",iv,(0,r.v_)(t.title),1))],10,nv)))),128))]),(0,o.Lk)("div",null,[(0,o.Lk)("button",{onClick:e[0]||(e[0]=(...t)=>i.confirmAddImageConfiguration&&i.confirmAddImageConfiguration(...t))},"Bestätigen"),(0,o.Lk)("button",{onClick:e[1]||(e[1]=(...t)=>i.closeAddImageDialog&&i.closeAddImageDialog(...t))},"Schließen")])])])):(0,o.Q3)("",!0)])}var lv={name:"AddImageDialog",emits:["confirm"],setup(t,{emit:e}){const n=(0,g.KR)(!1),o=(0,g.KR)([]),r=(0,g.KR)(null),i=()=>{n.value=!0,a()},s=()=>{n.value=!1},l=()=>{r.value&&e("confirm",`${r.value.id}`),s()},a=async()=>{try{const t=await M.A.get("/image");o.value=t.data}catch(t){console.error("Fehler beim Laden der Bilder:",t),o.value=[]}},c=t=>{console.log(t),r.value=t};return{isOpen:n,images:o,selectedImage:r,openAddImageDialog:i,closeAddImageDialog:s,confirmAddImageConfiguration:l,selectImage:c}}};const av=(0,Uy.A)(lv,[["render",sv],["__scopeId","data-v-bb7ac8aa"]]);var cv=av;const pv=t=>((0,o.Qi)("data-v-208f7992"),t=t(),(0,o.jt)(),t),dv={key:0,class:"dialog-overlay"},hv={class:"dialog-content"},uv=pv((()=>(0,o.Lk)("h3",null,"Kontaktperson hinzufügen",-1))),fv=pv((()=>(0,o.Lk)("label",{for:"type-select"},"Typen:",-1))),mv={key:0},gv=pv((()=>(0,o.Lk)("label",{for:"places-select"},"Wählen Sie Orte:",-1))),xv={key:1},Mv=pv((()=>(0,o.Lk)("label",{for:"types-select"},"Wählen Sie Typen:",-1))),yv={key:2},vv=pv((()=>(0,o.Lk)("label",{for:"position-select"},"Wählen Sie eine Position:",-1))),wv={key:3},bv=pv((()=>(0,o.Lk)("label",{for:"contact-select"},"Wählen Sie eine Kontaktperson:",-1))),kv=pv((()=>(0,o.Lk)("label",null,"Wählen Sie welche Elemente angezeigt werden sollen:",-1))),Wv={class:"display-options"},Qv=pv((()=>(0,o.Lk)("label",{for:"displayStyle"},"Anzeigen als",-1))),Cv=["value"];function Sv(t,e,n,s,l,a){const c=(0,o.g2)("multiselect");return(0,o.uX)(),(0,o.CE)("div",null,[s.isOpen?((0,o.uX)(),(0,o.CE)("div",dv,[(0,o.Lk)("div",hv,[uv,(0,o.Lk)("div",null,[fv,(0,o.bF)(c,{id:"type-select",modelValue:s.selectedTypes,"onUpdate:modelValue":e[0]||(e[0]=t=>s.selectedTypes=t),options:s.typeOptions,multiple:!0,label:"caption","track-by":"id",onSelect:s.onTypeSelect},null,8,["modelValue","options","onSelect"])]),s.selectedTypes.some((t=>"places"===t.id))?((0,o.uX)(),(0,o.CE)("div",mv,[gv,(0,o.bF)(c,{id:"places-select",modelValue:s.selectedPlaces,"onUpdate:modelValue":e[1]||(e[1]=t=>s.selectedPlaces=t),options:s.places,multiple:!0,label:"name","track-by":"id"},null,8,["modelValue","options"])])):(0,o.Q3)("",!0),s.selectedTypes.some((t=>"types"===t.id))?((0,o.uX)(),(0,o.CE)("div",xv,[Mv,(0,o.bF)(c,{id:"types-select",modelValue:s.selectedEventTypes,"onUpdate:modelValue":e[2]||(e[2]=t=>s.selectedEventTypes=t),options:s.eventTypes,multiple:!0,label:"caption","track-by":"id"},null,8,["modelValue","options"])])):(0,o.Q3)("",!0),s.selectedTypes.some((t=>"position"===t.id))?((0,o.uX)(),(0,o.CE)("div",yv,[vv,(0,o.bF)(c,{id:"position-select",modelValue:s.selectedPositions,"onUpdate:modelValue":e[3]||(e[3]=t=>s.selectedPositions=t),options:s.positions,multiple:!1,label:"caption","track-by":"id"},null,8,["modelValue","options"])])):(0,o.Q3)("",!0),s.selectedTypes.some((t=>"specific"===t.id))?((0,o.uX)(),(0,o.CE)("div",wv,[bv,(0,o.bF)(c,{id:"contact-select",modelValue:s.selectedContact,"onUpdate:modelValue":e[4]||(e[4]=t=>s.selectedContact=t),options:s.contacts,multiple:!1,label:"name","track-by":"id"},null,8,["modelValue","options"])])):(0,o.Q3)("",!0),(0,o.Lk)("div",null,[kv,(0,o.Lk)("div",Wv,[(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[5]||(e[5]=t=>s.displayOptions.phone=t)},null,512),[[i.lH,s.displayOptions.phone]]),(0,o.eW)(" Telefon")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[6]||(e[6]=t=>s.displayOptions.street=t)},null,512),[[i.lH,s.displayOptions.street]]),(0,o.eW)(" Straße")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=t=>s.displayOptions.zipcode=t)},null,512),[[i.lH,s.displayOptions.zipcode]]),(0,o.eW)(" Postleitzahl")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[8]||(e[8]=t=>s.displayOptions.city=t)},null,512),[[i.lH,s.displayOptions.city]]),(0,o.eW)(" Stadt")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[9]||(e[9]=t=>s.displayOptions.email=t)},null,512),[[i.lH,s.displayOptions.email]]),(0,o.eW)(" E-Mail")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[10]||(e[10]=t=>s.displayOptions.positions=t)},null,512),[[i.lH,s.displayOptions.positions]]),(0,o.eW)(" Positionen")])]),(0,o.Lk)("div",null,[Qv,(0,o.bo)((0,o.Lk)("select",{id:"displayStyle","onUpdate:modelValue":e[11]||(e[11]=t=>s.displayStyle=t)},[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(s.displayStyles,(t=>((0,o.uX)(),(0,o.CE)("option",{value:t.id,key:t.id},(0,r.v_)(t.label),9,Cv)))),128))],512),[[i.u1,s.displayStyle]])])]),(0,o.Lk)("div",null,[(0,o.Lk)("button",{onClick:e[12]||(e[12]=(...t)=>s.confirmAddContactConfiguration&&s.confirmAddContactConfiguration(...t))},"Bestätigen"),(0,o.Lk)("button",{onClick:e[13]||(e[13]=(...t)=>s.closeAddContactDialog&&s.closeAddContactDialog(...t))},"Schließen")])])])):(0,o.Q3)("",!0)])}var Ov={name:"AddContactDialog",components:{Multiselect:_y.Ay},emits:["confirm"],setup(t,{emit:e}){const n=(0,g.KR)(!1),o=(0,g.KR)([]),r=(0,g.KR)([]),i=(0,g.KR)([]),s=(0,g.KR)([]),l=(0,g.KR)(null),a=(0,g.KR)([]),c=(0,g.KR)([]),p=(0,g.KR)([]),d=(0,g.KR)([]),h=(0,g.KR)("float"),u=(0,g.KR)({phone:!1,street:!1,zipcode:!1,city:!1,email:!1,positions:!1}),f=(0,g.KR)([{id:"all",caption:"Alle"},{id:"specific",caption:"Eine Person"},{id:"places",caption:"Für bestimmte Orte"},{id:"types",caption:"Für bestimmte Typen"},{id:"position",caption:"Für bestimmte Positionen"}]),m=(0,g.KR)([{id:"float",label:"Durchlaufender Text"},{id:"box",label:"Textbox"}]),x=()=>{n.value=!0,b(),k(),W(),Q()},y=()=>{n.value=!1},v=()=>{a.value.some((t=>"all"===t.id))?(a.value=[{id:"all",caption:"Alle"}],l.value=null,c.value=[],d.value=[],p.value=[]):a.value.some((t=>"specific"===t.id))?(a.value=[{id:"specific",caption:"Eine Person"}],c.value=[],d.value=[],p.value=[]):(a.value.some((t=>"places"===t.id))||a.value.some((t=>"types"===t.id))||a.value.some((t=>"position"===t.id)))&&(l.value=null)},w=()=>{console.log("Selected positions:",p.value);let t="";const n=Object.keys(u.value).filter((t=>u.value[t]));let o={};a.value.some((t=>"all"===t.id))?o["id"]="all":a.value.some((t=>"specific"===t.id))&&l.value?o["id"]=l.value.id:(o["types"]=c.value.map((t=>t.id)),o["places"]=d.value.map((t=>t.id)),o["positions"]=Array.isArray(p.value)?p.value.map((t=>t.id)):[]);const r={selection:o,display:n,style:h.value};t="{{ contact:"+JSON.stringify(r)+" }}",console.log("Emitting config:",t),e("confirm",t),y()},b=async()=>{try{const t=await M.A.get("/contact-persons");o.value=t.data}catch(t){console.error("Fehler beim Laden der Kontaktpersonen:",t)}},k=async()=>{try{const t=await M.A.get("/event-types");r.value=t.data}catch(t){console.error("Fehler beim Laden der Event-Typen:",t)}},W=async()=>{try{const t=await M.A.get("/event-places");i.value=t.data}catch(t){console.error("Fehler beim Laden der Orte:",t)}},Q=async()=>{try{const t=await M.A.get("/positions");s.value=t.data}catch(t){console.error("Fehler beim Laden der Positionen:",t)}};return{isOpen:n,contacts:o,selectedContact:l,selectedTypes:a,selectedEventTypes:c,selectedPlaces:d,displayOptions:u,displayStyle:h,displayStyles:m,typeOptions:f,openAddContactDialog:x,closeAddContactDialog:y,confirmAddContactConfiguration:w,onTypeSelect:v,places:i,eventTypes:r,positions:s,selectedPositions:p}}};const Tv=(0,Uy.A)(Ov,[["render",Sv],["__scopeId","data-v-208f7992"]]);var Av=Tv;const Ev=t=>((0,o.Qi)("data-v-577814c6"),t=t(),(0,o.jt)(),t),Lv={key:0,class:"dialog-overlay"},Nv={class:"dialog-content"},Dv=Ev((()=>(0,o.Lk)("h3",null,"Ereignisse hinzufügen",-1))),Rv=Ev((()=>(0,o.Lk)("label",{for:"selection-type"},"Wählen Sie den Typ:",-1))),Iv={key:0},Pv=Ev((()=>(0,o.Lk)("label",{for:"places-select"},"Wählen Sie Orte:",-1))),Hv={key:1},$v=Ev((()=>(0,o.Lk)("label",{for:"types-select"},"Wählen Sie Typen:",-1))),Bv={key:2},zv=Ev((()=>(0,o.Lk)("label",{for:"event-select"},"Wählen Sie ein Event:",-1))),Vv=Ev((()=>(0,o.Lk)("label",null,"Wählen Sie welche Elemente angezeigt werden sollen:",-1))),Fv={class:"display-options"};function jv(t,e,n,r,s,l){const a=(0,o.g2)("multiselect");return(0,o.uX)(),(0,o.CE)("div",null,[r.isOpen?((0,o.uX)(),(0,o.CE)("div",Lv,[(0,o.Lk)("div",Nv,[Dv,(0,o.Lk)("div",null,[Rv,(0,o.bF)(a,{id:"selection-type",modelValue:r.selectedTypes,"onUpdate:modelValue":e[0]||(e[0]=t=>r.selectedTypes=t),options:r.typeOptions,multiple:!0,"close-on-select":!1,"clear-on-select":!1,"preserve-search":!0,onSelect:r.onTypeSelect},null,8,["modelValue","options","onSelect"])]),(0,o.Lk)("div",null,[(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[1]||(e[1]=t=>r.isHomepage=t)},null,512),[[i.lH,r.isHomepage]]),(0,o.eW)(" Auch Ereignisse für die Homepage zeigen")])]),r.selectedTypes.includes("Für bestimmte Orte")?((0,o.uX)(),(0,o.CE)("div",Iv,[Pv,(0,o.bF)(a,{id:"places-select",modelValue:r.selectedPlaces,"onUpdate:modelValue":e[2]||(e[2]=t=>r.selectedPlaces=t),options:r.places,multiple:!0,"close-on-select":!1,"clear-on-select":!1,"preserve-search":!0,label:"name","track-by":"id"},null,8,["modelValue","options"])])):(0,o.Q3)("",!0),r.selectedTypes.includes("Für bestimmte Typen")?((0,o.uX)(),(0,o.CE)("div",Hv,[$v,(0,o.bF)(a,{id:"types-select",modelValue:r.selectedEventTypes,"onUpdate:modelValue":e[3]||(e[3]=t=>r.selectedEventTypes=t),options:r.eventTypes,multiple:!0,"close-on-select":!1,"clear-on-select":!1,"preserve-search":!0,label:"caption","track-by":"id"},null,8,["modelValue","options"])])):(0,o.Q3)("",!0),r.selectedTypes.includes("Ein bestimmtes")?((0,o.uX)(),(0,o.CE)("div",Bv,[zv,(0,o.bF)(a,{id:"event-select",modelValue:r.selectedEvent,"onUpdate:modelValue":e[4]||(e[4]=t=>r.selectedEvent=t),options:r.events,multiple:!1,label:"name","track-by":"id"},null,8,["modelValue","options"])])):(0,o.Q3)("",!0),(0,o.Lk)("div",null,[Vv,(0,o.Lk)("div",Fv,[(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[5]||(e[5]=t=>r.displayOptions.name=t)},null,512),[[i.lH,r.displayOptions.name]]),(0,o.eW)(" Name")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[6]||(e[6]=t=>r.displayOptions.type=t)},null,512),[[i.lH,r.displayOptions.type]]),(0,o.eW)(" Typ")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[7]||(e[7]=t=>r.displayOptions.place=t)},null,512),[[i.lH,r.displayOptions.place]]),(0,o.eW)(" Ort")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[8]||(e[8]=t=>r.displayOptions.description=t)},null,512),[[i.lH,r.displayOptions.description]]),(0,o.eW)(" Beschreibung")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[9]||(e[9]=t=>r.displayOptions.time=t)},null,512),[[i.lH,r.displayOptions.time]]),(0,o.eW)(" Uhrzeit")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[10]||(e[10]=t=>r.displayOptions.contactPerson=t)},null,512),[[i.lH,r.displayOptions.contactPerson]]),(0,o.eW)(" Kontaktperson")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[11]||(e[11]=t=>r.displayOptions.day=t)},null,512),[[i.lH,r.displayOptions.day]]),(0,o.eW)(" Veranstaltungstag")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[12]||(e[12]=t=>r.displayOptions.institution=t)},null,512),[[i.lH,r.displayOptions.institution]]),(0,o.eW)(" Institution")])])]),(0,o.Lk)("div",null,[(0,o.Lk)("button",{onClick:e[13]||(e[13]=(...t)=>r.confirmAddEventConfiguration&&r.confirmAddEventConfiguration(...t))},"Bestätigen"),(0,o.Lk)("button",{onClick:e[14]||(e[14]=(...t)=>r.closeAddEventDialog&&r.closeAddEventDialog(...t))},"Schließen")])])])):(0,o.Q3)("",!0)])}var Kv={name:"AddEventDialog",components:{Multiselect:_y.Ay},emits:["confirm"],setup(t,{emit:e}){const n=(0,g.KR)(!1),o=(0,g.KR)(["Alle","Für bestimmte Orte","Für bestimmte Typen","Ein bestimmtes","Ereignisse für Homepage"]),r=(0,g.KR)([]),i=(0,g.KR)([]),s=(0,g.KR)([]),l=(0,g.KR)([]),a=(0,g.KR)([]),c=(0,g.KR)([]),p=(0,g.KR)(null),d=(0,g.KR)(!1),h=(0,g.KR)({name:!1,type:!1,place:!1,description:!1,time:!1,contactPerson:!1,day:!1,institution:!1}),u=()=>{n.value=!0,y(),v(),w()},f=()=>{n.value=!1},m=t=>{r.value="Alle"===t||"Ein bestimmtes"===t?[t]:r.value.filter((t=>"Alle"!==t&&"Ein bestimmtes"!==t))},x=()=>{const t={};t.display=Object.keys(h.value).filter((t=>h.value[t])),d.value?t.id="home":r.value.includes("Alle")?t.id="all":r.value.includes("Ein bestimmtes")?t.id=p.value.id:(t.types=c.value.map((t=>t.id)),t.places=a.value.map((t=>t.id))),e("confirm","{{ events:"+JSON.stringify(t)+" }}"),f()},y=async()=>{try{const t=await M.A.get("/event-places");i.value=t.data}catch(t){console.error("Fehler beim Laden der Orte:",t)}},v=async()=>{try{const t=await M.A.get("/event-types");s.value=t.data}catch(t){console.error("Fehler beim Laden der Typen:",t)}},w=async()=>{try{const t=await M.A.get("/events");l.value=t.data}catch(t){console.error("Fehler beim Laden der Events:",t)}};return{isOpen:n,typeOptions:o,selectedTypes:r,places:i,eventTypes:s,events:l,selectedPlaces:a,selectedEventTypes:c,selectedEvent:p,displayOptions:h,openAddEventDialog:u,closeAddEventDialog:f,confirmAddEventConfiguration:x,onTypeSelect:m,isHomepage:d}}};const _v=(0,Uy.A)(Kv,[["render",jv],["__scopeId","data-v-577814c6"]]);var qv=_v;const Uv=t=>((0,o.Qi)("data-v-7d73fa71"),t=t(),(0,o.jt)(),t),Jv={key:0,class:"modal"},Xv={class:"modal-content"},Gv=Uv((()=>(0,o.Lk)("h2",null,"Link hinzufügen",-1))),Yv=Uv((()=>(0,o.Lk)("td",null,[(0,o.Lk)("label",{for:"link-url"},"URL:")],-1))),Zv=Uv((()=>(0,o.Lk)("td",null,[(0,o.Lk)("label",{for:"link-text"},"Linktext:")],-1)));function tw(t,e,n,r,s,l){return s.showDialog?((0,o.uX)(),(0,o.CE)("div",Jv,[(0,o.Lk)("div",Xv,[(0,o.Lk)("span",{class:"close",onClick:e[0]||(e[0]=(...t)=>l.closeDialog&&l.closeDialog(...t))},"×"),Gv,(0,o.Lk)("table",null,[(0,o.Lk)("tr",null,[Yv,(0,o.Lk)("td",null,[(0,o.bo)((0,o.Lk)("input",{id:"link-url","onUpdate:modelValue":e[1]||(e[1]=t=>s.url=t),type:"text"},null,512),[[i.Jo,s.url]])])]),(0,o.Lk)("tr",null,[Zv,(0,o.Lk)("td",null,[(0,o.bo)((0,o.Lk)("input",{id:"link-text","onUpdate:modelValue":e[2]||(e[2]=t=>s.text=t),type:"text"},null,512),[[i.Jo,s.text]])])])]),(0,o.Lk)("button",{onClick:e[3]||(e[3]=(...t)=>l.confirm&&l.confirm(...t))},"Hinzufügen")])])):(0,o.Q3)("",!0)}var ew={name:"AddLinkDialog",data(){return{showDialog:!1,url:"",text:""}},methods:{openAddLinkDialog(){this.showDialog=!0},closeDialog(){this.showDialog=!1,this.url="",this.text=""},confirm(){this.$emit("confirm",this.url,this.text),this.closeDialog()}}};const nw=(0,Uy.A)(ew,[["render",tw],["__scopeId","data-v-7d73fa71"]]);var ow=nw;const rw=t=>((0,o.Qi)("data-v-c200d490"),t=t(),(0,o.jt)(),t),iw={key:0,class:"modal"},sw={class:"modal-content"},lw=rw((()=>(0,o.Lk)("h2",null,"Datei zum Download hinzufügen",-1))),aw=rw((()=>(0,o.Lk)("td",null,[(0,o.Lk)("label",{for:"file-select"},"Datei auswählen:")],-1))),cw=["value"];function pw(t,e,n,s,l,a){return l.showDialog?((0,o.uX)(),(0,o.CE)("div",iw,[(0,o.Lk)("div",sw,[(0,o.Lk)("span",{class:"close",onClick:e[0]||(e[0]=(...t)=>a.closeDialog&&a.closeDialog(...t))},"×"),lw,(0,o.Lk)("table",null,[(0,o.Lk)("tr",null,[aw,(0,o.Lk)("td",null,[(0,o.bo)((0,o.Lk)("select",{id:"file-select","onUpdate:modelValue":e[1]||(e[1]=t=>l.selectedFile=t)},[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(l.files,(t=>((0,o.uX)(),(0,o.CE)("option",{key:t.id,value:t},(0,r.v_)(t.title)+" ("+(0,r.v_)(t.originalName)+") ",9,cw)))),128))],512),[[i.u1,l.selectedFile]])])])]),(0,o.Lk)("button",{onClick:e[2]||(e[2]=(...t)=>a.confirm&&a.confirm(...t))},"Hinzufügen")])])):(0,o.Q3)("",!0)}var dw={name:"AddDownloadDialog",data(){return{showDialog:!1,selectedFile:null,files:[]}},methods:{async openAddDownloadDialog(){this.showDialog=!0;try{const t=await M.A.get("/files");this.files=t.data}catch(t){console.error("Fehler beim Abrufen der Dateien:",t)}},closeDialog(){this.showDialog=!1,this.selectedFile=null},confirm(){this.selectedFile?(console.log(this.selectedFile.hash),this.$emit("confirm",{hash:this.selectedFile.hash}),this.closeDialog()):alert("Bitte wählen Sie eine Datei aus.")}}};const hw=(0,Uy.A)(dw,[["render",pw],["__scopeId","data-v-c200d490"]]);var uw=hw;const fw=t=>((0,o.Qi)("data-v-1dd5c408"),t=t(),(0,o.jt)(),t),mw={key:0,class:"dialog-overlay"},gw={class:"dialog-content"},xw=fw((()=>(0,o.Lk)("h3",null,"Institution hinzufügen",-1))),Mw=fw((()=>(0,o.Lk)("label",{for:"institution-select"},"Wählen Sie eine Institution:",-1))),yw=fw((()=>(0,o.Lk)("label",null,"Wählen Sie welche Elemente angezeigt werden sollen:",-1))),vw={class:"display-options"},ww=fw((()=>(0,o.Lk)("label",{for:"displayStyle"},"Anzeigen als",-1))),bw=["value"];function kw(t,e,n,s,l,a){const c=(0,o.g2)("multiselect");return(0,o.uX)(),(0,o.CE)("div",null,[s.isOpen?((0,o.uX)(),(0,o.CE)("div",mw,[(0,o.Lk)("div",gw,[xw,(0,o.Lk)("div",null,[Mw,(0,o.bF)(c,{id:"institution-select",modelValue:s.selectedInstitution,"onUpdate:modelValue":e[0]||(e[0]=t=>s.selectedInstitution=t),options:s.institutionOptions,multiple:!1,label:"name","track-by":"id",onSelect:s.onInstitutionSelect},null,8,["modelValue","options","onSelect"])]),(0,o.Lk)("div",null,[yw,(0,o.Lk)("div",vw,[(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[1]||(e[1]=t=>s.displayOptions.street=t)},null,512),[[i.lH,s.displayOptions.street]]),(0,o.eW)(" Straße")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[2]||(e[2]=t=>s.displayOptions.zipcode=t)},null,512),[[i.lH,s.displayOptions.zipcode]]),(0,o.eW)(" Postleitzahl")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[3]||(e[3]=t=>s.displayOptions.city=t)},null,512),[[i.lH,s.displayOptions.city]]),(0,o.eW)(" Stadt")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[4]||(e[4]=t=>s.displayOptions.phone=t)},null,512),[[i.lH,s.displayOptions.phone]]),(0,o.eW)(" Telefon")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[5]||(e[5]=t=>s.displayOptions.fax=t)},null,512),[[i.lH,s.displayOptions.fax]]),(0,o.eW)(" Fax")]),(0,o.Lk)("label",null,[(0,o.bo)((0,o.Lk)("input",{type:"checkbox","onUpdate:modelValue":e[6]||(e[6]=t=>s.displayOptions.email=t)},null,512),[[i.lH,s.displayOptions.email]]),(0,o.eW)(" E-Mail")])]),(0,o.Lk)("div",null,[ww,(0,o.bo)((0,o.Lk)("select",{id:"displayStyle","onUpdate:modelValue":e[7]||(e[7]=t=>s.displayStyle=t)},[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(s.displayStyles,(t=>((0,o.uX)(),(0,o.CE)("option",{value:t.id,key:t.id},(0,r.v_)(t.label),9,bw)))),128))],512),[[i.u1,s.displayStyle]])])]),(0,o.Lk)("div",null,[(0,o.Lk)("button",{onClick:e[8]||(e[8]=(...t)=>s.confirmAddInstitutionConfiguration&&s.confirmAddInstitutionConfiguration(...t))},"Bestätigen"),(0,o.Lk)("button",{onClick:e[9]||(e[9]=(...t)=>s.closeAddInstitutionDialog&&s.closeAddInstitutionDialog(...t))},"Schließen")])])])):(0,o.Q3)("",!0)])}var Ww={name:"AddInstitutionDialog",components:{Multiselect:_y.Ay},emits:["confirm"],setup(t,{emit:e}){const n=(0,g.KR)(!1),o=(0,g.KR)([]),r=(0,g.KR)(null),i=(0,g.KR)("float"),s=(0,g.KR)({street:!1,zipcode:!1,city:!1,phone:!1,fax:!1,email:!1}),l=(0,g.KR)([{id:"all",name:"Alle"},...o.value]),a=(0,g.KR)([{id:"float",label:"Durchlaufender Text"},{id:"box",label:"Textbox"}]),c=()=>{n.value=!0,u()},p=()=>{n.value=!1},d=()=>{r.value&&"all"===r.value.id&&(l.value=[{id:"all",name:"Alle"}],r.value={id:"all",name:"Alle"})},h=()=>{const t=Object.keys(s.value).filter((t=>s.value[t])),n={id:r.value.id,display:t,style:i.value},o=`{{ institution:${JSON.stringify(n)} }}`;e("confirm",o),p()},u=async()=>{try{const t=await M.A.get("/institutions");o.value=t.data,l.value=[{id:"all",name:"Alle"},...o.value]}catch(t){console.error("Fehler beim Laden der Institutionen:",t)}};return{isOpen:n,institutions:o,selectedInstitution:r,displayOptions:s,displayStyle:i,displayStyles:a,institutionOptions:l,openAddInstitutionDialog:c,closeAddInstitutionDialog:p,confirmAddInstitutionConfiguration:h,onInstitutionSelect:d}}};const Qw=(0,Uy.A)(Ww,[["render",kw],["__scopeId","data-v-1dd5c408"]]);var Cw=Qw;const Sw=Symbol(),Ow=Sw,Tw=((0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),(t,e)=>{const n=t.__vccOpts||t;for(const[o,r]of e)n[o]=r;return n});(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const Aw=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Ew=(0,o.Fv)('',8),Lw=[Ew];function Nw(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Lw,16)}const Dw=Tw(Aw,[["render",Nw]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const Rw=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Iw=(0,o.Fv)('',8),Pw=[Iw];function Hw(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Pw,16)}const $w=Tw(Rw,[["render",Hw]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const Bw=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),zw=(0,o.Lk)("path",{d:"M12 3L12 21M12 21L20.5 12.5M12 21L3.5 12.5",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Vw=[zw];function Fw(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"1.5",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Vw,16)}const jw=Tw(Bw,[["render",Fw]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const Kw=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),_w=(0,o.Lk)("path",{d:"M3 12L21 12M21 12L12.5 3.5M21 12L12.5 20.5",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),qw=[_w];function Uw(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"1.5",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),qw,16)}const Jw=Tw(Kw,[["render",Uw]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const Xw=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Gw=(0,o.Lk)("path",{d:"M12 11.6667H8M12 11.6667C12 11.6667 15.3333 11.6667 15.3333 8.33333C15.3333 5.00002 12 5 12 5C12 5 12 5 12 5H8.6C8.26863 5 8 5.26863 8 5.6V11.6667M12 11.6667C12 11.6667 16 11.6667 16 15.3333C16 19 12 19 12 19C12 19 12 19 12 19H8.6C8.26863 19 8 18.7314 8 18.4V11.6667",stroke:"currentColor","stroke-width":"1.5"},null,-1),Yw=[Gw];function Zw(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Yw,16)}const tb=Tw(Xw,[["render",Zw]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const eb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),nb=(0,o.Lk)("path",{d:"M6 20L18 20",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),ob=(0,o.Lk)("path",{d:"M12 4V16M12 16L15.5 12.5M12 16L8.5 12.5",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),rb=[nb,ob];function ib(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),rb,16)}const sb=Tw(eb,[["render",ib]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const lb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),ab=(0,o.Lk)("path",{d:"M11 5L14 5M17 5L14 5M14 5L10 19M10 19L7 19M10 19L13 19",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),cb=[ab];function pb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),cb,16)}const db=Tw(lb,[["render",pb]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const hb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),ub=(0,o.Fv)('',6),fb=[ub];function mb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),fb,16)}const gb=Tw(hb,[["render",mb]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const xb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Mb=(0,o.Fv)('',7),yb=[Mb];function vb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"1.5",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),yb,16)}const wb=Tw(xb,[["render",vb]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const bb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),kb=(0,o.Lk)("path",{d:"M8 21H20.4C20.7314 21 21 20.7314 21 20.4V3.6C21 3.26863 20.7314 3 20.4 3H3.6C3.26863 3 3 3.26863 3 3.6V16",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Wb=(0,o.Lk)("path",{d:"M3.5 20.5L12 12M12 12V16M12 12H8",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Qb=[kb,Wb];function Cb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Qb,16)}const Sb=Tw(bb,[["render",Cb]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const Ob=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Tb=(0,o.Fv)('',5),Ab=[Tb];function Eb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Ab,16)}const Lb=Tw(Ob,[["render",Eb]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const Nb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Db=(0,o.Lk)("path",{d:"M3 12L21 12",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Rb=(0,o.Lk)("path",{d:"M16.2857 3L10.068 3C7.82129 3 6 4.82129 6 7.06797C6 8.81895 7.12044 10.3735 8.78157 10.9272L12 12M6 21H13.932C16.1787 21 18 19.1787 18 16.932C18 16.2409 17.8255 15.5804 17.512 15",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Ib=[Db,Rb];function Pb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24",viewBox:"0 0 24 24","stroke-width":"1.5",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Ib,16)}const Hb=Tw(Nb,[["render",Pb]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const $b=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Bb=(0,o.Fv)('',5),zb=[Bb];function Vb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),zb,16)}const Fb=Tw($b,[["render",Vb]]),jb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Kb=(0,o.Lk)("path",{d:"M3 12H7.5H12H16.5H21M3 12V16.5M3 12V7.5M21 12V16.5M21 12V7.5M3 16.5V20.4C3 20.7314 3.26863 21 3.6 21H7.5H12H16.5H20.4C20.7314 21 21 20.7314 21 20.4V16.5M3 16.5H7.5H12H16.5H21M21 7.5V3.6C21 3.26863 20.7314 3 20.4 3H16.5H12H7.5H3.6C3.26863 3 3 3.26863 3 3.6V7.5M21 7.5H16.5H12H7.5H3",stroke:"currentColor","stroke-width":"1.5"},null,-1),_b=[Kb];function qb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),_b,16)}const Ub=Tw(jb,[["render",qb]]),Jb=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),Xb=(0,o.Fv)('',7),Gb=[Xb];function Yb(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),Gb,16)}const Zb=Tw(Jb,[["render",Yb]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));const tk=(0,o.pM)((()=>({context:(0,o.WQ)(Ow)}))),ek=(0,o.Lk)("path",{d:"M16 5V11C16 13.2091 14.2091 15 12 15V15C9.79086 15 8 13.2091 8 11V5",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),nk=(0,o.Lk)("path",{d:"M6 19L18 19",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),ok=[ek,nk];function rk(t,e,n,r,i,s){return(0,o.uX)(),(0,o.CE)("svg",(0,o.v6)({width:"24",height:"24","stroke-width":"1.5",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.context),ok,16)}const ik=Tw(tk,[["render",rk]]);(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));(0,o.pM)((()=>({context:(0,o.WQ)(Ow)})));var sk={name:"EditPagesComponent",components:{EditorContent:sf,WorshipDialog:Xy,AddImageDialog:cv,BoldIcon:tb,ItalicIcon:db,UnderlineIcon:ik,StrikethroughIcon:Hb,ListIcon:gb,NumberedListLeftIcon:wb,TableIcon:Zb,Table2ColumnsIcon:Fb,ArrowDownIcon:jw,ArrowRightIcon:Jw,TableRowsIcon:Ub,AlignTopBoxIcon:$w,AlignLeftBoxIcon:Dw,StatsReportIcon:Lb,AddEventDialog:qv,AddContactDialog:Av,AddLinkDialog:ow,AddDownloadDialog:uw,AddInstitutionDialog:Cw,OpenInWindowIcon:Sb,DownloadIcon:sb},setup(){const t=(0,x.Pj)(),e=(0,g.KR)([]),n=(0,g.KR)(""),r=(0,o.EW)((()=>t.state.pageContent)),i=(0,g.KR)(null),s=(0,g.KR)(null),l=(0,g.KR)(null),a=(0,g.KR)(null),c=(0,g.KR)(null),p=(0,g.KR)(null),d=(0,g.KR)(null),h=(0,g.KR)(null),u=lf({extensions:[Am,Wx.configure({resizable:!0}),Qx,Hy,$y,ff,ym,Cx,Om,Mf,Wm,zf.configure({levels:[1,2,3]}),Ny.configure({openOnClick:!1}),Dy,Ry],content:"",onUpdate:({editor:e})=>{t.commit("SET_PAGE_CONTENT",e.getHTML())}}),f=(t,e,n="")=>{t.forEach((t=>{const o=n?`${n} -> ${t.name}`:t.name;e.push({...t,name:o}),t.submenu&&t.submenu.length&&f(t.submenu,e,o)}))},m=async()=>{try{const n=await M.A.get("/menu-data"),o=n.data,r=[];f(o,r),e.value=r.sort(((t,e)=>t.name.localeCompare(e.name))),t.commit("setMenuData",o)}catch(n){console.error("Fehler beim Abrufen der Seiten:",n)}},y=async()=>{try{await t.dispatch("loadPageContent",n.value);const e=t.getters.pageContent,o=()=>{u.value&&u.value.commands?u.value.commands.setContent(e,!1):setTimeout(o,100)};o()}catch(e){console.error("Fehler beim Laden des Seiteninhalts:",e)}},v=async()=>{try{const o=e.value.find((t=>t.link===n.value))?.name||"";if(!o)return;const r=u.value.getHTML();t.commit("SET_PAGE_CONTENT",r),await t.dispatch("savePageContent",{link:n.value,name:o})}catch(o){console.error("Fehler beim Speichern des Seiteninhalts:",o)}};(0,o.sV)(m);const w=(0,o.EW)((()=>e.value));(0,o.wB)(n,(n=>{t.dispatch("setSelectedPage",n);const o=e.value.find((t=>t.link===n));o&&t.dispatch("setPageTitle",o.name),y()}));const b=()=>{i.value.openWorshipDialog()},k=()=>{s.value.openAddImageDialog()},W=t=>{if(u.value){const e={location:t,order:"date asc"};u.value.chain().focus().insertContent("{{ worshipslist:"+JSON.stringify(e)+" }}").run()}},Q=t=>{u.value&&u.value.chain().focus().insertContent(`{{ image:${t} }}`).run()},C=()=>{l.value.openAddEventDialog()},S=t=>{u.value&&u.value.chain().focus().insertContent(t).run()},O=()=>{a.value.openAddContactDialog()},T=t=>{u.value&&u.value.chain().focus().insertContent(t).run()},A=()=>{c.value.openAddLinkDialog()},E=({url:t,text:e})=>{t&&e&&u.value&&u.value.chain().focus().extendMarkRange("link").setLink({href:t}).insertContent(e).run()},L=()=>{p.value.openAddDownloadDialog()},N=({hash:t})=>{if(t&&u.value){const e="{{ download:"+t+" }}";u.value.chain().focus().insertContent(e).run()}},D=()=>{d.value.openAddInstitutionDialog()},R=t=>{u.value&&u.value.chain().focus().insertContent(t).run()},I=()=>{h.value.click()},P=t=>{const e=t.target.value;u.value&&u.value.chain().focus().setColor(e).run()},H=t=>{u.value.chain().focus().toggleHeading({level:t}).run()},$=()=>{u.value.chain().focus().toggleItalic().run()},B=()=>{u.value.chain().focus().toggleBold().run()},z=()=>{u.value.chain().focus().toggleUnderline().run()},V=()=>{u.value.chain().focus().toggleStrike().run()},F=()=>{u.value.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run()},j=()=>{u.value.chain().focus().toggleBulletList().run()},K=()=>{u.value.chain().focus().toggleOrderedList().run()};return{pages:e,sortedPages:w,selectedPage:n,editor:u,loadPageContent:y,savePageContent:v,pageHtmlContent:r,openWorshipDialog:b,insertWorshipList:W,worshipDialog:i,addImageDialog:s,openAddImageDialog:k,insertImage:Q,addEventDialog:l,openAddEventsDialog:C,addContactDialog:a,openAddContactDialog:O,insertContact:T,insertEvent:S,addLinkDialog:c,openAddLinkDialog:A,insertLink:E,addDownloadDialog:p,openAddDownloadDialog:L,insertDownload:N,addInstitutionDialog:d,openAddInstitutionDialog:D,insertInstitution:R,colorPicker:h,openColorPicker:I,setColor:P,toggleHeading:H,toggleBold:B,toggleItalic:$,toggleUnderline:z,toggleStrike:V,insertTable:F,toggleBulletList:j,toggleOrderedList:K}}};const lk=(0,Uy.A)(sk,[["render",m],["__scopeId","data-v-35f9b467"]]);var ak=lk}}]); +//# sourceMappingURL=8712.1e0ea3f5.js.map \ No newline at end of file diff --git a/public/js/8712.1e0ea3f5.js.map b/public/js/8712.1e0ea3f5.js.map new file mode 100644 index 0000000..e0d48a2 --- /dev/null +++ b/public/js/8712.1e0ea3f5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/8712.1e0ea3f5.js","mappings":"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","sources":["webpack://miriamgemeinde/./src/content/admin/EditPagesComponent.vue","webpack://miriamgemeinde/./node_modules/orderedmap/dist/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-model/dist/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-transform/dist/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-state/dist/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-view/dist/index.js","webpack://miriamgemeinde/./node_modules/w3c-keyname/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-keymap/dist/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-commands/dist/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-schema-list/dist/index.js","webpack://miriamgemeinde/../src/helpers/createChainableState.ts","webpack://miriamgemeinde/../src/CommandManager.ts","webpack://miriamgemeinde/../src/EventEmitter.ts","webpack://miriamgemeinde/../src/helpers/getExtensionField.ts","webpack://miriamgemeinde/../src/helpers/splitExtensions.ts","webpack://miriamgemeinde/../src/helpers/getAttributesFromExtensions.ts","webpack://miriamgemeinde/../src/helpers/getNodeType.ts","webpack://miriamgemeinde/../src/utilities/mergeAttributes.ts","webpack://miriamgemeinde/../src/helpers/getRenderedAttributes.ts","webpack://miriamgemeinde/../src/utilities/isFunction.ts","webpack://miriamgemeinde/../src/utilities/callOrReturn.ts","webpack://miriamgemeinde/../src/utilities/isEmptyObject.ts","webpack://miriamgemeinde/../src/utilities/fromString.ts","webpack://miriamgemeinde/../src/helpers/injectExtensionAttributesToParseRule.ts","webpack://miriamgemeinde/../src/helpers/getSchemaByResolvedExtensions.ts","webpack://miriamgemeinde/../src/helpers/getSchemaTypeByName.ts","webpack://miriamgemeinde/../src/helpers/isExtensionRulesEnabled.ts","webpack://miriamgemeinde/../src/helpers/getTextContentFromNodes.ts","webpack://miriamgemeinde/../src/utilities/isRegExp.ts","webpack://miriamgemeinde/../src/InputRule.ts","webpack://miriamgemeinde/../src/utilities/isNumber.ts","webpack://miriamgemeinde/../src/PasteRule.ts","webpack://miriamgemeinde/../src/utilities/findDuplicates.ts","webpack://miriamgemeinde/../src/ExtensionManager.ts","webpack://miriamgemeinde/../src/utilities/isPlainObject.ts","webpack://miriamgemeinde/../src/utilities/mergeDeep.ts","webpack://miriamgemeinde/../src/Extension.ts","webpack://miriamgemeinde/../src/helpers/getTextBetween.ts","webpack://miriamgemeinde/../src/helpers/getTextSerializersFromSchema.ts","webpack://miriamgemeinde/../src/extensions/clipboardTextSerializer.ts","webpack://miriamgemeinde/../src/commands/blur.ts","webpack://miriamgemeinde/../src/commands/clearContent.ts","webpack://miriamgemeinde/../src/commands/clearNodes.ts","webpack://miriamgemeinde/../src/commands/command.ts","webpack://miriamgemeinde/../src/commands/createParagraphNear.ts","webpack://miriamgemeinde/../src/commands/cut.ts","webpack://miriamgemeinde/../src/commands/deleteCurrentNode.ts","webpack://miriamgemeinde/../src/commands/deleteNode.ts","webpack://miriamgemeinde/../src/commands/deleteRange.ts","webpack://miriamgemeinde/../src/commands/deleteSelection.ts","webpack://miriamgemeinde/../src/commands/enter.ts","webpack://miriamgemeinde/../src/commands/exitCode.ts","webpack://miriamgemeinde/../src/utilities/objectIncludes.ts","webpack://miriamgemeinde/../src/helpers/getMarkRange.ts","webpack://miriamgemeinde/../src/helpers/getMarkType.ts","webpack://miriamgemeinde/../src/commands/extendMarkRange.ts","webpack://miriamgemeinde/../src/commands/first.ts","webpack://miriamgemeinde/../src/helpers/isTextSelection.ts","webpack://miriamgemeinde/../src/utilities/minMax.ts","webpack://miriamgemeinde/../src/helpers/resolveFocusPosition.ts","webpack://miriamgemeinde/../src/utilities/isiOS.ts","webpack://miriamgemeinde/../src/commands/focus.ts","webpack://miriamgemeinde/../src/commands/forEach.ts","webpack://miriamgemeinde/../src/commands/insertContent.ts","webpack://miriamgemeinde/../src/utilities/elementFromString.ts","webpack://miriamgemeinde/../src/helpers/createNodeFromContent.ts","webpack://miriamgemeinde/../src/helpers/selectionToInsertionEnd.ts","webpack://miriamgemeinde/../src/commands/insertContentAt.ts","webpack://miriamgemeinde/../src/commands/join.ts","webpack://miriamgemeinde/../src/commands/joinItemBackward.ts","webpack://miriamgemeinde/../src/commands/joinItemForward.ts","webpack://miriamgemeinde/../src/commands/joinTextblockBackward.ts","webpack://miriamgemeinde/../src/commands/joinTextblockForward.ts","webpack://miriamgemeinde/../src/utilities/isMacOS.ts","webpack://miriamgemeinde/../src/commands/keyboardShortcut.ts","webpack://miriamgemeinde/../src/helpers/isNodeActive.ts","webpack://miriamgemeinde/../src/commands/lift.ts","webpack://miriamgemeinde/../src/commands/liftEmptyBlock.ts","webpack://miriamgemeinde/../src/commands/liftListItem.ts","webpack://miriamgemeinde/../src/commands/newlineInCode.ts","webpack://miriamgemeinde/../src/helpers/getSchemaTypeNameByName.ts","webpack://miriamgemeinde/../src/utilities/deleteProps.ts","webpack://miriamgemeinde/../src/commands/resetAttributes.ts","webpack://miriamgemeinde/../src/commands/scrollIntoView.ts","webpack://miriamgemeinde/../src/commands/selectAll.ts","webpack://miriamgemeinde/../src/commands/selectNodeBackward.ts","webpack://miriamgemeinde/../src/commands/selectNodeForward.ts","webpack://miriamgemeinde/../src/commands/selectParentNode.ts","webpack://miriamgemeinde/../src/commands/selectTextblockEnd.ts","webpack://miriamgemeinde/../src/commands/selectTextblockStart.ts","webpack://miriamgemeinde/../src/helpers/createDocument.ts","webpack://miriamgemeinde/../src/commands/setContent.ts","webpack://miriamgemeinde/../src/helpers/getMarkAttributes.ts","webpack://miriamgemeinde/../src/helpers/combineTransactionSteps.ts","webpack://miriamgemeinde/../src/helpers/defaultBlockAt.ts","webpack://miriamgemeinde/../src/helpers/findChildrenInRange.ts","webpack://miriamgemeinde/../src/helpers/findParentNodeClosestToPos.ts","webpack://miriamgemeinde/../src/helpers/findParentNode.ts","webpack://miriamgemeinde/../src/helpers/getHTMLFromFragment.ts","webpack://miriamgemeinde/../src/helpers/getText.ts","webpack://miriamgemeinde/../src/helpers/getNodeAttributes.ts","webpack://miriamgemeinde/../src/helpers/getAttributes.ts","webpack://miriamgemeinde/../src/utilities/removeDuplicates.ts","webpack://miriamgemeinde/../src/helpers/getChangedRanges.ts","webpack://miriamgemeinde/../src/helpers/getMarksBetween.ts","webpack://miriamgemeinde/../src/helpers/getSplittedAttributes.ts","webpack://miriamgemeinde/../src/helpers/isMarkActive.ts","webpack://miriamgemeinde/../src/helpers/isActive.ts","webpack://miriamgemeinde/../src/helpers/isList.ts","webpack://miriamgemeinde/../src/helpers/isNodeEmpty.ts","webpack://miriamgemeinde/../src/helpers/isNodeSelection.ts","webpack://miriamgemeinde/../src/helpers/posToDOMRect.ts","webpack://miriamgemeinde/../src/commands/setMark.ts","webpack://miriamgemeinde/../src/commands/setMeta.ts","webpack://miriamgemeinde/../src/commands/setNode.ts","webpack://miriamgemeinde/../src/commands/setNodeSelection.ts","webpack://miriamgemeinde/../src/commands/setTextSelection.ts","webpack://miriamgemeinde/../src/commands/sinkListItem.ts","webpack://miriamgemeinde/../src/commands/splitBlock.ts","webpack://miriamgemeinde/../src/commands/splitListItem.ts","webpack://miriamgemeinde/../src/commands/toggleList.ts","webpack://miriamgemeinde/../src/commands/toggleMark.ts","webpack://miriamgemeinde/../src/commands/toggleNode.ts","webpack://miriamgemeinde/../src/commands/toggleWrap.ts","webpack://miriamgemeinde/../src/commands/undoInputRule.ts","webpack://miriamgemeinde/../src/commands/unsetAllMarks.ts","webpack://miriamgemeinde/../src/commands/unsetMark.ts","webpack://miriamgemeinde/../src/commands/updateAttributes.ts","webpack://miriamgemeinde/../src/commands/wrapIn.ts","webpack://miriamgemeinde/../src/commands/wrapInList.ts","webpack://miriamgemeinde/../src/extensions/commands.ts","webpack://miriamgemeinde/../src/extensions/editable.ts","webpack://miriamgemeinde/../src/extensions/focusEvents.ts","webpack://miriamgemeinde/../src/extensions/keymap.ts","webpack://miriamgemeinde/../src/extensions/tabindex.ts","webpack://miriamgemeinde/../src/NodePos.ts","webpack://miriamgemeinde/../src/style.ts","webpack://miriamgemeinde/../src/utilities/createStyleTag.ts","webpack://miriamgemeinde/../src/Editor.ts","webpack://miriamgemeinde/../src/inputRules/markInputRule.ts","webpack://miriamgemeinde/../src/inputRules/nodeInputRule.ts","webpack://miriamgemeinde/../src/inputRules/textblockTypeInputRule.ts","webpack://miriamgemeinde/../src/inputRules/wrappingInputRule.ts","webpack://miriamgemeinde/../src/Mark.ts","webpack://miriamgemeinde/../src/Node.ts","webpack://miriamgemeinde/../src/pasteRules/markPasteRule.ts","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/math.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/enums.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/createPopper.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/utils/within.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://miriamgemeinde/./node_modules/@popperjs/core/lib/popper.js","webpack://miriamgemeinde/../src/constants.ts","webpack://miriamgemeinde/../src/utils.ts","webpack://miriamgemeinde/../src/dom-utils.ts","webpack://miriamgemeinde/../src/bindGlobalEventListeners.ts","webpack://miriamgemeinde/../src/browser.ts","webpack://miriamgemeinde/../src/props.ts","webpack://miriamgemeinde/../src/template.ts","webpack://miriamgemeinde/../src/createTippy.ts","webpack://miriamgemeinde/../src/index.ts","webpack://miriamgemeinde/../src/addons/createSingleton.ts","webpack://miriamgemeinde/../build/base.js","webpack://miriamgemeinde/../src/bubble-menu-plugin.ts","webpack://miriamgemeinde/../src/bubble-menu.ts","webpack://miriamgemeinde/../src/floating-menu-plugin.ts","webpack://miriamgemeinde/../src/floating-menu.ts","webpack://miriamgemeinde/../src/BubbleMenu.ts","webpack://miriamgemeinde/../src/EditorContent.ts","webpack://miriamgemeinde/../src/useEditor.ts","webpack://miriamgemeinde/../src/FloatingMenu.ts","webpack://miriamgemeinde/../src/NodeViewContent.ts","webpack://miriamgemeinde/../src/NodeViewWrapper.ts","webpack://miriamgemeinde/../src/VueNodeViewRenderer.ts","webpack://miriamgemeinde/../src/blockquote.ts","webpack://miriamgemeinde/../src/bold.ts","webpack://miriamgemeinde/../../extension-list-item/src/list-item.ts","webpack://miriamgemeinde/../../extension-text-style/src/text-style.ts","webpack://miriamgemeinde/../src/bullet-list.ts","webpack://miriamgemeinde/../src/code.ts","webpack://miriamgemeinde/../src/code-block.ts","webpack://miriamgemeinde/../src/document.ts","webpack://miriamgemeinde/./node_modules/prosemirror-dropcursor/dist/index.js","webpack://miriamgemeinde/../src/dropcursor.ts","webpack://miriamgemeinde/./node_modules/prosemirror-gapcursor/dist/index.js","webpack://miriamgemeinde/../src/gapcursor.ts","webpack://miriamgemeinde/../src/hard-break.ts","webpack://miriamgemeinde/../src/heading.ts","webpack://miriamgemeinde/./node_modules/rope-sequence/dist/index.js","webpack://miriamgemeinde/./node_modules/prosemirror-history/dist/index.js","webpack://miriamgemeinde/../src/history.ts","webpack://miriamgemeinde/../src/horizontal-rule.ts","webpack://miriamgemeinde/../src/italic.ts","webpack://miriamgemeinde/../src/list-item.ts","webpack://miriamgemeinde/../src/ordered-list.ts","webpack://miriamgemeinde/../src/paragraph.ts","webpack://miriamgemeinde/../src/strike.ts","webpack://miriamgemeinde/../src/text.ts","webpack://miriamgemeinde/../src/starter-kit.ts","webpack://miriamgemeinde/./node_modules/prosemirror-tables/dist/index.js","webpack://miriamgemeinde/../src/TableView.ts","webpack://miriamgemeinde/../src/utilities/createColGroup.ts","webpack://miriamgemeinde/../src/utilities/createCell.ts","webpack://miriamgemeinde/../src/utilities/getTableNodeTypes.ts","webpack://miriamgemeinde/../src/utilities/createTable.ts","webpack://miriamgemeinde/../src/utilities/isCellSelection.ts","webpack://miriamgemeinde/../src/utilities/deleteTableWhenAllCellsSelected.ts","webpack://miriamgemeinde/../src/table.ts","webpack://miriamgemeinde/../src/table-row.ts","webpack://miriamgemeinde/../src/underline.ts","webpack://miriamgemeinde/./node_modules/linkifyjs/dist/linkify.es.js","webpack://miriamgemeinde/../src/helpers/autolink.ts","webpack://miriamgemeinde/../src/helpers/clickHandler.ts","webpack://miriamgemeinde/../src/helpers/pasteHandler.ts","webpack://miriamgemeinde/../src/link.ts","webpack://miriamgemeinde/../src/text-style.ts","webpack://miriamgemeinde/../src/color.ts","webpack://miriamgemeinde/../src/table-cell.ts","webpack://miriamgemeinde/../src/table-header.ts","webpack://miriamgemeinde/./src/extensions/CustomTableCell.js","webpack://miriamgemeinde/./src/components/WorshipDialog.vue","webpack://miriamgemeinde/./src/components/WorshipDialog.vue?2ce0","webpack://miriamgemeinde/./src/components/AddImageDialog.vue","webpack://miriamgemeinde/./src/components/AddImageDialog.vue?363e","webpack://miriamgemeinde/./src/components/AddContactDialog.vue","webpack://miriamgemeinde/./src/components/AddContactDialog.vue?718d","webpack://miriamgemeinde/./src/components/AddEventDialog.vue","webpack://miriamgemeinde/./src/components/AddEventDialog.vue?0609","webpack://miriamgemeinde/./src/components/AddLinkDialog.vue","webpack://miriamgemeinde/./src/components/AddLinkDialog.vue?5ed8","webpack://miriamgemeinde/./src/components/AddDownloadDialog.vue","webpack://miriamgemeinde/./src/components/AddDownloadDialog.vue?43c1","webpack://miriamgemeinde/./src/components/AddInstitutionDialog.vue","webpack://miriamgemeinde/./src/components/AddInstitutionDialog.vue?b3c9","webpack://miriamgemeinde/./node_modules/@iconoir/vue/dist/esm/index.mjs","webpack://miriamgemeinde/./src/content/admin/EditPagesComponent.vue?36c0"],"sourcesContent":["\n\n\n\n\n","// ::- Persistent data structure representing an ordered mapping from\n// strings to values, with some convenient update methods.\nfunction OrderedMap(content) {\n this.content = content;\n}\n\nOrderedMap.prototype = {\n constructor: OrderedMap,\n\n find: function(key) {\n for (var i = 0; i < this.content.length; i += 2)\n if (this.content[i] === key) return i\n return -1\n },\n\n // :: (string) → ?any\n // Retrieve the value stored under `key`, or return undefined when\n // no such key exists.\n get: function(key) {\n var found = this.find(key);\n return found == -1 ? undefined : this.content[found + 1]\n },\n\n // :: (string, any, ?string) → OrderedMap\n // Create a new map by replacing the value of `key` with a new\n // value, or adding a binding to the end of the map. If `newKey` is\n // given, the key of the binding will be replaced with that key.\n update: function(key, value, newKey) {\n var self = newKey && newKey != key ? this.remove(newKey) : this;\n var found = self.find(key), content = self.content.slice();\n if (found == -1) {\n content.push(newKey || key, value);\n } else {\n content[found + 1] = value;\n if (newKey) content[found] = newKey;\n }\n return new OrderedMap(content)\n },\n\n // :: (string) → OrderedMap\n // Return a map with the given key removed, if it existed.\n remove: function(key) {\n var found = this.find(key);\n if (found == -1) return this\n var content = this.content.slice();\n content.splice(found, 2);\n return new OrderedMap(content)\n },\n\n // :: (string, any) → OrderedMap\n // Add a new key to the start of the map.\n addToStart: function(key, value) {\n return new OrderedMap([key, value].concat(this.remove(key).content))\n },\n\n // :: (string, any) → OrderedMap\n // Add a new key to the end of the map.\n addToEnd: function(key, value) {\n var content = this.remove(key).content.slice();\n content.push(key, value);\n return new OrderedMap(content)\n },\n\n // :: (string, string, any) → OrderedMap\n // Add a key after the given key. If `place` is not found, the new\n // key is added to the end.\n addBefore: function(place, key, value) {\n var without = this.remove(key), content = without.content.slice();\n var found = without.find(place);\n content.splice(found == -1 ? content.length : found, 0, key, value);\n return new OrderedMap(content)\n },\n\n // :: ((key: string, value: any))\n // Call the given function for each key/value pair in the map, in\n // order.\n forEach: function(f) {\n for (var i = 0; i < this.content.length; i += 2)\n f(this.content[i], this.content[i + 1]);\n },\n\n // :: (union) → OrderedMap\n // Create a new map by prepending the keys in this map that don't\n // appear in `map` before the keys in `map`.\n prepend: function(map) {\n map = OrderedMap.from(map);\n if (!map.size) return this\n return new OrderedMap(map.content.concat(this.subtract(map).content))\n },\n\n // :: (union) → OrderedMap\n // Create a new map by appending the keys in this map that don't\n // appear in `map` after the keys in `map`.\n append: function(map) {\n map = OrderedMap.from(map);\n if (!map.size) return this\n return new OrderedMap(this.subtract(map).content.concat(map.content))\n },\n\n // :: (union) → OrderedMap\n // Create a map containing all the keys in this map that don't\n // appear in `map`.\n subtract: function(map) {\n var result = this;\n map = OrderedMap.from(map);\n for (var i = 0; i < map.content.length; i += 2)\n result = result.remove(map.content[i]);\n return result\n },\n\n // :: () → Object\n // Turn ordered map into a plain object.\n toObject: function() {\n var result = {};\n this.forEach(function(key, value) { result[key] = value; });\n return result\n },\n\n // :: number\n // The amount of keys in this map.\n get size() {\n return this.content.length >> 1\n }\n};\n\n// :: (?union) → OrderedMap\n// Return a map with the given content. If null, create an empty\n// map. If given an ordered map, return that map itself. If given an\n// object, create a map from the object's properties.\nOrderedMap.from = function(value) {\n if (value instanceof OrderedMap) return value\n var content = [];\n if (value) for (var prop in value) content.push(prop, value[prop]);\n return new OrderedMap(content)\n};\n\nexport default OrderedMap;\n","import OrderedMap from 'orderedmap';\n\nfunction findDiffStart(a, b, pos) {\n for (let i = 0;; i++) {\n if (i == a.childCount || i == b.childCount)\n return a.childCount == b.childCount ? null : pos;\n let childA = a.child(i), childB = b.child(i);\n if (childA == childB) {\n pos += childA.nodeSize;\n continue;\n }\n if (!childA.sameMarkup(childB))\n return pos;\n if (childA.isText && childA.text != childB.text) {\n for (let j = 0; childA.text[j] == childB.text[j]; j++)\n pos++;\n return pos;\n }\n if (childA.content.size || childB.content.size) {\n let inner = findDiffStart(childA.content, childB.content, pos + 1);\n if (inner != null)\n return inner;\n }\n pos += childA.nodeSize;\n }\n}\nfunction findDiffEnd(a, b, posA, posB) {\n for (let iA = a.childCount, iB = b.childCount;;) {\n if (iA == 0 || iB == 0)\n return iA == iB ? null : { a: posA, b: posB };\n let childA = a.child(--iA), childB = b.child(--iB), size = childA.nodeSize;\n if (childA == childB) {\n posA -= size;\n posB -= size;\n continue;\n }\n if (!childA.sameMarkup(childB))\n return { a: posA, b: posB };\n if (childA.isText && childA.text != childB.text) {\n let same = 0, minSize = Math.min(childA.text.length, childB.text.length);\n while (same < minSize && childA.text[childA.text.length - same - 1] == childB.text[childB.text.length - same - 1]) {\n same++;\n posA--;\n posB--;\n }\n return { a: posA, b: posB };\n }\n if (childA.content.size || childB.content.size) {\n let inner = findDiffEnd(childA.content, childB.content, posA - 1, posB - 1);\n if (inner)\n return inner;\n }\n posA -= size;\n posB -= size;\n }\n}\n\n/**\nA fragment represents a node's collection of child nodes.\n\nLike nodes, fragments are persistent data structures, and you\nshould not mutate them or their content. Rather, you create new\ninstances whenever needed. The API tries to make this easy.\n*/\nclass Fragment {\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n content, size) {\n this.content = content;\n this.size = size || 0;\n if (size == null)\n for (let i = 0; i < content.length; i++)\n this.size += content[i].nodeSize;\n }\n /**\n Invoke a callback for all descendant nodes between the given two\n positions (relative to start of this fragment). Doesn't descend\n into a node when the callback returns `false`.\n */\n nodesBetween(from, to, f, nodeStart = 0, parent) {\n for (let i = 0, pos = 0; pos < to; i++) {\n let child = this.content[i], end = pos + child.nodeSize;\n if (end > from && f(child, nodeStart + pos, parent || null, i) !== false && child.content.size) {\n let start = pos + 1;\n child.nodesBetween(Math.max(0, from - start), Math.min(child.content.size, to - start), f, nodeStart + start);\n }\n pos = end;\n }\n }\n /**\n Call the given callback for every descendant node. `pos` will be\n relative to the start of the fragment. The callback may return\n `false` to prevent traversal of a given node's children.\n */\n descendants(f) {\n this.nodesBetween(0, this.size, f);\n }\n /**\n Extract the text between `from` and `to`. See the same method on\n [`Node`](https://prosemirror.net/docs/ref/#model.Node.textBetween).\n */\n textBetween(from, to, blockSeparator, leafText) {\n let text = \"\", first = true;\n this.nodesBetween(from, to, (node, pos) => {\n let nodeText = node.isText ? node.text.slice(Math.max(from, pos) - pos, to - pos)\n : !node.isLeaf ? \"\"\n : leafText ? (typeof leafText === \"function\" ? leafText(node) : leafText)\n : node.type.spec.leafText ? node.type.spec.leafText(node)\n : \"\";\n if (node.isBlock && (node.isLeaf && nodeText || node.isTextblock) && blockSeparator) {\n if (first)\n first = false;\n else\n text += blockSeparator;\n }\n text += nodeText;\n }, 0);\n return text;\n }\n /**\n Create a new fragment containing the combined content of this\n fragment and the other.\n */\n append(other) {\n if (!other.size)\n return this;\n if (!this.size)\n return other;\n let last = this.lastChild, first = other.firstChild, content = this.content.slice(), i = 0;\n if (last.isText && last.sameMarkup(first)) {\n content[content.length - 1] = last.withText(last.text + first.text);\n i = 1;\n }\n for (; i < other.content.length; i++)\n content.push(other.content[i]);\n return new Fragment(content, this.size + other.size);\n }\n /**\n Cut out the sub-fragment between the two given positions.\n */\n cut(from, to = this.size) {\n if (from == 0 && to == this.size)\n return this;\n let result = [], size = 0;\n if (to > from)\n for (let i = 0, pos = 0; pos < to; i++) {\n let child = this.content[i], end = pos + child.nodeSize;\n if (end > from) {\n if (pos < from || end > to) {\n if (child.isText)\n child = child.cut(Math.max(0, from - pos), Math.min(child.text.length, to - pos));\n else\n child = child.cut(Math.max(0, from - pos - 1), Math.min(child.content.size, to - pos - 1));\n }\n result.push(child);\n size += child.nodeSize;\n }\n pos = end;\n }\n return new Fragment(result, size);\n }\n /**\n @internal\n */\n cutByIndex(from, to) {\n if (from == to)\n return Fragment.empty;\n if (from == 0 && to == this.content.length)\n return this;\n return new Fragment(this.content.slice(from, to));\n }\n /**\n Create a new fragment in which the node at the given index is\n replaced by the given node.\n */\n replaceChild(index, node) {\n let current = this.content[index];\n if (current == node)\n return this;\n let copy = this.content.slice();\n let size = this.size + node.nodeSize - current.nodeSize;\n copy[index] = node;\n return new Fragment(copy, size);\n }\n /**\n Create a new fragment by prepending the given node to this\n fragment.\n */\n addToStart(node) {\n return new Fragment([node].concat(this.content), this.size + node.nodeSize);\n }\n /**\n Create a new fragment by appending the given node to this\n fragment.\n */\n addToEnd(node) {\n return new Fragment(this.content.concat(node), this.size + node.nodeSize);\n }\n /**\n Compare this fragment to another one.\n */\n eq(other) {\n if (this.content.length != other.content.length)\n return false;\n for (let i = 0; i < this.content.length; i++)\n if (!this.content[i].eq(other.content[i]))\n return false;\n return true;\n }\n /**\n The first child of the fragment, or `null` if it is empty.\n */\n get firstChild() { return this.content.length ? this.content[0] : null; }\n /**\n The last child of the fragment, or `null` if it is empty.\n */\n get lastChild() { return this.content.length ? this.content[this.content.length - 1] : null; }\n /**\n The number of child nodes in this fragment.\n */\n get childCount() { return this.content.length; }\n /**\n Get the child node at the given index. Raise an error when the\n index is out of range.\n */\n child(index) {\n let found = this.content[index];\n if (!found)\n throw new RangeError(\"Index \" + index + \" out of range for \" + this);\n return found;\n }\n /**\n Get the child node at the given index, if it exists.\n */\n maybeChild(index) {\n return this.content[index] || null;\n }\n /**\n Call `f` for every child node, passing the node, its offset\n into this parent node, and its index.\n */\n forEach(f) {\n for (let i = 0, p = 0; i < this.content.length; i++) {\n let child = this.content[i];\n f(child, p, i);\n p += child.nodeSize;\n }\n }\n /**\n Find the first position at which this fragment and another\n fragment differ, or `null` if they are the same.\n */\n findDiffStart(other, pos = 0) {\n return findDiffStart(this, other, pos);\n }\n /**\n Find the first position, searching from the end, at which this\n fragment and the given fragment differ, or `null` if they are\n the same. Since this position will not be the same in both\n nodes, an object with two separate positions is returned.\n */\n findDiffEnd(other, pos = this.size, otherPos = other.size) {\n return findDiffEnd(this, other, pos, otherPos);\n }\n /**\n Find the index and inner offset corresponding to a given relative\n position in this fragment. The result object will be reused\n (overwritten) the next time the function is called. (Not public.)\n */\n findIndex(pos, round = -1) {\n if (pos == 0)\n return retIndex(0, pos);\n if (pos == this.size)\n return retIndex(this.content.length, pos);\n if (pos > this.size || pos < 0)\n throw new RangeError(`Position ${pos} outside of fragment (${this})`);\n for (let i = 0, curPos = 0;; i++) {\n let cur = this.child(i), end = curPos + cur.nodeSize;\n if (end >= pos) {\n if (end == pos || round > 0)\n return retIndex(i + 1, end);\n return retIndex(i, curPos);\n }\n curPos = end;\n }\n }\n /**\n Return a debugging string that describes this fragment.\n */\n toString() { return \"<\" + this.toStringInner() + \">\"; }\n /**\n @internal\n */\n toStringInner() { return this.content.join(\", \"); }\n /**\n Create a JSON-serializeable representation of this fragment.\n */\n toJSON() {\n return this.content.length ? this.content.map(n => n.toJSON()) : null;\n }\n /**\n Deserialize a fragment from its JSON representation.\n */\n static fromJSON(schema, value) {\n if (!value)\n return Fragment.empty;\n if (!Array.isArray(value))\n throw new RangeError(\"Invalid input for Fragment.fromJSON\");\n return new Fragment(value.map(schema.nodeFromJSON));\n }\n /**\n Build a fragment from an array of nodes. Ensures that adjacent\n text nodes with the same marks are joined together.\n */\n static fromArray(array) {\n if (!array.length)\n return Fragment.empty;\n let joined, size = 0;\n for (let i = 0; i < array.length; i++) {\n let node = array[i];\n size += node.nodeSize;\n if (i && node.isText && array[i - 1].sameMarkup(node)) {\n if (!joined)\n joined = array.slice(0, i);\n joined[joined.length - 1] = node\n .withText(joined[joined.length - 1].text + node.text);\n }\n else if (joined) {\n joined.push(node);\n }\n }\n return new Fragment(joined || array, size);\n }\n /**\n Create a fragment from something that can be interpreted as a\n set of nodes. For `null`, it returns the empty fragment. For a\n fragment, the fragment itself. For a node or array of nodes, a\n fragment containing those nodes.\n */\n static from(nodes) {\n if (!nodes)\n return Fragment.empty;\n if (nodes instanceof Fragment)\n return nodes;\n if (Array.isArray(nodes))\n return this.fromArray(nodes);\n if (nodes.attrs)\n return new Fragment([nodes], nodes.nodeSize);\n throw new RangeError(\"Can not convert \" + nodes + \" to a Fragment\" +\n (nodes.nodesBetween ? \" (looks like multiple versions of prosemirror-model were loaded)\" : \"\"));\n }\n}\n/**\nAn empty fragment. Intended to be reused whenever a node doesn't\ncontain anything (rather than allocating a new empty fragment for\neach leaf node).\n*/\nFragment.empty = new Fragment([], 0);\nconst found = { index: 0, offset: 0 };\nfunction retIndex(index, offset) {\n found.index = index;\n found.offset = offset;\n return found;\n}\n\nfunction compareDeep(a, b) {\n if (a === b)\n return true;\n if (!(a && typeof a == \"object\") ||\n !(b && typeof b == \"object\"))\n return false;\n let array = Array.isArray(a);\n if (Array.isArray(b) != array)\n return false;\n if (array) {\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (!compareDeep(a[i], b[i]))\n return false;\n }\n else {\n for (let p in a)\n if (!(p in b) || !compareDeep(a[p], b[p]))\n return false;\n for (let p in b)\n if (!(p in a))\n return false;\n }\n return true;\n}\n\n/**\nA mark is a piece of information that can be attached to a node,\nsuch as it being emphasized, in code font, or a link. It has a\ntype and optionally a set of attributes that provide further\ninformation (such as the target of the link). Marks are created\nthrough a `Schema`, which controls which types exist and which\nattributes they have.\n*/\nclass Mark {\n /**\n @internal\n */\n constructor(\n /**\n The type of this mark.\n */\n type, \n /**\n The attributes associated with this mark.\n */\n attrs) {\n this.type = type;\n this.attrs = attrs;\n }\n /**\n Given a set of marks, create a new set which contains this one as\n well, in the right position. If this mark is already in the set,\n the set itself is returned. If any marks that are set to be\n [exclusive](https://prosemirror.net/docs/ref/#model.MarkSpec.excludes) with this mark are present,\n those are replaced by this one.\n */\n addToSet(set) {\n let copy, placed = false;\n for (let i = 0; i < set.length; i++) {\n let other = set[i];\n if (this.eq(other))\n return set;\n if (this.type.excludes(other.type)) {\n if (!copy)\n copy = set.slice(0, i);\n }\n else if (other.type.excludes(this.type)) {\n return set;\n }\n else {\n if (!placed && other.type.rank > this.type.rank) {\n if (!copy)\n copy = set.slice(0, i);\n copy.push(this);\n placed = true;\n }\n if (copy)\n copy.push(other);\n }\n }\n if (!copy)\n copy = set.slice();\n if (!placed)\n copy.push(this);\n return copy;\n }\n /**\n Remove this mark from the given set, returning a new set. If this\n mark is not in the set, the set itself is returned.\n */\n removeFromSet(set) {\n for (let i = 0; i < set.length; i++)\n if (this.eq(set[i]))\n return set.slice(0, i).concat(set.slice(i + 1));\n return set;\n }\n /**\n Test whether this mark is in the given set of marks.\n */\n isInSet(set) {\n for (let i = 0; i < set.length; i++)\n if (this.eq(set[i]))\n return true;\n return false;\n }\n /**\n Test whether this mark has the same type and attributes as\n another mark.\n */\n eq(other) {\n return this == other ||\n (this.type == other.type && compareDeep(this.attrs, other.attrs));\n }\n /**\n Convert this mark to a JSON-serializeable representation.\n */\n toJSON() {\n let obj = { type: this.type.name };\n for (let _ in this.attrs) {\n obj.attrs = this.attrs;\n break;\n }\n return obj;\n }\n /**\n Deserialize a mark from JSON.\n */\n static fromJSON(schema, json) {\n if (!json)\n throw new RangeError(\"Invalid input for Mark.fromJSON\");\n let type = schema.marks[json.type];\n if (!type)\n throw new RangeError(`There is no mark type ${json.type} in this schema`);\n return type.create(json.attrs);\n }\n /**\n Test whether two sets of marks are identical.\n */\n static sameSet(a, b) {\n if (a == b)\n return true;\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (!a[i].eq(b[i]))\n return false;\n return true;\n }\n /**\n Create a properly sorted mark set from null, a single mark, or an\n unsorted array of marks.\n */\n static setFrom(marks) {\n if (!marks || Array.isArray(marks) && marks.length == 0)\n return Mark.none;\n if (marks instanceof Mark)\n return [marks];\n let copy = marks.slice();\n copy.sort((a, b) => a.type.rank - b.type.rank);\n return copy;\n }\n}\n/**\nThe empty set of marks.\n*/\nMark.none = [];\n\n/**\nError type raised by [`Node.replace`](https://prosemirror.net/docs/ref/#model.Node.replace) when\ngiven an invalid replacement.\n*/\nclass ReplaceError extends Error {\n}\n/*\nReplaceError = function(this: any, message: string) {\n let err = Error.call(this, message)\n ;(err as any).__proto__ = ReplaceError.prototype\n return err\n} as any\n\nReplaceError.prototype = Object.create(Error.prototype)\nReplaceError.prototype.constructor = ReplaceError\nReplaceError.prototype.name = \"ReplaceError\"\n*/\n/**\nA slice represents a piece cut out of a larger document. It\nstores not only a fragment, but also the depth up to which nodes on\nboth side are ‘open’ (cut through).\n*/\nclass Slice {\n /**\n Create a slice. When specifying a non-zero open depth, you must\n make sure that there are nodes of at least that depth at the\n appropriate side of the fragment—i.e. if the fragment is an\n empty paragraph node, `openStart` and `openEnd` can't be greater\n than 1.\n \n It is not necessary for the content of open nodes to conform to\n the schema's content constraints, though it should be a valid\n start/end/middle for such a node, depending on which sides are\n open.\n */\n constructor(\n /**\n The slice's content.\n */\n content, \n /**\n The open depth at the start of the fragment.\n */\n openStart, \n /**\n The open depth at the end.\n */\n openEnd) {\n this.content = content;\n this.openStart = openStart;\n this.openEnd = openEnd;\n }\n /**\n The size this slice would add when inserted into a document.\n */\n get size() {\n return this.content.size - this.openStart - this.openEnd;\n }\n /**\n @internal\n */\n insertAt(pos, fragment) {\n let content = insertInto(this.content, pos + this.openStart, fragment);\n return content && new Slice(content, this.openStart, this.openEnd);\n }\n /**\n @internal\n */\n removeBetween(from, to) {\n return new Slice(removeRange(this.content, from + this.openStart, to + this.openStart), this.openStart, this.openEnd);\n }\n /**\n Tests whether this slice is equal to another slice.\n */\n eq(other) {\n return this.content.eq(other.content) && this.openStart == other.openStart && this.openEnd == other.openEnd;\n }\n /**\n @internal\n */\n toString() {\n return this.content + \"(\" + this.openStart + \",\" + this.openEnd + \")\";\n }\n /**\n Convert a slice to a JSON-serializable representation.\n */\n toJSON() {\n if (!this.content.size)\n return null;\n let json = { content: this.content.toJSON() };\n if (this.openStart > 0)\n json.openStart = this.openStart;\n if (this.openEnd > 0)\n json.openEnd = this.openEnd;\n return json;\n }\n /**\n Deserialize a slice from its JSON representation.\n */\n static fromJSON(schema, json) {\n if (!json)\n return Slice.empty;\n let openStart = json.openStart || 0, openEnd = json.openEnd || 0;\n if (typeof openStart != \"number\" || typeof openEnd != \"number\")\n throw new RangeError(\"Invalid input for Slice.fromJSON\");\n return new Slice(Fragment.fromJSON(schema, json.content), openStart, openEnd);\n }\n /**\n Create a slice from a fragment by taking the maximum possible\n open value on both side of the fragment.\n */\n static maxOpen(fragment, openIsolating = true) {\n let openStart = 0, openEnd = 0;\n for (let n = fragment.firstChild; n && !n.isLeaf && (openIsolating || !n.type.spec.isolating); n = n.firstChild)\n openStart++;\n for (let n = fragment.lastChild; n && !n.isLeaf && (openIsolating || !n.type.spec.isolating); n = n.lastChild)\n openEnd++;\n return new Slice(fragment, openStart, openEnd);\n }\n}\n/**\nThe empty slice.\n*/\nSlice.empty = new Slice(Fragment.empty, 0, 0);\nfunction removeRange(content, from, to) {\n let { index, offset } = content.findIndex(from), child = content.maybeChild(index);\n let { index: indexTo, offset: offsetTo } = content.findIndex(to);\n if (offset == from || child.isText) {\n if (offsetTo != to && !content.child(indexTo).isText)\n throw new RangeError(\"Removing non-flat range\");\n return content.cut(0, from).append(content.cut(to));\n }\n if (index != indexTo)\n throw new RangeError(\"Removing non-flat range\");\n return content.replaceChild(index, child.copy(removeRange(child.content, from - offset - 1, to - offset - 1)));\n}\nfunction insertInto(content, dist, insert, parent) {\n let { index, offset } = content.findIndex(dist), child = content.maybeChild(index);\n if (offset == dist || child.isText) {\n if (parent && !parent.canReplace(index, index, insert))\n return null;\n return content.cut(0, dist).append(insert).append(content.cut(dist));\n }\n let inner = insertInto(child.content, dist - offset - 1, insert);\n return inner && content.replaceChild(index, child.copy(inner));\n}\nfunction replace($from, $to, slice) {\n if (slice.openStart > $from.depth)\n throw new ReplaceError(\"Inserted content deeper than insertion position\");\n if ($from.depth - slice.openStart != $to.depth - slice.openEnd)\n throw new ReplaceError(\"Inconsistent open depths\");\n return replaceOuter($from, $to, slice, 0);\n}\nfunction replaceOuter($from, $to, slice, depth) {\n let index = $from.index(depth), node = $from.node(depth);\n if (index == $to.index(depth) && depth < $from.depth - slice.openStart) {\n let inner = replaceOuter($from, $to, slice, depth + 1);\n return node.copy(node.content.replaceChild(index, inner));\n }\n else if (!slice.content.size) {\n return close(node, replaceTwoWay($from, $to, depth));\n }\n else if (!slice.openStart && !slice.openEnd && $from.depth == depth && $to.depth == depth) { // Simple, flat case\n let parent = $from.parent, content = parent.content;\n return close(parent, content.cut(0, $from.parentOffset).append(slice.content).append(content.cut($to.parentOffset)));\n }\n else {\n let { start, end } = prepareSliceForReplace(slice, $from);\n return close(node, replaceThreeWay($from, start, end, $to, depth));\n }\n}\nfunction checkJoin(main, sub) {\n if (!sub.type.compatibleContent(main.type))\n throw new ReplaceError(\"Cannot join \" + sub.type.name + \" onto \" + main.type.name);\n}\nfunction joinable($before, $after, depth) {\n let node = $before.node(depth);\n checkJoin(node, $after.node(depth));\n return node;\n}\nfunction addNode(child, target) {\n let last = target.length - 1;\n if (last >= 0 && child.isText && child.sameMarkup(target[last]))\n target[last] = child.withText(target[last].text + child.text);\n else\n target.push(child);\n}\nfunction addRange($start, $end, depth, target) {\n let node = ($end || $start).node(depth);\n let startIndex = 0, endIndex = $end ? $end.index(depth) : node.childCount;\n if ($start) {\n startIndex = $start.index(depth);\n if ($start.depth > depth) {\n startIndex++;\n }\n else if ($start.textOffset) {\n addNode($start.nodeAfter, target);\n startIndex++;\n }\n }\n for (let i = startIndex; i < endIndex; i++)\n addNode(node.child(i), target);\n if ($end && $end.depth == depth && $end.textOffset)\n addNode($end.nodeBefore, target);\n}\nfunction close(node, content) {\n node.type.checkContent(content);\n return node.copy(content);\n}\nfunction replaceThreeWay($from, $start, $end, $to, depth) {\n let openStart = $from.depth > depth && joinable($from, $start, depth + 1);\n let openEnd = $to.depth > depth && joinable($end, $to, depth + 1);\n let content = [];\n addRange(null, $from, depth, content);\n if (openStart && openEnd && $start.index(depth) == $end.index(depth)) {\n checkJoin(openStart, openEnd);\n addNode(close(openStart, replaceThreeWay($from, $start, $end, $to, depth + 1)), content);\n }\n else {\n if (openStart)\n addNode(close(openStart, replaceTwoWay($from, $start, depth + 1)), content);\n addRange($start, $end, depth, content);\n if (openEnd)\n addNode(close(openEnd, replaceTwoWay($end, $to, depth + 1)), content);\n }\n addRange($to, null, depth, content);\n return new Fragment(content);\n}\nfunction replaceTwoWay($from, $to, depth) {\n let content = [];\n addRange(null, $from, depth, content);\n if ($from.depth > depth) {\n let type = joinable($from, $to, depth + 1);\n addNode(close(type, replaceTwoWay($from, $to, depth + 1)), content);\n }\n addRange($to, null, depth, content);\n return new Fragment(content);\n}\nfunction prepareSliceForReplace(slice, $along) {\n let extra = $along.depth - slice.openStart, parent = $along.node(extra);\n let node = parent.copy(slice.content);\n for (let i = extra - 1; i >= 0; i--)\n node = $along.node(i).copy(Fragment.from(node));\n return { start: node.resolveNoCache(slice.openStart + extra),\n end: node.resolveNoCache(node.content.size - slice.openEnd - extra) };\n}\n\n/**\nYou can [_resolve_](https://prosemirror.net/docs/ref/#model.Node.resolve) a position to get more\ninformation about it. Objects of this class represent such a\nresolved position, providing various pieces of context\ninformation, and some helper methods.\n\nThroughout this interface, methods that take an optional `depth`\nparameter will interpret undefined as `this.depth` and negative\nnumbers as `this.depth + value`.\n*/\nclass ResolvedPos {\n /**\n @internal\n */\n constructor(\n /**\n The position that was resolved.\n */\n pos, \n /**\n @internal\n */\n path, \n /**\n The offset this position has into its parent node.\n */\n parentOffset) {\n this.pos = pos;\n this.path = path;\n this.parentOffset = parentOffset;\n this.depth = path.length / 3 - 1;\n }\n /**\n @internal\n */\n resolveDepth(val) {\n if (val == null)\n return this.depth;\n if (val < 0)\n return this.depth + val;\n return val;\n }\n /**\n The parent node that the position points into. Note that even if\n a position points into a text node, that node is not considered\n the parent—text nodes are ‘flat’ in this model, and have no content.\n */\n get parent() { return this.node(this.depth); }\n /**\n The root node in which the position was resolved.\n */\n get doc() { return this.node(0); }\n /**\n The ancestor node at the given level. `p.node(p.depth)` is the\n same as `p.parent`.\n */\n node(depth) { return this.path[this.resolveDepth(depth) * 3]; }\n /**\n The index into the ancestor at the given level. If this points\n at the 3rd node in the 2nd paragraph on the top level, for\n example, `p.index(0)` is 1 and `p.index(1)` is 2.\n */\n index(depth) { return this.path[this.resolveDepth(depth) * 3 + 1]; }\n /**\n The index pointing after this position into the ancestor at the\n given level.\n */\n indexAfter(depth) {\n depth = this.resolveDepth(depth);\n return this.index(depth) + (depth == this.depth && !this.textOffset ? 0 : 1);\n }\n /**\n The (absolute) position at the start of the node at the given\n level.\n */\n start(depth) {\n depth = this.resolveDepth(depth);\n return depth == 0 ? 0 : this.path[depth * 3 - 1] + 1;\n }\n /**\n The (absolute) position at the end of the node at the given\n level.\n */\n end(depth) {\n depth = this.resolveDepth(depth);\n return this.start(depth) + this.node(depth).content.size;\n }\n /**\n The (absolute) position directly before the wrapping node at the\n given level, or, when `depth` is `this.depth + 1`, the original\n position.\n */\n before(depth) {\n depth = this.resolveDepth(depth);\n if (!depth)\n throw new RangeError(\"There is no position before the top-level node\");\n return depth == this.depth + 1 ? this.pos : this.path[depth * 3 - 1];\n }\n /**\n The (absolute) position directly after the wrapping node at the\n given level, or the original position when `depth` is `this.depth + 1`.\n */\n after(depth) {\n depth = this.resolveDepth(depth);\n if (!depth)\n throw new RangeError(\"There is no position after the top-level node\");\n return depth == this.depth + 1 ? this.pos : this.path[depth * 3 - 1] + this.path[depth * 3].nodeSize;\n }\n /**\n When this position points into a text node, this returns the\n distance between the position and the start of the text node.\n Will be zero for positions that point between nodes.\n */\n get textOffset() { return this.pos - this.path[this.path.length - 1]; }\n /**\n Get the node directly after the position, if any. If the position\n points into a text node, only the part of that node after the\n position is returned.\n */\n get nodeAfter() {\n let parent = this.parent, index = this.index(this.depth);\n if (index == parent.childCount)\n return null;\n let dOff = this.pos - this.path[this.path.length - 1], child = parent.child(index);\n return dOff ? parent.child(index).cut(dOff) : child;\n }\n /**\n Get the node directly before the position, if any. If the\n position points into a text node, only the part of that node\n before the position is returned.\n */\n get nodeBefore() {\n let index = this.index(this.depth);\n let dOff = this.pos - this.path[this.path.length - 1];\n if (dOff)\n return this.parent.child(index).cut(0, dOff);\n return index == 0 ? null : this.parent.child(index - 1);\n }\n /**\n Get the position at the given index in the parent node at the\n given depth (which defaults to `this.depth`).\n */\n posAtIndex(index, depth) {\n depth = this.resolveDepth(depth);\n let node = this.path[depth * 3], pos = depth == 0 ? 0 : this.path[depth * 3 - 1] + 1;\n for (let i = 0; i < index; i++)\n pos += node.child(i).nodeSize;\n return pos;\n }\n /**\n Get the marks at this position, factoring in the surrounding\n marks' [`inclusive`](https://prosemirror.net/docs/ref/#model.MarkSpec.inclusive) property. If the\n position is at the start of a non-empty node, the marks of the\n node after it (if any) are returned.\n */\n marks() {\n let parent = this.parent, index = this.index();\n // In an empty parent, return the empty array\n if (parent.content.size == 0)\n return Mark.none;\n // When inside a text node, just return the text node's marks\n if (this.textOffset)\n return parent.child(index).marks;\n let main = parent.maybeChild(index - 1), other = parent.maybeChild(index);\n // If the `after` flag is true of there is no node before, make\n // the node after this position the main reference.\n if (!main) {\n let tmp = main;\n main = other;\n other = tmp;\n }\n // Use all marks in the main node, except those that have\n // `inclusive` set to false and are not present in the other node.\n let marks = main.marks;\n for (var i = 0; i < marks.length; i++)\n if (marks[i].type.spec.inclusive === false && (!other || !marks[i].isInSet(other.marks)))\n marks = marks[i--].removeFromSet(marks);\n return marks;\n }\n /**\n Get the marks after the current position, if any, except those\n that are non-inclusive and not present at position `$end`. This\n is mostly useful for getting the set of marks to preserve after a\n deletion. Will return `null` if this position is at the end of\n its parent node or its parent node isn't a textblock (in which\n case no marks should be preserved).\n */\n marksAcross($end) {\n let after = this.parent.maybeChild(this.index());\n if (!after || !after.isInline)\n return null;\n let marks = after.marks, next = $end.parent.maybeChild($end.index());\n for (var i = 0; i < marks.length; i++)\n if (marks[i].type.spec.inclusive === false && (!next || !marks[i].isInSet(next.marks)))\n marks = marks[i--].removeFromSet(marks);\n return marks;\n }\n /**\n The depth up to which this position and the given (non-resolved)\n position share the same parent nodes.\n */\n sharedDepth(pos) {\n for (let depth = this.depth; depth > 0; depth--)\n if (this.start(depth) <= pos && this.end(depth) >= pos)\n return depth;\n return 0;\n }\n /**\n Returns a range based on the place where this position and the\n given position diverge around block content. If both point into\n the same textblock, for example, a range around that textblock\n will be returned. If they point into different blocks, the range\n around those blocks in their shared ancestor is returned. You can\n pass in an optional predicate that will be called with a parent\n node to see if a range into that parent is acceptable.\n */\n blockRange(other = this, pred) {\n if (other.pos < this.pos)\n return other.blockRange(this);\n for (let d = this.depth - (this.parent.inlineContent || this.pos == other.pos ? 1 : 0); d >= 0; d--)\n if (other.pos <= this.end(d) && (!pred || pred(this.node(d))))\n return new NodeRange(this, other, d);\n return null;\n }\n /**\n Query whether the given position shares the same parent node.\n */\n sameParent(other) {\n return this.pos - this.parentOffset == other.pos - other.parentOffset;\n }\n /**\n Return the greater of this and the given position.\n */\n max(other) {\n return other.pos > this.pos ? other : this;\n }\n /**\n Return the smaller of this and the given position.\n */\n min(other) {\n return other.pos < this.pos ? other : this;\n }\n /**\n @internal\n */\n toString() {\n let str = \"\";\n for (let i = 1; i <= this.depth; i++)\n str += (str ? \"/\" : \"\") + this.node(i).type.name + \"_\" + this.index(i - 1);\n return str + \":\" + this.parentOffset;\n }\n /**\n @internal\n */\n static resolve(doc, pos) {\n if (!(pos >= 0 && pos <= doc.content.size))\n throw new RangeError(\"Position \" + pos + \" out of range\");\n let path = [];\n let start = 0, parentOffset = pos;\n for (let node = doc;;) {\n let { index, offset } = node.content.findIndex(parentOffset);\n let rem = parentOffset - offset;\n path.push(node, index, start + offset);\n if (!rem)\n break;\n node = node.child(index);\n if (node.isText)\n break;\n parentOffset = rem - 1;\n start += offset + 1;\n }\n return new ResolvedPos(pos, path, parentOffset);\n }\n /**\n @internal\n */\n static resolveCached(doc, pos) {\n for (let i = 0; i < resolveCache.length; i++) {\n let cached = resolveCache[i];\n if (cached.pos == pos && cached.doc == doc)\n return cached;\n }\n let result = resolveCache[resolveCachePos] = ResolvedPos.resolve(doc, pos);\n resolveCachePos = (resolveCachePos + 1) % resolveCacheSize;\n return result;\n }\n}\nlet resolveCache = [], resolveCachePos = 0, resolveCacheSize = 12;\n/**\nRepresents a flat range of content, i.e. one that starts and\nends in the same node.\n*/\nclass NodeRange {\n /**\n Construct a node range. `$from` and `$to` should point into the\n same node until at least the given `depth`, since a node range\n denotes an adjacent set of nodes in a single parent node.\n */\n constructor(\n /**\n A resolved position along the start of the content. May have a\n `depth` greater than this object's `depth` property, since\n these are the positions that were used to compute the range,\n not re-resolved positions directly at its boundaries.\n */\n $from, \n /**\n A position along the end of the content. See\n caveat for [`$from`](https://prosemirror.net/docs/ref/#model.NodeRange.$from).\n */\n $to, \n /**\n The depth of the node that this range points into.\n */\n depth) {\n this.$from = $from;\n this.$to = $to;\n this.depth = depth;\n }\n /**\n The position at the start of the range.\n */\n get start() { return this.$from.before(this.depth + 1); }\n /**\n The position at the end of the range.\n */\n get end() { return this.$to.after(this.depth + 1); }\n /**\n The parent node that the range points into.\n */\n get parent() { return this.$from.node(this.depth); }\n /**\n The start index of the range in the parent node.\n */\n get startIndex() { return this.$from.index(this.depth); }\n /**\n The end index of the range in the parent node.\n */\n get endIndex() { return this.$to.indexAfter(this.depth); }\n}\n\nconst emptyAttrs = Object.create(null);\n/**\nThis class represents a node in the tree that makes up a\nProseMirror document. So a document is an instance of `Node`, with\nchildren that are also instances of `Node`.\n\nNodes are persistent data structures. Instead of changing them, you\ncreate new ones with the content you want. Old ones keep pointing\nat the old document shape. This is made cheaper by sharing\nstructure between the old and new data as much as possible, which a\ntree shape like this (without back pointers) makes easy.\n\n**Do not** directly mutate the properties of a `Node` object. See\n[the guide](/docs/guide/#doc) for more information.\n*/\nclass Node {\n /**\n @internal\n */\n constructor(\n /**\n The type of node that this is.\n */\n type, \n /**\n An object mapping attribute names to values. The kind of\n attributes allowed and required are\n [determined](https://prosemirror.net/docs/ref/#model.NodeSpec.attrs) by the node type.\n */\n attrs, \n // A fragment holding the node's children.\n content, \n /**\n The marks (things like whether it is emphasized or part of a\n link) applied to this node.\n */\n marks = Mark.none) {\n this.type = type;\n this.attrs = attrs;\n this.marks = marks;\n this.content = content || Fragment.empty;\n }\n /**\n The size of this node, as defined by the integer-based [indexing\n scheme](/docs/guide/#doc.indexing). For text nodes, this is the\n amount of characters. For other leaf nodes, it is one. For\n non-leaf nodes, it is the size of the content plus two (the\n start and end token).\n */\n get nodeSize() { return this.isLeaf ? 1 : 2 + this.content.size; }\n /**\n The number of children that the node has.\n */\n get childCount() { return this.content.childCount; }\n /**\n Get the child node at the given index. Raises an error when the\n index is out of range.\n */\n child(index) { return this.content.child(index); }\n /**\n Get the child node at the given index, if it exists.\n */\n maybeChild(index) { return this.content.maybeChild(index); }\n /**\n Call `f` for every child node, passing the node, its offset\n into this parent node, and its index.\n */\n forEach(f) { this.content.forEach(f); }\n /**\n Invoke a callback for all descendant nodes recursively between\n the given two positions that are relative to start of this\n node's content. The callback is invoked with the node, its\n position relative to the original node (method receiver),\n its parent node, and its child index. When the callback returns\n false for a given node, that node's children will not be\n recursed over. The last parameter can be used to specify a\n starting position to count from.\n */\n nodesBetween(from, to, f, startPos = 0) {\n this.content.nodesBetween(from, to, f, startPos, this);\n }\n /**\n Call the given callback for every descendant node. Doesn't\n descend into a node when the callback returns `false`.\n */\n descendants(f) {\n this.nodesBetween(0, this.content.size, f);\n }\n /**\n Concatenates all the text nodes found in this fragment and its\n children.\n */\n get textContent() {\n return (this.isLeaf && this.type.spec.leafText)\n ? this.type.spec.leafText(this)\n : this.textBetween(0, this.content.size, \"\");\n }\n /**\n Get all text between positions `from` and `to`. When\n `blockSeparator` is given, it will be inserted to separate text\n from different block nodes. If `leafText` is given, it'll be\n inserted for every non-text leaf node encountered, otherwise\n [`leafText`](https://prosemirror.net/docs/ref/#model.NodeSpec^leafText) will be used.\n */\n textBetween(from, to, blockSeparator, leafText) {\n return this.content.textBetween(from, to, blockSeparator, leafText);\n }\n /**\n Returns this node's first child, or `null` if there are no\n children.\n */\n get firstChild() { return this.content.firstChild; }\n /**\n Returns this node's last child, or `null` if there are no\n children.\n */\n get lastChild() { return this.content.lastChild; }\n /**\n Test whether two nodes represent the same piece of document.\n */\n eq(other) {\n return this == other || (this.sameMarkup(other) && this.content.eq(other.content));\n }\n /**\n Compare the markup (type, attributes, and marks) of this node to\n those of another. Returns `true` if both have the same markup.\n */\n sameMarkup(other) {\n return this.hasMarkup(other.type, other.attrs, other.marks);\n }\n /**\n Check whether this node's markup correspond to the given type,\n attributes, and marks.\n */\n hasMarkup(type, attrs, marks) {\n return this.type == type &&\n compareDeep(this.attrs, attrs || type.defaultAttrs || emptyAttrs) &&\n Mark.sameSet(this.marks, marks || Mark.none);\n }\n /**\n Create a new node with the same markup as this node, containing\n the given content (or empty, if no content is given).\n */\n copy(content = null) {\n if (content == this.content)\n return this;\n return new Node(this.type, this.attrs, content, this.marks);\n }\n /**\n Create a copy of this node, with the given set of marks instead\n of the node's own marks.\n */\n mark(marks) {\n return marks == this.marks ? this : new Node(this.type, this.attrs, this.content, marks);\n }\n /**\n Create a copy of this node with only the content between the\n given positions. If `to` is not given, it defaults to the end of\n the node.\n */\n cut(from, to = this.content.size) {\n if (from == 0 && to == this.content.size)\n return this;\n return this.copy(this.content.cut(from, to));\n }\n /**\n Cut out the part of the document between the given positions, and\n return it as a `Slice` object.\n */\n slice(from, to = this.content.size, includeParents = false) {\n if (from == to)\n return Slice.empty;\n let $from = this.resolve(from), $to = this.resolve(to);\n let depth = includeParents ? 0 : $from.sharedDepth(to);\n let start = $from.start(depth), node = $from.node(depth);\n let content = node.content.cut($from.pos - start, $to.pos - start);\n return new Slice(content, $from.depth - depth, $to.depth - depth);\n }\n /**\n Replace the part of the document between the given positions with\n the given slice. The slice must 'fit', meaning its open sides\n must be able to connect to the surrounding content, and its\n content nodes must be valid children for the node they are placed\n into. If any of this is violated, an error of type\n [`ReplaceError`](https://prosemirror.net/docs/ref/#model.ReplaceError) is thrown.\n */\n replace(from, to, slice) {\n return replace(this.resolve(from), this.resolve(to), slice);\n }\n /**\n Find the node directly after the given position.\n */\n nodeAt(pos) {\n for (let node = this;;) {\n let { index, offset } = node.content.findIndex(pos);\n node = node.maybeChild(index);\n if (!node)\n return null;\n if (offset == pos || node.isText)\n return node;\n pos -= offset + 1;\n }\n }\n /**\n Find the (direct) child node after the given offset, if any,\n and return it along with its index and offset relative to this\n node.\n */\n childAfter(pos) {\n let { index, offset } = this.content.findIndex(pos);\n return { node: this.content.maybeChild(index), index, offset };\n }\n /**\n Find the (direct) child node before the given offset, if any,\n and return it along with its index and offset relative to this\n node.\n */\n childBefore(pos) {\n if (pos == 0)\n return { node: null, index: 0, offset: 0 };\n let { index, offset } = this.content.findIndex(pos);\n if (offset < pos)\n return { node: this.content.child(index), index, offset };\n let node = this.content.child(index - 1);\n return { node, index: index - 1, offset: offset - node.nodeSize };\n }\n /**\n Resolve the given position in the document, returning an\n [object](https://prosemirror.net/docs/ref/#model.ResolvedPos) with information about its context.\n */\n resolve(pos) { return ResolvedPos.resolveCached(this, pos); }\n /**\n @internal\n */\n resolveNoCache(pos) { return ResolvedPos.resolve(this, pos); }\n /**\n Test whether a given mark or mark type occurs in this document\n between the two given positions.\n */\n rangeHasMark(from, to, type) {\n let found = false;\n if (to > from)\n this.nodesBetween(from, to, node => {\n if (type.isInSet(node.marks))\n found = true;\n return !found;\n });\n return found;\n }\n /**\n True when this is a block (non-inline node)\n */\n get isBlock() { return this.type.isBlock; }\n /**\n True when this is a textblock node, a block node with inline\n content.\n */\n get isTextblock() { return this.type.isTextblock; }\n /**\n True when this node allows inline content.\n */\n get inlineContent() { return this.type.inlineContent; }\n /**\n True when this is an inline node (a text node or a node that can\n appear among text).\n */\n get isInline() { return this.type.isInline; }\n /**\n True when this is a text node.\n */\n get isText() { return this.type.isText; }\n /**\n True when this is a leaf node.\n */\n get isLeaf() { return this.type.isLeaf; }\n /**\n True when this is an atom, i.e. when it does not have directly\n editable content. This is usually the same as `isLeaf`, but can\n be configured with the [`atom` property](https://prosemirror.net/docs/ref/#model.NodeSpec.atom)\n on a node's spec (typically used when the node is displayed as\n an uneditable [node view](https://prosemirror.net/docs/ref/#view.NodeView)).\n */\n get isAtom() { return this.type.isAtom; }\n /**\n Return a string representation of this node for debugging\n purposes.\n */\n toString() {\n if (this.type.spec.toDebugString)\n return this.type.spec.toDebugString(this);\n let name = this.type.name;\n if (this.content.size)\n name += \"(\" + this.content.toStringInner() + \")\";\n return wrapMarks(this.marks, name);\n }\n /**\n Get the content match in this node at the given index.\n */\n contentMatchAt(index) {\n let match = this.type.contentMatch.matchFragment(this.content, 0, index);\n if (!match)\n throw new Error(\"Called contentMatchAt on a node with invalid content\");\n return match;\n }\n /**\n Test whether replacing the range between `from` and `to` (by\n child index) with the given replacement fragment (which defaults\n to the empty fragment) would leave the node's content valid. You\n can optionally pass `start` and `end` indices into the\n replacement fragment.\n */\n canReplace(from, to, replacement = Fragment.empty, start = 0, end = replacement.childCount) {\n let one = this.contentMatchAt(from).matchFragment(replacement, start, end);\n let two = one && one.matchFragment(this.content, to);\n if (!two || !two.validEnd)\n return false;\n for (let i = start; i < end; i++)\n if (!this.type.allowsMarks(replacement.child(i).marks))\n return false;\n return true;\n }\n /**\n Test whether replacing the range `from` to `to` (by index) with\n a node of the given type would leave the node's content valid.\n */\n canReplaceWith(from, to, type, marks) {\n if (marks && !this.type.allowsMarks(marks))\n return false;\n let start = this.contentMatchAt(from).matchType(type);\n let end = start && start.matchFragment(this.content, to);\n return end ? end.validEnd : false;\n }\n /**\n Test whether the given node's content could be appended to this\n node. If that node is empty, this will only return true if there\n is at least one node type that can appear in both nodes (to avoid\n merging completely incompatible nodes).\n */\n canAppend(other) {\n if (other.content.size)\n return this.canReplace(this.childCount, this.childCount, other.content);\n else\n return this.type.compatibleContent(other.type);\n }\n /**\n Check whether this node and its descendants conform to the\n schema, and raise error when they do not.\n */\n check() {\n this.type.checkContent(this.content);\n let copy = Mark.none;\n for (let i = 0; i < this.marks.length; i++)\n copy = this.marks[i].addToSet(copy);\n if (!Mark.sameSet(copy, this.marks))\n throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(m => m.type.name)}`);\n this.content.forEach(node => node.check());\n }\n /**\n Return a JSON-serializeable representation of this node.\n */\n toJSON() {\n let obj = { type: this.type.name };\n for (let _ in this.attrs) {\n obj.attrs = this.attrs;\n break;\n }\n if (this.content.size)\n obj.content = this.content.toJSON();\n if (this.marks.length)\n obj.marks = this.marks.map(n => n.toJSON());\n return obj;\n }\n /**\n Deserialize a node from its JSON representation.\n */\n static fromJSON(schema, json) {\n if (!json)\n throw new RangeError(\"Invalid input for Node.fromJSON\");\n let marks = null;\n if (json.marks) {\n if (!Array.isArray(json.marks))\n throw new RangeError(\"Invalid mark data for Node.fromJSON\");\n marks = json.marks.map(schema.markFromJSON);\n }\n if (json.type == \"text\") {\n if (typeof json.text != \"string\")\n throw new RangeError(\"Invalid text node in JSON\");\n return schema.text(json.text, marks);\n }\n let content = Fragment.fromJSON(schema, json.content);\n return schema.nodeType(json.type).create(json.attrs, content, marks);\n }\n}\nNode.prototype.text = undefined;\nclass TextNode extends Node {\n /**\n @internal\n */\n constructor(type, attrs, content, marks) {\n super(type, attrs, null, marks);\n if (!content)\n throw new RangeError(\"Empty text nodes are not allowed\");\n this.text = content;\n }\n toString() {\n if (this.type.spec.toDebugString)\n return this.type.spec.toDebugString(this);\n return wrapMarks(this.marks, JSON.stringify(this.text));\n }\n get textContent() { return this.text; }\n textBetween(from, to) { return this.text.slice(from, to); }\n get nodeSize() { return this.text.length; }\n mark(marks) {\n return marks == this.marks ? this : new TextNode(this.type, this.attrs, this.text, marks);\n }\n withText(text) {\n if (text == this.text)\n return this;\n return new TextNode(this.type, this.attrs, text, this.marks);\n }\n cut(from = 0, to = this.text.length) {\n if (from == 0 && to == this.text.length)\n return this;\n return this.withText(this.text.slice(from, to));\n }\n eq(other) {\n return this.sameMarkup(other) && this.text == other.text;\n }\n toJSON() {\n let base = super.toJSON();\n base.text = this.text;\n return base;\n }\n}\nfunction wrapMarks(marks, str) {\n for (let i = marks.length - 1; i >= 0; i--)\n str = marks[i].type.name + \"(\" + str + \")\";\n return str;\n}\n\n/**\nInstances of this class represent a match state of a node type's\n[content expression](https://prosemirror.net/docs/ref/#model.NodeSpec.content), and can be used to\nfind out whether further content matches here, and whether a given\nposition is a valid end of the node.\n*/\nclass ContentMatch {\n /**\n @internal\n */\n constructor(\n /**\n True when this match state represents a valid end of the node.\n */\n validEnd) {\n this.validEnd = validEnd;\n /**\n @internal\n */\n this.next = [];\n /**\n @internal\n */\n this.wrapCache = [];\n }\n /**\n @internal\n */\n static parse(string, nodeTypes) {\n let stream = new TokenStream(string, nodeTypes);\n if (stream.next == null)\n return ContentMatch.empty;\n let expr = parseExpr(stream);\n if (stream.next)\n stream.err(\"Unexpected trailing text\");\n let match = dfa(nfa(expr));\n checkForDeadEnds(match, stream);\n return match;\n }\n /**\n Match a node type, returning a match after that node if\n successful.\n */\n matchType(type) {\n for (let i = 0; i < this.next.length; i++)\n if (this.next[i].type == type)\n return this.next[i].next;\n return null;\n }\n /**\n Try to match a fragment. Returns the resulting match when\n successful.\n */\n matchFragment(frag, start = 0, end = frag.childCount) {\n let cur = this;\n for (let i = start; cur && i < end; i++)\n cur = cur.matchType(frag.child(i).type);\n return cur;\n }\n /**\n @internal\n */\n get inlineContent() {\n return this.next.length != 0 && this.next[0].type.isInline;\n }\n /**\n Get the first matching node type at this match position that can\n be generated.\n */\n get defaultType() {\n for (let i = 0; i < this.next.length; i++) {\n let { type } = this.next[i];\n if (!(type.isText || type.hasRequiredAttrs()))\n return type;\n }\n return null;\n }\n /**\n @internal\n */\n compatible(other) {\n for (let i = 0; i < this.next.length; i++)\n for (let j = 0; j < other.next.length; j++)\n if (this.next[i].type == other.next[j].type)\n return true;\n return false;\n }\n /**\n Try to match the given fragment, and if that fails, see if it can\n be made to match by inserting nodes in front of it. When\n successful, return a fragment of inserted nodes (which may be\n empty if nothing had to be inserted). When `toEnd` is true, only\n return a fragment if the resulting match goes to the end of the\n content expression.\n */\n fillBefore(after, toEnd = false, startIndex = 0) {\n let seen = [this];\n function search(match, types) {\n let finished = match.matchFragment(after, startIndex);\n if (finished && (!toEnd || finished.validEnd))\n return Fragment.from(types.map(tp => tp.createAndFill()));\n for (let i = 0; i < match.next.length; i++) {\n let { type, next } = match.next[i];\n if (!(type.isText || type.hasRequiredAttrs()) && seen.indexOf(next) == -1) {\n seen.push(next);\n let found = search(next, types.concat(type));\n if (found)\n return found;\n }\n }\n return null;\n }\n return search(this, []);\n }\n /**\n Find a set of wrapping node types that would allow a node of the\n given type to appear at this position. The result may be empty\n (when it fits directly) and will be null when no such wrapping\n exists.\n */\n findWrapping(target) {\n for (let i = 0; i < this.wrapCache.length; i += 2)\n if (this.wrapCache[i] == target)\n return this.wrapCache[i + 1];\n let computed = this.computeWrapping(target);\n this.wrapCache.push(target, computed);\n return computed;\n }\n /**\n @internal\n */\n computeWrapping(target) {\n let seen = Object.create(null), active = [{ match: this, type: null, via: null }];\n while (active.length) {\n let current = active.shift(), match = current.match;\n if (match.matchType(target)) {\n let result = [];\n for (let obj = current; obj.type; obj = obj.via)\n result.push(obj.type);\n return result.reverse();\n }\n for (let i = 0; i < match.next.length; i++) {\n let { type, next } = match.next[i];\n if (!type.isLeaf && !type.hasRequiredAttrs() && !(type.name in seen) && (!current.type || next.validEnd)) {\n active.push({ match: type.contentMatch, type, via: current });\n seen[type.name] = true;\n }\n }\n }\n return null;\n }\n /**\n The number of outgoing edges this node has in the finite\n automaton that describes the content expression.\n */\n get edgeCount() {\n return this.next.length;\n }\n /**\n Get the _n_​th outgoing edge from this node in the finite\n automaton that describes the content expression.\n */\n edge(n) {\n if (n >= this.next.length)\n throw new RangeError(`There's no ${n}th edge in this content match`);\n return this.next[n];\n }\n /**\n @internal\n */\n toString() {\n let seen = [];\n function scan(m) {\n seen.push(m);\n for (let i = 0; i < m.next.length; i++)\n if (seen.indexOf(m.next[i].next) == -1)\n scan(m.next[i].next);\n }\n scan(this);\n return seen.map((m, i) => {\n let out = i + (m.validEnd ? \"*\" : \" \") + \" \";\n for (let i = 0; i < m.next.length; i++)\n out += (i ? \", \" : \"\") + m.next[i].type.name + \"->\" + seen.indexOf(m.next[i].next);\n return out;\n }).join(\"\\n\");\n }\n}\n/**\n@internal\n*/\nContentMatch.empty = new ContentMatch(true);\nclass TokenStream {\n constructor(string, nodeTypes) {\n this.string = string;\n this.nodeTypes = nodeTypes;\n this.inline = null;\n this.pos = 0;\n this.tokens = string.split(/\\s*(?=\\b|\\W|$)/);\n if (this.tokens[this.tokens.length - 1] == \"\")\n this.tokens.pop();\n if (this.tokens[0] == \"\")\n this.tokens.shift();\n }\n get next() { return this.tokens[this.pos]; }\n eat(tok) { return this.next == tok && (this.pos++ || true); }\n err(str) { throw new SyntaxError(str + \" (in content expression '\" + this.string + \"')\"); }\n}\nfunction parseExpr(stream) {\n let exprs = [];\n do {\n exprs.push(parseExprSeq(stream));\n } while (stream.eat(\"|\"));\n return exprs.length == 1 ? exprs[0] : { type: \"choice\", exprs };\n}\nfunction parseExprSeq(stream) {\n let exprs = [];\n do {\n exprs.push(parseExprSubscript(stream));\n } while (stream.next && stream.next != \")\" && stream.next != \"|\");\n return exprs.length == 1 ? exprs[0] : { type: \"seq\", exprs };\n}\nfunction parseExprSubscript(stream) {\n let expr = parseExprAtom(stream);\n for (;;) {\n if (stream.eat(\"+\"))\n expr = { type: \"plus\", expr };\n else if (stream.eat(\"*\"))\n expr = { type: \"star\", expr };\n else if (stream.eat(\"?\"))\n expr = { type: \"opt\", expr };\n else if (stream.eat(\"{\"))\n expr = parseExprRange(stream, expr);\n else\n break;\n }\n return expr;\n}\nfunction parseNum(stream) {\n if (/\\D/.test(stream.next))\n stream.err(\"Expected number, got '\" + stream.next + \"'\");\n let result = Number(stream.next);\n stream.pos++;\n return result;\n}\nfunction parseExprRange(stream, expr) {\n let min = parseNum(stream), max = min;\n if (stream.eat(\",\")) {\n if (stream.next != \"}\")\n max = parseNum(stream);\n else\n max = -1;\n }\n if (!stream.eat(\"}\"))\n stream.err(\"Unclosed braced range\");\n return { type: \"range\", min, max, expr };\n}\nfunction resolveName(stream, name) {\n let types = stream.nodeTypes, type = types[name];\n if (type)\n return [type];\n let result = [];\n for (let typeName in types) {\n let type = types[typeName];\n if (type.groups.indexOf(name) > -1)\n result.push(type);\n }\n if (result.length == 0)\n stream.err(\"No node type or group '\" + name + \"' found\");\n return result;\n}\nfunction parseExprAtom(stream) {\n if (stream.eat(\"(\")) {\n let expr = parseExpr(stream);\n if (!stream.eat(\")\"))\n stream.err(\"Missing closing paren\");\n return expr;\n }\n else if (!/\\W/.test(stream.next)) {\n let exprs = resolveName(stream, stream.next).map(type => {\n if (stream.inline == null)\n stream.inline = type.isInline;\n else if (stream.inline != type.isInline)\n stream.err(\"Mixing inline and block content\");\n return { type: \"name\", value: type };\n });\n stream.pos++;\n return exprs.length == 1 ? exprs[0] : { type: \"choice\", exprs };\n }\n else {\n stream.err(\"Unexpected token '\" + stream.next + \"'\");\n }\n}\n/**\nConstruct an NFA from an expression as returned by the parser. The\nNFA is represented as an array of states, which are themselves\narrays of edges, which are `{term, to}` objects. The first state is\nthe entry state and the last node is the success state.\n\nNote that unlike typical NFAs, the edge ordering in this one is\nsignificant, in that it is used to contruct filler content when\nnecessary.\n*/\nfunction nfa(expr) {\n let nfa = [[]];\n connect(compile(expr, 0), node());\n return nfa;\n function node() { return nfa.push([]) - 1; }\n function edge(from, to, term) {\n let edge = { term, to };\n nfa[from].push(edge);\n return edge;\n }\n function connect(edges, to) {\n edges.forEach(edge => edge.to = to);\n }\n function compile(expr, from) {\n if (expr.type == \"choice\") {\n return expr.exprs.reduce((out, expr) => out.concat(compile(expr, from)), []);\n }\n else if (expr.type == \"seq\") {\n for (let i = 0;; i++) {\n let next = compile(expr.exprs[i], from);\n if (i == expr.exprs.length - 1)\n return next;\n connect(next, from = node());\n }\n }\n else if (expr.type == \"star\") {\n let loop = node();\n edge(from, loop);\n connect(compile(expr.expr, loop), loop);\n return [edge(loop)];\n }\n else if (expr.type == \"plus\") {\n let loop = node();\n connect(compile(expr.expr, from), loop);\n connect(compile(expr.expr, loop), loop);\n return [edge(loop)];\n }\n else if (expr.type == \"opt\") {\n return [edge(from)].concat(compile(expr.expr, from));\n }\n else if (expr.type == \"range\") {\n let cur = from;\n for (let i = 0; i < expr.min; i++) {\n let next = node();\n connect(compile(expr.expr, cur), next);\n cur = next;\n }\n if (expr.max == -1) {\n connect(compile(expr.expr, cur), cur);\n }\n else {\n for (let i = expr.min; i < expr.max; i++) {\n let next = node();\n edge(cur, next);\n connect(compile(expr.expr, cur), next);\n cur = next;\n }\n }\n return [edge(cur)];\n }\n else if (expr.type == \"name\") {\n return [edge(from, undefined, expr.value)];\n }\n else {\n throw new Error(\"Unknown expr type\");\n }\n }\n}\nfunction cmp(a, b) { return b - a; }\n// Get the set of nodes reachable by null edges from `node`. Omit\n// nodes with only a single null-out-edge, since they may lead to\n// needless duplicated nodes.\nfunction nullFrom(nfa, node) {\n let result = [];\n scan(node);\n return result.sort(cmp);\n function scan(node) {\n let edges = nfa[node];\n if (edges.length == 1 && !edges[0].term)\n return scan(edges[0].to);\n result.push(node);\n for (let i = 0; i < edges.length; i++) {\n let { term, to } = edges[i];\n if (!term && result.indexOf(to) == -1)\n scan(to);\n }\n }\n}\n// Compiles an NFA as produced by `nfa` into a DFA, modeled as a set\n// of state objects (`ContentMatch` instances) with transitions\n// between them.\nfunction dfa(nfa) {\n let labeled = Object.create(null);\n return explore(nullFrom(nfa, 0));\n function explore(states) {\n let out = [];\n states.forEach(node => {\n nfa[node].forEach(({ term, to }) => {\n if (!term)\n return;\n let set;\n for (let i = 0; i < out.length; i++)\n if (out[i][0] == term)\n set = out[i][1];\n nullFrom(nfa, to).forEach(node => {\n if (!set)\n out.push([term, set = []]);\n if (set.indexOf(node) == -1)\n set.push(node);\n });\n });\n });\n let state = labeled[states.join(\",\")] = new ContentMatch(states.indexOf(nfa.length - 1) > -1);\n for (let i = 0; i < out.length; i++) {\n let states = out[i][1].sort(cmp);\n state.next.push({ type: out[i][0], next: labeled[states.join(\",\")] || explore(states) });\n }\n return state;\n }\n}\nfunction checkForDeadEnds(match, stream) {\n for (let i = 0, work = [match]; i < work.length; i++) {\n let state = work[i], dead = !state.validEnd, nodes = [];\n for (let j = 0; j < state.next.length; j++) {\n let { type, next } = state.next[j];\n nodes.push(type.name);\n if (dead && !(type.isText || type.hasRequiredAttrs()))\n dead = false;\n if (work.indexOf(next) == -1)\n work.push(next);\n }\n if (dead)\n stream.err(\"Only non-generatable nodes (\" + nodes.join(\", \") + \") in a required position (see https://prosemirror.net/docs/guide/#generatable)\");\n }\n}\n\n// For node types where all attrs have a default value (or which don't\n// have any attributes), build up a single reusable default attribute\n// object, and use it for all nodes that don't specify specific\n// attributes.\nfunction defaultAttrs(attrs) {\n let defaults = Object.create(null);\n for (let attrName in attrs) {\n let attr = attrs[attrName];\n if (!attr.hasDefault)\n return null;\n defaults[attrName] = attr.default;\n }\n return defaults;\n}\nfunction computeAttrs(attrs, value) {\n let built = Object.create(null);\n for (let name in attrs) {\n let given = value && value[name];\n if (given === undefined) {\n let attr = attrs[name];\n if (attr.hasDefault)\n given = attr.default;\n else\n throw new RangeError(\"No value supplied for attribute \" + name);\n }\n built[name] = given;\n }\n return built;\n}\nfunction initAttrs(attrs) {\n let result = Object.create(null);\n if (attrs)\n for (let name in attrs)\n result[name] = new Attribute(attrs[name]);\n return result;\n}\n/**\nNode types are objects allocated once per `Schema` and used to\n[tag](https://prosemirror.net/docs/ref/#model.Node.type) `Node` instances. They contain information\nabout the node type, such as its name and what kind of node it\nrepresents.\n*/\nclass NodeType {\n /**\n @internal\n */\n constructor(\n /**\n The name the node type has in this schema.\n */\n name, \n /**\n A link back to the `Schema` the node type belongs to.\n */\n schema, \n /**\n The spec that this type is based on\n */\n spec) {\n this.name = name;\n this.schema = schema;\n this.spec = spec;\n /**\n The set of marks allowed in this node. `null` means all marks\n are allowed.\n */\n this.markSet = null;\n this.groups = spec.group ? spec.group.split(\" \") : [];\n this.attrs = initAttrs(spec.attrs);\n this.defaultAttrs = defaultAttrs(this.attrs);\n this.contentMatch = null;\n this.inlineContent = null;\n this.isBlock = !(spec.inline || name == \"text\");\n this.isText = name == \"text\";\n }\n /**\n True if this is an inline type.\n */\n get isInline() { return !this.isBlock; }\n /**\n True if this is a textblock type, a block that contains inline\n content.\n */\n get isTextblock() { return this.isBlock && this.inlineContent; }\n /**\n True for node types that allow no content.\n */\n get isLeaf() { return this.contentMatch == ContentMatch.empty; }\n /**\n True when this node is an atom, i.e. when it does not have\n directly editable content.\n */\n get isAtom() { return this.isLeaf || !!this.spec.atom; }\n /**\n The node type's [whitespace](https://prosemirror.net/docs/ref/#model.NodeSpec.whitespace) option.\n */\n get whitespace() {\n return this.spec.whitespace || (this.spec.code ? \"pre\" : \"normal\");\n }\n /**\n Tells you whether this node type has any required attributes.\n */\n hasRequiredAttrs() {\n for (let n in this.attrs)\n if (this.attrs[n].isRequired)\n return true;\n return false;\n }\n /**\n Indicates whether this node allows some of the same content as\n the given node type.\n */\n compatibleContent(other) {\n return this == other || this.contentMatch.compatible(other.contentMatch);\n }\n /**\n @internal\n */\n computeAttrs(attrs) {\n if (!attrs && this.defaultAttrs)\n return this.defaultAttrs;\n else\n return computeAttrs(this.attrs, attrs);\n }\n /**\n Create a `Node` of this type. The given attributes are\n checked and defaulted (you can pass `null` to use the type's\n defaults entirely, if no required attributes exist). `content`\n may be a `Fragment`, a node, an array of nodes, or\n `null`. Similarly `marks` may be `null` to default to the empty\n set of marks.\n */\n create(attrs = null, content, marks) {\n if (this.isText)\n throw new Error(\"NodeType.create can't construct text nodes\");\n return new Node(this, this.computeAttrs(attrs), Fragment.from(content), Mark.setFrom(marks));\n }\n /**\n Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but check the given content\n against the node type's content restrictions, and throw an error\n if it doesn't match.\n */\n createChecked(attrs = null, content, marks) {\n content = Fragment.from(content);\n this.checkContent(content);\n return new Node(this, this.computeAttrs(attrs), content, Mark.setFrom(marks));\n }\n /**\n Like [`create`](https://prosemirror.net/docs/ref/#model.NodeType.create), but see if it is\n necessary to add nodes to the start or end of the given fragment\n to make it fit the node. If no fitting wrapping can be found,\n return null. Note that, due to the fact that required nodes can\n always be created, this will always succeed if you pass null or\n `Fragment.empty` as content.\n */\n createAndFill(attrs = null, content, marks) {\n attrs = this.computeAttrs(attrs);\n content = Fragment.from(content);\n if (content.size) {\n let before = this.contentMatch.fillBefore(content);\n if (!before)\n return null;\n content = before.append(content);\n }\n let matched = this.contentMatch.matchFragment(content);\n let after = matched && matched.fillBefore(Fragment.empty, true);\n if (!after)\n return null;\n return new Node(this, attrs, content.append(after), Mark.setFrom(marks));\n }\n /**\n Returns true if the given fragment is valid content for this node\n type.\n */\n validContent(content) {\n let result = this.contentMatch.matchFragment(content);\n if (!result || !result.validEnd)\n return false;\n for (let i = 0; i < content.childCount; i++)\n if (!this.allowsMarks(content.child(i).marks))\n return false;\n return true;\n }\n /**\n Throws a RangeError if the given fragment is not valid content for this\n node type.\n @internal\n */\n checkContent(content) {\n if (!this.validContent(content))\n throw new RangeError(`Invalid content for node ${this.name}: ${content.toString().slice(0, 50)}`);\n }\n /**\n Check whether the given mark type is allowed in this node.\n */\n allowsMarkType(markType) {\n return this.markSet == null || this.markSet.indexOf(markType) > -1;\n }\n /**\n Test whether the given set of marks are allowed in this node.\n */\n allowsMarks(marks) {\n if (this.markSet == null)\n return true;\n for (let i = 0; i < marks.length; i++)\n if (!this.allowsMarkType(marks[i].type))\n return false;\n return true;\n }\n /**\n Removes the marks that are not allowed in this node from the given set.\n */\n allowedMarks(marks) {\n if (this.markSet == null)\n return marks;\n let copy;\n for (let i = 0; i < marks.length; i++) {\n if (!this.allowsMarkType(marks[i].type)) {\n if (!copy)\n copy = marks.slice(0, i);\n }\n else if (copy) {\n copy.push(marks[i]);\n }\n }\n return !copy ? marks : copy.length ? copy : Mark.none;\n }\n /**\n @internal\n */\n static compile(nodes, schema) {\n let result = Object.create(null);\n nodes.forEach((name, spec) => result[name] = new NodeType(name, schema, spec));\n let topType = schema.spec.topNode || \"doc\";\n if (!result[topType])\n throw new RangeError(\"Schema is missing its top node type ('\" + topType + \"')\");\n if (!result.text)\n throw new RangeError(\"Every schema needs a 'text' type\");\n for (let _ in result.text.attrs)\n throw new RangeError(\"The text node type should not have attributes\");\n return result;\n }\n}\n// Attribute descriptors\nclass Attribute {\n constructor(options) {\n this.hasDefault = Object.prototype.hasOwnProperty.call(options, \"default\");\n this.default = options.default;\n }\n get isRequired() {\n return !this.hasDefault;\n }\n}\n// Marks\n/**\nLike nodes, marks (which are associated with nodes to signify\nthings like emphasis or being part of a link) are\n[tagged](https://prosemirror.net/docs/ref/#model.Mark.type) with type objects, which are\ninstantiated once per `Schema`.\n*/\nclass MarkType {\n /**\n @internal\n */\n constructor(\n /**\n The name of the mark type.\n */\n name, \n /**\n @internal\n */\n rank, \n /**\n The schema that this mark type instance is part of.\n */\n schema, \n /**\n The spec on which the type is based.\n */\n spec) {\n this.name = name;\n this.rank = rank;\n this.schema = schema;\n this.spec = spec;\n this.attrs = initAttrs(spec.attrs);\n this.excluded = null;\n let defaults = defaultAttrs(this.attrs);\n this.instance = defaults ? new Mark(this, defaults) : null;\n }\n /**\n Create a mark of this type. `attrs` may be `null` or an object\n containing only some of the mark's attributes. The others, if\n they have defaults, will be added.\n */\n create(attrs = null) {\n if (!attrs && this.instance)\n return this.instance;\n return new Mark(this, computeAttrs(this.attrs, attrs));\n }\n /**\n @internal\n */\n static compile(marks, schema) {\n let result = Object.create(null), rank = 0;\n marks.forEach((name, spec) => result[name] = new MarkType(name, rank++, schema, spec));\n return result;\n }\n /**\n When there is a mark of this type in the given set, a new set\n without it is returned. Otherwise, the input set is returned.\n */\n removeFromSet(set) {\n for (var i = 0; i < set.length; i++)\n if (set[i].type == this) {\n set = set.slice(0, i).concat(set.slice(i + 1));\n i--;\n }\n return set;\n }\n /**\n Tests whether there is a mark of this type in the given set.\n */\n isInSet(set) {\n for (let i = 0; i < set.length; i++)\n if (set[i].type == this)\n return set[i];\n }\n /**\n Queries whether a given mark type is\n [excluded](https://prosemirror.net/docs/ref/#model.MarkSpec.excludes) by this one.\n */\n excludes(other) {\n return this.excluded.indexOf(other) > -1;\n }\n}\n/**\nA document schema. Holds [node](https://prosemirror.net/docs/ref/#model.NodeType) and [mark\ntype](https://prosemirror.net/docs/ref/#model.MarkType) objects for the nodes and marks that may\noccur in conforming documents, and provides functionality for\ncreating and deserializing such documents.\n\nWhen given, the type parameters provide the names of the nodes and\nmarks in this schema.\n*/\nclass Schema {\n /**\n Construct a schema from a schema [specification](https://prosemirror.net/docs/ref/#model.SchemaSpec).\n */\n constructor(spec) {\n /**\n The [linebreak\n replacement](https://prosemirror.net/docs/ref/#model.NodeSpec.linebreakReplacement) node defined\n in this schema, if any.\n */\n this.linebreakReplacement = null;\n /**\n An object for storing whatever values modules may want to\n compute and cache per schema. (If you want to store something\n in it, try to use property names unlikely to clash.)\n */\n this.cached = Object.create(null);\n let instanceSpec = this.spec = {};\n for (let prop in spec)\n instanceSpec[prop] = spec[prop];\n instanceSpec.nodes = OrderedMap.from(spec.nodes),\n instanceSpec.marks = OrderedMap.from(spec.marks || {}),\n this.nodes = NodeType.compile(this.spec.nodes, this);\n this.marks = MarkType.compile(this.spec.marks, this);\n let contentExprCache = Object.create(null);\n for (let prop in this.nodes) {\n if (prop in this.marks)\n throw new RangeError(prop + \" can not be both a node and a mark\");\n let type = this.nodes[prop], contentExpr = type.spec.content || \"\", markExpr = type.spec.marks;\n type.contentMatch = contentExprCache[contentExpr] ||\n (contentExprCache[contentExpr] = ContentMatch.parse(contentExpr, this.nodes));\n type.inlineContent = type.contentMatch.inlineContent;\n if (type.spec.linebreakReplacement) {\n if (this.linebreakReplacement)\n throw new RangeError(\"Multiple linebreak nodes defined\");\n if (!type.isInline || !type.isLeaf)\n throw new RangeError(\"Linebreak replacement nodes must be inline leaf nodes\");\n this.linebreakReplacement = type;\n }\n type.markSet = markExpr == \"_\" ? null :\n markExpr ? gatherMarks(this, markExpr.split(\" \")) :\n markExpr == \"\" || !type.inlineContent ? [] : null;\n }\n for (let prop in this.marks) {\n let type = this.marks[prop], excl = type.spec.excludes;\n type.excluded = excl == null ? [type] : excl == \"\" ? [] : gatherMarks(this, excl.split(\" \"));\n }\n this.nodeFromJSON = this.nodeFromJSON.bind(this);\n this.markFromJSON = this.markFromJSON.bind(this);\n this.topNodeType = this.nodes[this.spec.topNode || \"doc\"];\n this.cached.wrappings = Object.create(null);\n }\n /**\n Create a node in this schema. The `type` may be a string or a\n `NodeType` instance. Attributes will be extended with defaults,\n `content` may be a `Fragment`, `null`, a `Node`, or an array of\n nodes.\n */\n node(type, attrs = null, content, marks) {\n if (typeof type == \"string\")\n type = this.nodeType(type);\n else if (!(type instanceof NodeType))\n throw new RangeError(\"Invalid node type: \" + type);\n else if (type.schema != this)\n throw new RangeError(\"Node type from different schema used (\" + type.name + \")\");\n return type.createChecked(attrs, content, marks);\n }\n /**\n Create a text node in the schema. Empty text nodes are not\n allowed.\n */\n text(text, marks) {\n let type = this.nodes.text;\n return new TextNode(type, type.defaultAttrs, text, Mark.setFrom(marks));\n }\n /**\n Create a mark with the given type and attributes.\n */\n mark(type, attrs) {\n if (typeof type == \"string\")\n type = this.marks[type];\n return type.create(attrs);\n }\n /**\n Deserialize a node from its JSON representation. This method is\n bound.\n */\n nodeFromJSON(json) {\n return Node.fromJSON(this, json);\n }\n /**\n Deserialize a mark from its JSON representation. This method is\n bound.\n */\n markFromJSON(json) {\n return Mark.fromJSON(this, json);\n }\n /**\n @internal\n */\n nodeType(name) {\n let found = this.nodes[name];\n if (!found)\n throw new RangeError(\"Unknown node type: \" + name);\n return found;\n }\n}\nfunction gatherMarks(schema, marks) {\n let found = [];\n for (let i = 0; i < marks.length; i++) {\n let name = marks[i], mark = schema.marks[name], ok = mark;\n if (mark) {\n found.push(mark);\n }\n else {\n for (let prop in schema.marks) {\n let mark = schema.marks[prop];\n if (name == \"_\" || (mark.spec.group && mark.spec.group.split(\" \").indexOf(name) > -1))\n found.push(ok = mark);\n }\n }\n if (!ok)\n throw new SyntaxError(\"Unknown mark type: '\" + marks[i] + \"'\");\n }\n return found;\n}\n\nfunction isTagRule(rule) { return rule.tag != null; }\nfunction isStyleRule(rule) { return rule.style != null; }\n/**\nA DOM parser represents a strategy for parsing DOM content into a\nProseMirror document conforming to a given schema. Its behavior is\ndefined by an array of [rules](https://prosemirror.net/docs/ref/#model.ParseRule).\n*/\nclass DOMParser {\n /**\n Create a parser that targets the given schema, using the given\n parsing rules.\n */\n constructor(\n /**\n The schema into which the parser parses.\n */\n schema, \n /**\n The set of [parse rules](https://prosemirror.net/docs/ref/#model.ParseRule) that the parser\n uses, in order of precedence.\n */\n rules) {\n this.schema = schema;\n this.rules = rules;\n /**\n @internal\n */\n this.tags = [];\n /**\n @internal\n */\n this.styles = [];\n rules.forEach(rule => {\n if (isTagRule(rule))\n this.tags.push(rule);\n else if (isStyleRule(rule))\n this.styles.push(rule);\n });\n // Only normalize list elements when lists in the schema can't directly contain themselves\n this.normalizeLists = !this.tags.some(r => {\n if (!/^(ul|ol)\\b/.test(r.tag) || !r.node)\n return false;\n let node = schema.nodes[r.node];\n return node.contentMatch.matchType(node);\n });\n }\n /**\n Parse a document from the content of a DOM node.\n */\n parse(dom, options = {}) {\n let context = new ParseContext(this, options, false);\n context.addAll(dom, options.from, options.to);\n return context.finish();\n }\n /**\n Parses the content of the given DOM node, like\n [`parse`](https://prosemirror.net/docs/ref/#model.DOMParser.parse), and takes the same set of\n options. But unlike that method, which produces a whole node,\n this one returns a slice that is open at the sides, meaning that\n the schema constraints aren't applied to the start of nodes to\n the left of the input and the end of nodes at the end.\n */\n parseSlice(dom, options = {}) {\n let context = new ParseContext(this, options, true);\n context.addAll(dom, options.from, options.to);\n return Slice.maxOpen(context.finish());\n }\n /**\n @internal\n */\n matchTag(dom, context, after) {\n for (let i = after ? this.tags.indexOf(after) + 1 : 0; i < this.tags.length; i++) {\n let rule = this.tags[i];\n if (matches(dom, rule.tag) &&\n (rule.namespace === undefined || dom.namespaceURI == rule.namespace) &&\n (!rule.context || context.matchesContext(rule.context))) {\n if (rule.getAttrs) {\n let result = rule.getAttrs(dom);\n if (result === false)\n continue;\n rule.attrs = result || undefined;\n }\n return rule;\n }\n }\n }\n /**\n @internal\n */\n matchStyle(prop, value, context, after) {\n for (let i = after ? this.styles.indexOf(after) + 1 : 0; i < this.styles.length; i++) {\n let rule = this.styles[i], style = rule.style;\n if (style.indexOf(prop) != 0 ||\n rule.context && !context.matchesContext(rule.context) ||\n // Test that the style string either precisely matches the prop,\n // or has an '=' sign after the prop, followed by the given\n // value.\n style.length > prop.length &&\n (style.charCodeAt(prop.length) != 61 || style.slice(prop.length + 1) != value))\n continue;\n if (rule.getAttrs) {\n let result = rule.getAttrs(value);\n if (result === false)\n continue;\n rule.attrs = result || undefined;\n }\n return rule;\n }\n }\n /**\n @internal\n */\n static schemaRules(schema) {\n let result = [];\n function insert(rule) {\n let priority = rule.priority == null ? 50 : rule.priority, i = 0;\n for (; i < result.length; i++) {\n let next = result[i], nextPriority = next.priority == null ? 50 : next.priority;\n if (nextPriority < priority)\n break;\n }\n result.splice(i, 0, rule);\n }\n for (let name in schema.marks) {\n let rules = schema.marks[name].spec.parseDOM;\n if (rules)\n rules.forEach(rule => {\n insert(rule = copy(rule));\n if (!(rule.mark || rule.ignore || rule.clearMark))\n rule.mark = name;\n });\n }\n for (let name in schema.nodes) {\n let rules = schema.nodes[name].spec.parseDOM;\n if (rules)\n rules.forEach(rule => {\n insert(rule = copy(rule));\n if (!(rule.node || rule.ignore || rule.mark))\n rule.node = name;\n });\n }\n return result;\n }\n /**\n Construct a DOM parser using the parsing rules listed in a\n schema's [node specs](https://prosemirror.net/docs/ref/#model.NodeSpec.parseDOM), reordered by\n [priority](https://prosemirror.net/docs/ref/#model.ParseRule.priority).\n */\n static fromSchema(schema) {\n return schema.cached.domParser ||\n (schema.cached.domParser = new DOMParser(schema, DOMParser.schemaRules(schema)));\n }\n}\nconst blockTags = {\n address: true, article: true, aside: true, blockquote: true, canvas: true,\n dd: true, div: true, dl: true, fieldset: true, figcaption: true, figure: true,\n footer: true, form: true, h1: true, h2: true, h3: true, h4: true, h5: true,\n h6: true, header: true, hgroup: true, hr: true, li: true, noscript: true, ol: true,\n output: true, p: true, pre: true, section: true, table: true, tfoot: true, ul: true\n};\nconst ignoreTags = {\n head: true, noscript: true, object: true, script: true, style: true, title: true\n};\nconst listTags = { ol: true, ul: true };\n// Using a bitfield for node context options\nconst OPT_PRESERVE_WS = 1, OPT_PRESERVE_WS_FULL = 2, OPT_OPEN_LEFT = 4;\nfunction wsOptionsFor(type, preserveWhitespace, base) {\n if (preserveWhitespace != null)\n return (preserveWhitespace ? OPT_PRESERVE_WS : 0) |\n (preserveWhitespace === \"full\" ? OPT_PRESERVE_WS_FULL : 0);\n return type && type.whitespace == \"pre\" ? OPT_PRESERVE_WS | OPT_PRESERVE_WS_FULL : base & ~OPT_OPEN_LEFT;\n}\nclass NodeContext {\n constructor(type, attrs, \n // Marks applied to this node itself\n marks, \n // Marks that can't apply here, but will be used in children if possible\n pendingMarks, solid, match, options) {\n this.type = type;\n this.attrs = attrs;\n this.marks = marks;\n this.pendingMarks = pendingMarks;\n this.solid = solid;\n this.options = options;\n this.content = [];\n // Marks applied to the node's children\n this.activeMarks = Mark.none;\n // Nested Marks with same type\n this.stashMarks = [];\n this.match = match || (options & OPT_OPEN_LEFT ? null : type.contentMatch);\n }\n findWrapping(node) {\n if (!this.match) {\n if (!this.type)\n return [];\n let fill = this.type.contentMatch.fillBefore(Fragment.from(node));\n if (fill) {\n this.match = this.type.contentMatch.matchFragment(fill);\n }\n else {\n let start = this.type.contentMatch, wrap;\n if (wrap = start.findWrapping(node.type)) {\n this.match = start;\n return wrap;\n }\n else {\n return null;\n }\n }\n }\n return this.match.findWrapping(node.type);\n }\n finish(openEnd) {\n if (!(this.options & OPT_PRESERVE_WS)) { // Strip trailing whitespace\n let last = this.content[this.content.length - 1], m;\n if (last && last.isText && (m = /[ \\t\\r\\n\\u000c]+$/.exec(last.text))) {\n let text = last;\n if (last.text.length == m[0].length)\n this.content.pop();\n else\n this.content[this.content.length - 1] = text.withText(text.text.slice(0, text.text.length - m[0].length));\n }\n }\n let content = Fragment.from(this.content);\n if (!openEnd && this.match)\n content = content.append(this.match.fillBefore(Fragment.empty, true));\n return this.type ? this.type.create(this.attrs, content, this.marks) : content;\n }\n popFromStashMark(mark) {\n for (let i = this.stashMarks.length - 1; i >= 0; i--)\n if (mark.eq(this.stashMarks[i]))\n return this.stashMarks.splice(i, 1)[0];\n }\n applyPending(nextType) {\n for (let i = 0, pending = this.pendingMarks; i < pending.length; i++) {\n let mark = pending[i];\n if ((this.type ? this.type.allowsMarkType(mark.type) : markMayApply(mark.type, nextType)) &&\n !mark.isInSet(this.activeMarks)) {\n this.activeMarks = mark.addToSet(this.activeMarks);\n this.pendingMarks = mark.removeFromSet(this.pendingMarks);\n }\n }\n }\n inlineContext(node) {\n if (this.type)\n return this.type.inlineContent;\n if (this.content.length)\n return this.content[0].isInline;\n return node.parentNode && !blockTags.hasOwnProperty(node.parentNode.nodeName.toLowerCase());\n }\n}\nclass ParseContext {\n constructor(\n // The parser we are using.\n parser, \n // The options passed to this parse.\n options, isOpen) {\n this.parser = parser;\n this.options = options;\n this.isOpen = isOpen;\n this.open = 0;\n let topNode = options.topNode, topContext;\n let topOptions = wsOptionsFor(null, options.preserveWhitespace, 0) | (isOpen ? OPT_OPEN_LEFT : 0);\n if (topNode)\n topContext = new NodeContext(topNode.type, topNode.attrs, Mark.none, Mark.none, true, options.topMatch || topNode.type.contentMatch, topOptions);\n else if (isOpen)\n topContext = new NodeContext(null, null, Mark.none, Mark.none, true, null, topOptions);\n else\n topContext = new NodeContext(parser.schema.topNodeType, null, Mark.none, Mark.none, true, null, topOptions);\n this.nodes = [topContext];\n this.find = options.findPositions;\n this.needsBlock = false;\n }\n get top() {\n return this.nodes[this.open];\n }\n // Add a DOM node to the content. Text is inserted as text node,\n // otherwise, the node is passed to `addElement` or, if it has a\n // `style` attribute, `addElementWithStyles`.\n addDOM(dom) {\n if (dom.nodeType == 3)\n this.addTextNode(dom);\n else if (dom.nodeType == 1)\n this.addElement(dom);\n }\n withStyleRules(dom, f) {\n let style = dom.style;\n if (!style || !style.length)\n return f();\n let marks = this.readStyles(dom.style);\n if (!marks)\n return; // A style with ignore: true\n let [addMarks, removeMarks] = marks, top = this.top;\n for (let i = 0; i < removeMarks.length; i++)\n this.removePendingMark(removeMarks[i], top);\n for (let i = 0; i < addMarks.length; i++)\n this.addPendingMark(addMarks[i]);\n f();\n for (let i = 0; i < addMarks.length; i++)\n this.removePendingMark(addMarks[i], top);\n for (let i = 0; i < removeMarks.length; i++)\n this.addPendingMark(removeMarks[i]);\n }\n addTextNode(dom) {\n let value = dom.nodeValue;\n let top = this.top;\n if (top.options & OPT_PRESERVE_WS_FULL ||\n top.inlineContext(dom) ||\n /[^ \\t\\r\\n\\u000c]/.test(value)) {\n if (!(top.options & OPT_PRESERVE_WS)) {\n value = value.replace(/[ \\t\\r\\n\\u000c]+/g, \" \");\n // If this starts with whitespace, and there is no node before it, or\n // a hard break, or a text node that ends with whitespace, strip the\n // leading space.\n if (/^[ \\t\\r\\n\\u000c]/.test(value) && this.open == this.nodes.length - 1) {\n let nodeBefore = top.content[top.content.length - 1];\n let domNodeBefore = dom.previousSibling;\n if (!nodeBefore ||\n (domNodeBefore && domNodeBefore.nodeName == 'BR') ||\n (nodeBefore.isText && /[ \\t\\r\\n\\u000c]$/.test(nodeBefore.text)))\n value = value.slice(1);\n }\n }\n else if (!(top.options & OPT_PRESERVE_WS_FULL)) {\n value = value.replace(/\\r?\\n|\\r/g, \" \");\n }\n else {\n value = value.replace(/\\r\\n?/g, \"\\n\");\n }\n if (value)\n this.insertNode(this.parser.schema.text(value));\n this.findInText(dom);\n }\n else {\n this.findInside(dom);\n }\n }\n // Try to find a handler for the given tag and use that to parse. If\n // none is found, the element's content nodes are added directly.\n addElement(dom, matchAfter) {\n let name = dom.nodeName.toLowerCase(), ruleID;\n if (listTags.hasOwnProperty(name) && this.parser.normalizeLists)\n normalizeList(dom);\n let rule = (this.options.ruleFromNode && this.options.ruleFromNode(dom)) ||\n (ruleID = this.parser.matchTag(dom, this, matchAfter));\n if (rule ? rule.ignore : ignoreTags.hasOwnProperty(name)) {\n this.findInside(dom);\n this.ignoreFallback(dom);\n }\n else if (!rule || rule.skip || rule.closeParent) {\n if (rule && rule.closeParent)\n this.open = Math.max(0, this.open - 1);\n else if (rule && rule.skip.nodeType)\n dom = rule.skip;\n let sync, top = this.top, oldNeedsBlock = this.needsBlock;\n if (blockTags.hasOwnProperty(name)) {\n if (top.content.length && top.content[0].isInline && this.open) {\n this.open--;\n top = this.top;\n }\n sync = true;\n if (!top.type)\n this.needsBlock = true;\n }\n else if (!dom.firstChild) {\n this.leafFallback(dom);\n return;\n }\n if (rule && rule.skip)\n this.addAll(dom);\n else\n this.withStyleRules(dom, () => this.addAll(dom));\n if (sync)\n this.sync(top);\n this.needsBlock = oldNeedsBlock;\n }\n else {\n this.withStyleRules(dom, () => {\n this.addElementByRule(dom, rule, rule.consuming === false ? ruleID : undefined);\n });\n }\n }\n // Called for leaf DOM nodes that would otherwise be ignored\n leafFallback(dom) {\n if (dom.nodeName == \"BR\" && this.top.type && this.top.type.inlineContent)\n this.addTextNode(dom.ownerDocument.createTextNode(\"\\n\"));\n }\n // Called for ignored nodes\n ignoreFallback(dom) {\n // Ignored BR nodes should at least create an inline context\n if (dom.nodeName == \"BR\" && (!this.top.type || !this.top.type.inlineContent))\n this.findPlace(this.parser.schema.text(\"-\"));\n }\n // Run any style parser associated with the node's styles. Either\n // return an array of marks, or null to indicate some of the styles\n // had a rule with `ignore` set.\n readStyles(styles) {\n let add = Mark.none, remove = Mark.none;\n for (let i = 0, l = styles.length; i < l; i++) {\n let name = styles.item(i);\n for (let after = undefined;;) {\n let rule = this.parser.matchStyle(name, styles.getPropertyValue(name), this, after);\n if (!rule)\n break;\n if (rule.ignore)\n return null;\n if (rule.clearMark) {\n this.top.pendingMarks.concat(this.top.activeMarks).forEach(m => {\n if (rule.clearMark(m))\n remove = m.addToSet(remove);\n });\n }\n else {\n add = this.parser.schema.marks[rule.mark].create(rule.attrs).addToSet(add);\n }\n if (rule.consuming === false)\n after = rule;\n else\n break;\n }\n }\n return [add, remove];\n }\n // Look up a handler for the given node. If none are found, return\n // false. Otherwise, apply it, use its return value to drive the way\n // the node's content is wrapped, and return true.\n addElementByRule(dom, rule, continueAfter) {\n let sync, nodeType, mark;\n if (rule.node) {\n nodeType = this.parser.schema.nodes[rule.node];\n if (!nodeType.isLeaf) {\n sync = this.enter(nodeType, rule.attrs || null, rule.preserveWhitespace);\n }\n else if (!this.insertNode(nodeType.create(rule.attrs))) {\n this.leafFallback(dom);\n }\n }\n else {\n let markType = this.parser.schema.marks[rule.mark];\n mark = markType.create(rule.attrs);\n this.addPendingMark(mark);\n }\n let startIn = this.top;\n if (nodeType && nodeType.isLeaf) {\n this.findInside(dom);\n }\n else if (continueAfter) {\n this.addElement(dom, continueAfter);\n }\n else if (rule.getContent) {\n this.findInside(dom);\n rule.getContent(dom, this.parser.schema).forEach(node => this.insertNode(node));\n }\n else {\n let contentDOM = dom;\n if (typeof rule.contentElement == \"string\")\n contentDOM = dom.querySelector(rule.contentElement);\n else if (typeof rule.contentElement == \"function\")\n contentDOM = rule.contentElement(dom);\n else if (rule.contentElement)\n contentDOM = rule.contentElement;\n this.findAround(dom, contentDOM, true);\n this.addAll(contentDOM);\n }\n if (sync && this.sync(startIn))\n this.open--;\n if (mark)\n this.removePendingMark(mark, startIn);\n }\n // Add all child nodes between `startIndex` and `endIndex` (or the\n // whole node, if not given). If `sync` is passed, use it to\n // synchronize after every block element.\n addAll(parent, startIndex, endIndex) {\n let index = startIndex || 0;\n for (let dom = startIndex ? parent.childNodes[startIndex] : parent.firstChild, end = endIndex == null ? null : parent.childNodes[endIndex]; dom != end; dom = dom.nextSibling, ++index) {\n this.findAtPoint(parent, index);\n this.addDOM(dom);\n }\n this.findAtPoint(parent, index);\n }\n // Try to find a way to fit the given node type into the current\n // context. May add intermediate wrappers and/or leave non-solid\n // nodes that we're in.\n findPlace(node) {\n let route, sync;\n for (let depth = this.open; depth >= 0; depth--) {\n let cx = this.nodes[depth];\n let found = cx.findWrapping(node);\n if (found && (!route || route.length > found.length)) {\n route = found;\n sync = cx;\n if (!found.length)\n break;\n }\n if (cx.solid)\n break;\n }\n if (!route)\n return false;\n this.sync(sync);\n for (let i = 0; i < route.length; i++)\n this.enterInner(route[i], null, false);\n return true;\n }\n // Try to insert the given node, adjusting the context when needed.\n insertNode(node) {\n if (node.isInline && this.needsBlock && !this.top.type) {\n let block = this.textblockFromContext();\n if (block)\n this.enterInner(block);\n }\n if (this.findPlace(node)) {\n this.closeExtra();\n let top = this.top;\n top.applyPending(node.type);\n if (top.match)\n top.match = top.match.matchType(node.type);\n let marks = top.activeMarks;\n for (let i = 0; i < node.marks.length; i++)\n if (!top.type || top.type.allowsMarkType(node.marks[i].type))\n marks = node.marks[i].addToSet(marks);\n top.content.push(node.mark(marks));\n return true;\n }\n return false;\n }\n // Try to start a node of the given type, adjusting the context when\n // necessary.\n enter(type, attrs, preserveWS) {\n let ok = this.findPlace(type.create(attrs));\n if (ok)\n this.enterInner(type, attrs, true, preserveWS);\n return ok;\n }\n // Open a node of the given type\n enterInner(type, attrs = null, solid = false, preserveWS) {\n this.closeExtra();\n let top = this.top;\n top.applyPending(type);\n top.match = top.match && top.match.matchType(type);\n let options = wsOptionsFor(type, preserveWS, top.options);\n if ((top.options & OPT_OPEN_LEFT) && top.content.length == 0)\n options |= OPT_OPEN_LEFT;\n this.nodes.push(new NodeContext(type, attrs, top.activeMarks, top.pendingMarks, solid, null, options));\n this.open++;\n }\n // Make sure all nodes above this.open are finished and added to\n // their parents\n closeExtra(openEnd = false) {\n let i = this.nodes.length - 1;\n if (i > this.open) {\n for (; i > this.open; i--)\n this.nodes[i - 1].content.push(this.nodes[i].finish(openEnd));\n this.nodes.length = this.open + 1;\n }\n }\n finish() {\n this.open = 0;\n this.closeExtra(this.isOpen);\n return this.nodes[0].finish(this.isOpen || this.options.topOpen);\n }\n sync(to) {\n for (let i = this.open; i >= 0; i--)\n if (this.nodes[i] == to) {\n this.open = i;\n return true;\n }\n return false;\n }\n get currentPos() {\n this.closeExtra();\n let pos = 0;\n for (let i = this.open; i >= 0; i--) {\n let content = this.nodes[i].content;\n for (let j = content.length - 1; j >= 0; j--)\n pos += content[j].nodeSize;\n if (i)\n pos++;\n }\n return pos;\n }\n findAtPoint(parent, offset) {\n if (this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].node == parent && this.find[i].offset == offset)\n this.find[i].pos = this.currentPos;\n }\n }\n findInside(parent) {\n if (this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].pos == null && parent.nodeType == 1 && parent.contains(this.find[i].node))\n this.find[i].pos = this.currentPos;\n }\n }\n findAround(parent, content, before) {\n if (parent != content && this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].pos == null && parent.nodeType == 1 && parent.contains(this.find[i].node)) {\n let pos = content.compareDocumentPosition(this.find[i].node);\n if (pos & (before ? 2 : 4))\n this.find[i].pos = this.currentPos;\n }\n }\n }\n findInText(textNode) {\n if (this.find)\n for (let i = 0; i < this.find.length; i++) {\n if (this.find[i].node == textNode)\n this.find[i].pos = this.currentPos - (textNode.nodeValue.length - this.find[i].offset);\n }\n }\n // Determines whether the given context string matches this context.\n matchesContext(context) {\n if (context.indexOf(\"|\") > -1)\n return context.split(/\\s*\\|\\s*/).some(this.matchesContext, this);\n let parts = context.split(\"/\");\n let option = this.options.context;\n let useRoot = !this.isOpen && (!option || option.parent.type == this.nodes[0].type);\n let minDepth = -(option ? option.depth + 1 : 0) + (useRoot ? 0 : 1);\n let match = (i, depth) => {\n for (; i >= 0; i--) {\n let part = parts[i];\n if (part == \"\") {\n if (i == parts.length - 1 || i == 0)\n continue;\n for (; depth >= minDepth; depth--)\n if (match(i - 1, depth))\n return true;\n return false;\n }\n else {\n let next = depth > 0 || (depth == 0 && useRoot) ? this.nodes[depth].type\n : option && depth >= minDepth ? option.node(depth - minDepth).type\n : null;\n if (!next || (next.name != part && next.groups.indexOf(part) == -1))\n return false;\n depth--;\n }\n }\n return true;\n };\n return match(parts.length - 1, this.open);\n }\n textblockFromContext() {\n let $context = this.options.context;\n if ($context)\n for (let d = $context.depth; d >= 0; d--) {\n let deflt = $context.node(d).contentMatchAt($context.indexAfter(d)).defaultType;\n if (deflt && deflt.isTextblock && deflt.defaultAttrs)\n return deflt;\n }\n for (let name in this.parser.schema.nodes) {\n let type = this.parser.schema.nodes[name];\n if (type.isTextblock && type.defaultAttrs)\n return type;\n }\n }\n addPendingMark(mark) {\n let found = findSameMarkInSet(mark, this.top.pendingMarks);\n if (found)\n this.top.stashMarks.push(found);\n this.top.pendingMarks = mark.addToSet(this.top.pendingMarks);\n }\n removePendingMark(mark, upto) {\n for (let depth = this.open; depth >= 0; depth--) {\n let level = this.nodes[depth];\n let found = level.pendingMarks.lastIndexOf(mark);\n if (found > -1) {\n level.pendingMarks = mark.removeFromSet(level.pendingMarks);\n }\n else {\n level.activeMarks = mark.removeFromSet(level.activeMarks);\n let stashMark = level.popFromStashMark(mark);\n if (stashMark && level.type && level.type.allowsMarkType(stashMark.type))\n level.activeMarks = stashMark.addToSet(level.activeMarks);\n }\n if (level == upto)\n break;\n }\n }\n}\n// Kludge to work around directly nested list nodes produced by some\n// tools and allowed by browsers to mean that the nested list is\n// actually part of the list item above it.\nfunction normalizeList(dom) {\n for (let child = dom.firstChild, prevItem = null; child; child = child.nextSibling) {\n let name = child.nodeType == 1 ? child.nodeName.toLowerCase() : null;\n if (name && listTags.hasOwnProperty(name) && prevItem) {\n prevItem.appendChild(child);\n child = prevItem;\n }\n else if (name == \"li\") {\n prevItem = child;\n }\n else if (name) {\n prevItem = null;\n }\n }\n}\n// Apply a CSS selector.\nfunction matches(dom, selector) {\n return (dom.matches || dom.msMatchesSelector || dom.webkitMatchesSelector || dom.mozMatchesSelector).call(dom, selector);\n}\nfunction copy(obj) {\n let copy = {};\n for (let prop in obj)\n copy[prop] = obj[prop];\n return copy;\n}\n// Used when finding a mark at the top level of a fragment parse.\n// Checks whether it would be reasonable to apply a given mark type to\n// a given node, by looking at the way the mark occurs in the schema.\nfunction markMayApply(markType, nodeType) {\n let nodes = nodeType.schema.nodes;\n for (let name in nodes) {\n let parent = nodes[name];\n if (!parent.allowsMarkType(markType))\n continue;\n let seen = [], scan = (match) => {\n seen.push(match);\n for (let i = 0; i < match.edgeCount; i++) {\n let { type, next } = match.edge(i);\n if (type == nodeType)\n return true;\n if (seen.indexOf(next) < 0 && scan(next))\n return true;\n }\n };\n if (scan(parent.contentMatch))\n return true;\n }\n}\nfunction findSameMarkInSet(mark, set) {\n for (let i = 0; i < set.length; i++) {\n if (mark.eq(set[i]))\n return set[i];\n }\n}\n\n/**\nA DOM serializer knows how to convert ProseMirror nodes and\nmarks of various types to DOM nodes.\n*/\nclass DOMSerializer {\n /**\n Create a serializer. `nodes` should map node names to functions\n that take a node and return a description of the corresponding\n DOM. `marks` does the same for mark names, but also gets an\n argument that tells it whether the mark's content is block or\n inline content (for typical use, it'll always be inline). A mark\n serializer may be `null` to indicate that marks of that type\n should not be serialized.\n */\n constructor(\n /**\n The node serialization functions.\n */\n nodes, \n /**\n The mark serialization functions.\n */\n marks) {\n this.nodes = nodes;\n this.marks = marks;\n }\n /**\n Serialize the content of this fragment to a DOM fragment. When\n not in the browser, the `document` option, containing a DOM\n document, should be passed so that the serializer can create\n nodes.\n */\n serializeFragment(fragment, options = {}, target) {\n if (!target)\n target = doc(options).createDocumentFragment();\n let top = target, active = [];\n fragment.forEach(node => {\n if (active.length || node.marks.length) {\n let keep = 0, rendered = 0;\n while (keep < active.length && rendered < node.marks.length) {\n let next = node.marks[rendered];\n if (!this.marks[next.type.name]) {\n rendered++;\n continue;\n }\n if (!next.eq(active[keep][0]) || next.type.spec.spanning === false)\n break;\n keep++;\n rendered++;\n }\n while (keep < active.length)\n top = active.pop()[1];\n while (rendered < node.marks.length) {\n let add = node.marks[rendered++];\n let markDOM = this.serializeMark(add, node.isInline, options);\n if (markDOM) {\n active.push([add, top]);\n top.appendChild(markDOM.dom);\n top = markDOM.contentDOM || markDOM.dom;\n }\n }\n }\n top.appendChild(this.serializeNodeInner(node, options));\n });\n return target;\n }\n /**\n @internal\n */\n serializeNodeInner(node, options) {\n let { dom, contentDOM } = DOMSerializer.renderSpec(doc(options), this.nodes[node.type.name](node));\n if (contentDOM) {\n if (node.isLeaf)\n throw new RangeError(\"Content hole not allowed in a leaf node spec\");\n this.serializeFragment(node.content, options, contentDOM);\n }\n return dom;\n }\n /**\n Serialize this node to a DOM node. This can be useful when you\n need to serialize a part of a document, as opposed to the whole\n document. To serialize a whole document, use\n [`serializeFragment`](https://prosemirror.net/docs/ref/#model.DOMSerializer.serializeFragment) on\n its [content](https://prosemirror.net/docs/ref/#model.Node.content).\n */\n serializeNode(node, options = {}) {\n let dom = this.serializeNodeInner(node, options);\n for (let i = node.marks.length - 1; i >= 0; i--) {\n let wrap = this.serializeMark(node.marks[i], node.isInline, options);\n if (wrap) {\n (wrap.contentDOM || wrap.dom).appendChild(dom);\n dom = wrap.dom;\n }\n }\n return dom;\n }\n /**\n @internal\n */\n serializeMark(mark, inline, options = {}) {\n let toDOM = this.marks[mark.type.name];\n return toDOM && DOMSerializer.renderSpec(doc(options), toDOM(mark, inline));\n }\n /**\n Render an [output spec](https://prosemirror.net/docs/ref/#model.DOMOutputSpec) to a DOM node. If\n the spec has a hole (zero) in it, `contentDOM` will point at the\n node with the hole.\n */\n static renderSpec(doc, structure, xmlNS = null) {\n if (typeof structure == \"string\")\n return { dom: doc.createTextNode(structure) };\n if (structure.nodeType != null)\n return { dom: structure };\n if (structure.dom && structure.dom.nodeType != null)\n return structure;\n let tagName = structure[0], space = tagName.indexOf(\" \");\n if (space > 0) {\n xmlNS = tagName.slice(0, space);\n tagName = tagName.slice(space + 1);\n }\n let contentDOM;\n let dom = (xmlNS ? doc.createElementNS(xmlNS, tagName) : doc.createElement(tagName));\n let attrs = structure[1], start = 1;\n if (attrs && typeof attrs == \"object\" && attrs.nodeType == null && !Array.isArray(attrs)) {\n start = 2;\n for (let name in attrs)\n if (attrs[name] != null) {\n let space = name.indexOf(\" \");\n if (space > 0)\n dom.setAttributeNS(name.slice(0, space), name.slice(space + 1), attrs[name]);\n else\n dom.setAttribute(name, attrs[name]);\n }\n }\n for (let i = start; i < structure.length; i++) {\n let child = structure[i];\n if (child === 0) {\n if (i < structure.length - 1 || i > start)\n throw new RangeError(\"Content hole must be the only child of its parent node\");\n return { dom, contentDOM: dom };\n }\n else {\n let { dom: inner, contentDOM: innerContent } = DOMSerializer.renderSpec(doc, child, xmlNS);\n dom.appendChild(inner);\n if (innerContent) {\n if (contentDOM)\n throw new RangeError(\"Multiple content holes\");\n contentDOM = innerContent;\n }\n }\n }\n return { dom, contentDOM };\n }\n /**\n Build a serializer using the [`toDOM`](https://prosemirror.net/docs/ref/#model.NodeSpec.toDOM)\n properties in a schema's node and mark specs.\n */\n static fromSchema(schema) {\n return schema.cached.domSerializer ||\n (schema.cached.domSerializer = new DOMSerializer(this.nodesFromSchema(schema), this.marksFromSchema(schema)));\n }\n /**\n Gather the serializers in a schema's node specs into an object.\n This can be useful as a base to build a custom serializer from.\n */\n static nodesFromSchema(schema) {\n let result = gatherToDOM(schema.nodes);\n if (!result.text)\n result.text = node => node.text;\n return result;\n }\n /**\n Gather the serializers in a schema's mark specs into an object.\n */\n static marksFromSchema(schema) {\n return gatherToDOM(schema.marks);\n }\n}\nfunction gatherToDOM(obj) {\n let result = {};\n for (let name in obj) {\n let toDOM = obj[name].spec.toDOM;\n if (toDOM)\n result[name] = toDOM;\n }\n return result;\n}\nfunction doc(options) {\n return options.document || window.document;\n}\n\nexport { ContentMatch, DOMParser, DOMSerializer, Fragment, Mark, MarkType, Node, NodeRange, NodeType, ReplaceError, ResolvedPos, Schema, Slice };\n","import { ReplaceError, Slice, Fragment, MarkType, Mark } from 'prosemirror-model';\n\n// Recovery values encode a range index and an offset. They are\n// represented as numbers, because tons of them will be created when\n// mapping, for example, a large number of decorations. The number's\n// lower 16 bits provide the index, the remaining bits the offset.\n//\n// Note: We intentionally don't use bit shift operators to en- and\n// decode these, since those clip to 32 bits, which we might in rare\n// cases want to overflow. A 64-bit float can represent 48-bit\n// integers precisely.\nconst lower16 = 0xffff;\nconst factor16 = Math.pow(2, 16);\nfunction makeRecover(index, offset) { return index + offset * factor16; }\nfunction recoverIndex(value) { return value & lower16; }\nfunction recoverOffset(value) { return (value - (value & lower16)) / factor16; }\nconst DEL_BEFORE = 1, DEL_AFTER = 2, DEL_ACROSS = 4, DEL_SIDE = 8;\n/**\nAn object representing a mapped position with extra\ninformation.\n*/\nclass MapResult {\n /**\n @internal\n */\n constructor(\n /**\n The mapped version of the position.\n */\n pos, \n /**\n @internal\n */\n delInfo, \n /**\n @internal\n */\n recover) {\n this.pos = pos;\n this.delInfo = delInfo;\n this.recover = recover;\n }\n /**\n Tells you whether the position was deleted, that is, whether the\n step removed the token on the side queried (via the `assoc`)\n argument from the document.\n */\n get deleted() { return (this.delInfo & DEL_SIDE) > 0; }\n /**\n Tells you whether the token before the mapped position was deleted.\n */\n get deletedBefore() { return (this.delInfo & (DEL_BEFORE | DEL_ACROSS)) > 0; }\n /**\n True when the token after the mapped position was deleted.\n */\n get deletedAfter() { return (this.delInfo & (DEL_AFTER | DEL_ACROSS)) > 0; }\n /**\n Tells whether any of the steps mapped through deletes across the\n position (including both the token before and after the\n position).\n */\n get deletedAcross() { return (this.delInfo & DEL_ACROSS) > 0; }\n}\n/**\nA map describing the deletions and insertions made by a step, which\ncan be used to find the correspondence between positions in the\npre-step version of a document and the same position in the\npost-step version.\n*/\nclass StepMap {\n /**\n Create a position map. The modifications to the document are\n represented as an array of numbers, in which each group of three\n represents a modified chunk as `[start, oldSize, newSize]`.\n */\n constructor(\n /**\n @internal\n */\n ranges, \n /**\n @internal\n */\n inverted = false) {\n this.ranges = ranges;\n this.inverted = inverted;\n if (!ranges.length && StepMap.empty)\n return StepMap.empty;\n }\n /**\n @internal\n */\n recover(value) {\n let diff = 0, index = recoverIndex(value);\n if (!this.inverted)\n for (let i = 0; i < index; i++)\n diff += this.ranges[i * 3 + 2] - this.ranges[i * 3 + 1];\n return this.ranges[index * 3] + diff + recoverOffset(value);\n }\n mapResult(pos, assoc = 1) { return this._map(pos, assoc, false); }\n map(pos, assoc = 1) { return this._map(pos, assoc, true); }\n /**\n @internal\n */\n _map(pos, assoc, simple) {\n let diff = 0, oldIndex = this.inverted ? 2 : 1, newIndex = this.inverted ? 1 : 2;\n for (let i = 0; i < this.ranges.length; i += 3) {\n let start = this.ranges[i] - (this.inverted ? diff : 0);\n if (start > pos)\n break;\n let oldSize = this.ranges[i + oldIndex], newSize = this.ranges[i + newIndex], end = start + oldSize;\n if (pos <= end) {\n let side = !oldSize ? assoc : pos == start ? -1 : pos == end ? 1 : assoc;\n let result = start + diff + (side < 0 ? 0 : newSize);\n if (simple)\n return result;\n let recover = pos == (assoc < 0 ? start : end) ? null : makeRecover(i / 3, pos - start);\n let del = pos == start ? DEL_AFTER : pos == end ? DEL_BEFORE : DEL_ACROSS;\n if (assoc < 0 ? pos != start : pos != end)\n del |= DEL_SIDE;\n return new MapResult(result, del, recover);\n }\n diff += newSize - oldSize;\n }\n return simple ? pos + diff : new MapResult(pos + diff, 0, null);\n }\n /**\n @internal\n */\n touches(pos, recover) {\n let diff = 0, index = recoverIndex(recover);\n let oldIndex = this.inverted ? 2 : 1, newIndex = this.inverted ? 1 : 2;\n for (let i = 0; i < this.ranges.length; i += 3) {\n let start = this.ranges[i] - (this.inverted ? diff : 0);\n if (start > pos)\n break;\n let oldSize = this.ranges[i + oldIndex], end = start + oldSize;\n if (pos <= end && i == index * 3)\n return true;\n diff += this.ranges[i + newIndex] - oldSize;\n }\n return false;\n }\n /**\n Calls the given function on each of the changed ranges included in\n this map.\n */\n forEach(f) {\n let oldIndex = this.inverted ? 2 : 1, newIndex = this.inverted ? 1 : 2;\n for (let i = 0, diff = 0; i < this.ranges.length; i += 3) {\n let start = this.ranges[i], oldStart = start - (this.inverted ? diff : 0), newStart = start + (this.inverted ? 0 : diff);\n let oldSize = this.ranges[i + oldIndex], newSize = this.ranges[i + newIndex];\n f(oldStart, oldStart + oldSize, newStart, newStart + newSize);\n diff += newSize - oldSize;\n }\n }\n /**\n Create an inverted version of this map. The result can be used to\n map positions in the post-step document to the pre-step document.\n */\n invert() {\n return new StepMap(this.ranges, !this.inverted);\n }\n /**\n @internal\n */\n toString() {\n return (this.inverted ? \"-\" : \"\") + JSON.stringify(this.ranges);\n }\n /**\n Create a map that moves all positions by offset `n` (which may be\n negative). This can be useful when applying steps meant for a\n sub-document to a larger document, or vice-versa.\n */\n static offset(n) {\n return n == 0 ? StepMap.empty : new StepMap(n < 0 ? [0, -n, 0] : [0, 0, n]);\n }\n}\n/**\nA StepMap that contains no changed ranges.\n*/\nStepMap.empty = new StepMap([]);\n/**\nA mapping represents a pipeline of zero or more [step\nmaps](https://prosemirror.net/docs/ref/#transform.StepMap). It has special provisions for losslessly\nhandling mapping positions through a series of steps in which some\nsteps are inverted versions of earlier steps. (This comes up when\n‘[rebasing](/docs/guide/#transform.rebasing)’ steps for\ncollaboration or history management.)\n*/\nclass Mapping {\n /**\n Create a new mapping with the given position maps.\n */\n constructor(\n /**\n The step maps in this mapping.\n */\n maps = [], \n /**\n @internal\n */\n mirror, \n /**\n The starting position in the `maps` array, used when `map` or\n `mapResult` is called.\n */\n from = 0, \n /**\n The end position in the `maps` array.\n */\n to = maps.length) {\n this.maps = maps;\n this.mirror = mirror;\n this.from = from;\n this.to = to;\n }\n /**\n Create a mapping that maps only through a part of this one.\n */\n slice(from = 0, to = this.maps.length) {\n return new Mapping(this.maps, this.mirror, from, to);\n }\n /**\n @internal\n */\n copy() {\n return new Mapping(this.maps.slice(), this.mirror && this.mirror.slice(), this.from, this.to);\n }\n /**\n Add a step map to the end of this mapping. If `mirrors` is\n given, it should be the index of the step map that is the mirror\n image of this one.\n */\n appendMap(map, mirrors) {\n this.to = this.maps.push(map);\n if (mirrors != null)\n this.setMirror(this.maps.length - 1, mirrors);\n }\n /**\n Add all the step maps in a given mapping to this one (preserving\n mirroring information).\n */\n appendMapping(mapping) {\n for (let i = 0, startSize = this.maps.length; i < mapping.maps.length; i++) {\n let mirr = mapping.getMirror(i);\n this.appendMap(mapping.maps[i], mirr != null && mirr < i ? startSize + mirr : undefined);\n }\n }\n /**\n Finds the offset of the step map that mirrors the map at the\n given offset, in this mapping (as per the second argument to\n `appendMap`).\n */\n getMirror(n) {\n if (this.mirror)\n for (let i = 0; i < this.mirror.length; i++)\n if (this.mirror[i] == n)\n return this.mirror[i + (i % 2 ? -1 : 1)];\n }\n /**\n @internal\n */\n setMirror(n, m) {\n if (!this.mirror)\n this.mirror = [];\n this.mirror.push(n, m);\n }\n /**\n Append the inverse of the given mapping to this one.\n */\n appendMappingInverted(mapping) {\n for (let i = mapping.maps.length - 1, totalSize = this.maps.length + mapping.maps.length; i >= 0; i--) {\n let mirr = mapping.getMirror(i);\n this.appendMap(mapping.maps[i].invert(), mirr != null && mirr > i ? totalSize - mirr - 1 : undefined);\n }\n }\n /**\n Create an inverted version of this mapping.\n */\n invert() {\n let inverse = new Mapping;\n inverse.appendMappingInverted(this);\n return inverse;\n }\n /**\n Map a position through this mapping.\n */\n map(pos, assoc = 1) {\n if (this.mirror)\n return this._map(pos, assoc, true);\n for (let i = this.from; i < this.to; i++)\n pos = this.maps[i].map(pos, assoc);\n return pos;\n }\n /**\n Map a position through this mapping, returning a mapping\n result.\n */\n mapResult(pos, assoc = 1) { return this._map(pos, assoc, false); }\n /**\n @internal\n */\n _map(pos, assoc, simple) {\n let delInfo = 0;\n for (let i = this.from; i < this.to; i++) {\n let map = this.maps[i], result = map.mapResult(pos, assoc);\n if (result.recover != null) {\n let corr = this.getMirror(i);\n if (corr != null && corr > i && corr < this.to) {\n i = corr;\n pos = this.maps[corr].recover(result.recover);\n continue;\n }\n }\n delInfo |= result.delInfo;\n pos = result.pos;\n }\n return simple ? pos : new MapResult(pos, delInfo, null);\n }\n}\n\nconst stepsByID = Object.create(null);\n/**\nA step object represents an atomic change. It generally applies\nonly to the document it was created for, since the positions\nstored in it will only make sense for that document.\n\nNew steps are defined by creating classes that extend `Step`,\noverriding the `apply`, `invert`, `map`, `getMap` and `fromJSON`\nmethods, and registering your class with a unique\nJSON-serialization identifier using\n[`Step.jsonID`](https://prosemirror.net/docs/ref/#transform.Step^jsonID).\n*/\nclass Step {\n /**\n Get the step map that represents the changes made by this step,\n and which can be used to transform between positions in the old\n and the new document.\n */\n getMap() { return StepMap.empty; }\n /**\n Try to merge this step with another one, to be applied directly\n after it. Returns the merged step when possible, null if the\n steps can't be merged.\n */\n merge(other) { return null; }\n /**\n Deserialize a step from its JSON representation. Will call\n through to the step class' own implementation of this method.\n */\n static fromJSON(schema, json) {\n if (!json || !json.stepType)\n throw new RangeError(\"Invalid input for Step.fromJSON\");\n let type = stepsByID[json.stepType];\n if (!type)\n throw new RangeError(`No step type ${json.stepType} defined`);\n return type.fromJSON(schema, json);\n }\n /**\n To be able to serialize steps to JSON, each step needs a string\n ID to attach to its JSON representation. Use this method to\n register an ID for your step classes. Try to pick something\n that's unlikely to clash with steps from other modules.\n */\n static jsonID(id, stepClass) {\n if (id in stepsByID)\n throw new RangeError(\"Duplicate use of step JSON ID \" + id);\n stepsByID[id] = stepClass;\n stepClass.prototype.jsonID = id;\n return stepClass;\n }\n}\n/**\nThe result of [applying](https://prosemirror.net/docs/ref/#transform.Step.apply) a step. Contains either a\nnew document or a failure value.\n*/\nclass StepResult {\n /**\n @internal\n */\n constructor(\n /**\n The transformed document, if successful.\n */\n doc, \n /**\n The failure message, if unsuccessful.\n */\n failed) {\n this.doc = doc;\n this.failed = failed;\n }\n /**\n Create a successful step result.\n */\n static ok(doc) { return new StepResult(doc, null); }\n /**\n Create a failed step result.\n */\n static fail(message) { return new StepResult(null, message); }\n /**\n Call [`Node.replace`](https://prosemirror.net/docs/ref/#model.Node.replace) with the given\n arguments. Create a successful result if it succeeds, and a\n failed one if it throws a `ReplaceError`.\n */\n static fromReplace(doc, from, to, slice) {\n try {\n return StepResult.ok(doc.replace(from, to, slice));\n }\n catch (e) {\n if (e instanceof ReplaceError)\n return StepResult.fail(e.message);\n throw e;\n }\n }\n}\n\nfunction mapFragment(fragment, f, parent) {\n let mapped = [];\n for (let i = 0; i < fragment.childCount; i++) {\n let child = fragment.child(i);\n if (child.content.size)\n child = child.copy(mapFragment(child.content, f, child));\n if (child.isInline)\n child = f(child, parent, i);\n mapped.push(child);\n }\n return Fragment.fromArray(mapped);\n}\n/**\nAdd a mark to all inline content between two positions.\n*/\nclass AddMarkStep extends Step {\n /**\n Create a mark step.\n */\n constructor(\n /**\n The start of the marked range.\n */\n from, \n /**\n The end of the marked range.\n */\n to, \n /**\n The mark to add.\n */\n mark) {\n super();\n this.from = from;\n this.to = to;\n this.mark = mark;\n }\n apply(doc) {\n let oldSlice = doc.slice(this.from, this.to), $from = doc.resolve(this.from);\n let parent = $from.node($from.sharedDepth(this.to));\n let slice = new Slice(mapFragment(oldSlice.content, (node, parent) => {\n if (!node.isAtom || !parent.type.allowsMarkType(this.mark.type))\n return node;\n return node.mark(this.mark.addToSet(node.marks));\n }, parent), oldSlice.openStart, oldSlice.openEnd);\n return StepResult.fromReplace(doc, this.from, this.to, slice);\n }\n invert() {\n return new RemoveMarkStep(this.from, this.to, this.mark);\n }\n map(mapping) {\n let from = mapping.mapResult(this.from, 1), to = mapping.mapResult(this.to, -1);\n if (from.deleted && to.deleted || from.pos >= to.pos)\n return null;\n return new AddMarkStep(from.pos, to.pos, this.mark);\n }\n merge(other) {\n if (other instanceof AddMarkStep &&\n other.mark.eq(this.mark) &&\n this.from <= other.to && this.to >= other.from)\n return new AddMarkStep(Math.min(this.from, other.from), Math.max(this.to, other.to), this.mark);\n return null;\n }\n toJSON() {\n return { stepType: \"addMark\", mark: this.mark.toJSON(),\n from: this.from, to: this.to };\n }\n /**\n @internal\n */\n static fromJSON(schema, json) {\n if (typeof json.from != \"number\" || typeof json.to != \"number\")\n throw new RangeError(\"Invalid input for AddMarkStep.fromJSON\");\n return new AddMarkStep(json.from, json.to, schema.markFromJSON(json.mark));\n }\n}\nStep.jsonID(\"addMark\", AddMarkStep);\n/**\nRemove a mark from all inline content between two positions.\n*/\nclass RemoveMarkStep extends Step {\n /**\n Create a mark-removing step.\n */\n constructor(\n /**\n The start of the unmarked range.\n */\n from, \n /**\n The end of the unmarked range.\n */\n to, \n /**\n The mark to remove.\n */\n mark) {\n super();\n this.from = from;\n this.to = to;\n this.mark = mark;\n }\n apply(doc) {\n let oldSlice = doc.slice(this.from, this.to);\n let slice = new Slice(mapFragment(oldSlice.content, node => {\n return node.mark(this.mark.removeFromSet(node.marks));\n }, doc), oldSlice.openStart, oldSlice.openEnd);\n return StepResult.fromReplace(doc, this.from, this.to, slice);\n }\n invert() {\n return new AddMarkStep(this.from, this.to, this.mark);\n }\n map(mapping) {\n let from = mapping.mapResult(this.from, 1), to = mapping.mapResult(this.to, -1);\n if (from.deleted && to.deleted || from.pos >= to.pos)\n return null;\n return new RemoveMarkStep(from.pos, to.pos, this.mark);\n }\n merge(other) {\n if (other instanceof RemoveMarkStep &&\n other.mark.eq(this.mark) &&\n this.from <= other.to && this.to >= other.from)\n return new RemoveMarkStep(Math.min(this.from, other.from), Math.max(this.to, other.to), this.mark);\n return null;\n }\n toJSON() {\n return { stepType: \"removeMark\", mark: this.mark.toJSON(),\n from: this.from, to: this.to };\n }\n /**\n @internal\n */\n static fromJSON(schema, json) {\n if (typeof json.from != \"number\" || typeof json.to != \"number\")\n throw new RangeError(\"Invalid input for RemoveMarkStep.fromJSON\");\n return new RemoveMarkStep(json.from, json.to, schema.markFromJSON(json.mark));\n }\n}\nStep.jsonID(\"removeMark\", RemoveMarkStep);\n/**\nAdd a mark to a specific node.\n*/\nclass AddNodeMarkStep extends Step {\n /**\n Create a node mark step.\n */\n constructor(\n /**\n The position of the target node.\n */\n pos, \n /**\n The mark to add.\n */\n mark) {\n super();\n this.pos = pos;\n this.mark = mark;\n }\n apply(doc) {\n let node = doc.nodeAt(this.pos);\n if (!node)\n return StepResult.fail(\"No node at mark step's position\");\n let updated = node.type.create(node.attrs, null, this.mark.addToSet(node.marks));\n return StepResult.fromReplace(doc, this.pos, this.pos + 1, new Slice(Fragment.from(updated), 0, node.isLeaf ? 0 : 1));\n }\n invert(doc) {\n let node = doc.nodeAt(this.pos);\n if (node) {\n let newSet = this.mark.addToSet(node.marks);\n if (newSet.length == node.marks.length) {\n for (let i = 0; i < node.marks.length; i++)\n if (!node.marks[i].isInSet(newSet))\n return new AddNodeMarkStep(this.pos, node.marks[i]);\n return new AddNodeMarkStep(this.pos, this.mark);\n }\n }\n return new RemoveNodeMarkStep(this.pos, this.mark);\n }\n map(mapping) {\n let pos = mapping.mapResult(this.pos, 1);\n return pos.deletedAfter ? null : new AddNodeMarkStep(pos.pos, this.mark);\n }\n toJSON() {\n return { stepType: \"addNodeMark\", pos: this.pos, mark: this.mark.toJSON() };\n }\n /**\n @internal\n */\n static fromJSON(schema, json) {\n if (typeof json.pos != \"number\")\n throw new RangeError(\"Invalid input for AddNodeMarkStep.fromJSON\");\n return new AddNodeMarkStep(json.pos, schema.markFromJSON(json.mark));\n }\n}\nStep.jsonID(\"addNodeMark\", AddNodeMarkStep);\n/**\nRemove a mark from a specific node.\n*/\nclass RemoveNodeMarkStep extends Step {\n /**\n Create a mark-removing step.\n */\n constructor(\n /**\n The position of the target node.\n */\n pos, \n /**\n The mark to remove.\n */\n mark) {\n super();\n this.pos = pos;\n this.mark = mark;\n }\n apply(doc) {\n let node = doc.nodeAt(this.pos);\n if (!node)\n return StepResult.fail(\"No node at mark step's position\");\n let updated = node.type.create(node.attrs, null, this.mark.removeFromSet(node.marks));\n return StepResult.fromReplace(doc, this.pos, this.pos + 1, new Slice(Fragment.from(updated), 0, node.isLeaf ? 0 : 1));\n }\n invert(doc) {\n let node = doc.nodeAt(this.pos);\n if (!node || !this.mark.isInSet(node.marks))\n return this;\n return new AddNodeMarkStep(this.pos, this.mark);\n }\n map(mapping) {\n let pos = mapping.mapResult(this.pos, 1);\n return pos.deletedAfter ? null : new RemoveNodeMarkStep(pos.pos, this.mark);\n }\n toJSON() {\n return { stepType: \"removeNodeMark\", pos: this.pos, mark: this.mark.toJSON() };\n }\n /**\n @internal\n */\n static fromJSON(schema, json) {\n if (typeof json.pos != \"number\")\n throw new RangeError(\"Invalid input for RemoveNodeMarkStep.fromJSON\");\n return new RemoveNodeMarkStep(json.pos, schema.markFromJSON(json.mark));\n }\n}\nStep.jsonID(\"removeNodeMark\", RemoveNodeMarkStep);\n\n/**\nReplace a part of the document with a slice of new content.\n*/\nclass ReplaceStep extends Step {\n /**\n The given `slice` should fit the 'gap' between `from` and\n `to`—the depths must line up, and the surrounding nodes must be\n able to be joined with the open sides of the slice. When\n `structure` is true, the step will fail if the content between\n from and to is not just a sequence of closing and then opening\n tokens (this is to guard against rebased replace steps\n overwriting something they weren't supposed to).\n */\n constructor(\n /**\n The start position of the replaced range.\n */\n from, \n /**\n The end position of the replaced range.\n */\n to, \n /**\n The slice to insert.\n */\n slice, \n /**\n @internal\n */\n structure = false) {\n super();\n this.from = from;\n this.to = to;\n this.slice = slice;\n this.structure = structure;\n }\n apply(doc) {\n if (this.structure && contentBetween(doc, this.from, this.to))\n return StepResult.fail(\"Structure replace would overwrite content\");\n return StepResult.fromReplace(doc, this.from, this.to, this.slice);\n }\n getMap() {\n return new StepMap([this.from, this.to - this.from, this.slice.size]);\n }\n invert(doc) {\n return new ReplaceStep(this.from, this.from + this.slice.size, doc.slice(this.from, this.to));\n }\n map(mapping) {\n let from = mapping.mapResult(this.from, 1), to = mapping.mapResult(this.to, -1);\n if (from.deletedAcross && to.deletedAcross)\n return null;\n return new ReplaceStep(from.pos, Math.max(from.pos, to.pos), this.slice);\n }\n merge(other) {\n if (!(other instanceof ReplaceStep) || other.structure || this.structure)\n return null;\n if (this.from + this.slice.size == other.from && !this.slice.openEnd && !other.slice.openStart) {\n let slice = this.slice.size + other.slice.size == 0 ? Slice.empty\n : new Slice(this.slice.content.append(other.slice.content), this.slice.openStart, other.slice.openEnd);\n return new ReplaceStep(this.from, this.to + (other.to - other.from), slice, this.structure);\n }\n else if (other.to == this.from && !this.slice.openStart && !other.slice.openEnd) {\n let slice = this.slice.size + other.slice.size == 0 ? Slice.empty\n : new Slice(other.slice.content.append(this.slice.content), other.slice.openStart, this.slice.openEnd);\n return new ReplaceStep(other.from, this.to, slice, this.structure);\n }\n else {\n return null;\n }\n }\n toJSON() {\n let json = { stepType: \"replace\", from: this.from, to: this.to };\n if (this.slice.size)\n json.slice = this.slice.toJSON();\n if (this.structure)\n json.structure = true;\n return json;\n }\n /**\n @internal\n */\n static fromJSON(schema, json) {\n if (typeof json.from != \"number\" || typeof json.to != \"number\")\n throw new RangeError(\"Invalid input for ReplaceStep.fromJSON\");\n return new ReplaceStep(json.from, json.to, Slice.fromJSON(schema, json.slice), !!json.structure);\n }\n}\nStep.jsonID(\"replace\", ReplaceStep);\n/**\nReplace a part of the document with a slice of content, but\npreserve a range of the replaced content by moving it into the\nslice.\n*/\nclass ReplaceAroundStep extends Step {\n /**\n Create a replace-around step with the given range and gap.\n `insert` should be the point in the slice into which the content\n of the gap should be moved. `structure` has the same meaning as\n it has in the [`ReplaceStep`](https://prosemirror.net/docs/ref/#transform.ReplaceStep) class.\n */\n constructor(\n /**\n The start position of the replaced range.\n */\n from, \n /**\n The end position of the replaced range.\n */\n to, \n /**\n The start of preserved range.\n */\n gapFrom, \n /**\n The end of preserved range.\n */\n gapTo, \n /**\n The slice to insert.\n */\n slice, \n /**\n The position in the slice where the preserved range should be\n inserted.\n */\n insert, \n /**\n @internal\n */\n structure = false) {\n super();\n this.from = from;\n this.to = to;\n this.gapFrom = gapFrom;\n this.gapTo = gapTo;\n this.slice = slice;\n this.insert = insert;\n this.structure = structure;\n }\n apply(doc) {\n if (this.structure && (contentBetween(doc, this.from, this.gapFrom) ||\n contentBetween(doc, this.gapTo, this.to)))\n return StepResult.fail(\"Structure gap-replace would overwrite content\");\n let gap = doc.slice(this.gapFrom, this.gapTo);\n if (gap.openStart || gap.openEnd)\n return StepResult.fail(\"Gap is not a flat range\");\n let inserted = this.slice.insertAt(this.insert, gap.content);\n if (!inserted)\n return StepResult.fail(\"Content does not fit in gap\");\n return StepResult.fromReplace(doc, this.from, this.to, inserted);\n }\n getMap() {\n return new StepMap([this.from, this.gapFrom - this.from, this.insert,\n this.gapTo, this.to - this.gapTo, this.slice.size - this.insert]);\n }\n invert(doc) {\n let gap = this.gapTo - this.gapFrom;\n return new ReplaceAroundStep(this.from, this.from + this.slice.size + gap, this.from + this.insert, this.from + this.insert + gap, doc.slice(this.from, this.to).removeBetween(this.gapFrom - this.from, this.gapTo - this.from), this.gapFrom - this.from, this.structure);\n }\n map(mapping) {\n let from = mapping.mapResult(this.from, 1), to = mapping.mapResult(this.to, -1);\n let gapFrom = this.from == this.gapFrom ? from.pos : mapping.map(this.gapFrom, -1);\n let gapTo = this.to == this.gapTo ? to.pos : mapping.map(this.gapTo, 1);\n if ((from.deletedAcross && to.deletedAcross) || gapFrom < from.pos || gapTo > to.pos)\n return null;\n return new ReplaceAroundStep(from.pos, to.pos, gapFrom, gapTo, this.slice, this.insert, this.structure);\n }\n toJSON() {\n let json = { stepType: \"replaceAround\", from: this.from, to: this.to,\n gapFrom: this.gapFrom, gapTo: this.gapTo, insert: this.insert };\n if (this.slice.size)\n json.slice = this.slice.toJSON();\n if (this.structure)\n json.structure = true;\n return json;\n }\n /**\n @internal\n */\n static fromJSON(schema, json) {\n if (typeof json.from != \"number\" || typeof json.to != \"number\" ||\n typeof json.gapFrom != \"number\" || typeof json.gapTo != \"number\" || typeof json.insert != \"number\")\n throw new RangeError(\"Invalid input for ReplaceAroundStep.fromJSON\");\n return new ReplaceAroundStep(json.from, json.to, json.gapFrom, json.gapTo, Slice.fromJSON(schema, json.slice), json.insert, !!json.structure);\n }\n}\nStep.jsonID(\"replaceAround\", ReplaceAroundStep);\nfunction contentBetween(doc, from, to) {\n let $from = doc.resolve(from), dist = to - from, depth = $from.depth;\n while (dist > 0 && depth > 0 && $from.indexAfter(depth) == $from.node(depth).childCount) {\n depth--;\n dist--;\n }\n if (dist > 0) {\n let next = $from.node(depth).maybeChild($from.indexAfter(depth));\n while (dist > 0) {\n if (!next || next.isLeaf)\n return true;\n next = next.firstChild;\n dist--;\n }\n }\n return false;\n}\n\nfunction addMark(tr, from, to, mark) {\n let removed = [], added = [];\n let removing, adding;\n tr.doc.nodesBetween(from, to, (node, pos, parent) => {\n if (!node.isInline)\n return;\n let marks = node.marks;\n if (!mark.isInSet(marks) && parent.type.allowsMarkType(mark.type)) {\n let start = Math.max(pos, from), end = Math.min(pos + node.nodeSize, to);\n let newSet = mark.addToSet(marks);\n for (let i = 0; i < marks.length; i++) {\n if (!marks[i].isInSet(newSet)) {\n if (removing && removing.to == start && removing.mark.eq(marks[i]))\n removing.to = end;\n else\n removed.push(removing = new RemoveMarkStep(start, end, marks[i]));\n }\n }\n if (adding && adding.to == start)\n adding.to = end;\n else\n added.push(adding = new AddMarkStep(start, end, mark));\n }\n });\n removed.forEach(s => tr.step(s));\n added.forEach(s => tr.step(s));\n}\nfunction removeMark(tr, from, to, mark) {\n let matched = [], step = 0;\n tr.doc.nodesBetween(from, to, (node, pos) => {\n if (!node.isInline)\n return;\n step++;\n let toRemove = null;\n if (mark instanceof MarkType) {\n let set = node.marks, found;\n while (found = mark.isInSet(set)) {\n (toRemove || (toRemove = [])).push(found);\n set = found.removeFromSet(set);\n }\n }\n else if (mark) {\n if (mark.isInSet(node.marks))\n toRemove = [mark];\n }\n else {\n toRemove = node.marks;\n }\n if (toRemove && toRemove.length) {\n let end = Math.min(pos + node.nodeSize, to);\n for (let i = 0; i < toRemove.length; i++) {\n let style = toRemove[i], found;\n for (let j = 0; j < matched.length; j++) {\n let m = matched[j];\n if (m.step == step - 1 && style.eq(matched[j].style))\n found = m;\n }\n if (found) {\n found.to = end;\n found.step = step;\n }\n else {\n matched.push({ style, from: Math.max(pos, from), to: end, step });\n }\n }\n }\n });\n matched.forEach(m => tr.step(new RemoveMarkStep(m.from, m.to, m.style)));\n}\nfunction clearIncompatible(tr, pos, parentType, match = parentType.contentMatch, clearNewlines = true) {\n let node = tr.doc.nodeAt(pos);\n let replSteps = [], cur = pos + 1;\n for (let i = 0; i < node.childCount; i++) {\n let child = node.child(i), end = cur + child.nodeSize;\n let allowed = match.matchType(child.type);\n if (!allowed) {\n replSteps.push(new ReplaceStep(cur, end, Slice.empty));\n }\n else {\n match = allowed;\n for (let j = 0; j < child.marks.length; j++)\n if (!parentType.allowsMarkType(child.marks[j].type))\n tr.step(new RemoveMarkStep(cur, end, child.marks[j]));\n if (clearNewlines && child.isText && parentType.whitespace != \"pre\") {\n let m, newline = /\\r?\\n|\\r/g, slice;\n while (m = newline.exec(child.text)) {\n if (!slice)\n slice = new Slice(Fragment.from(parentType.schema.text(\" \", parentType.allowedMarks(child.marks))), 0, 0);\n replSteps.push(new ReplaceStep(cur + m.index, cur + m.index + m[0].length, slice));\n }\n }\n }\n cur = end;\n }\n if (!match.validEnd) {\n let fill = match.fillBefore(Fragment.empty, true);\n tr.replace(cur, cur, new Slice(fill, 0, 0));\n }\n for (let i = replSteps.length - 1; i >= 0; i--)\n tr.step(replSteps[i]);\n}\n\nfunction canCut(node, start, end) {\n return (start == 0 || node.canReplace(start, node.childCount)) &&\n (end == node.childCount || node.canReplace(0, end));\n}\n/**\nTry to find a target depth to which the content in the given range\ncan be lifted. Will not go across\n[isolating](https://prosemirror.net/docs/ref/#model.NodeSpec.isolating) parent nodes.\n*/\nfunction liftTarget(range) {\n let parent = range.parent;\n let content = parent.content.cutByIndex(range.startIndex, range.endIndex);\n for (let depth = range.depth;; --depth) {\n let node = range.$from.node(depth);\n let index = range.$from.index(depth), endIndex = range.$to.indexAfter(depth);\n if (depth < range.depth && node.canReplace(index, endIndex, content))\n return depth;\n if (depth == 0 || node.type.spec.isolating || !canCut(node, index, endIndex))\n break;\n }\n return null;\n}\nfunction lift(tr, range, target) {\n let { $from, $to, depth } = range;\n let gapStart = $from.before(depth + 1), gapEnd = $to.after(depth + 1);\n let start = gapStart, end = gapEnd;\n let before = Fragment.empty, openStart = 0;\n for (let d = depth, splitting = false; d > target; d--)\n if (splitting || $from.index(d) > 0) {\n splitting = true;\n before = Fragment.from($from.node(d).copy(before));\n openStart++;\n }\n else {\n start--;\n }\n let after = Fragment.empty, openEnd = 0;\n for (let d = depth, splitting = false; d > target; d--)\n if (splitting || $to.after(d + 1) < $to.end(d)) {\n splitting = true;\n after = Fragment.from($to.node(d).copy(after));\n openEnd++;\n }\n else {\n end++;\n }\n tr.step(new ReplaceAroundStep(start, end, gapStart, gapEnd, new Slice(before.append(after), openStart, openEnd), before.size - openStart, true));\n}\n/**\nTry to find a valid way to wrap the content in the given range in a\nnode of the given type. May introduce extra nodes around and inside\nthe wrapper node, if necessary. Returns null if no valid wrapping\ncould be found. When `innerRange` is given, that range's content is\nused as the content to fit into the wrapping, instead of the\ncontent of `range`.\n*/\nfunction findWrapping(range, nodeType, attrs = null, innerRange = range) {\n let around = findWrappingOutside(range, nodeType);\n let inner = around && findWrappingInside(innerRange, nodeType);\n if (!inner)\n return null;\n return around.map(withAttrs)\n .concat({ type: nodeType, attrs }).concat(inner.map(withAttrs));\n}\nfunction withAttrs(type) { return { type, attrs: null }; }\nfunction findWrappingOutside(range, type) {\n let { parent, startIndex, endIndex } = range;\n let around = parent.contentMatchAt(startIndex).findWrapping(type);\n if (!around)\n return null;\n let outer = around.length ? around[0] : type;\n return parent.canReplaceWith(startIndex, endIndex, outer) ? around : null;\n}\nfunction findWrappingInside(range, type) {\n let { parent, startIndex, endIndex } = range;\n let inner = parent.child(startIndex);\n let inside = type.contentMatch.findWrapping(inner.type);\n if (!inside)\n return null;\n let lastType = inside.length ? inside[inside.length - 1] : type;\n let innerMatch = lastType.contentMatch;\n for (let i = startIndex; innerMatch && i < endIndex; i++)\n innerMatch = innerMatch.matchType(parent.child(i).type);\n if (!innerMatch || !innerMatch.validEnd)\n return null;\n return inside;\n}\nfunction wrap(tr, range, wrappers) {\n let content = Fragment.empty;\n for (let i = wrappers.length - 1; i >= 0; i--) {\n if (content.size) {\n let match = wrappers[i].type.contentMatch.matchFragment(content);\n if (!match || !match.validEnd)\n throw new RangeError(\"Wrapper type given to Transform.wrap does not form valid content of its parent wrapper\");\n }\n content = Fragment.from(wrappers[i].type.create(wrappers[i].attrs, content));\n }\n let start = range.start, end = range.end;\n tr.step(new ReplaceAroundStep(start, end, start, end, new Slice(content, 0, 0), wrappers.length, true));\n}\nfunction setBlockType(tr, from, to, type, attrs) {\n if (!type.isTextblock)\n throw new RangeError(\"Type given to setBlockType should be a textblock\");\n let mapFrom = tr.steps.length;\n tr.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isTextblock && !node.hasMarkup(type, attrs) && canChangeType(tr.doc, tr.mapping.slice(mapFrom).map(pos), type)) {\n let convertNewlines = null;\n if (type.schema.linebreakReplacement) {\n let pre = type.whitespace == \"pre\", supportLinebreak = !!type.contentMatch.matchType(type.schema.linebreakReplacement);\n if (pre && !supportLinebreak)\n convertNewlines = false;\n else if (!pre && supportLinebreak)\n convertNewlines = true;\n }\n // Ensure all markup that isn't allowed in the new node type is cleared\n if (convertNewlines === false)\n replaceLinebreaks(tr, node, pos, mapFrom);\n clearIncompatible(tr, tr.mapping.slice(mapFrom).map(pos, 1), type, undefined, convertNewlines === null);\n let mapping = tr.mapping.slice(mapFrom);\n let startM = mapping.map(pos, 1), endM = mapping.map(pos + node.nodeSize, 1);\n tr.step(new ReplaceAroundStep(startM, endM, startM + 1, endM - 1, new Slice(Fragment.from(type.create(attrs, null, node.marks)), 0, 0), 1, true));\n if (convertNewlines === true)\n replaceNewlines(tr, node, pos, mapFrom);\n return false;\n }\n });\n}\nfunction replaceNewlines(tr, node, pos, mapFrom) {\n node.forEach((child, offset) => {\n if (child.isText) {\n let m, newline = /\\r?\\n|\\r/g;\n while (m = newline.exec(child.text)) {\n let start = tr.mapping.slice(mapFrom).map(pos + 1 + offset + m.index);\n tr.replaceWith(start, start + 1, node.type.schema.linebreakReplacement.create());\n }\n }\n });\n}\nfunction replaceLinebreaks(tr, node, pos, mapFrom) {\n node.forEach((child, offset) => {\n if (child.type == child.type.schema.linebreakReplacement) {\n let start = tr.mapping.slice(mapFrom).map(pos + 1 + offset);\n tr.replaceWith(start, start + 1, node.type.schema.text(\"\\n\"));\n }\n });\n}\nfunction canChangeType(doc, pos, type) {\n let $pos = doc.resolve(pos), index = $pos.index();\n return $pos.parent.canReplaceWith(index, index + 1, type);\n}\n/**\nChange the type, attributes, and/or marks of the node at `pos`.\nWhen `type` isn't given, the existing node type is preserved,\n*/\nfunction setNodeMarkup(tr, pos, type, attrs, marks) {\n let node = tr.doc.nodeAt(pos);\n if (!node)\n throw new RangeError(\"No node at given position\");\n if (!type)\n type = node.type;\n let newNode = type.create(attrs, null, marks || node.marks);\n if (node.isLeaf)\n return tr.replaceWith(pos, pos + node.nodeSize, newNode);\n if (!type.validContent(node.content))\n throw new RangeError(\"Invalid content for node type \" + type.name);\n tr.step(new ReplaceAroundStep(pos, pos + node.nodeSize, pos + 1, pos + node.nodeSize - 1, new Slice(Fragment.from(newNode), 0, 0), 1, true));\n}\n/**\nCheck whether splitting at the given position is allowed.\n*/\nfunction canSplit(doc, pos, depth = 1, typesAfter) {\n let $pos = doc.resolve(pos), base = $pos.depth - depth;\n let innerType = (typesAfter && typesAfter[typesAfter.length - 1]) || $pos.parent;\n if (base < 0 || $pos.parent.type.spec.isolating ||\n !$pos.parent.canReplace($pos.index(), $pos.parent.childCount) ||\n !innerType.type.validContent($pos.parent.content.cutByIndex($pos.index(), $pos.parent.childCount)))\n return false;\n for (let d = $pos.depth - 1, i = depth - 2; d > base; d--, i--) {\n let node = $pos.node(d), index = $pos.index(d);\n if (node.type.spec.isolating)\n return false;\n let rest = node.content.cutByIndex(index, node.childCount);\n let overrideChild = typesAfter && typesAfter[i + 1];\n if (overrideChild)\n rest = rest.replaceChild(0, overrideChild.type.create(overrideChild.attrs));\n let after = (typesAfter && typesAfter[i]) || node;\n if (!node.canReplace(index + 1, node.childCount) || !after.type.validContent(rest))\n return false;\n }\n let index = $pos.indexAfter(base);\n let baseType = typesAfter && typesAfter[0];\n return $pos.node(base).canReplaceWith(index, index, baseType ? baseType.type : $pos.node(base + 1).type);\n}\nfunction split(tr, pos, depth = 1, typesAfter) {\n let $pos = tr.doc.resolve(pos), before = Fragment.empty, after = Fragment.empty;\n for (let d = $pos.depth, e = $pos.depth - depth, i = depth - 1; d > e; d--, i--) {\n before = Fragment.from($pos.node(d).copy(before));\n let typeAfter = typesAfter && typesAfter[i];\n after = Fragment.from(typeAfter ? typeAfter.type.create(typeAfter.attrs, after) : $pos.node(d).copy(after));\n }\n tr.step(new ReplaceStep(pos, pos, new Slice(before.append(after), depth, depth), true));\n}\n/**\nTest whether the blocks before and after a given position can be\njoined.\n*/\nfunction canJoin(doc, pos) {\n let $pos = doc.resolve(pos), index = $pos.index();\n return joinable($pos.nodeBefore, $pos.nodeAfter) &&\n $pos.parent.canReplace(index, index + 1);\n}\nfunction joinable(a, b) {\n return !!(a && b && !a.isLeaf && a.canAppend(b));\n}\n/**\nFind an ancestor of the given position that can be joined to the\nblock before (or after if `dir` is positive). Returns the joinable\npoint, if any.\n*/\nfunction joinPoint(doc, pos, dir = -1) {\n let $pos = doc.resolve(pos);\n for (let d = $pos.depth;; d--) {\n let before, after, index = $pos.index(d);\n if (d == $pos.depth) {\n before = $pos.nodeBefore;\n after = $pos.nodeAfter;\n }\n else if (dir > 0) {\n before = $pos.node(d + 1);\n index++;\n after = $pos.node(d).maybeChild(index);\n }\n else {\n before = $pos.node(d).maybeChild(index - 1);\n after = $pos.node(d + 1);\n }\n if (before && !before.isTextblock && joinable(before, after) &&\n $pos.node(d).canReplace(index, index + 1))\n return pos;\n if (d == 0)\n break;\n pos = dir < 0 ? $pos.before(d) : $pos.after(d);\n }\n}\nfunction join(tr, pos, depth) {\n let step = new ReplaceStep(pos - depth, pos + depth, Slice.empty, true);\n tr.step(step);\n}\n/**\nTry to find a point where a node of the given type can be inserted\nnear `pos`, by searching up the node hierarchy when `pos` itself\nisn't a valid place but is at the start or end of a node. Return\nnull if no position was found.\n*/\nfunction insertPoint(doc, pos, nodeType) {\n let $pos = doc.resolve(pos);\n if ($pos.parent.canReplaceWith($pos.index(), $pos.index(), nodeType))\n return pos;\n if ($pos.parentOffset == 0)\n for (let d = $pos.depth - 1; d >= 0; d--) {\n let index = $pos.index(d);\n if ($pos.node(d).canReplaceWith(index, index, nodeType))\n return $pos.before(d + 1);\n if (index > 0)\n return null;\n }\n if ($pos.parentOffset == $pos.parent.content.size)\n for (let d = $pos.depth - 1; d >= 0; d--) {\n let index = $pos.indexAfter(d);\n if ($pos.node(d).canReplaceWith(index, index, nodeType))\n return $pos.after(d + 1);\n if (index < $pos.node(d).childCount)\n return null;\n }\n return null;\n}\n/**\nFinds a position at or around the given position where the given\nslice can be inserted. Will look at parent nodes' nearest boundary\nand try there, even if the original position wasn't directly at the\nstart or end of that node. Returns null when no position was found.\n*/\nfunction dropPoint(doc, pos, slice) {\n let $pos = doc.resolve(pos);\n if (!slice.content.size)\n return pos;\n let content = slice.content;\n for (let i = 0; i < slice.openStart; i++)\n content = content.firstChild.content;\n for (let pass = 1; pass <= (slice.openStart == 0 && slice.size ? 2 : 1); pass++) {\n for (let d = $pos.depth; d >= 0; d--) {\n let bias = d == $pos.depth ? 0 : $pos.pos <= ($pos.start(d + 1) + $pos.end(d + 1)) / 2 ? -1 : 1;\n let insertPos = $pos.index(d) + (bias > 0 ? 1 : 0);\n let parent = $pos.node(d), fits = false;\n if (pass == 1) {\n fits = parent.canReplace(insertPos, insertPos, content);\n }\n else {\n let wrapping = parent.contentMatchAt(insertPos).findWrapping(content.firstChild.type);\n fits = wrapping && parent.canReplaceWith(insertPos, insertPos, wrapping[0]);\n }\n if (fits)\n return bias == 0 ? $pos.pos : bias < 0 ? $pos.before(d + 1) : $pos.after(d + 1);\n }\n }\n return null;\n}\n\n/**\n‘Fit’ a slice into a given position in the document, producing a\n[step](https://prosemirror.net/docs/ref/#transform.Step) that inserts it. Will return null if\nthere's no meaningful way to insert the slice here, or inserting it\nwould be a no-op (an empty slice over an empty range).\n*/\nfunction replaceStep(doc, from, to = from, slice = Slice.empty) {\n if (from == to && !slice.size)\n return null;\n let $from = doc.resolve(from), $to = doc.resolve(to);\n // Optimization -- avoid work if it's obvious that it's not needed.\n if (fitsTrivially($from, $to, slice))\n return new ReplaceStep(from, to, slice);\n return new Fitter($from, $to, slice).fit();\n}\nfunction fitsTrivially($from, $to, slice) {\n return !slice.openStart && !slice.openEnd && $from.start() == $to.start() &&\n $from.parent.canReplace($from.index(), $to.index(), slice.content);\n}\n// Algorithm for 'placing' the elements of a slice into a gap:\n//\n// We consider the content of each node that is open to the left to be\n// independently placeable. I.e. in , when the\n// paragraph on the left is open, \"foo\" can be placed (somewhere on\n// the left side of the replacement gap) independently from p(\"bar\").\n//\n// This class tracks the state of the placement progress in the\n// following properties:\n//\n// - `frontier` holds a stack of `{type, match}` objects that\n// represent the open side of the replacement. It starts at\n// `$from`, then moves forward as content is placed, and is finally\n// reconciled with `$to`.\n//\n// - `unplaced` is a slice that represents the content that hasn't\n// been placed yet.\n//\n// - `placed` is a fragment of placed content. Its open-start value\n// is implicit in `$from`, and its open-end value in `frontier`.\nclass Fitter {\n constructor($from, $to, unplaced) {\n this.$from = $from;\n this.$to = $to;\n this.unplaced = unplaced;\n this.frontier = [];\n this.placed = Fragment.empty;\n for (let i = 0; i <= $from.depth; i++) {\n let node = $from.node(i);\n this.frontier.push({\n type: node.type,\n match: node.contentMatchAt($from.indexAfter(i))\n });\n }\n for (let i = $from.depth; i > 0; i--)\n this.placed = Fragment.from($from.node(i).copy(this.placed));\n }\n get depth() { return this.frontier.length - 1; }\n fit() {\n // As long as there's unplaced content, try to place some of it.\n // If that fails, either increase the open score of the unplaced\n // slice, or drop nodes from it, and then try again.\n while (this.unplaced.size) {\n let fit = this.findFittable();\n if (fit)\n this.placeNodes(fit);\n else\n this.openMore() || this.dropNode();\n }\n // When there's inline content directly after the frontier _and_\n // directly after `this.$to`, we must generate a `ReplaceAround`\n // step that pulls that content into the node after the frontier.\n // That means the fitting must be done to the end of the textblock\n // node after `this.$to`, not `this.$to` itself.\n let moveInline = this.mustMoveInline(), placedSize = this.placed.size - this.depth - this.$from.depth;\n let $from = this.$from, $to = this.close(moveInline < 0 ? this.$to : $from.doc.resolve(moveInline));\n if (!$to)\n return null;\n // If closing to `$to` succeeded, create a step\n let content = this.placed, openStart = $from.depth, openEnd = $to.depth;\n while (openStart && openEnd && content.childCount == 1) { // Normalize by dropping open parent nodes\n content = content.firstChild.content;\n openStart--;\n openEnd--;\n }\n let slice = new Slice(content, openStart, openEnd);\n if (moveInline > -1)\n return new ReplaceAroundStep($from.pos, moveInline, this.$to.pos, this.$to.end(), slice, placedSize);\n if (slice.size || $from.pos != this.$to.pos) // Don't generate no-op steps\n return new ReplaceStep($from.pos, $to.pos, slice);\n return null;\n }\n // Find a position on the start spine of `this.unplaced` that has\n // content that can be moved somewhere on the frontier. Returns two\n // depths, one for the slice and one for the frontier.\n findFittable() {\n let startDepth = this.unplaced.openStart;\n for (let cur = this.unplaced.content, d = 0, openEnd = this.unplaced.openEnd; d < startDepth; d++) {\n let node = cur.firstChild;\n if (cur.childCount > 1)\n openEnd = 0;\n if (node.type.spec.isolating && openEnd <= d) {\n startDepth = d;\n break;\n }\n cur = node.content;\n }\n // Only try wrapping nodes (pass 2) after finding a place without\n // wrapping failed.\n for (let pass = 1; pass <= 2; pass++) {\n for (let sliceDepth = pass == 1 ? startDepth : this.unplaced.openStart; sliceDepth >= 0; sliceDepth--) {\n let fragment, parent = null;\n if (sliceDepth) {\n parent = contentAt(this.unplaced.content, sliceDepth - 1).firstChild;\n fragment = parent.content;\n }\n else {\n fragment = this.unplaced.content;\n }\n let first = fragment.firstChild;\n for (let frontierDepth = this.depth; frontierDepth >= 0; frontierDepth--) {\n let { type, match } = this.frontier[frontierDepth], wrap, inject = null;\n // In pass 1, if the next node matches, or there is no next\n // node but the parents look compatible, we've found a\n // place.\n if (pass == 1 && (first ? match.matchType(first.type) || (inject = match.fillBefore(Fragment.from(first), false))\n : parent && type.compatibleContent(parent.type)))\n return { sliceDepth, frontierDepth, parent, inject };\n // In pass 2, look for a set of wrapping nodes that make\n // `first` fit here.\n else if (pass == 2 && first && (wrap = match.findWrapping(first.type)))\n return { sliceDepth, frontierDepth, parent, wrap };\n // Don't continue looking further up if the parent node\n // would fit here.\n if (parent && match.matchType(parent.type))\n break;\n }\n }\n }\n }\n openMore() {\n let { content, openStart, openEnd } = this.unplaced;\n let inner = contentAt(content, openStart);\n if (!inner.childCount || inner.firstChild.isLeaf)\n return false;\n this.unplaced = new Slice(content, openStart + 1, Math.max(openEnd, inner.size + openStart >= content.size - openEnd ? openStart + 1 : 0));\n return true;\n }\n dropNode() {\n let { content, openStart, openEnd } = this.unplaced;\n let inner = contentAt(content, openStart);\n if (inner.childCount <= 1 && openStart > 0) {\n let openAtEnd = content.size - openStart <= openStart + inner.size;\n this.unplaced = new Slice(dropFromFragment(content, openStart - 1, 1), openStart - 1, openAtEnd ? openStart - 1 : openEnd);\n }\n else {\n this.unplaced = new Slice(dropFromFragment(content, openStart, 1), openStart, openEnd);\n }\n }\n // Move content from the unplaced slice at `sliceDepth` to the\n // frontier node at `frontierDepth`. Close that frontier node when\n // applicable.\n placeNodes({ sliceDepth, frontierDepth, parent, inject, wrap }) {\n while (this.depth > frontierDepth)\n this.closeFrontierNode();\n if (wrap)\n for (let i = 0; i < wrap.length; i++)\n this.openFrontierNode(wrap[i]);\n let slice = this.unplaced, fragment = parent ? parent.content : slice.content;\n let openStart = slice.openStart - sliceDepth;\n let taken = 0, add = [];\n let { match, type } = this.frontier[frontierDepth];\n if (inject) {\n for (let i = 0; i < inject.childCount; i++)\n add.push(inject.child(i));\n match = match.matchFragment(inject);\n }\n // Computes the amount of (end) open nodes at the end of the\n // fragment. When 0, the parent is open, but no more. When\n // negative, nothing is open.\n let openEndCount = (fragment.size + sliceDepth) - (slice.content.size - slice.openEnd);\n // Scan over the fragment, fitting as many child nodes as\n // possible.\n while (taken < fragment.childCount) {\n let next = fragment.child(taken), matches = match.matchType(next.type);\n if (!matches)\n break;\n taken++;\n if (taken > 1 || openStart == 0 || next.content.size) { // Drop empty open nodes\n match = matches;\n add.push(closeNodeStart(next.mark(type.allowedMarks(next.marks)), taken == 1 ? openStart : 0, taken == fragment.childCount ? openEndCount : -1));\n }\n }\n let toEnd = taken == fragment.childCount;\n if (!toEnd)\n openEndCount = -1;\n this.placed = addToFragment(this.placed, frontierDepth, Fragment.from(add));\n this.frontier[frontierDepth].match = match;\n // If the parent types match, and the entire node was moved, and\n // it's not open, close this frontier node right away.\n if (toEnd && openEndCount < 0 && parent && parent.type == this.frontier[this.depth].type && this.frontier.length > 1)\n this.closeFrontierNode();\n // Add new frontier nodes for any open nodes at the end.\n for (let i = 0, cur = fragment; i < openEndCount; i++) {\n let node = cur.lastChild;\n this.frontier.push({ type: node.type, match: node.contentMatchAt(node.childCount) });\n cur = node.content;\n }\n // Update `this.unplaced`. Drop the entire node from which we\n // placed it we got to its end, otherwise just drop the placed\n // nodes.\n this.unplaced = !toEnd ? new Slice(dropFromFragment(slice.content, sliceDepth, taken), slice.openStart, slice.openEnd)\n : sliceDepth == 0 ? Slice.empty\n : new Slice(dropFromFragment(slice.content, sliceDepth - 1, 1), sliceDepth - 1, openEndCount < 0 ? slice.openEnd : sliceDepth - 1);\n }\n mustMoveInline() {\n if (!this.$to.parent.isTextblock)\n return -1;\n let top = this.frontier[this.depth], level;\n if (!top.type.isTextblock || !contentAfterFits(this.$to, this.$to.depth, top.type, top.match, false) ||\n (this.$to.depth == this.depth && (level = this.findCloseLevel(this.$to)) && level.depth == this.depth))\n return -1;\n let { depth } = this.$to, after = this.$to.after(depth);\n while (depth > 1 && after == this.$to.end(--depth))\n ++after;\n return after;\n }\n findCloseLevel($to) {\n scan: for (let i = Math.min(this.depth, $to.depth); i >= 0; i--) {\n let { match, type } = this.frontier[i];\n let dropInner = i < $to.depth && $to.end(i + 1) == $to.pos + ($to.depth - (i + 1));\n let fit = contentAfterFits($to, i, type, match, dropInner);\n if (!fit)\n continue;\n for (let d = i - 1; d >= 0; d--) {\n let { match, type } = this.frontier[d];\n let matches = contentAfterFits($to, d, type, match, true);\n if (!matches || matches.childCount)\n continue scan;\n }\n return { depth: i, fit, move: dropInner ? $to.doc.resolve($to.after(i + 1)) : $to };\n }\n }\n close($to) {\n let close = this.findCloseLevel($to);\n if (!close)\n return null;\n while (this.depth > close.depth)\n this.closeFrontierNode();\n if (close.fit.childCount)\n this.placed = addToFragment(this.placed, close.depth, close.fit);\n $to = close.move;\n for (let d = close.depth + 1; d <= $to.depth; d++) {\n let node = $to.node(d), add = node.type.contentMatch.fillBefore(node.content, true, $to.index(d));\n this.openFrontierNode(node.type, node.attrs, add);\n }\n return $to;\n }\n openFrontierNode(type, attrs = null, content) {\n let top = this.frontier[this.depth];\n top.match = top.match.matchType(type);\n this.placed = addToFragment(this.placed, this.depth, Fragment.from(type.create(attrs, content)));\n this.frontier.push({ type, match: type.contentMatch });\n }\n closeFrontierNode() {\n let open = this.frontier.pop();\n let add = open.match.fillBefore(Fragment.empty, true);\n if (add.childCount)\n this.placed = addToFragment(this.placed, this.frontier.length, add);\n }\n}\nfunction dropFromFragment(fragment, depth, count) {\n if (depth == 0)\n return fragment.cutByIndex(count, fragment.childCount);\n return fragment.replaceChild(0, fragment.firstChild.copy(dropFromFragment(fragment.firstChild.content, depth - 1, count)));\n}\nfunction addToFragment(fragment, depth, content) {\n if (depth == 0)\n return fragment.append(content);\n return fragment.replaceChild(fragment.childCount - 1, fragment.lastChild.copy(addToFragment(fragment.lastChild.content, depth - 1, content)));\n}\nfunction contentAt(fragment, depth) {\n for (let i = 0; i < depth; i++)\n fragment = fragment.firstChild.content;\n return fragment;\n}\nfunction closeNodeStart(node, openStart, openEnd) {\n if (openStart <= 0)\n return node;\n let frag = node.content;\n if (openStart > 1)\n frag = frag.replaceChild(0, closeNodeStart(frag.firstChild, openStart - 1, frag.childCount == 1 ? openEnd - 1 : 0));\n if (openStart > 0) {\n frag = node.type.contentMatch.fillBefore(frag).append(frag);\n if (openEnd <= 0)\n frag = frag.append(node.type.contentMatch.matchFragment(frag).fillBefore(Fragment.empty, true));\n }\n return node.copy(frag);\n}\nfunction contentAfterFits($to, depth, type, match, open) {\n let node = $to.node(depth), index = open ? $to.indexAfter(depth) : $to.index(depth);\n if (index == node.childCount && !type.compatibleContent(node.type))\n return null;\n let fit = match.fillBefore(node.content, true, index);\n return fit && !invalidMarks(type, node.content, index) ? fit : null;\n}\nfunction invalidMarks(type, fragment, start) {\n for (let i = start; i < fragment.childCount; i++)\n if (!type.allowsMarks(fragment.child(i).marks))\n return true;\n return false;\n}\nfunction definesContent(type) {\n return type.spec.defining || type.spec.definingForContent;\n}\nfunction replaceRange(tr, from, to, slice) {\n if (!slice.size)\n return tr.deleteRange(from, to);\n let $from = tr.doc.resolve(from), $to = tr.doc.resolve(to);\n if (fitsTrivially($from, $to, slice))\n return tr.step(new ReplaceStep(from, to, slice));\n let targetDepths = coveredDepths($from, tr.doc.resolve(to));\n // Can't replace the whole document, so remove 0 if it's present\n if (targetDepths[targetDepths.length - 1] == 0)\n targetDepths.pop();\n // Negative numbers represent not expansion over the whole node at\n // that depth, but replacing from $from.before(-D) to $to.pos.\n let preferredTarget = -($from.depth + 1);\n targetDepths.unshift(preferredTarget);\n // This loop picks a preferred target depth, if one of the covering\n // depths is not outside of a defining node, and adds negative\n // depths for any depth that has $from at its start and does not\n // cross a defining node.\n for (let d = $from.depth, pos = $from.pos - 1; d > 0; d--, pos--) {\n let spec = $from.node(d).type.spec;\n if (spec.defining || spec.definingAsContext || spec.isolating)\n break;\n if (targetDepths.indexOf(d) > -1)\n preferredTarget = d;\n else if ($from.before(d) == pos)\n targetDepths.splice(1, 0, -d);\n }\n // Try to fit each possible depth of the slice into each possible\n // target depth, starting with the preferred depths.\n let preferredTargetIndex = targetDepths.indexOf(preferredTarget);\n let leftNodes = [], preferredDepth = slice.openStart;\n for (let content = slice.content, i = 0;; i++) {\n let node = content.firstChild;\n leftNodes.push(node);\n if (i == slice.openStart)\n break;\n content = node.content;\n }\n // Back up preferredDepth to cover defining textblocks directly\n // above it, possibly skipping a non-defining textblock.\n for (let d = preferredDepth - 1; d >= 0; d--) {\n let leftNode = leftNodes[d], def = definesContent(leftNode.type);\n if (def && !leftNode.sameMarkup($from.node(Math.abs(preferredTarget) - 1)))\n preferredDepth = d;\n else if (def || !leftNode.type.isTextblock)\n break;\n }\n for (let j = slice.openStart; j >= 0; j--) {\n let openDepth = (j + preferredDepth + 1) % (slice.openStart + 1);\n let insert = leftNodes[openDepth];\n if (!insert)\n continue;\n for (let i = 0; i < targetDepths.length; i++) {\n // Loop over possible expansion levels, starting with the\n // preferred one\n let targetDepth = targetDepths[(i + preferredTargetIndex) % targetDepths.length], expand = true;\n if (targetDepth < 0) {\n expand = false;\n targetDepth = -targetDepth;\n }\n let parent = $from.node(targetDepth - 1), index = $from.index(targetDepth - 1);\n if (parent.canReplaceWith(index, index, insert.type, insert.marks))\n return tr.replace($from.before(targetDepth), expand ? $to.after(targetDepth) : to, new Slice(closeFragment(slice.content, 0, slice.openStart, openDepth), openDepth, slice.openEnd));\n }\n }\n let startSteps = tr.steps.length;\n for (let i = targetDepths.length - 1; i >= 0; i--) {\n tr.replace(from, to, slice);\n if (tr.steps.length > startSteps)\n break;\n let depth = targetDepths[i];\n if (depth < 0)\n continue;\n from = $from.before(depth);\n to = $to.after(depth);\n }\n}\nfunction closeFragment(fragment, depth, oldOpen, newOpen, parent) {\n if (depth < oldOpen) {\n let first = fragment.firstChild;\n fragment = fragment.replaceChild(0, first.copy(closeFragment(first.content, depth + 1, oldOpen, newOpen, first)));\n }\n if (depth > newOpen) {\n let match = parent.contentMatchAt(0);\n let start = match.fillBefore(fragment).append(fragment);\n fragment = start.append(match.matchFragment(start).fillBefore(Fragment.empty, true));\n }\n return fragment;\n}\nfunction replaceRangeWith(tr, from, to, node) {\n if (!node.isInline && from == to && tr.doc.resolve(from).parent.content.size) {\n let point = insertPoint(tr.doc, from, node.type);\n if (point != null)\n from = to = point;\n }\n tr.replaceRange(from, to, new Slice(Fragment.from(node), 0, 0));\n}\nfunction deleteRange(tr, from, to) {\n let $from = tr.doc.resolve(from), $to = tr.doc.resolve(to);\n let covered = coveredDepths($from, $to);\n for (let i = 0; i < covered.length; i++) {\n let depth = covered[i], last = i == covered.length - 1;\n if ((last && depth == 0) || $from.node(depth).type.contentMatch.validEnd)\n return tr.delete($from.start(depth), $to.end(depth));\n if (depth > 0 && (last || $from.node(depth - 1).canReplace($from.index(depth - 1), $to.indexAfter(depth - 1))))\n return tr.delete($from.before(depth), $to.after(depth));\n }\n for (let d = 1; d <= $from.depth && d <= $to.depth; d++) {\n if (from - $from.start(d) == $from.depth - d && to > $from.end(d) && $to.end(d) - to != $to.depth - d)\n return tr.delete($from.before(d), to);\n }\n tr.delete(from, to);\n}\n// Returns an array of all depths for which $from - $to spans the\n// whole content of the nodes at that depth.\nfunction coveredDepths($from, $to) {\n let result = [], minDepth = Math.min($from.depth, $to.depth);\n for (let d = minDepth; d >= 0; d--) {\n let start = $from.start(d);\n if (start < $from.pos - ($from.depth - d) ||\n $to.end(d) > $to.pos + ($to.depth - d) ||\n $from.node(d).type.spec.isolating ||\n $to.node(d).type.spec.isolating)\n break;\n if (start == $to.start(d) ||\n (d == $from.depth && d == $to.depth && $from.parent.inlineContent && $to.parent.inlineContent &&\n d && $to.start(d - 1) == start - 1))\n result.push(d);\n }\n return result;\n}\n\n/**\nUpdate an attribute in a specific node.\n*/\nclass AttrStep extends Step {\n /**\n Construct an attribute step.\n */\n constructor(\n /**\n The position of the target node.\n */\n pos, \n /**\n The attribute to set.\n */\n attr, \n // The attribute's new value.\n value) {\n super();\n this.pos = pos;\n this.attr = attr;\n this.value = value;\n }\n apply(doc) {\n let node = doc.nodeAt(this.pos);\n if (!node)\n return StepResult.fail(\"No node at attribute step's position\");\n let attrs = Object.create(null);\n for (let name in node.attrs)\n attrs[name] = node.attrs[name];\n attrs[this.attr] = this.value;\n let updated = node.type.create(attrs, null, node.marks);\n return StepResult.fromReplace(doc, this.pos, this.pos + 1, new Slice(Fragment.from(updated), 0, node.isLeaf ? 0 : 1));\n }\n getMap() {\n return StepMap.empty;\n }\n invert(doc) {\n return new AttrStep(this.pos, this.attr, doc.nodeAt(this.pos).attrs[this.attr]);\n }\n map(mapping) {\n let pos = mapping.mapResult(this.pos, 1);\n return pos.deletedAfter ? null : new AttrStep(pos.pos, this.attr, this.value);\n }\n toJSON() {\n return { stepType: \"attr\", pos: this.pos, attr: this.attr, value: this.value };\n }\n static fromJSON(schema, json) {\n if (typeof json.pos != \"number\" || typeof json.attr != \"string\")\n throw new RangeError(\"Invalid input for AttrStep.fromJSON\");\n return new AttrStep(json.pos, json.attr, json.value);\n }\n}\nStep.jsonID(\"attr\", AttrStep);\n/**\nUpdate an attribute in the doc node.\n*/\nclass DocAttrStep extends Step {\n /**\n Construct an attribute step.\n */\n constructor(\n /**\n The attribute to set.\n */\n attr, \n // The attribute's new value.\n value) {\n super();\n this.attr = attr;\n this.value = value;\n }\n apply(doc) {\n let attrs = Object.create(null);\n for (let name in doc.attrs)\n attrs[name] = doc.attrs[name];\n attrs[this.attr] = this.value;\n let updated = doc.type.create(attrs, doc.content, doc.marks);\n return StepResult.ok(updated);\n }\n getMap() {\n return StepMap.empty;\n }\n invert(doc) {\n return new DocAttrStep(this.attr, doc.attrs[this.attr]);\n }\n map(mapping) {\n return this;\n }\n toJSON() {\n return { stepType: \"docAttr\", attr: this.attr, value: this.value };\n }\n static fromJSON(schema, json) {\n if (typeof json.attr != \"string\")\n throw new RangeError(\"Invalid input for DocAttrStep.fromJSON\");\n return new DocAttrStep(json.attr, json.value);\n }\n}\nStep.jsonID(\"docAttr\", DocAttrStep);\n\n/**\n@internal\n*/\nlet TransformError = class extends Error {\n};\nTransformError = function TransformError(message) {\n let err = Error.call(this, message);\n err.__proto__ = TransformError.prototype;\n return err;\n};\nTransformError.prototype = Object.create(Error.prototype);\nTransformError.prototype.constructor = TransformError;\nTransformError.prototype.name = \"TransformError\";\n/**\nAbstraction to build up and track an array of\n[steps](https://prosemirror.net/docs/ref/#transform.Step) representing a document transformation.\n\nMost transforming methods return the `Transform` object itself, so\nthat they can be chained.\n*/\nclass Transform {\n /**\n Create a transform that starts with the given document.\n */\n constructor(\n /**\n The current document (the result of applying the steps in the\n transform).\n */\n doc) {\n this.doc = doc;\n /**\n The steps in this transform.\n */\n this.steps = [];\n /**\n The documents before each of the steps.\n */\n this.docs = [];\n /**\n A mapping with the maps for each of the steps in this transform.\n */\n this.mapping = new Mapping;\n }\n /**\n The starting document.\n */\n get before() { return this.docs.length ? this.docs[0] : this.doc; }\n /**\n Apply a new step in this transform, saving the result. Throws an\n error when the step fails.\n */\n step(step) {\n let result = this.maybeStep(step);\n if (result.failed)\n throw new TransformError(result.failed);\n return this;\n }\n /**\n Try to apply a step in this transformation, ignoring it if it\n fails. Returns the step result.\n */\n maybeStep(step) {\n let result = step.apply(this.doc);\n if (!result.failed)\n this.addStep(step, result.doc);\n return result;\n }\n /**\n True when the document has been changed (when there are any\n steps).\n */\n get docChanged() {\n return this.steps.length > 0;\n }\n /**\n @internal\n */\n addStep(step, doc) {\n this.docs.push(this.doc);\n this.steps.push(step);\n this.mapping.appendMap(step.getMap());\n this.doc = doc;\n }\n /**\n Replace the part of the document between `from` and `to` with the\n given `slice`.\n */\n replace(from, to = from, slice = Slice.empty) {\n let step = replaceStep(this.doc, from, to, slice);\n if (step)\n this.step(step);\n return this;\n }\n /**\n Replace the given range with the given content, which may be a\n fragment, node, or array of nodes.\n */\n replaceWith(from, to, content) {\n return this.replace(from, to, new Slice(Fragment.from(content), 0, 0));\n }\n /**\n Delete the content between the given positions.\n */\n delete(from, to) {\n return this.replace(from, to, Slice.empty);\n }\n /**\n Insert the given content at the given position.\n */\n insert(pos, content) {\n return this.replaceWith(pos, pos, content);\n }\n /**\n Replace a range of the document with a given slice, using\n `from`, `to`, and the slice's\n [`openStart`](https://prosemirror.net/docs/ref/#model.Slice.openStart) property as hints, rather\n than fixed start and end points. This method may grow the\n replaced area or close open nodes in the slice in order to get a\n fit that is more in line with WYSIWYG expectations, by dropping\n fully covered parent nodes of the replaced region when they are\n marked [non-defining as\n context](https://prosemirror.net/docs/ref/#model.NodeSpec.definingAsContext), or including an\n open parent node from the slice that _is_ marked as [defining\n its content](https://prosemirror.net/docs/ref/#model.NodeSpec.definingForContent).\n \n This is the method, for example, to handle paste. The similar\n [`replace`](https://prosemirror.net/docs/ref/#transform.Transform.replace) method is a more\n primitive tool which will _not_ move the start and end of its given\n range, and is useful in situations where you need more precise\n control over what happens.\n */\n replaceRange(from, to, slice) {\n replaceRange(this, from, to, slice);\n return this;\n }\n /**\n Replace the given range with a node, but use `from` and `to` as\n hints, rather than precise positions. When from and to are the same\n and are at the start or end of a parent node in which the given\n node doesn't fit, this method may _move_ them out towards a parent\n that does allow the given node to be placed. When the given range\n completely covers a parent node, this method may completely replace\n that parent node.\n */\n replaceRangeWith(from, to, node) {\n replaceRangeWith(this, from, to, node);\n return this;\n }\n /**\n Delete the given range, expanding it to cover fully covered\n parent nodes until a valid replace is found.\n */\n deleteRange(from, to) {\n deleteRange(this, from, to);\n return this;\n }\n /**\n Split the content in the given range off from its parent, if there\n is sibling content before or after it, and move it up the tree to\n the depth specified by `target`. You'll probably want to use\n [`liftTarget`](https://prosemirror.net/docs/ref/#transform.liftTarget) to compute `target`, to make\n sure the lift is valid.\n */\n lift(range, target) {\n lift(this, range, target);\n return this;\n }\n /**\n Join the blocks around the given position. If depth is 2, their\n last and first siblings are also joined, and so on.\n */\n join(pos, depth = 1) {\n join(this, pos, depth);\n return this;\n }\n /**\n Wrap the given [range](https://prosemirror.net/docs/ref/#model.NodeRange) in the given set of wrappers.\n The wrappers are assumed to be valid in this position, and should\n probably be computed with [`findWrapping`](https://prosemirror.net/docs/ref/#transform.findWrapping).\n */\n wrap(range, wrappers) {\n wrap(this, range, wrappers);\n return this;\n }\n /**\n Set the type of all textblocks (partly) between `from` and `to` to\n the given node type with the given attributes.\n */\n setBlockType(from, to = from, type, attrs = null) {\n setBlockType(this, from, to, type, attrs);\n return this;\n }\n /**\n Change the type, attributes, and/or marks of the node at `pos`.\n When `type` isn't given, the existing node type is preserved,\n */\n setNodeMarkup(pos, type, attrs = null, marks) {\n setNodeMarkup(this, pos, type, attrs, marks);\n return this;\n }\n /**\n Set a single attribute on a given node to a new value.\n The `pos` addresses the document content. Use `setDocAttribute`\n to set attributes on the document itself.\n */\n setNodeAttribute(pos, attr, value) {\n this.step(new AttrStep(pos, attr, value));\n return this;\n }\n /**\n Set a single attribute on the document to a new value.\n */\n setDocAttribute(attr, value) {\n this.step(new DocAttrStep(attr, value));\n return this;\n }\n /**\n Add a mark to the node at position `pos`.\n */\n addNodeMark(pos, mark) {\n this.step(new AddNodeMarkStep(pos, mark));\n return this;\n }\n /**\n Remove a mark (or a mark of the given type) from the node at\n position `pos`.\n */\n removeNodeMark(pos, mark) {\n if (!(mark instanceof Mark)) {\n let node = this.doc.nodeAt(pos);\n if (!node)\n throw new RangeError(\"No node at position \" + pos);\n mark = mark.isInSet(node.marks);\n if (!mark)\n return this;\n }\n this.step(new RemoveNodeMarkStep(pos, mark));\n return this;\n }\n /**\n Split the node at the given position, and optionally, if `depth` is\n greater than one, any number of nodes above that. By default, the\n parts split off will inherit the node type of the original node.\n This can be changed by passing an array of types and attributes to\n use after the split.\n */\n split(pos, depth = 1, typesAfter) {\n split(this, pos, depth, typesAfter);\n return this;\n }\n /**\n Add the given mark to the inline content between `from` and `to`.\n */\n addMark(from, to, mark) {\n addMark(this, from, to, mark);\n return this;\n }\n /**\n Remove marks from inline nodes between `from` and `to`. When\n `mark` is a single mark, remove precisely that mark. When it is\n a mark type, remove all marks of that type. When it is null,\n remove all marks of any type.\n */\n removeMark(from, to, mark) {\n removeMark(this, from, to, mark);\n return this;\n }\n /**\n Removes all marks and nodes from the content of the node at\n `pos` that don't match the given new parent node type. Accepts\n an optional starting [content match](https://prosemirror.net/docs/ref/#model.ContentMatch) as\n third argument.\n */\n clearIncompatible(pos, parentType, match) {\n clearIncompatible(this, pos, parentType, match);\n return this;\n }\n}\n\nexport { AddMarkStep, AddNodeMarkStep, AttrStep, DocAttrStep, MapResult, Mapping, RemoveMarkStep, RemoveNodeMarkStep, ReplaceAroundStep, ReplaceStep, Step, StepMap, StepResult, Transform, TransformError, canJoin, canSplit, dropPoint, findWrapping, insertPoint, joinPoint, liftTarget, replaceStep };\n","import { Slice, Fragment, Mark, Node } from 'prosemirror-model';\nimport { ReplaceStep, ReplaceAroundStep, Transform } from 'prosemirror-transform';\n\nconst classesById = Object.create(null);\n/**\nSuperclass for editor selections. Every selection type should\nextend this. Should not be instantiated directly.\n*/\nclass Selection {\n /**\n Initialize a selection with the head and anchor and ranges. If no\n ranges are given, constructs a single range across `$anchor` and\n `$head`.\n */\n constructor(\n /**\n The resolved anchor of the selection (the side that stays in\n place when the selection is modified).\n */\n $anchor, \n /**\n The resolved head of the selection (the side that moves when\n the selection is modified).\n */\n $head, ranges) {\n this.$anchor = $anchor;\n this.$head = $head;\n this.ranges = ranges || [new SelectionRange($anchor.min($head), $anchor.max($head))];\n }\n /**\n The selection's anchor, as an unresolved position.\n */\n get anchor() { return this.$anchor.pos; }\n /**\n The selection's head.\n */\n get head() { return this.$head.pos; }\n /**\n The lower bound of the selection's main range.\n */\n get from() { return this.$from.pos; }\n /**\n The upper bound of the selection's main range.\n */\n get to() { return this.$to.pos; }\n /**\n The resolved lower bound of the selection's main range.\n */\n get $from() {\n return this.ranges[0].$from;\n }\n /**\n The resolved upper bound of the selection's main range.\n */\n get $to() {\n return this.ranges[0].$to;\n }\n /**\n Indicates whether the selection contains any content.\n */\n get empty() {\n let ranges = this.ranges;\n for (let i = 0; i < ranges.length; i++)\n if (ranges[i].$from.pos != ranges[i].$to.pos)\n return false;\n return true;\n }\n /**\n Get the content of this selection as a slice.\n */\n content() {\n return this.$from.doc.slice(this.from, this.to, true);\n }\n /**\n Replace the selection with a slice or, if no slice is given,\n delete the selection. Will append to the given transaction.\n */\n replace(tr, content = Slice.empty) {\n // Put the new selection at the position after the inserted\n // content. When that ended in an inline node, search backwards,\n // to get the position after that node. If not, search forward.\n let lastNode = content.content.lastChild, lastParent = null;\n for (let i = 0; i < content.openEnd; i++) {\n lastParent = lastNode;\n lastNode = lastNode.lastChild;\n }\n let mapFrom = tr.steps.length, ranges = this.ranges;\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i], mapping = tr.mapping.slice(mapFrom);\n tr.replaceRange(mapping.map($from.pos), mapping.map($to.pos), i ? Slice.empty : content);\n if (i == 0)\n selectionToInsertionEnd(tr, mapFrom, (lastNode ? lastNode.isInline : lastParent && lastParent.isTextblock) ? -1 : 1);\n }\n }\n /**\n Replace the selection with the given node, appending the changes\n to the given transaction.\n */\n replaceWith(tr, node) {\n let mapFrom = tr.steps.length, ranges = this.ranges;\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i], mapping = tr.mapping.slice(mapFrom);\n let from = mapping.map($from.pos), to = mapping.map($to.pos);\n if (i) {\n tr.deleteRange(from, to);\n }\n else {\n tr.replaceRangeWith(from, to, node);\n selectionToInsertionEnd(tr, mapFrom, node.isInline ? -1 : 1);\n }\n }\n }\n /**\n Find a valid cursor or leaf node selection starting at the given\n position and searching back if `dir` is negative, and forward if\n positive. When `textOnly` is true, only consider cursor\n selections. Will return null when no valid selection position is\n found.\n */\n static findFrom($pos, dir, textOnly = false) {\n let inner = $pos.parent.inlineContent ? new TextSelection($pos)\n : findSelectionIn($pos.node(0), $pos.parent, $pos.pos, $pos.index(), dir, textOnly);\n if (inner)\n return inner;\n for (let depth = $pos.depth - 1; depth >= 0; depth--) {\n let found = dir < 0\n ? findSelectionIn($pos.node(0), $pos.node(depth), $pos.before(depth + 1), $pos.index(depth), dir, textOnly)\n : findSelectionIn($pos.node(0), $pos.node(depth), $pos.after(depth + 1), $pos.index(depth) + 1, dir, textOnly);\n if (found)\n return found;\n }\n return null;\n }\n /**\n Find a valid cursor or leaf node selection near the given\n position. Searches forward first by default, but if `bias` is\n negative, it will search backwards first.\n */\n static near($pos, bias = 1) {\n return this.findFrom($pos, bias) || this.findFrom($pos, -bias) || new AllSelection($pos.node(0));\n }\n /**\n Find the cursor or leaf node selection closest to the start of\n the given document. Will return an\n [`AllSelection`](https://prosemirror.net/docs/ref/#state.AllSelection) if no valid position\n exists.\n */\n static atStart(doc) {\n return findSelectionIn(doc, doc, 0, 0, 1) || new AllSelection(doc);\n }\n /**\n Find the cursor or leaf node selection closest to the end of the\n given document.\n */\n static atEnd(doc) {\n return findSelectionIn(doc, doc, doc.content.size, doc.childCount, -1) || new AllSelection(doc);\n }\n /**\n Deserialize the JSON representation of a selection. Must be\n implemented for custom classes (as a static class method).\n */\n static fromJSON(doc, json) {\n if (!json || !json.type)\n throw new RangeError(\"Invalid input for Selection.fromJSON\");\n let cls = classesById[json.type];\n if (!cls)\n throw new RangeError(`No selection type ${json.type} defined`);\n return cls.fromJSON(doc, json);\n }\n /**\n To be able to deserialize selections from JSON, custom selection\n classes must register themselves with an ID string, so that they\n can be disambiguated. Try to pick something that's unlikely to\n clash with classes from other modules.\n */\n static jsonID(id, selectionClass) {\n if (id in classesById)\n throw new RangeError(\"Duplicate use of selection JSON ID \" + id);\n classesById[id] = selectionClass;\n selectionClass.prototype.jsonID = id;\n return selectionClass;\n }\n /**\n Get a [bookmark](https://prosemirror.net/docs/ref/#state.SelectionBookmark) for this selection,\n which is a value that can be mapped without having access to a\n current document, and later resolved to a real selection for a\n given document again. (This is used mostly by the history to\n track and restore old selections.) The default implementation of\n this method just converts the selection to a text selection and\n returns the bookmark for that.\n */\n getBookmark() {\n return TextSelection.between(this.$anchor, this.$head).getBookmark();\n }\n}\nSelection.prototype.visible = true;\n/**\nRepresents a selected range in a document.\n*/\nclass SelectionRange {\n /**\n Create a range.\n */\n constructor(\n /**\n The lower bound of the range.\n */\n $from, \n /**\n The upper bound of the range.\n */\n $to) {\n this.$from = $from;\n this.$to = $to;\n }\n}\nlet warnedAboutTextSelection = false;\nfunction checkTextSelection($pos) {\n if (!warnedAboutTextSelection && !$pos.parent.inlineContent) {\n warnedAboutTextSelection = true;\n console[\"warn\"](\"TextSelection endpoint not pointing into a node with inline content (\" + $pos.parent.type.name + \")\");\n }\n}\n/**\nA text selection represents a classical editor selection, with a\nhead (the moving side) and anchor (immobile side), both of which\npoint into textblock nodes. It can be empty (a regular cursor\nposition).\n*/\nclass TextSelection extends Selection {\n /**\n Construct a text selection between the given points.\n */\n constructor($anchor, $head = $anchor) {\n checkTextSelection($anchor);\n checkTextSelection($head);\n super($anchor, $head);\n }\n /**\n Returns a resolved position if this is a cursor selection (an\n empty text selection), and null otherwise.\n */\n get $cursor() { return this.$anchor.pos == this.$head.pos ? this.$head : null; }\n map(doc, mapping) {\n let $head = doc.resolve(mapping.map(this.head));\n if (!$head.parent.inlineContent)\n return Selection.near($head);\n let $anchor = doc.resolve(mapping.map(this.anchor));\n return new TextSelection($anchor.parent.inlineContent ? $anchor : $head, $head);\n }\n replace(tr, content = Slice.empty) {\n super.replace(tr, content);\n if (content == Slice.empty) {\n let marks = this.$from.marksAcross(this.$to);\n if (marks)\n tr.ensureMarks(marks);\n }\n }\n eq(other) {\n return other instanceof TextSelection && other.anchor == this.anchor && other.head == this.head;\n }\n getBookmark() {\n return new TextBookmark(this.anchor, this.head);\n }\n toJSON() {\n return { type: \"text\", anchor: this.anchor, head: this.head };\n }\n /**\n @internal\n */\n static fromJSON(doc, json) {\n if (typeof json.anchor != \"number\" || typeof json.head != \"number\")\n throw new RangeError(\"Invalid input for TextSelection.fromJSON\");\n return new TextSelection(doc.resolve(json.anchor), doc.resolve(json.head));\n }\n /**\n Create a text selection from non-resolved positions.\n */\n static create(doc, anchor, head = anchor) {\n let $anchor = doc.resolve(anchor);\n return new this($anchor, head == anchor ? $anchor : doc.resolve(head));\n }\n /**\n Return a text selection that spans the given positions or, if\n they aren't text positions, find a text selection near them.\n `bias` determines whether the method searches forward (default)\n or backwards (negative number) first. Will fall back to calling\n [`Selection.near`](https://prosemirror.net/docs/ref/#state.Selection^near) when the document\n doesn't contain a valid text position.\n */\n static between($anchor, $head, bias) {\n let dPos = $anchor.pos - $head.pos;\n if (!bias || dPos)\n bias = dPos >= 0 ? 1 : -1;\n if (!$head.parent.inlineContent) {\n let found = Selection.findFrom($head, bias, true) || Selection.findFrom($head, -bias, true);\n if (found)\n $head = found.$head;\n else\n return Selection.near($head, bias);\n }\n if (!$anchor.parent.inlineContent) {\n if (dPos == 0) {\n $anchor = $head;\n }\n else {\n $anchor = (Selection.findFrom($anchor, -bias, true) || Selection.findFrom($anchor, bias, true)).$anchor;\n if (($anchor.pos < $head.pos) != (dPos < 0))\n $anchor = $head;\n }\n }\n return new TextSelection($anchor, $head);\n }\n}\nSelection.jsonID(\"text\", TextSelection);\nclass TextBookmark {\n constructor(anchor, head) {\n this.anchor = anchor;\n this.head = head;\n }\n map(mapping) {\n return new TextBookmark(mapping.map(this.anchor), mapping.map(this.head));\n }\n resolve(doc) {\n return TextSelection.between(doc.resolve(this.anchor), doc.resolve(this.head));\n }\n}\n/**\nA node selection is a selection that points at a single node. All\nnodes marked [selectable](https://prosemirror.net/docs/ref/#model.NodeSpec.selectable) can be the\ntarget of a node selection. In such a selection, `from` and `to`\npoint directly before and after the selected node, `anchor` equals\n`from`, and `head` equals `to`..\n*/\nclass NodeSelection extends Selection {\n /**\n Create a node selection. Does not verify the validity of its\n argument.\n */\n constructor($pos) {\n let node = $pos.nodeAfter;\n let $end = $pos.node(0).resolve($pos.pos + node.nodeSize);\n super($pos, $end);\n this.node = node;\n }\n map(doc, mapping) {\n let { deleted, pos } = mapping.mapResult(this.anchor);\n let $pos = doc.resolve(pos);\n if (deleted)\n return Selection.near($pos);\n return new NodeSelection($pos);\n }\n content() {\n return new Slice(Fragment.from(this.node), 0, 0);\n }\n eq(other) {\n return other instanceof NodeSelection && other.anchor == this.anchor;\n }\n toJSON() {\n return { type: \"node\", anchor: this.anchor };\n }\n getBookmark() { return new NodeBookmark(this.anchor); }\n /**\n @internal\n */\n static fromJSON(doc, json) {\n if (typeof json.anchor != \"number\")\n throw new RangeError(\"Invalid input for NodeSelection.fromJSON\");\n return new NodeSelection(doc.resolve(json.anchor));\n }\n /**\n Create a node selection from non-resolved positions.\n */\n static create(doc, from) {\n return new NodeSelection(doc.resolve(from));\n }\n /**\n Determines whether the given node may be selected as a node\n selection.\n */\n static isSelectable(node) {\n return !node.isText && node.type.spec.selectable !== false;\n }\n}\nNodeSelection.prototype.visible = false;\nSelection.jsonID(\"node\", NodeSelection);\nclass NodeBookmark {\n constructor(anchor) {\n this.anchor = anchor;\n }\n map(mapping) {\n let { deleted, pos } = mapping.mapResult(this.anchor);\n return deleted ? new TextBookmark(pos, pos) : new NodeBookmark(pos);\n }\n resolve(doc) {\n let $pos = doc.resolve(this.anchor), node = $pos.nodeAfter;\n if (node && NodeSelection.isSelectable(node))\n return new NodeSelection($pos);\n return Selection.near($pos);\n }\n}\n/**\nA selection type that represents selecting the whole document\n(which can not necessarily be expressed with a text selection, when\nthere are for example leaf block nodes at the start or end of the\ndocument).\n*/\nclass AllSelection extends Selection {\n /**\n Create an all-selection over the given document.\n */\n constructor(doc) {\n super(doc.resolve(0), doc.resolve(doc.content.size));\n }\n replace(tr, content = Slice.empty) {\n if (content == Slice.empty) {\n tr.delete(0, tr.doc.content.size);\n let sel = Selection.atStart(tr.doc);\n if (!sel.eq(tr.selection))\n tr.setSelection(sel);\n }\n else {\n super.replace(tr, content);\n }\n }\n toJSON() { return { type: \"all\" }; }\n /**\n @internal\n */\n static fromJSON(doc) { return new AllSelection(doc); }\n map(doc) { return new AllSelection(doc); }\n eq(other) { return other instanceof AllSelection; }\n getBookmark() { return AllBookmark; }\n}\nSelection.jsonID(\"all\", AllSelection);\nconst AllBookmark = {\n map() { return this; },\n resolve(doc) { return new AllSelection(doc); }\n};\n// FIXME we'll need some awareness of text direction when scanning for selections\n// Try to find a selection inside the given node. `pos` points at the\n// position where the search starts. When `text` is true, only return\n// text selections.\nfunction findSelectionIn(doc, node, pos, index, dir, text = false) {\n if (node.inlineContent)\n return TextSelection.create(doc, pos);\n for (let i = index - (dir > 0 ? 0 : 1); dir > 0 ? i < node.childCount : i >= 0; i += dir) {\n let child = node.child(i);\n if (!child.isAtom) {\n let inner = findSelectionIn(doc, child, pos + dir, dir < 0 ? child.childCount : 0, dir, text);\n if (inner)\n return inner;\n }\n else if (!text && NodeSelection.isSelectable(child)) {\n return NodeSelection.create(doc, pos - (dir < 0 ? child.nodeSize : 0));\n }\n pos += child.nodeSize * dir;\n }\n return null;\n}\nfunction selectionToInsertionEnd(tr, startLen, bias) {\n let last = tr.steps.length - 1;\n if (last < startLen)\n return;\n let step = tr.steps[last];\n if (!(step instanceof ReplaceStep || step instanceof ReplaceAroundStep))\n return;\n let map = tr.mapping.maps[last], end;\n map.forEach((_from, _to, _newFrom, newTo) => { if (end == null)\n end = newTo; });\n tr.setSelection(Selection.near(tr.doc.resolve(end), bias));\n}\n\nconst UPDATED_SEL = 1, UPDATED_MARKS = 2, UPDATED_SCROLL = 4;\n/**\nAn editor state transaction, which can be applied to a state to\ncreate an updated state. Use\n[`EditorState.tr`](https://prosemirror.net/docs/ref/#state.EditorState.tr) to create an instance.\n\nTransactions track changes to the document (they are a subclass of\n[`Transform`](https://prosemirror.net/docs/ref/#transform.Transform)), but also other state changes,\nlike selection updates and adjustments of the set of [stored\nmarks](https://prosemirror.net/docs/ref/#state.EditorState.storedMarks). In addition, you can store\nmetadata properties in a transaction, which are extra pieces of\ninformation that client code or plugins can use to describe what a\ntransaction represents, so that they can update their [own\nstate](https://prosemirror.net/docs/ref/#state.StateField) accordingly.\n\nThe [editor view](https://prosemirror.net/docs/ref/#view.EditorView) uses a few metadata\nproperties: it will attach a property `\"pointer\"` with the value\n`true` to selection transactions directly caused by mouse or touch\ninput, a `\"composition\"` property holding an ID identifying the\ncomposition that caused it to transactions caused by composed DOM\ninput, and a `\"uiEvent\"` property of that may be `\"paste\"`,\n`\"cut\"`, or `\"drop\"`.\n*/\nclass Transaction extends Transform {\n /**\n @internal\n */\n constructor(state) {\n super(state.doc);\n // The step count for which the current selection is valid.\n this.curSelectionFor = 0;\n // Bitfield to track which aspects of the state were updated by\n // this transaction.\n this.updated = 0;\n // Object used to store metadata properties for the transaction.\n this.meta = Object.create(null);\n this.time = Date.now();\n this.curSelection = state.selection;\n this.storedMarks = state.storedMarks;\n }\n /**\n The transaction's current selection. This defaults to the editor\n selection [mapped](https://prosemirror.net/docs/ref/#state.Selection.map) through the steps in the\n transaction, but can be overwritten with\n [`setSelection`](https://prosemirror.net/docs/ref/#state.Transaction.setSelection).\n */\n get selection() {\n if (this.curSelectionFor < this.steps.length) {\n this.curSelection = this.curSelection.map(this.doc, this.mapping.slice(this.curSelectionFor));\n this.curSelectionFor = this.steps.length;\n }\n return this.curSelection;\n }\n /**\n Update the transaction's current selection. Will determine the\n selection that the editor gets when the transaction is applied.\n */\n setSelection(selection) {\n if (selection.$from.doc != this.doc)\n throw new RangeError(\"Selection passed to setSelection must point at the current document\");\n this.curSelection = selection;\n this.curSelectionFor = this.steps.length;\n this.updated = (this.updated | UPDATED_SEL) & ~UPDATED_MARKS;\n this.storedMarks = null;\n return this;\n }\n /**\n Whether the selection was explicitly updated by this transaction.\n */\n get selectionSet() {\n return (this.updated & UPDATED_SEL) > 0;\n }\n /**\n Set the current stored marks.\n */\n setStoredMarks(marks) {\n this.storedMarks = marks;\n this.updated |= UPDATED_MARKS;\n return this;\n }\n /**\n Make sure the current stored marks or, if that is null, the marks\n at the selection, match the given set of marks. Does nothing if\n this is already the case.\n */\n ensureMarks(marks) {\n if (!Mark.sameSet(this.storedMarks || this.selection.$from.marks(), marks))\n this.setStoredMarks(marks);\n return this;\n }\n /**\n Add a mark to the set of stored marks.\n */\n addStoredMark(mark) {\n return this.ensureMarks(mark.addToSet(this.storedMarks || this.selection.$head.marks()));\n }\n /**\n Remove a mark or mark type from the set of stored marks.\n */\n removeStoredMark(mark) {\n return this.ensureMarks(mark.removeFromSet(this.storedMarks || this.selection.$head.marks()));\n }\n /**\n Whether the stored marks were explicitly set for this transaction.\n */\n get storedMarksSet() {\n return (this.updated & UPDATED_MARKS) > 0;\n }\n /**\n @internal\n */\n addStep(step, doc) {\n super.addStep(step, doc);\n this.updated = this.updated & ~UPDATED_MARKS;\n this.storedMarks = null;\n }\n /**\n Update the timestamp for the transaction.\n */\n setTime(time) {\n this.time = time;\n return this;\n }\n /**\n Replace the current selection with the given slice.\n */\n replaceSelection(slice) {\n this.selection.replace(this, slice);\n return this;\n }\n /**\n Replace the selection with the given node. When `inheritMarks` is\n true and the content is inline, it inherits the marks from the\n place where it is inserted.\n */\n replaceSelectionWith(node, inheritMarks = true) {\n let selection = this.selection;\n if (inheritMarks)\n node = node.mark(this.storedMarks || (selection.empty ? selection.$from.marks() : (selection.$from.marksAcross(selection.$to) || Mark.none)));\n selection.replaceWith(this, node);\n return this;\n }\n /**\n Delete the selection.\n */\n deleteSelection() {\n this.selection.replace(this);\n return this;\n }\n /**\n Replace the given range, or the selection if no range is given,\n with a text node containing the given string.\n */\n insertText(text, from, to) {\n let schema = this.doc.type.schema;\n if (from == null) {\n if (!text)\n return this.deleteSelection();\n return this.replaceSelectionWith(schema.text(text), true);\n }\n else {\n if (to == null)\n to = from;\n to = to == null ? from : to;\n if (!text)\n return this.deleteRange(from, to);\n let marks = this.storedMarks;\n if (!marks) {\n let $from = this.doc.resolve(from);\n marks = to == from ? $from.marks() : $from.marksAcross(this.doc.resolve(to));\n }\n this.replaceRangeWith(from, to, schema.text(text, marks));\n if (!this.selection.empty)\n this.setSelection(Selection.near(this.selection.$to));\n return this;\n }\n }\n /**\n Store a metadata property in this transaction, keyed either by\n name or by plugin.\n */\n setMeta(key, value) {\n this.meta[typeof key == \"string\" ? key : key.key] = value;\n return this;\n }\n /**\n Retrieve a metadata property for a given name or plugin.\n */\n getMeta(key) {\n return this.meta[typeof key == \"string\" ? key : key.key];\n }\n /**\n Returns true if this transaction doesn't contain any metadata,\n and can thus safely be extended.\n */\n get isGeneric() {\n for (let _ in this.meta)\n return false;\n return true;\n }\n /**\n Indicate that the editor should scroll the selection into view\n when updated to the state produced by this transaction.\n */\n scrollIntoView() {\n this.updated |= UPDATED_SCROLL;\n return this;\n }\n /**\n True when this transaction has had `scrollIntoView` called on it.\n */\n get scrolledIntoView() {\n return (this.updated & UPDATED_SCROLL) > 0;\n }\n}\n\nfunction bind(f, self) {\n return !self || !f ? f : f.bind(self);\n}\nclass FieldDesc {\n constructor(name, desc, self) {\n this.name = name;\n this.init = bind(desc.init, self);\n this.apply = bind(desc.apply, self);\n }\n}\nconst baseFields = [\n new FieldDesc(\"doc\", {\n init(config) { return config.doc || config.schema.topNodeType.createAndFill(); },\n apply(tr) { return tr.doc; }\n }),\n new FieldDesc(\"selection\", {\n init(config, instance) { return config.selection || Selection.atStart(instance.doc); },\n apply(tr) { return tr.selection; }\n }),\n new FieldDesc(\"storedMarks\", {\n init(config) { return config.storedMarks || null; },\n apply(tr, _marks, _old, state) { return state.selection.$cursor ? tr.storedMarks : null; }\n }),\n new FieldDesc(\"scrollToSelection\", {\n init() { return 0; },\n apply(tr, prev) { return tr.scrolledIntoView ? prev + 1 : prev; }\n })\n];\n// Object wrapping the part of a state object that stays the same\n// across transactions. Stored in the state's `config` property.\nclass Configuration {\n constructor(schema, plugins) {\n this.schema = schema;\n this.plugins = [];\n this.pluginsByKey = Object.create(null);\n this.fields = baseFields.slice();\n if (plugins)\n plugins.forEach(plugin => {\n if (this.pluginsByKey[plugin.key])\n throw new RangeError(\"Adding different instances of a keyed plugin (\" + plugin.key + \")\");\n this.plugins.push(plugin);\n this.pluginsByKey[plugin.key] = plugin;\n if (plugin.spec.state)\n this.fields.push(new FieldDesc(plugin.key, plugin.spec.state, plugin));\n });\n }\n}\n/**\nThe state of a ProseMirror editor is represented by an object of\nthis type. A state is a persistent data structure—it isn't\nupdated, but rather a new state value is computed from an old one\nusing the [`apply`](https://prosemirror.net/docs/ref/#state.EditorState.apply) method.\n\nA state holds a number of built-in fields, and plugins can\n[define](https://prosemirror.net/docs/ref/#state.PluginSpec.state) additional fields.\n*/\nclass EditorState {\n /**\n @internal\n */\n constructor(\n /**\n @internal\n */\n config) {\n this.config = config;\n }\n /**\n The schema of the state's document.\n */\n get schema() {\n return this.config.schema;\n }\n /**\n The plugins that are active in this state.\n */\n get plugins() {\n return this.config.plugins;\n }\n /**\n Apply the given transaction to produce a new state.\n */\n apply(tr) {\n return this.applyTransaction(tr).state;\n }\n /**\n @internal\n */\n filterTransaction(tr, ignore = -1) {\n for (let i = 0; i < this.config.plugins.length; i++)\n if (i != ignore) {\n let plugin = this.config.plugins[i];\n if (plugin.spec.filterTransaction && !plugin.spec.filterTransaction.call(plugin, tr, this))\n return false;\n }\n return true;\n }\n /**\n Verbose variant of [`apply`](https://prosemirror.net/docs/ref/#state.EditorState.apply) that\n returns the precise transactions that were applied (which might\n be influenced by the [transaction\n hooks](https://prosemirror.net/docs/ref/#state.PluginSpec.filterTransaction) of\n plugins) along with the new state.\n */\n applyTransaction(rootTr) {\n if (!this.filterTransaction(rootTr))\n return { state: this, transactions: [] };\n let trs = [rootTr], newState = this.applyInner(rootTr), seen = null;\n // This loop repeatedly gives plugins a chance to respond to\n // transactions as new transactions are added, making sure to only\n // pass the transactions the plugin did not see before.\n for (;;) {\n let haveNew = false;\n for (let i = 0; i < this.config.plugins.length; i++) {\n let plugin = this.config.plugins[i];\n if (plugin.spec.appendTransaction) {\n let n = seen ? seen[i].n : 0, oldState = seen ? seen[i].state : this;\n let tr = n < trs.length &&\n plugin.spec.appendTransaction.call(plugin, n ? trs.slice(n) : trs, oldState, newState);\n if (tr && newState.filterTransaction(tr, i)) {\n tr.setMeta(\"appendedTransaction\", rootTr);\n if (!seen) {\n seen = [];\n for (let j = 0; j < this.config.plugins.length; j++)\n seen.push(j < i ? { state: newState, n: trs.length } : { state: this, n: 0 });\n }\n trs.push(tr);\n newState = newState.applyInner(tr);\n haveNew = true;\n }\n if (seen)\n seen[i] = { state: newState, n: trs.length };\n }\n }\n if (!haveNew)\n return { state: newState, transactions: trs };\n }\n }\n /**\n @internal\n */\n applyInner(tr) {\n if (!tr.before.eq(this.doc))\n throw new RangeError(\"Applying a mismatched transaction\");\n let newInstance = new EditorState(this.config), fields = this.config.fields;\n for (let i = 0; i < fields.length; i++) {\n let field = fields[i];\n newInstance[field.name] = field.apply(tr, this[field.name], this, newInstance);\n }\n return newInstance;\n }\n /**\n Start a [transaction](https://prosemirror.net/docs/ref/#state.Transaction) from this state.\n */\n get tr() { return new Transaction(this); }\n /**\n Create a new state.\n */\n static create(config) {\n let $config = new Configuration(config.doc ? config.doc.type.schema : config.schema, config.plugins);\n let instance = new EditorState($config);\n for (let i = 0; i < $config.fields.length; i++)\n instance[$config.fields[i].name] = $config.fields[i].init(config, instance);\n return instance;\n }\n /**\n Create a new state based on this one, but with an adjusted set\n of active plugins. State fields that exist in both sets of\n plugins are kept unchanged. Those that no longer exist are\n dropped, and those that are new are initialized using their\n [`init`](https://prosemirror.net/docs/ref/#state.StateField.init) method, passing in the new\n configuration object..\n */\n reconfigure(config) {\n let $config = new Configuration(this.schema, config.plugins);\n let fields = $config.fields, instance = new EditorState($config);\n for (let i = 0; i < fields.length; i++) {\n let name = fields[i].name;\n instance[name] = this.hasOwnProperty(name) ? this[name] : fields[i].init(config, instance);\n }\n return instance;\n }\n /**\n Serialize this state to JSON. If you want to serialize the state\n of plugins, pass an object mapping property names to use in the\n resulting JSON object to plugin objects. The argument may also be\n a string or number, in which case it is ignored, to support the\n way `JSON.stringify` calls `toString` methods.\n */\n toJSON(pluginFields) {\n let result = { doc: this.doc.toJSON(), selection: this.selection.toJSON() };\n if (this.storedMarks)\n result.storedMarks = this.storedMarks.map(m => m.toJSON());\n if (pluginFields && typeof pluginFields == 'object')\n for (let prop in pluginFields) {\n if (prop == \"doc\" || prop == \"selection\")\n throw new RangeError(\"The JSON fields `doc` and `selection` are reserved\");\n let plugin = pluginFields[prop], state = plugin.spec.state;\n if (state && state.toJSON)\n result[prop] = state.toJSON.call(plugin, this[plugin.key]);\n }\n return result;\n }\n /**\n Deserialize a JSON representation of a state. `config` should\n have at least a `schema` field, and should contain array of\n plugins to initialize the state with. `pluginFields` can be used\n to deserialize the state of plugins, by associating plugin\n instances with the property names they use in the JSON object.\n */\n static fromJSON(config, json, pluginFields) {\n if (!json)\n throw new RangeError(\"Invalid input for EditorState.fromJSON\");\n if (!config.schema)\n throw new RangeError(\"Required config field 'schema' missing\");\n let $config = new Configuration(config.schema, config.plugins);\n let instance = new EditorState($config);\n $config.fields.forEach(field => {\n if (field.name == \"doc\") {\n instance.doc = Node.fromJSON(config.schema, json.doc);\n }\n else if (field.name == \"selection\") {\n instance.selection = Selection.fromJSON(instance.doc, json.selection);\n }\n else if (field.name == \"storedMarks\") {\n if (json.storedMarks)\n instance.storedMarks = json.storedMarks.map(config.schema.markFromJSON);\n }\n else {\n if (pluginFields)\n for (let prop in pluginFields) {\n let plugin = pluginFields[prop], state = plugin.spec.state;\n if (plugin.key == field.name && state && state.fromJSON &&\n Object.prototype.hasOwnProperty.call(json, prop)) {\n instance[field.name] = state.fromJSON.call(plugin, config, json[prop], instance);\n return;\n }\n }\n instance[field.name] = field.init(config, instance);\n }\n });\n return instance;\n }\n}\n\nfunction bindProps(obj, self, target) {\n for (let prop in obj) {\n let val = obj[prop];\n if (val instanceof Function)\n val = val.bind(self);\n else if (prop == \"handleDOMEvents\")\n val = bindProps(val, self, {});\n target[prop] = val;\n }\n return target;\n}\n/**\nPlugins bundle functionality that can be added to an editor.\nThey are part of the [editor state](https://prosemirror.net/docs/ref/#state.EditorState) and\nmay influence that state and the view that contains it.\n*/\nclass Plugin {\n /**\n Create a plugin.\n */\n constructor(\n /**\n The plugin's [spec object](https://prosemirror.net/docs/ref/#state.PluginSpec).\n */\n spec) {\n this.spec = spec;\n /**\n The [props](https://prosemirror.net/docs/ref/#view.EditorProps) exported by this plugin.\n */\n this.props = {};\n if (spec.props)\n bindProps(spec.props, this, this.props);\n this.key = spec.key ? spec.key.key : createKey(\"plugin\");\n }\n /**\n Extract the plugin's state field from an editor state.\n */\n getState(state) { return state[this.key]; }\n}\nconst keys = Object.create(null);\nfunction createKey(name) {\n if (name in keys)\n return name + \"$\" + ++keys[name];\n keys[name] = 0;\n return name + \"$\";\n}\n/**\nA key is used to [tag](https://prosemirror.net/docs/ref/#state.PluginSpec.key) plugins in a way\nthat makes it possible to find them, given an editor state.\nAssigning a key does mean only one plugin of that type can be\nactive in a state.\n*/\nclass PluginKey {\n /**\n Create a plugin key.\n */\n constructor(name = \"key\") { this.key = createKey(name); }\n /**\n Get the active plugin with this key, if any, from an editor\n state.\n */\n get(state) { return state.config.pluginsByKey[this.key]; }\n /**\n Get the plugin's state from an editor state.\n */\n getState(state) { return state[this.key]; }\n}\n\nexport { AllSelection, EditorState, NodeSelection, Plugin, PluginKey, Selection, SelectionRange, TextSelection, Transaction };\n","import { TextSelection, NodeSelection, AllSelection, Selection } from 'prosemirror-state';\nimport { DOMSerializer, Fragment, Mark, Slice, DOMParser } from 'prosemirror-model';\nimport { dropPoint } from 'prosemirror-transform';\n\nconst domIndex = function (node) {\n for (var index = 0;; index++) {\n node = node.previousSibling;\n if (!node)\n return index;\n }\n};\nconst parentNode = function (node) {\n let parent = node.assignedSlot || node.parentNode;\n return parent && parent.nodeType == 11 ? parent.host : parent;\n};\nlet reusedRange = null;\n// Note that this will always return the same range, because DOM range\n// objects are every expensive, and keep slowing down subsequent DOM\n// updates, for some reason.\nconst textRange = function (node, from, to) {\n let range = reusedRange || (reusedRange = document.createRange());\n range.setEnd(node, to == null ? node.nodeValue.length : to);\n range.setStart(node, from || 0);\n return range;\n};\nconst clearReusedRange = function () {\n reusedRange = null;\n};\n// Scans forward and backward through DOM positions equivalent to the\n// given one to see if the two are in the same place (i.e. after a\n// text node vs at the end of that text node)\nconst isEquivalentPosition = function (node, off, targetNode, targetOff) {\n return targetNode && (scanFor(node, off, targetNode, targetOff, -1) ||\n scanFor(node, off, targetNode, targetOff, 1));\n};\nconst atomElements = /^(img|br|input|textarea|hr)$/i;\nfunction scanFor(node, off, targetNode, targetOff, dir) {\n for (;;) {\n if (node == targetNode && off == targetOff)\n return true;\n if (off == (dir < 0 ? 0 : nodeSize(node))) {\n let parent = node.parentNode;\n if (!parent || parent.nodeType != 1 || hasBlockDesc(node) || atomElements.test(node.nodeName) ||\n node.contentEditable == \"false\")\n return false;\n off = domIndex(node) + (dir < 0 ? 0 : 1);\n node = parent;\n }\n else if (node.nodeType == 1) {\n node = node.childNodes[off + (dir < 0 ? -1 : 0)];\n if (node.contentEditable == \"false\")\n return false;\n off = dir < 0 ? nodeSize(node) : 0;\n }\n else {\n return false;\n }\n }\n}\nfunction nodeSize(node) {\n return node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length;\n}\nfunction textNodeBefore$1(node, offset) {\n for (;;) {\n if (node.nodeType == 3 && offset)\n return node;\n if (node.nodeType == 1 && offset > 0) {\n if (node.contentEditable == \"false\")\n return null;\n node = node.childNodes[offset - 1];\n offset = nodeSize(node);\n }\n else if (node.parentNode && !hasBlockDesc(node)) {\n offset = domIndex(node);\n node = node.parentNode;\n }\n else {\n return null;\n }\n }\n}\nfunction textNodeAfter$1(node, offset) {\n for (;;) {\n if (node.nodeType == 3 && offset < node.nodeValue.length)\n return node;\n if (node.nodeType == 1 && offset < node.childNodes.length) {\n if (node.contentEditable == \"false\")\n return null;\n node = node.childNodes[offset];\n offset = 0;\n }\n else if (node.parentNode && !hasBlockDesc(node)) {\n offset = domIndex(node) + 1;\n node = node.parentNode;\n }\n else {\n return null;\n }\n }\n}\nfunction isOnEdge(node, offset, parent) {\n for (let atStart = offset == 0, atEnd = offset == nodeSize(node); atStart || atEnd;) {\n if (node == parent)\n return true;\n let index = domIndex(node);\n node = node.parentNode;\n if (!node)\n return false;\n atStart = atStart && index == 0;\n atEnd = atEnd && index == nodeSize(node);\n }\n}\nfunction hasBlockDesc(dom) {\n let desc;\n for (let cur = dom; cur; cur = cur.parentNode)\n if (desc = cur.pmViewDesc)\n break;\n return desc && desc.node && desc.node.isBlock && (desc.dom == dom || desc.contentDOM == dom);\n}\n// Work around Chrome issue https://bugs.chromium.org/p/chromium/issues/detail?id=447523\n// (isCollapsed inappropriately returns true in shadow dom)\nconst selectionCollapsed = function (domSel) {\n return domSel.focusNode && isEquivalentPosition(domSel.focusNode, domSel.focusOffset, domSel.anchorNode, domSel.anchorOffset);\n};\nfunction keyEvent(keyCode, key) {\n let event = document.createEvent(\"Event\");\n event.initEvent(\"keydown\", true, true);\n event.keyCode = keyCode;\n event.key = event.code = key;\n return event;\n}\nfunction deepActiveElement(doc) {\n let elt = doc.activeElement;\n while (elt && elt.shadowRoot)\n elt = elt.shadowRoot.activeElement;\n return elt;\n}\nfunction caretFromPoint(doc, x, y) {\n if (doc.caretPositionFromPoint) {\n try { // Firefox throws for this call in hard-to-predict circumstances (#994)\n let pos = doc.caretPositionFromPoint(x, y);\n if (pos)\n return { node: pos.offsetNode, offset: pos.offset };\n }\n catch (_) { }\n }\n if (doc.caretRangeFromPoint) {\n let range = doc.caretRangeFromPoint(x, y);\n if (range)\n return { node: range.startContainer, offset: range.startOffset };\n }\n}\n\nconst nav = typeof navigator != \"undefined\" ? navigator : null;\nconst doc = typeof document != \"undefined\" ? document : null;\nconst agent = (nav && nav.userAgent) || \"\";\nconst ie_edge = /Edge\\/(\\d+)/.exec(agent);\nconst ie_upto10 = /MSIE \\d/.exec(agent);\nconst ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(agent);\nconst ie = !!(ie_upto10 || ie_11up || ie_edge);\nconst ie_version = ie_upto10 ? document.documentMode : ie_11up ? +ie_11up[1] : ie_edge ? +ie_edge[1] : 0;\nconst gecko = !ie && /gecko\\/(\\d+)/i.test(agent);\ngecko && +(/Firefox\\/(\\d+)/.exec(agent) || [0, 0])[1];\nconst _chrome = !ie && /Chrome\\/(\\d+)/.exec(agent);\nconst chrome = !!_chrome;\nconst chrome_version = _chrome ? +_chrome[1] : 0;\nconst safari = !ie && !!nav && /Apple Computer/.test(nav.vendor);\n// Is true for both iOS and iPadOS for convenience\nconst ios = safari && (/Mobile\\/\\w+/.test(agent) || !!nav && nav.maxTouchPoints > 2);\nconst mac = ios || (nav ? /Mac/.test(nav.platform) : false);\nconst windows = nav ? /Win/.test(nav.platform) : false;\nconst android = /Android \\d/.test(agent);\nconst webkit = !!doc && \"webkitFontSmoothing\" in doc.documentElement.style;\nconst webkit_version = webkit ? +(/\\bAppleWebKit\\/(\\d+)/.exec(navigator.userAgent) || [0, 0])[1] : 0;\n\nfunction windowRect(doc) {\n let vp = doc.defaultView && doc.defaultView.visualViewport;\n if (vp)\n return {\n left: 0, right: vp.width,\n top: 0, bottom: vp.height\n };\n return { left: 0, right: doc.documentElement.clientWidth,\n top: 0, bottom: doc.documentElement.clientHeight };\n}\nfunction getSide(value, side) {\n return typeof value == \"number\" ? value : value[side];\n}\nfunction clientRect(node) {\n let rect = node.getBoundingClientRect();\n // Adjust for elements with style \"transform: scale()\"\n let scaleX = (rect.width / node.offsetWidth) || 1;\n let scaleY = (rect.height / node.offsetHeight) || 1;\n // Make sure scrollbar width isn't included in the rectangle\n return { left: rect.left, right: rect.left + node.clientWidth * scaleX,\n top: rect.top, bottom: rect.top + node.clientHeight * scaleY };\n}\nfunction scrollRectIntoView(view, rect, startDOM) {\n let scrollThreshold = view.someProp(\"scrollThreshold\") || 0, scrollMargin = view.someProp(\"scrollMargin\") || 5;\n let doc = view.dom.ownerDocument;\n for (let parent = startDOM || view.dom;; parent = parentNode(parent)) {\n if (!parent)\n break;\n if (parent.nodeType != 1)\n continue;\n let elt = parent;\n let atTop = elt == doc.body;\n let bounding = atTop ? windowRect(doc) : clientRect(elt);\n let moveX = 0, moveY = 0;\n if (rect.top < bounding.top + getSide(scrollThreshold, \"top\"))\n moveY = -(bounding.top - rect.top + getSide(scrollMargin, \"top\"));\n else if (rect.bottom > bounding.bottom - getSide(scrollThreshold, \"bottom\"))\n moveY = rect.bottom - rect.top > bounding.bottom - bounding.top\n ? rect.top + getSide(scrollMargin, \"top\") - bounding.top\n : rect.bottom - bounding.bottom + getSide(scrollMargin, \"bottom\");\n if (rect.left < bounding.left + getSide(scrollThreshold, \"left\"))\n moveX = -(bounding.left - rect.left + getSide(scrollMargin, \"left\"));\n else if (rect.right > bounding.right - getSide(scrollThreshold, \"right\"))\n moveX = rect.right - bounding.right + getSide(scrollMargin, \"right\");\n if (moveX || moveY) {\n if (atTop) {\n doc.defaultView.scrollBy(moveX, moveY);\n }\n else {\n let startX = elt.scrollLeft, startY = elt.scrollTop;\n if (moveY)\n elt.scrollTop += moveY;\n if (moveX)\n elt.scrollLeft += moveX;\n let dX = elt.scrollLeft - startX, dY = elt.scrollTop - startY;\n rect = { left: rect.left - dX, top: rect.top - dY, right: rect.right - dX, bottom: rect.bottom - dY };\n }\n }\n if (atTop || /^(fixed|sticky)$/.test(getComputedStyle(parent).position))\n break;\n }\n}\n// Store the scroll position of the editor's parent nodes, along with\n// the top position of an element near the top of the editor, which\n// will be used to make sure the visible viewport remains stable even\n// when the size of the content above changes.\nfunction storeScrollPos(view) {\n let rect = view.dom.getBoundingClientRect(), startY = Math.max(0, rect.top);\n let refDOM, refTop;\n for (let x = (rect.left + rect.right) / 2, y = startY + 1; y < Math.min(innerHeight, rect.bottom); y += 5) {\n let dom = view.root.elementFromPoint(x, y);\n if (!dom || dom == view.dom || !view.dom.contains(dom))\n continue;\n let localRect = dom.getBoundingClientRect();\n if (localRect.top >= startY - 20) {\n refDOM = dom;\n refTop = localRect.top;\n break;\n }\n }\n return { refDOM: refDOM, refTop: refTop, stack: scrollStack(view.dom) };\n}\nfunction scrollStack(dom) {\n let stack = [], doc = dom.ownerDocument;\n for (let cur = dom; cur; cur = parentNode(cur)) {\n stack.push({ dom: cur, top: cur.scrollTop, left: cur.scrollLeft });\n if (dom == doc)\n break;\n }\n return stack;\n}\n// Reset the scroll position of the editor's parent nodes to that what\n// it was before, when storeScrollPos was called.\nfunction resetScrollPos({ refDOM, refTop, stack }) {\n let newRefTop = refDOM ? refDOM.getBoundingClientRect().top : 0;\n restoreScrollStack(stack, newRefTop == 0 ? 0 : newRefTop - refTop);\n}\nfunction restoreScrollStack(stack, dTop) {\n for (let i = 0; i < stack.length; i++) {\n let { dom, top, left } = stack[i];\n if (dom.scrollTop != top + dTop)\n dom.scrollTop = top + dTop;\n if (dom.scrollLeft != left)\n dom.scrollLeft = left;\n }\n}\nlet preventScrollSupported = null;\n// Feature-detects support for .focus({preventScroll: true}), and uses\n// a fallback kludge when not supported.\nfunction focusPreventScroll(dom) {\n if (dom.setActive)\n return dom.setActive(); // in IE\n if (preventScrollSupported)\n return dom.focus(preventScrollSupported);\n let stored = scrollStack(dom);\n dom.focus(preventScrollSupported == null ? {\n get preventScroll() {\n preventScrollSupported = { preventScroll: true };\n return true;\n }\n } : undefined);\n if (!preventScrollSupported) {\n preventScrollSupported = false;\n restoreScrollStack(stored, 0);\n }\n}\nfunction findOffsetInNode(node, coords) {\n let closest, dxClosest = 2e8, coordsClosest, offset = 0;\n let rowBot = coords.top, rowTop = coords.top;\n let firstBelow, coordsBelow;\n for (let child = node.firstChild, childIndex = 0; child; child = child.nextSibling, childIndex++) {\n let rects;\n if (child.nodeType == 1)\n rects = child.getClientRects();\n else if (child.nodeType == 3)\n rects = textRange(child).getClientRects();\n else\n continue;\n for (let i = 0; i < rects.length; i++) {\n let rect = rects[i];\n if (rect.top <= rowBot && rect.bottom >= rowTop) {\n rowBot = Math.max(rect.bottom, rowBot);\n rowTop = Math.min(rect.top, rowTop);\n let dx = rect.left > coords.left ? rect.left - coords.left\n : rect.right < coords.left ? coords.left - rect.right : 0;\n if (dx < dxClosest) {\n closest = child;\n dxClosest = dx;\n coordsClosest = dx && closest.nodeType == 3 ? {\n left: rect.right < coords.left ? rect.right : rect.left,\n top: coords.top\n } : coords;\n if (child.nodeType == 1 && dx)\n offset = childIndex + (coords.left >= (rect.left + rect.right) / 2 ? 1 : 0);\n continue;\n }\n }\n else if (rect.top > coords.top && !firstBelow && rect.left <= coords.left && rect.right >= coords.left) {\n firstBelow = child;\n coordsBelow = { left: Math.max(rect.left, Math.min(rect.right, coords.left)), top: rect.top };\n }\n if (!closest && (coords.left >= rect.right && coords.top >= rect.top ||\n coords.left >= rect.left && coords.top >= rect.bottom))\n offset = childIndex + 1;\n }\n }\n if (!closest && firstBelow) {\n closest = firstBelow;\n coordsClosest = coordsBelow;\n dxClosest = 0;\n }\n if (closest && closest.nodeType == 3)\n return findOffsetInText(closest, coordsClosest);\n if (!closest || (dxClosest && closest.nodeType == 1))\n return { node, offset };\n return findOffsetInNode(closest, coordsClosest);\n}\nfunction findOffsetInText(node, coords) {\n let len = node.nodeValue.length;\n let range = document.createRange();\n for (let i = 0; i < len; i++) {\n range.setEnd(node, i + 1);\n range.setStart(node, i);\n let rect = singleRect(range, 1);\n if (rect.top == rect.bottom)\n continue;\n if (inRect(coords, rect))\n return { node, offset: i + (coords.left >= (rect.left + rect.right) / 2 ? 1 : 0) };\n }\n return { node, offset: 0 };\n}\nfunction inRect(coords, rect) {\n return coords.left >= rect.left - 1 && coords.left <= rect.right + 1 &&\n coords.top >= rect.top - 1 && coords.top <= rect.bottom + 1;\n}\nfunction targetKludge(dom, coords) {\n let parent = dom.parentNode;\n if (parent && /^li$/i.test(parent.nodeName) && coords.left < dom.getBoundingClientRect().left)\n return parent;\n return dom;\n}\nfunction posFromElement(view, elt, coords) {\n let { node, offset } = findOffsetInNode(elt, coords), bias = -1;\n if (node.nodeType == 1 && !node.firstChild) {\n let rect = node.getBoundingClientRect();\n bias = rect.left != rect.right && coords.left > (rect.left + rect.right) / 2 ? 1 : -1;\n }\n return view.docView.posFromDOM(node, offset, bias);\n}\nfunction posFromCaret(view, node, offset, coords) {\n // Browser (in caretPosition/RangeFromPoint) will agressively\n // normalize towards nearby inline nodes. Since we are interested in\n // positions between block nodes too, we first walk up the hierarchy\n // of nodes to see if there are block nodes that the coordinates\n // fall outside of. If so, we take the position before/after that\n // block. If not, we call `posFromDOM` on the raw node/offset.\n let outsideBlock = -1;\n for (let cur = node, sawBlock = false;;) {\n if (cur == view.dom)\n break;\n let desc = view.docView.nearestDesc(cur, true);\n if (!desc)\n return null;\n if (desc.dom.nodeType == 1 && (desc.node.isBlock && desc.parent || !desc.contentDOM)) {\n let rect = desc.dom.getBoundingClientRect();\n if (desc.node.isBlock && desc.parent) {\n // Only apply the horizontal test to the innermost block. Vertical for any parent.\n if (!sawBlock && rect.left > coords.left || rect.top > coords.top)\n outsideBlock = desc.posBefore;\n else if (!sawBlock && rect.right < coords.left || rect.bottom < coords.top)\n outsideBlock = desc.posAfter;\n sawBlock = true;\n }\n if (!desc.contentDOM && outsideBlock < 0 && !desc.node.isText) {\n // If we are inside a leaf, return the side of the leaf closer to the coords\n let before = desc.node.isBlock ? coords.top < (rect.top + rect.bottom) / 2\n : coords.left < (rect.left + rect.right) / 2;\n return before ? desc.posBefore : desc.posAfter;\n }\n }\n cur = desc.dom.parentNode;\n }\n return outsideBlock > -1 ? outsideBlock : view.docView.posFromDOM(node, offset, -1);\n}\nfunction elementFromPoint(element, coords, box) {\n let len = element.childNodes.length;\n if (len && box.top < box.bottom) {\n for (let startI = Math.max(0, Math.min(len - 1, Math.floor(len * (coords.top - box.top) / (box.bottom - box.top)) - 2)), i = startI;;) {\n let child = element.childNodes[i];\n if (child.nodeType == 1) {\n let rects = child.getClientRects();\n for (let j = 0; j < rects.length; j++) {\n let rect = rects[j];\n if (inRect(coords, rect))\n return elementFromPoint(child, coords, rect);\n }\n }\n if ((i = (i + 1) % len) == startI)\n break;\n }\n }\n return element;\n}\n// Given an x,y position on the editor, get the position in the document.\nfunction posAtCoords(view, coords) {\n let doc = view.dom.ownerDocument, node, offset = 0;\n let caret = caretFromPoint(doc, coords.left, coords.top);\n if (caret)\n ({ node, offset } = caret);\n let elt = (view.root.elementFromPoint ? view.root : doc)\n .elementFromPoint(coords.left, coords.top);\n let pos;\n if (!elt || !view.dom.contains(elt.nodeType != 1 ? elt.parentNode : elt)) {\n let box = view.dom.getBoundingClientRect();\n if (!inRect(coords, box))\n return null;\n elt = elementFromPoint(view.dom, coords, box);\n if (!elt)\n return null;\n }\n // Safari's caretRangeFromPoint returns nonsense when on a draggable element\n if (safari) {\n for (let p = elt; node && p; p = parentNode(p))\n if (p.draggable)\n node = undefined;\n }\n elt = targetKludge(elt, coords);\n if (node) {\n if (gecko && node.nodeType == 1) {\n // Firefox will sometimes return offsets into nodes, which\n // have no actual children, from caretPositionFromPoint (#953)\n offset = Math.min(offset, node.childNodes.length);\n // It'll also move the returned position before image nodes,\n // even if those are behind it.\n if (offset < node.childNodes.length) {\n let next = node.childNodes[offset], box;\n if (next.nodeName == \"IMG\" && (box = next.getBoundingClientRect()).right <= coords.left &&\n box.bottom > coords.top)\n offset++;\n }\n }\n let prev;\n // When clicking above the right side of an uneditable node, Chrome will report a cursor position after that node.\n if (webkit && offset && node.nodeType == 1 && (prev = node.childNodes[offset - 1]).nodeType == 1 &&\n prev.contentEditable == \"false\" && prev.getBoundingClientRect().top >= coords.top)\n offset--;\n // Suspiciously specific kludge to work around caret*FromPoint\n // never returning a position at the end of the document\n if (node == view.dom && offset == node.childNodes.length - 1 && node.lastChild.nodeType == 1 &&\n coords.top > node.lastChild.getBoundingClientRect().bottom)\n pos = view.state.doc.content.size;\n // Ignore positions directly after a BR, since caret*FromPoint\n // 'round up' positions that would be more accurately placed\n // before the BR node.\n else if (offset == 0 || node.nodeType != 1 || node.childNodes[offset - 1].nodeName != \"BR\")\n pos = posFromCaret(view, node, offset, coords);\n }\n if (pos == null)\n pos = posFromElement(view, elt, coords);\n let desc = view.docView.nearestDesc(elt, true);\n return { pos, inside: desc ? desc.posAtStart - desc.border : -1 };\n}\nfunction nonZero(rect) {\n return rect.top < rect.bottom || rect.left < rect.right;\n}\nfunction singleRect(target, bias) {\n let rects = target.getClientRects();\n if (rects.length) {\n let first = rects[bias < 0 ? 0 : rects.length - 1];\n if (nonZero(first))\n return first;\n }\n return Array.prototype.find.call(rects, nonZero) || target.getBoundingClientRect();\n}\nconst BIDI = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/;\n// Given a position in the document model, get a bounding box of the\n// character at that position, relative to the window.\nfunction coordsAtPos(view, pos, side) {\n let { node, offset, atom } = view.docView.domFromPos(pos, side < 0 ? -1 : 1);\n let supportEmptyRange = webkit || gecko;\n if (node.nodeType == 3) {\n // These browsers support querying empty text ranges. Prefer that in\n // bidi context or when at the end of a node.\n if (supportEmptyRange && (BIDI.test(node.nodeValue) || (side < 0 ? !offset : offset == node.nodeValue.length))) {\n let rect = singleRect(textRange(node, offset, offset), side);\n // Firefox returns bad results (the position before the space)\n // when querying a position directly after line-broken\n // whitespace. Detect this situation and and kludge around it\n if (gecko && offset && /\\s/.test(node.nodeValue[offset - 1]) && offset < node.nodeValue.length) {\n let rectBefore = singleRect(textRange(node, offset - 1, offset - 1), -1);\n if (rectBefore.top == rect.top) {\n let rectAfter = singleRect(textRange(node, offset, offset + 1), -1);\n if (rectAfter.top != rect.top)\n return flattenV(rectAfter, rectAfter.left < rectBefore.left);\n }\n }\n return rect;\n }\n else {\n let from = offset, to = offset, takeSide = side < 0 ? 1 : -1;\n if (side < 0 && !offset) {\n to++;\n takeSide = -1;\n }\n else if (side >= 0 && offset == node.nodeValue.length) {\n from--;\n takeSide = 1;\n }\n else if (side < 0) {\n from--;\n }\n else {\n to++;\n }\n return flattenV(singleRect(textRange(node, from, to), takeSide), takeSide < 0);\n }\n }\n let $dom = view.state.doc.resolve(pos - (atom || 0));\n // Return a horizontal line in block context\n if (!$dom.parent.inlineContent) {\n if (atom == null && offset && (side < 0 || offset == nodeSize(node))) {\n let before = node.childNodes[offset - 1];\n if (before.nodeType == 1)\n return flattenH(before.getBoundingClientRect(), false);\n }\n if (atom == null && offset < nodeSize(node)) {\n let after = node.childNodes[offset];\n if (after.nodeType == 1)\n return flattenH(after.getBoundingClientRect(), true);\n }\n return flattenH(node.getBoundingClientRect(), side >= 0);\n }\n // Inline, not in text node (this is not Bidi-safe)\n if (atom == null && offset && (side < 0 || offset == nodeSize(node))) {\n let before = node.childNodes[offset - 1];\n let target = before.nodeType == 3 ? textRange(before, nodeSize(before) - (supportEmptyRange ? 0 : 1))\n // BR nodes tend to only return the rectangle before them.\n // Only use them if they are the last element in their parent\n : before.nodeType == 1 && (before.nodeName != \"BR\" || !before.nextSibling) ? before : null;\n if (target)\n return flattenV(singleRect(target, 1), false);\n }\n if (atom == null && offset < nodeSize(node)) {\n let after = node.childNodes[offset];\n while (after.pmViewDesc && after.pmViewDesc.ignoreForCoords)\n after = after.nextSibling;\n let target = !after ? null : after.nodeType == 3 ? textRange(after, 0, (supportEmptyRange ? 0 : 1))\n : after.nodeType == 1 ? after : null;\n if (target)\n return flattenV(singleRect(target, -1), true);\n }\n // All else failed, just try to get a rectangle for the target node\n return flattenV(singleRect(node.nodeType == 3 ? textRange(node) : node, -side), side >= 0);\n}\nfunction flattenV(rect, left) {\n if (rect.width == 0)\n return rect;\n let x = left ? rect.left : rect.right;\n return { top: rect.top, bottom: rect.bottom, left: x, right: x };\n}\nfunction flattenH(rect, top) {\n if (rect.height == 0)\n return rect;\n let y = top ? rect.top : rect.bottom;\n return { top: y, bottom: y, left: rect.left, right: rect.right };\n}\nfunction withFlushedState(view, state, f) {\n let viewState = view.state, active = view.root.activeElement;\n if (viewState != state)\n view.updateState(state);\n if (active != view.dom)\n view.focus();\n try {\n return f();\n }\n finally {\n if (viewState != state)\n view.updateState(viewState);\n if (active != view.dom && active)\n active.focus();\n }\n}\n// Whether vertical position motion in a given direction\n// from a position would leave a text block.\nfunction endOfTextblockVertical(view, state, dir) {\n let sel = state.selection;\n let $pos = dir == \"up\" ? sel.$from : sel.$to;\n return withFlushedState(view, state, () => {\n let { node: dom } = view.docView.domFromPos($pos.pos, dir == \"up\" ? -1 : 1);\n for (;;) {\n let nearest = view.docView.nearestDesc(dom, true);\n if (!nearest)\n break;\n if (nearest.node.isBlock) {\n dom = nearest.contentDOM || nearest.dom;\n break;\n }\n dom = nearest.dom.parentNode;\n }\n let coords = coordsAtPos(view, $pos.pos, 1);\n for (let child = dom.firstChild; child; child = child.nextSibling) {\n let boxes;\n if (child.nodeType == 1)\n boxes = child.getClientRects();\n else if (child.nodeType == 3)\n boxes = textRange(child, 0, child.nodeValue.length).getClientRects();\n else\n continue;\n for (let i = 0; i < boxes.length; i++) {\n let box = boxes[i];\n if (box.bottom > box.top + 1 &&\n (dir == \"up\" ? coords.top - box.top > (box.bottom - coords.top) * 2\n : box.bottom - coords.bottom > (coords.bottom - box.top) * 2))\n return false;\n }\n }\n return true;\n });\n}\nconst maybeRTL = /[\\u0590-\\u08ac]/;\nfunction endOfTextblockHorizontal(view, state, dir) {\n let { $head } = state.selection;\n if (!$head.parent.isTextblock)\n return false;\n let offset = $head.parentOffset, atStart = !offset, atEnd = offset == $head.parent.content.size;\n let sel = view.domSelection();\n // If the textblock is all LTR, or the browser doesn't support\n // Selection.modify (Edge), fall back to a primitive approach\n if (!maybeRTL.test($head.parent.textContent) || !sel.modify)\n return dir == \"left\" || dir == \"backward\" ? atStart : atEnd;\n return withFlushedState(view, state, () => {\n // This is a huge hack, but appears to be the best we can\n // currently do: use `Selection.modify` to move the selection by\n // one character, and see if that moves the cursor out of the\n // textblock (or doesn't move it at all, when at the start/end of\n // the document).\n let { focusNode: oldNode, focusOffset: oldOff, anchorNode, anchorOffset } = view.domSelectionRange();\n let oldBidiLevel = sel.caretBidiLevel // Only for Firefox\n ;\n sel.modify(\"move\", dir, \"character\");\n let parentDOM = $head.depth ? view.docView.domAfterPos($head.before()) : view.dom;\n let { focusNode: newNode, focusOffset: newOff } = view.domSelectionRange();\n let result = newNode && !parentDOM.contains(newNode.nodeType == 1 ? newNode : newNode.parentNode) ||\n (oldNode == newNode && oldOff == newOff);\n // Restore the previous selection\n try {\n sel.collapse(anchorNode, anchorOffset);\n if (oldNode && (oldNode != anchorNode || oldOff != anchorOffset) && sel.extend)\n sel.extend(oldNode, oldOff);\n }\n catch (_) { }\n if (oldBidiLevel != null)\n sel.caretBidiLevel = oldBidiLevel;\n return result;\n });\n}\nlet cachedState = null;\nlet cachedDir = null;\nlet cachedResult = false;\nfunction endOfTextblock(view, state, dir) {\n if (cachedState == state && cachedDir == dir)\n return cachedResult;\n cachedState = state;\n cachedDir = dir;\n return cachedResult = dir == \"up\" || dir == \"down\"\n ? endOfTextblockVertical(view, state, dir)\n : endOfTextblockHorizontal(view, state, dir);\n}\n\n// View descriptions are data structures that describe the DOM that is\n// used to represent the editor's content. They are used for:\n//\n// - Incremental redrawing when the document changes\n//\n// - Figuring out what part of the document a given DOM position\n// corresponds to\n//\n// - Wiring in custom implementations of the editing interface for a\n// given node\n//\n// They form a doubly-linked mutable tree, starting at `view.docView`.\nconst NOT_DIRTY = 0, CHILD_DIRTY = 1, CONTENT_DIRTY = 2, NODE_DIRTY = 3;\n// Superclass for the various kinds of descriptions. Defines their\n// basic structure and shared methods.\nclass ViewDesc {\n constructor(parent, children, dom, \n // This is the node that holds the child views. It may be null for\n // descs that don't have children.\n contentDOM) {\n this.parent = parent;\n this.children = children;\n this.dom = dom;\n this.contentDOM = contentDOM;\n this.dirty = NOT_DIRTY;\n // An expando property on the DOM node provides a link back to its\n // description.\n dom.pmViewDesc = this;\n }\n // Used to check whether a given description corresponds to a\n // widget/mark/node.\n matchesWidget(widget) { return false; }\n matchesMark(mark) { return false; }\n matchesNode(node, outerDeco, innerDeco) { return false; }\n matchesHack(nodeName) { return false; }\n // When parsing in-editor content (in domchange.js), we allow\n // descriptions to determine the parse rules that should be used to\n // parse them.\n parseRule() { return null; }\n // Used by the editor's event handler to ignore events that come\n // from certain descs.\n stopEvent(event) { return false; }\n // The size of the content represented by this desc.\n get size() {\n let size = 0;\n for (let i = 0; i < this.children.length; i++)\n size += this.children[i].size;\n return size;\n }\n // For block nodes, this represents the space taken up by their\n // start/end tokens.\n get border() { return 0; }\n destroy() {\n this.parent = undefined;\n if (this.dom.pmViewDesc == this)\n this.dom.pmViewDesc = undefined;\n for (let i = 0; i < this.children.length; i++)\n this.children[i].destroy();\n }\n posBeforeChild(child) {\n for (let i = 0, pos = this.posAtStart;; i++) {\n let cur = this.children[i];\n if (cur == child)\n return pos;\n pos += cur.size;\n }\n }\n get posBefore() {\n return this.parent.posBeforeChild(this);\n }\n get posAtStart() {\n return this.parent ? this.parent.posBeforeChild(this) + this.border : 0;\n }\n get posAfter() {\n return this.posBefore + this.size;\n }\n get posAtEnd() {\n return this.posAtStart + this.size - 2 * this.border;\n }\n localPosFromDOM(dom, offset, bias) {\n // If the DOM position is in the content, use the child desc after\n // it to figure out a position.\n if (this.contentDOM && this.contentDOM.contains(dom.nodeType == 1 ? dom : dom.parentNode)) {\n if (bias < 0) {\n let domBefore, desc;\n if (dom == this.contentDOM) {\n domBefore = dom.childNodes[offset - 1];\n }\n else {\n while (dom.parentNode != this.contentDOM)\n dom = dom.parentNode;\n domBefore = dom.previousSibling;\n }\n while (domBefore && !((desc = domBefore.pmViewDesc) && desc.parent == this))\n domBefore = domBefore.previousSibling;\n return domBefore ? this.posBeforeChild(desc) + desc.size : this.posAtStart;\n }\n else {\n let domAfter, desc;\n if (dom == this.contentDOM) {\n domAfter = dom.childNodes[offset];\n }\n else {\n while (dom.parentNode != this.contentDOM)\n dom = dom.parentNode;\n domAfter = dom.nextSibling;\n }\n while (domAfter && !((desc = domAfter.pmViewDesc) && desc.parent == this))\n domAfter = domAfter.nextSibling;\n return domAfter ? this.posBeforeChild(desc) : this.posAtEnd;\n }\n }\n // Otherwise, use various heuristics, falling back on the bias\n // parameter, to determine whether to return the position at the\n // start or at the end of this view desc.\n let atEnd;\n if (dom == this.dom && this.contentDOM) {\n atEnd = offset > domIndex(this.contentDOM);\n }\n else if (this.contentDOM && this.contentDOM != this.dom && this.dom.contains(this.contentDOM)) {\n atEnd = dom.compareDocumentPosition(this.contentDOM) & 2;\n }\n else if (this.dom.firstChild) {\n if (offset == 0)\n for (let search = dom;; search = search.parentNode) {\n if (search == this.dom) {\n atEnd = false;\n break;\n }\n if (search.previousSibling)\n break;\n }\n if (atEnd == null && offset == dom.childNodes.length)\n for (let search = dom;; search = search.parentNode) {\n if (search == this.dom) {\n atEnd = true;\n break;\n }\n if (search.nextSibling)\n break;\n }\n }\n return (atEnd == null ? bias > 0 : atEnd) ? this.posAtEnd : this.posAtStart;\n }\n nearestDesc(dom, onlyNodes = false) {\n for (let first = true, cur = dom; cur; cur = cur.parentNode) {\n let desc = this.getDesc(cur), nodeDOM;\n if (desc && (!onlyNodes || desc.node)) {\n // If dom is outside of this desc's nodeDOM, don't count it.\n if (first && (nodeDOM = desc.nodeDOM) &&\n !(nodeDOM.nodeType == 1 ? nodeDOM.contains(dom.nodeType == 1 ? dom : dom.parentNode) : nodeDOM == dom))\n first = false;\n else\n return desc;\n }\n }\n }\n getDesc(dom) {\n let desc = dom.pmViewDesc;\n for (let cur = desc; cur; cur = cur.parent)\n if (cur == this)\n return desc;\n }\n posFromDOM(dom, offset, bias) {\n for (let scan = dom; scan; scan = scan.parentNode) {\n let desc = this.getDesc(scan);\n if (desc)\n return desc.localPosFromDOM(dom, offset, bias);\n }\n return -1;\n }\n // Find the desc for the node after the given pos, if any. (When a\n // parent node overrode rendering, there might not be one.)\n descAt(pos) {\n for (let i = 0, offset = 0; i < this.children.length; i++) {\n let child = this.children[i], end = offset + child.size;\n if (offset == pos && end != offset) {\n while (!child.border && child.children.length)\n child = child.children[0];\n return child;\n }\n if (pos < end)\n return child.descAt(pos - offset - child.border);\n offset = end;\n }\n }\n domFromPos(pos, side) {\n if (!this.contentDOM)\n return { node: this.dom, offset: 0, atom: pos + 1 };\n // First find the position in the child array\n let i = 0, offset = 0;\n for (let curPos = 0; i < this.children.length; i++) {\n let child = this.children[i], end = curPos + child.size;\n if (end > pos || child instanceof TrailingHackViewDesc) {\n offset = pos - curPos;\n break;\n }\n curPos = end;\n }\n // If this points into the middle of a child, call through\n if (offset)\n return this.children[i].domFromPos(offset - this.children[i].border, side);\n // Go back if there were any zero-length widgets with side >= 0 before this point\n for (let prev; i && !(prev = this.children[i - 1]).size && prev instanceof WidgetViewDesc && prev.side >= 0; i--) { }\n // Scan towards the first useable node\n if (side <= 0) {\n let prev, enter = true;\n for (;; i--, enter = false) {\n prev = i ? this.children[i - 1] : null;\n if (!prev || prev.dom.parentNode == this.contentDOM)\n break;\n }\n if (prev && side && enter && !prev.border && !prev.domAtom)\n return prev.domFromPos(prev.size, side);\n return { node: this.contentDOM, offset: prev ? domIndex(prev.dom) + 1 : 0 };\n }\n else {\n let next, enter = true;\n for (;; i++, enter = false) {\n next = i < this.children.length ? this.children[i] : null;\n if (!next || next.dom.parentNode == this.contentDOM)\n break;\n }\n if (next && enter && !next.border && !next.domAtom)\n return next.domFromPos(0, side);\n return { node: this.contentDOM, offset: next ? domIndex(next.dom) : this.contentDOM.childNodes.length };\n }\n }\n // Used to find a DOM range in a single parent for a given changed\n // range.\n parseRange(from, to, base = 0) {\n if (this.children.length == 0)\n return { node: this.contentDOM, from, to, fromOffset: 0, toOffset: this.contentDOM.childNodes.length };\n let fromOffset = -1, toOffset = -1;\n for (let offset = base, i = 0;; i++) {\n let child = this.children[i], end = offset + child.size;\n if (fromOffset == -1 && from <= end) {\n let childBase = offset + child.border;\n // FIXME maybe descend mark views to parse a narrower range?\n if (from >= childBase && to <= end - child.border && child.node &&\n child.contentDOM && this.contentDOM.contains(child.contentDOM))\n return child.parseRange(from, to, childBase);\n from = offset;\n for (let j = i; j > 0; j--) {\n let prev = this.children[j - 1];\n if (prev.size && prev.dom.parentNode == this.contentDOM && !prev.emptyChildAt(1)) {\n fromOffset = domIndex(prev.dom) + 1;\n break;\n }\n from -= prev.size;\n }\n if (fromOffset == -1)\n fromOffset = 0;\n }\n if (fromOffset > -1 && (end > to || i == this.children.length - 1)) {\n to = end;\n for (let j = i + 1; j < this.children.length; j++) {\n let next = this.children[j];\n if (next.size && next.dom.parentNode == this.contentDOM && !next.emptyChildAt(-1)) {\n toOffset = domIndex(next.dom);\n break;\n }\n to += next.size;\n }\n if (toOffset == -1)\n toOffset = this.contentDOM.childNodes.length;\n break;\n }\n offset = end;\n }\n return { node: this.contentDOM, from, to, fromOffset, toOffset };\n }\n emptyChildAt(side) {\n if (this.border || !this.contentDOM || !this.children.length)\n return false;\n let child = this.children[side < 0 ? 0 : this.children.length - 1];\n return child.size == 0 || child.emptyChildAt(side);\n }\n domAfterPos(pos) {\n let { node, offset } = this.domFromPos(pos, 0);\n if (node.nodeType != 1 || offset == node.childNodes.length)\n throw new RangeError(\"No node after pos \" + pos);\n return node.childNodes[offset];\n }\n // View descs are responsible for setting any selection that falls\n // entirely inside of them, so that custom implementations can do\n // custom things with the selection. Note that this falls apart when\n // a selection starts in such a node and ends in another, in which\n // case we just use whatever domFromPos produces as a best effort.\n setSelection(anchor, head, root, force = false) {\n // If the selection falls entirely in a child, give it to that child\n let from = Math.min(anchor, head), to = Math.max(anchor, head);\n for (let i = 0, offset = 0; i < this.children.length; i++) {\n let child = this.children[i], end = offset + child.size;\n if (from > offset && to < end)\n return child.setSelection(anchor - offset - child.border, head - offset - child.border, root, force);\n offset = end;\n }\n let anchorDOM = this.domFromPos(anchor, anchor ? -1 : 1);\n let headDOM = head == anchor ? anchorDOM : this.domFromPos(head, head ? -1 : 1);\n let domSel = root.getSelection();\n let brKludge = false;\n // On Firefox, using Selection.collapse to put the cursor after a\n // BR node for some reason doesn't always work (#1073). On Safari,\n // the cursor sometimes inexplicable visually lags behind its\n // reported position in such situations (#1092).\n if ((gecko || safari) && anchor == head) {\n let { node, offset } = anchorDOM;\n if (node.nodeType == 3) {\n brKludge = !!(offset && node.nodeValue[offset - 1] == \"\\n\");\n // Issue #1128\n if (brKludge && offset == node.nodeValue.length) {\n for (let scan = node, after; scan; scan = scan.parentNode) {\n if (after = scan.nextSibling) {\n if (after.nodeName == \"BR\")\n anchorDOM = headDOM = { node: after.parentNode, offset: domIndex(after) + 1 };\n break;\n }\n let desc = scan.pmViewDesc;\n if (desc && desc.node && desc.node.isBlock)\n break;\n }\n }\n }\n else {\n let prev = node.childNodes[offset - 1];\n brKludge = prev && (prev.nodeName == \"BR\" || prev.contentEditable == \"false\");\n }\n }\n // Firefox can act strangely when the selection is in front of an\n // uneditable node. See #1163 and https://bugzilla.mozilla.org/show_bug.cgi?id=1709536\n if (gecko && domSel.focusNode && domSel.focusNode != headDOM.node && domSel.focusNode.nodeType == 1) {\n let after = domSel.focusNode.childNodes[domSel.focusOffset];\n if (after && after.contentEditable == \"false\")\n force = true;\n }\n if (!(force || brKludge && safari) &&\n isEquivalentPosition(anchorDOM.node, anchorDOM.offset, domSel.anchorNode, domSel.anchorOffset) &&\n isEquivalentPosition(headDOM.node, headDOM.offset, domSel.focusNode, domSel.focusOffset))\n return;\n // Selection.extend can be used to create an 'inverted' selection\n // (one where the focus is before the anchor), but not all\n // browsers support it yet.\n let domSelExtended = false;\n if ((domSel.extend || anchor == head) && !brKludge) {\n domSel.collapse(anchorDOM.node, anchorDOM.offset);\n try {\n if (anchor != head)\n domSel.extend(headDOM.node, headDOM.offset);\n domSelExtended = true;\n }\n catch (_) {\n // In some cases with Chrome the selection is empty after calling\n // collapse, even when it should be valid. This appears to be a bug, but\n // it is difficult to isolate. If this happens fallback to the old path\n // without using extend.\n // Similarly, this could crash on Safari if the editor is hidden, and\n // there was no selection.\n }\n }\n if (!domSelExtended) {\n if (anchor > head) {\n let tmp = anchorDOM;\n anchorDOM = headDOM;\n headDOM = tmp;\n }\n let range = document.createRange();\n range.setEnd(headDOM.node, headDOM.offset);\n range.setStart(anchorDOM.node, anchorDOM.offset);\n domSel.removeAllRanges();\n domSel.addRange(range);\n }\n }\n ignoreMutation(mutation) {\n return !this.contentDOM && mutation.type != \"selection\";\n }\n get contentLost() {\n return this.contentDOM && this.contentDOM != this.dom && !this.dom.contains(this.contentDOM);\n }\n // Remove a subtree of the element tree that has been touched\n // by a DOM change, so that the next update will redraw it.\n markDirty(from, to) {\n for (let offset = 0, i = 0; i < this.children.length; i++) {\n let child = this.children[i], end = offset + child.size;\n if (offset == end ? from <= end && to >= offset : from < end && to > offset) {\n let startInside = offset + child.border, endInside = end - child.border;\n if (from >= startInside && to <= endInside) {\n this.dirty = from == offset || to == end ? CONTENT_DIRTY : CHILD_DIRTY;\n if (from == startInside && to == endInside &&\n (child.contentLost || child.dom.parentNode != this.contentDOM))\n child.dirty = NODE_DIRTY;\n else\n child.markDirty(from - startInside, to - startInside);\n return;\n }\n else {\n child.dirty = child.dom == child.contentDOM && child.dom.parentNode == this.contentDOM && !child.children.length\n ? CONTENT_DIRTY : NODE_DIRTY;\n }\n }\n offset = end;\n }\n this.dirty = CONTENT_DIRTY;\n }\n markParentsDirty() {\n let level = 1;\n for (let node = this.parent; node; node = node.parent, level++) {\n let dirty = level == 1 ? CONTENT_DIRTY : CHILD_DIRTY;\n if (node.dirty < dirty)\n node.dirty = dirty;\n }\n }\n get domAtom() { return false; }\n get ignoreForCoords() { return false; }\n isText(text) { return false; }\n}\n// A widget desc represents a widget decoration, which is a DOM node\n// drawn between the document nodes.\nclass WidgetViewDesc extends ViewDesc {\n constructor(parent, widget, view, pos) {\n let self, dom = widget.type.toDOM;\n if (typeof dom == \"function\")\n dom = dom(view, () => {\n if (!self)\n return pos;\n if (self.parent)\n return self.parent.posBeforeChild(self);\n });\n if (!widget.type.spec.raw) {\n if (dom.nodeType != 1) {\n let wrap = document.createElement(\"span\");\n wrap.appendChild(dom);\n dom = wrap;\n }\n dom.contentEditable = \"false\";\n dom.classList.add(\"ProseMirror-widget\");\n }\n super(parent, [], dom, null);\n this.widget = widget;\n this.widget = widget;\n self = this;\n }\n matchesWidget(widget) {\n return this.dirty == NOT_DIRTY && widget.type.eq(this.widget.type);\n }\n parseRule() { return { ignore: true }; }\n stopEvent(event) {\n let stop = this.widget.spec.stopEvent;\n return stop ? stop(event) : false;\n }\n ignoreMutation(mutation) {\n return mutation.type != \"selection\" || this.widget.spec.ignoreSelection;\n }\n destroy() {\n this.widget.type.destroy(this.dom);\n super.destroy();\n }\n get domAtom() { return true; }\n get side() { return this.widget.type.side; }\n}\nclass CompositionViewDesc extends ViewDesc {\n constructor(parent, dom, textDOM, text) {\n super(parent, [], dom, null);\n this.textDOM = textDOM;\n this.text = text;\n }\n get size() { return this.text.length; }\n localPosFromDOM(dom, offset) {\n if (dom != this.textDOM)\n return this.posAtStart + (offset ? this.size : 0);\n return this.posAtStart + offset;\n }\n domFromPos(pos) {\n return { node: this.textDOM, offset: pos };\n }\n ignoreMutation(mut) {\n return mut.type === 'characterData' && mut.target.nodeValue == mut.oldValue;\n }\n}\n// A mark desc represents a mark. May have multiple children,\n// depending on how the mark is split. Note that marks are drawn using\n// a fixed nesting order, for simplicity and predictability, so in\n// some cases they will be split more often than would appear\n// necessary.\nclass MarkViewDesc extends ViewDesc {\n constructor(parent, mark, dom, contentDOM) {\n super(parent, [], dom, contentDOM);\n this.mark = mark;\n }\n static create(parent, mark, inline, view) {\n let custom = view.nodeViews[mark.type.name];\n let spec = custom && custom(mark, view, inline);\n if (!spec || !spec.dom)\n spec = DOMSerializer.renderSpec(document, mark.type.spec.toDOM(mark, inline));\n return new MarkViewDesc(parent, mark, spec.dom, spec.contentDOM || spec.dom);\n }\n parseRule() {\n if ((this.dirty & NODE_DIRTY) || this.mark.type.spec.reparseInView)\n return null;\n return { mark: this.mark.type.name, attrs: this.mark.attrs, contentElement: this.contentDOM };\n }\n matchesMark(mark) { return this.dirty != NODE_DIRTY && this.mark.eq(mark); }\n markDirty(from, to) {\n super.markDirty(from, to);\n // Move dirty info to nearest node view\n if (this.dirty != NOT_DIRTY) {\n let parent = this.parent;\n while (!parent.node)\n parent = parent.parent;\n if (parent.dirty < this.dirty)\n parent.dirty = this.dirty;\n this.dirty = NOT_DIRTY;\n }\n }\n slice(from, to, view) {\n let copy = MarkViewDesc.create(this.parent, this.mark, true, view);\n let nodes = this.children, size = this.size;\n if (to < size)\n nodes = replaceNodes(nodes, to, size, view);\n if (from > 0)\n nodes = replaceNodes(nodes, 0, from, view);\n for (let i = 0; i < nodes.length; i++)\n nodes[i].parent = copy;\n copy.children = nodes;\n return copy;\n }\n}\n// Node view descs are the main, most common type of view desc, and\n// correspond to an actual node in the document. Unlike mark descs,\n// they populate their child array themselves.\nclass NodeViewDesc extends ViewDesc {\n constructor(parent, node, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos) {\n super(parent, [], dom, contentDOM);\n this.node = node;\n this.outerDeco = outerDeco;\n this.innerDeco = innerDeco;\n this.nodeDOM = nodeDOM;\n }\n // By default, a node is rendered using the `toDOM` method from the\n // node type spec. But client code can use the `nodeViews` spec to\n // supply a custom node view, which can influence various aspects of\n // the way the node works.\n //\n // (Using subclassing for this was intentionally decided against,\n // since it'd require exposing a whole slew of finicky\n // implementation details to the user code that they probably will\n // never need.)\n static create(parent, node, outerDeco, innerDeco, view, pos) {\n let custom = view.nodeViews[node.type.name], descObj;\n let spec = custom && custom(node, view, () => {\n // (This is a function that allows the custom view to find its\n // own position)\n if (!descObj)\n return pos;\n if (descObj.parent)\n return descObj.parent.posBeforeChild(descObj);\n }, outerDeco, innerDeco);\n let dom = spec && spec.dom, contentDOM = spec && spec.contentDOM;\n if (node.isText) {\n if (!dom)\n dom = document.createTextNode(node.text);\n else if (dom.nodeType != 3)\n throw new RangeError(\"Text must be rendered as a DOM text node\");\n }\n else if (!dom) {\n ({ dom, contentDOM } = DOMSerializer.renderSpec(document, node.type.spec.toDOM(node)));\n }\n if (!contentDOM && !node.isText && dom.nodeName != \"BR\") { // Chrome gets confused by
\n if (!dom.hasAttribute(\"contenteditable\"))\n dom.contentEditable = \"false\";\n if (node.type.spec.draggable)\n dom.draggable = true;\n }\n let nodeDOM = dom;\n dom = applyOuterDeco(dom, outerDeco, node);\n if (spec)\n return descObj = new CustomNodeViewDesc(parent, node, outerDeco, innerDeco, dom, contentDOM || null, nodeDOM, spec, view, pos + 1);\n else if (node.isText)\n return new TextViewDesc(parent, node, outerDeco, innerDeco, dom, nodeDOM, view);\n else\n return new NodeViewDesc(parent, node, outerDeco, innerDeco, dom, contentDOM || null, nodeDOM, view, pos + 1);\n }\n parseRule() {\n // Experimental kludge to allow opt-in re-parsing of nodes\n if (this.node.type.spec.reparseInView)\n return null;\n // FIXME the assumption that this can always return the current\n // attrs means that if the user somehow manages to change the\n // attrs in the dom, that won't be picked up. Not entirely sure\n // whether this is a problem\n let rule = { node: this.node.type.name, attrs: this.node.attrs };\n if (this.node.type.whitespace == \"pre\")\n rule.preserveWhitespace = \"full\";\n if (!this.contentDOM) {\n rule.getContent = () => this.node.content;\n }\n else if (!this.contentLost) {\n rule.contentElement = this.contentDOM;\n }\n else {\n // Chrome likes to randomly recreate parent nodes when\n // backspacing things. When that happens, this tries to find the\n // new parent.\n for (let i = this.children.length - 1; i >= 0; i--) {\n let child = this.children[i];\n if (this.dom.contains(child.dom.parentNode)) {\n rule.contentElement = child.dom.parentNode;\n break;\n }\n }\n if (!rule.contentElement)\n rule.getContent = () => Fragment.empty;\n }\n return rule;\n }\n matchesNode(node, outerDeco, innerDeco) {\n return this.dirty == NOT_DIRTY && node.eq(this.node) &&\n sameOuterDeco(outerDeco, this.outerDeco) && innerDeco.eq(this.innerDeco);\n }\n get size() { return this.node.nodeSize; }\n get border() { return this.node.isLeaf ? 0 : 1; }\n // Syncs `this.children` to match `this.node.content` and the local\n // decorations, possibly introducing nesting for marks. Then, in a\n // separate step, syncs the DOM inside `this.contentDOM` to\n // `this.children`.\n updateChildren(view, pos) {\n let inline = this.node.inlineContent, off = pos;\n let composition = view.composing ? this.localCompositionInfo(view, pos) : null;\n let localComposition = composition && composition.pos > -1 ? composition : null;\n let compositionInChild = composition && composition.pos < 0;\n let updater = new ViewTreeUpdater(this, localComposition && localComposition.node, view);\n iterDeco(this.node, this.innerDeco, (widget, i, insideNode) => {\n if (widget.spec.marks)\n updater.syncToMarks(widget.spec.marks, inline, view);\n else if (widget.type.side >= 0 && !insideNode)\n updater.syncToMarks(i == this.node.childCount ? Mark.none : this.node.child(i).marks, inline, view);\n // If the next node is a desc matching this widget, reuse it,\n // otherwise insert the widget as a new view desc.\n updater.placeWidget(widget, view, off);\n }, (child, outerDeco, innerDeco, i) => {\n // Make sure the wrapping mark descs match the node's marks.\n updater.syncToMarks(child.marks, inline, view);\n // Try several strategies for drawing this node\n let compIndex;\n if (updater.findNodeMatch(child, outerDeco, innerDeco, i)) ;\n else if (compositionInChild && view.state.selection.from > off &&\n view.state.selection.to < off + child.nodeSize &&\n (compIndex = updater.findIndexWithChild(composition.node)) > -1 &&\n updater.updateNodeAt(child, outerDeco, innerDeco, compIndex, view)) ;\n else if (updater.updateNextNode(child, outerDeco, innerDeco, view, i, off)) ;\n else {\n // Add it as a new view\n updater.addNode(child, outerDeco, innerDeco, view, off);\n }\n off += child.nodeSize;\n });\n // Drop all remaining descs after the current position.\n updater.syncToMarks([], inline, view);\n if (this.node.isTextblock)\n updater.addTextblockHacks();\n updater.destroyRest();\n // Sync the DOM if anything changed\n if (updater.changed || this.dirty == CONTENT_DIRTY) {\n // May have to protect focused DOM from being changed if a composition is active\n if (localComposition)\n this.protectLocalComposition(view, localComposition);\n renderDescs(this.contentDOM, this.children, view);\n if (ios)\n iosHacks(this.dom);\n }\n }\n localCompositionInfo(view, pos) {\n // Only do something if both the selection and a focused text node\n // are inside of this node\n let { from, to } = view.state.selection;\n if (!(view.state.selection instanceof TextSelection) || from < pos || to > pos + this.node.content.size)\n return null;\n let textNode = view.input.compositionNode;\n if (!textNode || !this.dom.contains(textNode.parentNode))\n return null;\n if (this.node.inlineContent) {\n // Find the text in the focused node in the node, stop if it's not\n // there (may have been modified through other means, in which\n // case it should overwritten)\n let text = textNode.nodeValue;\n let textPos = findTextInFragment(this.node.content, text, from - pos, to - pos);\n return textPos < 0 ? null : { node: textNode, pos: textPos, text };\n }\n else {\n return { node: textNode, pos: -1, text: \"\" };\n }\n }\n protectLocalComposition(view, { node, pos, text }) {\n // The node is already part of a local view desc, leave it there\n if (this.getDesc(node))\n return;\n // Create a composition view for the orphaned nodes\n let topNode = node;\n for (;; topNode = topNode.parentNode) {\n if (topNode.parentNode == this.contentDOM)\n break;\n while (topNode.previousSibling)\n topNode.parentNode.removeChild(topNode.previousSibling);\n while (topNode.nextSibling)\n topNode.parentNode.removeChild(topNode.nextSibling);\n if (topNode.pmViewDesc)\n topNode.pmViewDesc = undefined;\n }\n let desc = new CompositionViewDesc(this, topNode, node, text);\n view.input.compositionNodes.push(desc);\n // Patch up this.children to contain the composition view\n this.children = replaceNodes(this.children, pos, pos + text.length, view, desc);\n }\n // If this desc must be updated to match the given node decoration,\n // do so and return true.\n update(node, outerDeco, innerDeco, view) {\n if (this.dirty == NODE_DIRTY ||\n !node.sameMarkup(this.node))\n return false;\n this.updateInner(node, outerDeco, innerDeco, view);\n return true;\n }\n updateInner(node, outerDeco, innerDeco, view) {\n this.updateOuterDeco(outerDeco);\n this.node = node;\n this.innerDeco = innerDeco;\n if (this.contentDOM)\n this.updateChildren(view, this.posAtStart);\n this.dirty = NOT_DIRTY;\n }\n updateOuterDeco(outerDeco) {\n if (sameOuterDeco(outerDeco, this.outerDeco))\n return;\n let needsWrap = this.nodeDOM.nodeType != 1;\n let oldDOM = this.dom;\n this.dom = patchOuterDeco(this.dom, this.nodeDOM, computeOuterDeco(this.outerDeco, this.node, needsWrap), computeOuterDeco(outerDeco, this.node, needsWrap));\n if (this.dom != oldDOM) {\n oldDOM.pmViewDesc = undefined;\n this.dom.pmViewDesc = this;\n }\n this.outerDeco = outerDeco;\n }\n // Mark this node as being the selected node.\n selectNode() {\n if (this.nodeDOM.nodeType == 1)\n this.nodeDOM.classList.add(\"ProseMirror-selectednode\");\n if (this.contentDOM || !this.node.type.spec.draggable)\n this.dom.draggable = true;\n }\n // Remove selected node marking from this node.\n deselectNode() {\n if (this.nodeDOM.nodeType == 1) {\n this.nodeDOM.classList.remove(\"ProseMirror-selectednode\");\n if (this.contentDOM || !this.node.type.spec.draggable)\n this.dom.removeAttribute(\"draggable\");\n }\n }\n get domAtom() { return this.node.isAtom; }\n}\n// Create a view desc for the top-level document node, to be exported\n// and used by the view class.\nfunction docViewDesc(doc, outerDeco, innerDeco, dom, view) {\n applyOuterDeco(dom, outerDeco, doc);\n let docView = new NodeViewDesc(undefined, doc, outerDeco, innerDeco, dom, dom, dom, view, 0);\n if (docView.contentDOM)\n docView.updateChildren(view, 0);\n return docView;\n}\nclass TextViewDesc extends NodeViewDesc {\n constructor(parent, node, outerDeco, innerDeco, dom, nodeDOM, view) {\n super(parent, node, outerDeco, innerDeco, dom, null, nodeDOM, view, 0);\n }\n parseRule() {\n let skip = this.nodeDOM.parentNode;\n while (skip && skip != this.dom && !skip.pmIsDeco)\n skip = skip.parentNode;\n return { skip: (skip || true) };\n }\n update(node, outerDeco, innerDeco, view) {\n if (this.dirty == NODE_DIRTY || (this.dirty != NOT_DIRTY && !this.inParent()) ||\n !node.sameMarkup(this.node))\n return false;\n this.updateOuterDeco(outerDeco);\n if ((this.dirty != NOT_DIRTY || node.text != this.node.text) && node.text != this.nodeDOM.nodeValue) {\n this.nodeDOM.nodeValue = node.text;\n if (view.trackWrites == this.nodeDOM)\n view.trackWrites = null;\n }\n this.node = node;\n this.dirty = NOT_DIRTY;\n return true;\n }\n inParent() {\n let parentDOM = this.parent.contentDOM;\n for (let n = this.nodeDOM; n; n = n.parentNode)\n if (n == parentDOM)\n return true;\n return false;\n }\n domFromPos(pos) {\n return { node: this.nodeDOM, offset: pos };\n }\n localPosFromDOM(dom, offset, bias) {\n if (dom == this.nodeDOM)\n return this.posAtStart + Math.min(offset, this.node.text.length);\n return super.localPosFromDOM(dom, offset, bias);\n }\n ignoreMutation(mutation) {\n return mutation.type != \"characterData\" && mutation.type != \"selection\";\n }\n slice(from, to, view) {\n let node = this.node.cut(from, to), dom = document.createTextNode(node.text);\n return new TextViewDesc(this.parent, node, this.outerDeco, this.innerDeco, dom, dom, view);\n }\n markDirty(from, to) {\n super.markDirty(from, to);\n if (this.dom != this.nodeDOM && (from == 0 || to == this.nodeDOM.nodeValue.length))\n this.dirty = NODE_DIRTY;\n }\n get domAtom() { return false; }\n isText(text) { return this.node.text == text; }\n}\n// A dummy desc used to tag trailing BR or IMG nodes created to work\n// around contentEditable terribleness.\nclass TrailingHackViewDesc extends ViewDesc {\n parseRule() { return { ignore: true }; }\n matchesHack(nodeName) { return this.dirty == NOT_DIRTY && this.dom.nodeName == nodeName; }\n get domAtom() { return true; }\n get ignoreForCoords() { return this.dom.nodeName == \"IMG\"; }\n}\n// A separate subclass is used for customized node views, so that the\n// extra checks only have to be made for nodes that are actually\n// customized.\nclass CustomNodeViewDesc extends NodeViewDesc {\n constructor(parent, node, outerDeco, innerDeco, dom, contentDOM, nodeDOM, spec, view, pos) {\n super(parent, node, outerDeco, innerDeco, dom, contentDOM, nodeDOM, view, pos);\n this.spec = spec;\n }\n // A custom `update` method gets to decide whether the update goes\n // through. If it does, and there's a `contentDOM` node, our logic\n // updates the children.\n update(node, outerDeco, innerDeco, view) {\n if (this.dirty == NODE_DIRTY)\n return false;\n if (this.spec.update) {\n let result = this.spec.update(node, outerDeco, innerDeco);\n if (result)\n this.updateInner(node, outerDeco, innerDeco, view);\n return result;\n }\n else if (!this.contentDOM && !node.isLeaf) {\n return false;\n }\n else {\n return super.update(node, outerDeco, innerDeco, view);\n }\n }\n selectNode() {\n this.spec.selectNode ? this.spec.selectNode() : super.selectNode();\n }\n deselectNode() {\n this.spec.deselectNode ? this.spec.deselectNode() : super.deselectNode();\n }\n setSelection(anchor, head, root, force) {\n this.spec.setSelection ? this.spec.setSelection(anchor, head, root)\n : super.setSelection(anchor, head, root, force);\n }\n destroy() {\n if (this.spec.destroy)\n this.spec.destroy();\n super.destroy();\n }\n stopEvent(event) {\n return this.spec.stopEvent ? this.spec.stopEvent(event) : false;\n }\n ignoreMutation(mutation) {\n return this.spec.ignoreMutation ? this.spec.ignoreMutation(mutation) : super.ignoreMutation(mutation);\n }\n}\n// Sync the content of the given DOM node with the nodes associated\n// with the given array of view descs, recursing into mark descs\n// because this should sync the subtree for a whole node at a time.\nfunction renderDescs(parentDOM, descs, view) {\n let dom = parentDOM.firstChild, written = false;\n for (let i = 0; i < descs.length; i++) {\n let desc = descs[i], childDOM = desc.dom;\n if (childDOM.parentNode == parentDOM) {\n while (childDOM != dom) {\n dom = rm(dom);\n written = true;\n }\n dom = dom.nextSibling;\n }\n else {\n written = true;\n parentDOM.insertBefore(childDOM, dom);\n }\n if (desc instanceof MarkViewDesc) {\n let pos = dom ? dom.previousSibling : parentDOM.lastChild;\n renderDescs(desc.contentDOM, desc.children, view);\n dom = pos ? pos.nextSibling : parentDOM.firstChild;\n }\n }\n while (dom) {\n dom = rm(dom);\n written = true;\n }\n if (written && view.trackWrites == parentDOM)\n view.trackWrites = null;\n}\nconst OuterDecoLevel = function (nodeName) {\n if (nodeName)\n this.nodeName = nodeName;\n};\nOuterDecoLevel.prototype = Object.create(null);\nconst noDeco = [new OuterDecoLevel];\nfunction computeOuterDeco(outerDeco, node, needsWrap) {\n if (outerDeco.length == 0)\n return noDeco;\n let top = needsWrap ? noDeco[0] : new OuterDecoLevel, result = [top];\n for (let i = 0; i < outerDeco.length; i++) {\n let attrs = outerDeco[i].type.attrs;\n if (!attrs)\n continue;\n if (attrs.nodeName)\n result.push(top = new OuterDecoLevel(attrs.nodeName));\n for (let name in attrs) {\n let val = attrs[name];\n if (val == null)\n continue;\n if (needsWrap && result.length == 1)\n result.push(top = new OuterDecoLevel(node.isInline ? \"span\" : \"div\"));\n if (name == \"class\")\n top.class = (top.class ? top.class + \" \" : \"\") + val;\n else if (name == \"style\")\n top.style = (top.style ? top.style + \";\" : \"\") + val;\n else if (name != \"nodeName\")\n top[name] = val;\n }\n }\n return result;\n}\nfunction patchOuterDeco(outerDOM, nodeDOM, prevComputed, curComputed) {\n // Shortcut for trivial case\n if (prevComputed == noDeco && curComputed == noDeco)\n return nodeDOM;\n let curDOM = nodeDOM;\n for (let i = 0; i < curComputed.length; i++) {\n let deco = curComputed[i], prev = prevComputed[i];\n if (i) {\n let parent;\n if (prev && prev.nodeName == deco.nodeName && curDOM != outerDOM &&\n (parent = curDOM.parentNode) && parent.nodeName.toLowerCase() == deco.nodeName) {\n curDOM = parent;\n }\n else {\n parent = document.createElement(deco.nodeName);\n parent.pmIsDeco = true;\n parent.appendChild(curDOM);\n prev = noDeco[0];\n curDOM = parent;\n }\n }\n patchAttributes(curDOM, prev || noDeco[0], deco);\n }\n return curDOM;\n}\nfunction patchAttributes(dom, prev, cur) {\n for (let name in prev)\n if (name != \"class\" && name != \"style\" && name != \"nodeName\" && !(name in cur))\n dom.removeAttribute(name);\n for (let name in cur)\n if (name != \"class\" && name != \"style\" && name != \"nodeName\" && cur[name] != prev[name])\n dom.setAttribute(name, cur[name]);\n if (prev.class != cur.class) {\n let prevList = prev.class ? prev.class.split(\" \").filter(Boolean) : [];\n let curList = cur.class ? cur.class.split(\" \").filter(Boolean) : [];\n for (let i = 0; i < prevList.length; i++)\n if (curList.indexOf(prevList[i]) == -1)\n dom.classList.remove(prevList[i]);\n for (let i = 0; i < curList.length; i++)\n if (prevList.indexOf(curList[i]) == -1)\n dom.classList.add(curList[i]);\n if (dom.classList.length == 0)\n dom.removeAttribute(\"class\");\n }\n if (prev.style != cur.style) {\n if (prev.style) {\n let prop = /\\s*([\\w\\-\\xa1-\\uffff]+)\\s*:(?:\"(?:\\\\.|[^\"])*\"|'(?:\\\\.|[^'])*'|\\(.*?\\)|[^;])*/g, m;\n while (m = prop.exec(prev.style))\n dom.style.removeProperty(m[1]);\n }\n if (cur.style)\n dom.style.cssText += cur.style;\n }\n}\nfunction applyOuterDeco(dom, deco, node) {\n return patchOuterDeco(dom, dom, noDeco, computeOuterDeco(deco, node, dom.nodeType != 1));\n}\nfunction sameOuterDeco(a, b) {\n if (a.length != b.length)\n return false;\n for (let i = 0; i < a.length; i++)\n if (!a[i].type.eq(b[i].type))\n return false;\n return true;\n}\n// Remove a DOM node and return its next sibling.\nfunction rm(dom) {\n let next = dom.nextSibling;\n dom.parentNode.removeChild(dom);\n return next;\n}\n// Helper class for incrementally updating a tree of mark descs and\n// the widget and node descs inside of them.\nclass ViewTreeUpdater {\n constructor(top, lock, view) {\n this.lock = lock;\n this.view = view;\n // Index into `this.top`'s child array, represents the current\n // update position.\n this.index = 0;\n // When entering a mark, the current top and index are pushed\n // onto this.\n this.stack = [];\n // Tracks whether anything was changed\n this.changed = false;\n this.top = top;\n this.preMatch = preMatch(top.node.content, top);\n }\n // Destroy and remove the children between the given indices in\n // `this.top`.\n destroyBetween(start, end) {\n if (start == end)\n return;\n for (let i = start; i < end; i++)\n this.top.children[i].destroy();\n this.top.children.splice(start, end - start);\n this.changed = true;\n }\n // Destroy all remaining children in `this.top`.\n destroyRest() {\n this.destroyBetween(this.index, this.top.children.length);\n }\n // Sync the current stack of mark descs with the given array of\n // marks, reusing existing mark descs when possible.\n syncToMarks(marks, inline, view) {\n let keep = 0, depth = this.stack.length >> 1;\n let maxKeep = Math.min(depth, marks.length);\n while (keep < maxKeep &&\n (keep == depth - 1 ? this.top : this.stack[(keep + 1) << 1])\n .matchesMark(marks[keep]) && marks[keep].type.spec.spanning !== false)\n keep++;\n while (keep < depth) {\n this.destroyRest();\n this.top.dirty = NOT_DIRTY;\n this.index = this.stack.pop();\n this.top = this.stack.pop();\n depth--;\n }\n while (depth < marks.length) {\n this.stack.push(this.top, this.index + 1);\n let found = -1;\n for (let i = this.index; i < Math.min(this.index + 3, this.top.children.length); i++) {\n let next = this.top.children[i];\n if (next.matchesMark(marks[depth]) && !this.isLocked(next.dom)) {\n found = i;\n break;\n }\n }\n if (found > -1) {\n if (found > this.index) {\n this.changed = true;\n this.destroyBetween(this.index, found);\n }\n this.top = this.top.children[this.index];\n }\n else {\n let markDesc = MarkViewDesc.create(this.top, marks[depth], inline, view);\n this.top.children.splice(this.index, 0, markDesc);\n this.top = markDesc;\n this.changed = true;\n }\n this.index = 0;\n depth++;\n }\n }\n // Try to find a node desc matching the given data. Skip over it and\n // return true when successful.\n findNodeMatch(node, outerDeco, innerDeco, index) {\n let found = -1, targetDesc;\n if (index >= this.preMatch.index &&\n (targetDesc = this.preMatch.matches[index - this.preMatch.index]).parent == this.top &&\n targetDesc.matchesNode(node, outerDeco, innerDeco)) {\n found = this.top.children.indexOf(targetDesc, this.index);\n }\n else {\n for (let i = this.index, e = Math.min(this.top.children.length, i + 5); i < e; i++) {\n let child = this.top.children[i];\n if (child.matchesNode(node, outerDeco, innerDeco) && !this.preMatch.matched.has(child)) {\n found = i;\n break;\n }\n }\n }\n if (found < 0)\n return false;\n this.destroyBetween(this.index, found);\n this.index++;\n return true;\n }\n updateNodeAt(node, outerDeco, innerDeco, index, view) {\n let child = this.top.children[index];\n if (child.dirty == NODE_DIRTY && child.dom == child.contentDOM)\n child.dirty = CONTENT_DIRTY;\n if (!child.update(node, outerDeco, innerDeco, view))\n return false;\n this.destroyBetween(this.index, index);\n this.index++;\n return true;\n }\n findIndexWithChild(domNode) {\n for (;;) {\n let parent = domNode.parentNode;\n if (!parent)\n return -1;\n if (parent == this.top.contentDOM) {\n let desc = domNode.pmViewDesc;\n if (desc)\n for (let i = this.index; i < this.top.children.length; i++) {\n if (this.top.children[i] == desc)\n return i;\n }\n return -1;\n }\n domNode = parent;\n }\n }\n // Try to update the next node, if any, to the given data. Checks\n // pre-matches to avoid overwriting nodes that could still be used.\n updateNextNode(node, outerDeco, innerDeco, view, index, pos) {\n for (let i = this.index; i < this.top.children.length; i++) {\n let next = this.top.children[i];\n if (next instanceof NodeViewDesc) {\n let preMatch = this.preMatch.matched.get(next);\n if (preMatch != null && preMatch != index)\n return false;\n let nextDOM = next.dom, updated;\n // Can't update if nextDOM is or contains this.lock, except if\n // it's a text node whose content already matches the new text\n // and whose decorations match the new ones.\n let locked = this.isLocked(nextDOM) &&\n !(node.isText && next.node && next.node.isText && next.nodeDOM.nodeValue == node.text &&\n next.dirty != NODE_DIRTY && sameOuterDeco(outerDeco, next.outerDeco));\n if (!locked && next.update(node, outerDeco, innerDeco, view)) {\n this.destroyBetween(this.index, i);\n if (next.dom != nextDOM)\n this.changed = true;\n this.index++;\n return true;\n }\n else if (!locked && (updated = this.recreateWrapper(next, node, outerDeco, innerDeco, view, pos))) {\n this.top.children[this.index] = updated;\n if (updated.contentDOM) {\n updated.dirty = CONTENT_DIRTY;\n updated.updateChildren(view, pos + 1);\n updated.dirty = NOT_DIRTY;\n }\n this.changed = true;\n this.index++;\n return true;\n }\n break;\n }\n }\n return false;\n }\n // When a node with content is replaced by a different node with\n // identical content, move over its children.\n recreateWrapper(next, node, outerDeco, innerDeco, view, pos) {\n if (next.dirty || node.isAtom || !next.children.length ||\n !next.node.content.eq(node.content))\n return null;\n let wrapper = NodeViewDesc.create(this.top, node, outerDeco, innerDeco, view, pos);\n if (wrapper.contentDOM) {\n wrapper.children = next.children;\n next.children = [];\n for (let ch of wrapper.children)\n ch.parent = wrapper;\n }\n next.destroy();\n return wrapper;\n }\n // Insert the node as a newly created node desc.\n addNode(node, outerDeco, innerDeco, view, pos) {\n let desc = NodeViewDesc.create(this.top, node, outerDeco, innerDeco, view, pos);\n if (desc.contentDOM)\n desc.updateChildren(view, pos + 1);\n this.top.children.splice(this.index++, 0, desc);\n this.changed = true;\n }\n placeWidget(widget, view, pos) {\n let next = this.index < this.top.children.length ? this.top.children[this.index] : null;\n if (next && next.matchesWidget(widget) &&\n (widget == next.widget || !next.widget.type.toDOM.parentNode)) {\n this.index++;\n }\n else {\n let desc = new WidgetViewDesc(this.top, widget, view, pos);\n this.top.children.splice(this.index++, 0, desc);\n this.changed = true;\n }\n }\n // Make sure a textblock looks and behaves correctly in\n // contentEditable.\n addTextblockHacks() {\n let lastChild = this.top.children[this.index - 1], parent = this.top;\n while (lastChild instanceof MarkViewDesc) {\n parent = lastChild;\n lastChild = parent.children[parent.children.length - 1];\n }\n if (!lastChild || // Empty textblock\n !(lastChild instanceof TextViewDesc) ||\n /\\n$/.test(lastChild.node.text) ||\n (this.view.requiresGeckoHackNode && /\\s$/.test(lastChild.node.text))) {\n // Avoid bugs in Safari's cursor drawing (#1165) and Chrome's mouse selection (#1152)\n if ((safari || chrome) && lastChild && lastChild.dom.contentEditable == \"false\")\n this.addHackNode(\"IMG\", parent);\n this.addHackNode(\"BR\", this.top);\n }\n }\n addHackNode(nodeName, parent) {\n if (parent == this.top && this.index < parent.children.length && parent.children[this.index].matchesHack(nodeName)) {\n this.index++;\n }\n else {\n let dom = document.createElement(nodeName);\n if (nodeName == \"IMG\") {\n dom.className = \"ProseMirror-separator\";\n dom.alt = \"\";\n }\n if (nodeName == \"BR\")\n dom.className = \"ProseMirror-trailingBreak\";\n let hack = new TrailingHackViewDesc(this.top, [], dom, null);\n if (parent != this.top)\n parent.children.push(hack);\n else\n parent.children.splice(this.index++, 0, hack);\n this.changed = true;\n }\n }\n isLocked(node) {\n return this.lock && (node == this.lock || node.nodeType == 1 && node.contains(this.lock.parentNode));\n }\n}\n// Iterate from the end of the fragment and array of descs to find\n// directly matching ones, in order to avoid overeagerly reusing those\n// for other nodes. Returns the fragment index of the first node that\n// is part of the sequence of matched nodes at the end of the\n// fragment.\nfunction preMatch(frag, parentDesc) {\n let curDesc = parentDesc, descI = curDesc.children.length;\n let fI = frag.childCount, matched = new Map, matches = [];\n outer: while (fI > 0) {\n let desc;\n for (;;) {\n if (descI) {\n let next = curDesc.children[descI - 1];\n if (next instanceof MarkViewDesc) {\n curDesc = next;\n descI = next.children.length;\n }\n else {\n desc = next;\n descI--;\n break;\n }\n }\n else if (curDesc == parentDesc) {\n break outer;\n }\n else {\n // FIXME\n descI = curDesc.parent.children.indexOf(curDesc);\n curDesc = curDesc.parent;\n }\n }\n let node = desc.node;\n if (!node)\n continue;\n if (node != frag.child(fI - 1))\n break;\n --fI;\n matched.set(desc, fI);\n matches.push(desc);\n }\n return { index: fI, matched, matches: matches.reverse() };\n}\nfunction compareSide(a, b) {\n return a.type.side - b.type.side;\n}\n// This function abstracts iterating over the nodes and decorations in\n// a fragment. Calls `onNode` for each node, with its local and child\n// decorations. Splits text nodes when there is a decoration starting\n// or ending inside of them. Calls `onWidget` for each widget.\nfunction iterDeco(parent, deco, onWidget, onNode) {\n let locals = deco.locals(parent), offset = 0;\n // Simple, cheap variant for when there are no local decorations\n if (locals.length == 0) {\n for (let i = 0; i < parent.childCount; i++) {\n let child = parent.child(i);\n onNode(child, locals, deco.forChild(offset, child), i);\n offset += child.nodeSize;\n }\n return;\n }\n let decoIndex = 0, active = [], restNode = null;\n for (let parentIndex = 0;;) {\n let widget, widgets;\n while (decoIndex < locals.length && locals[decoIndex].to == offset) {\n let next = locals[decoIndex++];\n if (next.widget) {\n if (!widget)\n widget = next;\n else\n (widgets || (widgets = [widget])).push(next);\n }\n }\n if (widget) {\n if (widgets) {\n widgets.sort(compareSide);\n for (let i = 0; i < widgets.length; i++)\n onWidget(widgets[i], parentIndex, !!restNode);\n }\n else {\n onWidget(widget, parentIndex, !!restNode);\n }\n }\n let child, index;\n if (restNode) {\n index = -1;\n child = restNode;\n restNode = null;\n }\n else if (parentIndex < parent.childCount) {\n index = parentIndex;\n child = parent.child(parentIndex++);\n }\n else {\n break;\n }\n for (let i = 0; i < active.length; i++)\n if (active[i].to <= offset)\n active.splice(i--, 1);\n while (decoIndex < locals.length && locals[decoIndex].from <= offset && locals[decoIndex].to > offset)\n active.push(locals[decoIndex++]);\n let end = offset + child.nodeSize;\n if (child.isText) {\n let cutAt = end;\n if (decoIndex < locals.length && locals[decoIndex].from < cutAt)\n cutAt = locals[decoIndex].from;\n for (let i = 0; i < active.length; i++)\n if (active[i].to < cutAt)\n cutAt = active[i].to;\n if (cutAt < end) {\n restNode = child.cut(cutAt - offset);\n child = child.cut(0, cutAt - offset);\n end = cutAt;\n index = -1;\n }\n }\n else {\n while (decoIndex < locals.length && locals[decoIndex].to < end)\n decoIndex++;\n }\n let outerDeco = child.isInline && !child.isLeaf ? active.filter(d => !d.inline) : active.slice();\n onNode(child, outerDeco, deco.forChild(offset, child), index);\n offset = end;\n }\n}\n// List markers in Mobile Safari will mysteriously disappear\n// sometimes. This works around that.\nfunction iosHacks(dom) {\n if (dom.nodeName == \"UL\" || dom.nodeName == \"OL\") {\n let oldCSS = dom.style.cssText;\n dom.style.cssText = oldCSS + \"; list-style: square !important\";\n window.getComputedStyle(dom).listStyle;\n dom.style.cssText = oldCSS;\n }\n}\n// Find a piece of text in an inline fragment, overlapping from-to\nfunction findTextInFragment(frag, text, from, to) {\n for (let i = 0, pos = 0; i < frag.childCount && pos <= to;) {\n let child = frag.child(i++), childStart = pos;\n pos += child.nodeSize;\n if (!child.isText)\n continue;\n let str = child.text;\n while (i < frag.childCount) {\n let next = frag.child(i++);\n pos += next.nodeSize;\n if (!next.isText)\n break;\n str += next.text;\n }\n if (pos >= from) {\n if (pos >= to && str.slice(to - text.length - childStart, to - childStart) == text)\n return to - text.length;\n let found = childStart < to ? str.lastIndexOf(text, to - childStart - 1) : -1;\n if (found >= 0 && found + text.length + childStart >= from)\n return childStart + found;\n if (from == to && str.length >= (to + text.length) - childStart &&\n str.slice(to - childStart, to - childStart + text.length) == text)\n return to;\n }\n }\n return -1;\n}\n// Replace range from-to in an array of view descs with replacement\n// (may be null to just delete). This goes very much against the grain\n// of the rest of this code, which tends to create nodes with the\n// right shape in one go, rather than messing with them after\n// creation, but is necessary in the composition hack.\nfunction replaceNodes(nodes, from, to, view, replacement) {\n let result = [];\n for (let i = 0, off = 0; i < nodes.length; i++) {\n let child = nodes[i], start = off, end = off += child.size;\n if (start >= to || end <= from) {\n result.push(child);\n }\n else {\n if (start < from)\n result.push(child.slice(0, from - start, view));\n if (replacement) {\n result.push(replacement);\n replacement = undefined;\n }\n if (end > to)\n result.push(child.slice(to - start, child.size, view));\n }\n }\n return result;\n}\n\nfunction selectionFromDOM(view, origin = null) {\n let domSel = view.domSelectionRange(), doc = view.state.doc;\n if (!domSel.focusNode)\n return null;\n let nearestDesc = view.docView.nearestDesc(domSel.focusNode), inWidget = nearestDesc && nearestDesc.size == 0;\n let head = view.docView.posFromDOM(domSel.focusNode, domSel.focusOffset, 1);\n if (head < 0)\n return null;\n let $head = doc.resolve(head), $anchor, selection;\n if (selectionCollapsed(domSel)) {\n $anchor = $head;\n while (nearestDesc && !nearestDesc.node)\n nearestDesc = nearestDesc.parent;\n let nearestDescNode = nearestDesc.node;\n if (nearestDesc && nearestDescNode.isAtom && NodeSelection.isSelectable(nearestDescNode) && nearestDesc.parent\n && !(nearestDescNode.isInline && isOnEdge(domSel.focusNode, domSel.focusOffset, nearestDesc.dom))) {\n let pos = nearestDesc.posBefore;\n selection = new NodeSelection(head == pos ? $head : doc.resolve(pos));\n }\n }\n else {\n let anchor = view.docView.posFromDOM(domSel.anchorNode, domSel.anchorOffset, 1);\n if (anchor < 0)\n return null;\n $anchor = doc.resolve(anchor);\n }\n if (!selection) {\n let bias = origin == \"pointer\" || (view.state.selection.head < $head.pos && !inWidget) ? 1 : -1;\n selection = selectionBetween(view, $anchor, $head, bias);\n }\n return selection;\n}\nfunction editorOwnsSelection(view) {\n return view.editable ? view.hasFocus() :\n hasSelection(view) && document.activeElement && document.activeElement.contains(view.dom);\n}\nfunction selectionToDOM(view, force = false) {\n let sel = view.state.selection;\n syncNodeSelection(view, sel);\n if (!editorOwnsSelection(view))\n return;\n // The delayed drag selection causes issues with Cell Selections\n // in Safari. And the drag selection delay is to workarond issues\n // which only present in Chrome.\n if (!force && view.input.mouseDown && view.input.mouseDown.allowDefault && chrome) {\n let domSel = view.domSelectionRange(), curSel = view.domObserver.currentSelection;\n if (domSel.anchorNode && curSel.anchorNode &&\n isEquivalentPosition(domSel.anchorNode, domSel.anchorOffset, curSel.anchorNode, curSel.anchorOffset)) {\n view.input.mouseDown.delayedSelectionSync = true;\n view.domObserver.setCurSelection();\n return;\n }\n }\n view.domObserver.disconnectSelection();\n if (view.cursorWrapper) {\n selectCursorWrapper(view);\n }\n else {\n let { anchor, head } = sel, resetEditableFrom, resetEditableTo;\n if (brokenSelectBetweenUneditable && !(sel instanceof TextSelection)) {\n if (!sel.$from.parent.inlineContent)\n resetEditableFrom = temporarilyEditableNear(view, sel.from);\n if (!sel.empty && !sel.$from.parent.inlineContent)\n resetEditableTo = temporarilyEditableNear(view, sel.to);\n }\n view.docView.setSelection(anchor, head, view.root, force);\n if (brokenSelectBetweenUneditable) {\n if (resetEditableFrom)\n resetEditable(resetEditableFrom);\n if (resetEditableTo)\n resetEditable(resetEditableTo);\n }\n if (sel.visible) {\n view.dom.classList.remove(\"ProseMirror-hideselection\");\n }\n else {\n view.dom.classList.add(\"ProseMirror-hideselection\");\n if (\"onselectionchange\" in document)\n removeClassOnSelectionChange(view);\n }\n }\n view.domObserver.setCurSelection();\n view.domObserver.connectSelection();\n}\n// Kludge to work around Webkit not allowing a selection to start/end\n// between non-editable block nodes. We briefly make something\n// editable, set the selection, then set it uneditable again.\nconst brokenSelectBetweenUneditable = safari || chrome && chrome_version < 63;\nfunction temporarilyEditableNear(view, pos) {\n let { node, offset } = view.docView.domFromPos(pos, 0);\n let after = offset < node.childNodes.length ? node.childNodes[offset] : null;\n let before = offset ? node.childNodes[offset - 1] : null;\n if (safari && after && after.contentEditable == \"false\")\n return setEditable(after);\n if ((!after || after.contentEditable == \"false\") &&\n (!before || before.contentEditable == \"false\")) {\n if (after)\n return setEditable(after);\n else if (before)\n return setEditable(before);\n }\n}\nfunction setEditable(element) {\n element.contentEditable = \"true\";\n if (safari && element.draggable) {\n element.draggable = false;\n element.wasDraggable = true;\n }\n return element;\n}\nfunction resetEditable(element) {\n element.contentEditable = \"false\";\n if (element.wasDraggable) {\n element.draggable = true;\n element.wasDraggable = null;\n }\n}\nfunction removeClassOnSelectionChange(view) {\n let doc = view.dom.ownerDocument;\n doc.removeEventListener(\"selectionchange\", view.input.hideSelectionGuard);\n let domSel = view.domSelectionRange();\n let node = domSel.anchorNode, offset = domSel.anchorOffset;\n doc.addEventListener(\"selectionchange\", view.input.hideSelectionGuard = () => {\n if (domSel.anchorNode != node || domSel.anchorOffset != offset) {\n doc.removeEventListener(\"selectionchange\", view.input.hideSelectionGuard);\n setTimeout(() => {\n if (!editorOwnsSelection(view) || view.state.selection.visible)\n view.dom.classList.remove(\"ProseMirror-hideselection\");\n }, 20);\n }\n });\n}\nfunction selectCursorWrapper(view) {\n let domSel = view.domSelection(), range = document.createRange();\n let node = view.cursorWrapper.dom, img = node.nodeName == \"IMG\";\n if (img)\n range.setEnd(node.parentNode, domIndex(node) + 1);\n else\n range.setEnd(node, 0);\n range.collapse(false);\n domSel.removeAllRanges();\n domSel.addRange(range);\n // Kludge to kill 'control selection' in IE11 when selecting an\n // invisible cursor wrapper, since that would result in those weird\n // resize handles and a selection that considers the absolutely\n // positioned wrapper, rather than the root editable node, the\n // focused element.\n if (!img && !view.state.selection.visible && ie && ie_version <= 11) {\n node.disabled = true;\n node.disabled = false;\n }\n}\nfunction syncNodeSelection(view, sel) {\n if (sel instanceof NodeSelection) {\n let desc = view.docView.descAt(sel.from);\n if (desc != view.lastSelectedViewDesc) {\n clearNodeSelection(view);\n if (desc)\n desc.selectNode();\n view.lastSelectedViewDesc = desc;\n }\n }\n else {\n clearNodeSelection(view);\n }\n}\n// Clear all DOM statefulness of the last node selection.\nfunction clearNodeSelection(view) {\n if (view.lastSelectedViewDesc) {\n if (view.lastSelectedViewDesc.parent)\n view.lastSelectedViewDesc.deselectNode();\n view.lastSelectedViewDesc = undefined;\n }\n}\nfunction selectionBetween(view, $anchor, $head, bias) {\n return view.someProp(\"createSelectionBetween\", f => f(view, $anchor, $head))\n || TextSelection.between($anchor, $head, bias);\n}\nfunction hasFocusAndSelection(view) {\n if (view.editable && !view.hasFocus())\n return false;\n return hasSelection(view);\n}\nfunction hasSelection(view) {\n let sel = view.domSelectionRange();\n if (!sel.anchorNode)\n return false;\n try {\n // Firefox will raise 'permission denied' errors when accessing\n // properties of `sel.anchorNode` when it's in a generated CSS\n // element.\n return view.dom.contains(sel.anchorNode.nodeType == 3 ? sel.anchorNode.parentNode : sel.anchorNode) &&\n (view.editable || view.dom.contains(sel.focusNode.nodeType == 3 ? sel.focusNode.parentNode : sel.focusNode));\n }\n catch (_) {\n return false;\n }\n}\nfunction anchorInRightPlace(view) {\n let anchorDOM = view.docView.domFromPos(view.state.selection.anchor, 0);\n let domSel = view.domSelectionRange();\n return isEquivalentPosition(anchorDOM.node, anchorDOM.offset, domSel.anchorNode, domSel.anchorOffset);\n}\n\nfunction moveSelectionBlock(state, dir) {\n let { $anchor, $head } = state.selection;\n let $side = dir > 0 ? $anchor.max($head) : $anchor.min($head);\n let $start = !$side.parent.inlineContent ? $side : $side.depth ? state.doc.resolve(dir > 0 ? $side.after() : $side.before()) : null;\n return $start && Selection.findFrom($start, dir);\n}\nfunction apply(view, sel) {\n view.dispatch(view.state.tr.setSelection(sel).scrollIntoView());\n return true;\n}\nfunction selectHorizontally(view, dir, mods) {\n let sel = view.state.selection;\n if (sel instanceof TextSelection) {\n if (mods.indexOf(\"s\") > -1) {\n let { $head } = sel, node = $head.textOffset ? null : dir < 0 ? $head.nodeBefore : $head.nodeAfter;\n if (!node || node.isText || !node.isLeaf)\n return false;\n let $newHead = view.state.doc.resolve($head.pos + node.nodeSize * (dir < 0 ? -1 : 1));\n return apply(view, new TextSelection(sel.$anchor, $newHead));\n }\n else if (!sel.empty) {\n return false;\n }\n else if (view.endOfTextblock(dir > 0 ? \"forward\" : \"backward\")) {\n let next = moveSelectionBlock(view.state, dir);\n if (next && (next instanceof NodeSelection))\n return apply(view, next);\n return false;\n }\n else if (!(mac && mods.indexOf(\"m\") > -1)) {\n let $head = sel.$head, node = $head.textOffset ? null : dir < 0 ? $head.nodeBefore : $head.nodeAfter, desc;\n if (!node || node.isText)\n return false;\n let nodePos = dir < 0 ? $head.pos - node.nodeSize : $head.pos;\n if (!(node.isAtom || (desc = view.docView.descAt(nodePos)) && !desc.contentDOM))\n return false;\n if (NodeSelection.isSelectable(node)) {\n return apply(view, new NodeSelection(dir < 0 ? view.state.doc.resolve($head.pos - node.nodeSize) : $head));\n }\n else if (webkit) {\n // Chrome and Safari will introduce extra pointless cursor\n // positions around inline uneditable nodes, so we have to\n // take over and move the cursor past them (#937)\n return apply(view, new TextSelection(view.state.doc.resolve(dir < 0 ? nodePos : nodePos + node.nodeSize)));\n }\n else {\n return false;\n }\n }\n }\n else if (sel instanceof NodeSelection && sel.node.isInline) {\n return apply(view, new TextSelection(dir > 0 ? sel.$to : sel.$from));\n }\n else {\n let next = moveSelectionBlock(view.state, dir);\n if (next)\n return apply(view, next);\n return false;\n }\n}\nfunction nodeLen(node) {\n return node.nodeType == 3 ? node.nodeValue.length : node.childNodes.length;\n}\nfunction isIgnorable(dom, dir) {\n let desc = dom.pmViewDesc;\n return desc && desc.size == 0 && (dir < 0 || dom.nextSibling || dom.nodeName != \"BR\");\n}\nfunction skipIgnoredNodes(view, dir) {\n return dir < 0 ? skipIgnoredNodesBefore(view) : skipIgnoredNodesAfter(view);\n}\n// Make sure the cursor isn't directly after one or more ignored\n// nodes, which will confuse the browser's cursor motion logic.\nfunction skipIgnoredNodesBefore(view) {\n let sel = view.domSelectionRange();\n let node = sel.focusNode, offset = sel.focusOffset;\n if (!node)\n return;\n let moveNode, moveOffset, force = false;\n // Gecko will do odd things when the selection is directly in front\n // of a non-editable node, so in that case, move it into the next\n // node if possible. Issue prosemirror/prosemirror#832.\n if (gecko && node.nodeType == 1 && offset < nodeLen(node) && isIgnorable(node.childNodes[offset], -1))\n force = true;\n for (;;) {\n if (offset > 0) {\n if (node.nodeType != 1) {\n break;\n }\n else {\n let before = node.childNodes[offset - 1];\n if (isIgnorable(before, -1)) {\n moveNode = node;\n moveOffset = --offset;\n }\n else if (before.nodeType == 3) {\n node = before;\n offset = node.nodeValue.length;\n }\n else\n break;\n }\n }\n else if (isBlockNode(node)) {\n break;\n }\n else {\n let prev = node.previousSibling;\n while (prev && isIgnorable(prev, -1)) {\n moveNode = node.parentNode;\n moveOffset = domIndex(prev);\n prev = prev.previousSibling;\n }\n if (!prev) {\n node = node.parentNode;\n if (node == view.dom)\n break;\n offset = 0;\n }\n else {\n node = prev;\n offset = nodeLen(node);\n }\n }\n }\n if (force)\n setSelFocus(view, node, offset);\n else if (moveNode)\n setSelFocus(view, moveNode, moveOffset);\n}\n// Make sure the cursor isn't directly before one or more ignored\n// nodes.\nfunction skipIgnoredNodesAfter(view) {\n let sel = view.domSelectionRange();\n let node = sel.focusNode, offset = sel.focusOffset;\n if (!node)\n return;\n let len = nodeLen(node);\n let moveNode, moveOffset;\n for (;;) {\n if (offset < len) {\n if (node.nodeType != 1)\n break;\n let after = node.childNodes[offset];\n if (isIgnorable(after, 1)) {\n moveNode = node;\n moveOffset = ++offset;\n }\n else\n break;\n }\n else if (isBlockNode(node)) {\n break;\n }\n else {\n let next = node.nextSibling;\n while (next && isIgnorable(next, 1)) {\n moveNode = next.parentNode;\n moveOffset = domIndex(next) + 1;\n next = next.nextSibling;\n }\n if (!next) {\n node = node.parentNode;\n if (node == view.dom)\n break;\n offset = len = 0;\n }\n else {\n node = next;\n offset = 0;\n len = nodeLen(node);\n }\n }\n }\n if (moveNode)\n setSelFocus(view, moveNode, moveOffset);\n}\nfunction isBlockNode(dom) {\n let desc = dom.pmViewDesc;\n return desc && desc.node && desc.node.isBlock;\n}\nfunction textNodeAfter(node, offset) {\n while (node && offset == node.childNodes.length && !hasBlockDesc(node)) {\n offset = domIndex(node) + 1;\n node = node.parentNode;\n }\n while (node && offset < node.childNodes.length) {\n let next = node.childNodes[offset];\n if (next.nodeType == 3)\n return next;\n if (next.nodeType == 1 && next.contentEditable == \"false\")\n break;\n node = next;\n offset = 0;\n }\n}\nfunction textNodeBefore(node, offset) {\n while (node && !offset && !hasBlockDesc(node)) {\n offset = domIndex(node);\n node = node.parentNode;\n }\n while (node && offset) {\n let next = node.childNodes[offset - 1];\n if (next.nodeType == 3)\n return next;\n if (next.nodeType == 1 && next.contentEditable == \"false\")\n break;\n node = next;\n offset = node.childNodes.length;\n }\n}\nfunction setSelFocus(view, node, offset) {\n if (node.nodeType != 3) {\n let before, after;\n if (after = textNodeAfter(node, offset)) {\n node = after;\n offset = 0;\n }\n else if (before = textNodeBefore(node, offset)) {\n node = before;\n offset = before.nodeValue.length;\n }\n }\n let sel = view.domSelection();\n if (selectionCollapsed(sel)) {\n let range = document.createRange();\n range.setEnd(node, offset);\n range.setStart(node, offset);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n else if (sel.extend) {\n sel.extend(node, offset);\n }\n view.domObserver.setCurSelection();\n let { state } = view;\n // If no state update ends up happening, reset the selection.\n setTimeout(() => {\n if (view.state == state)\n selectionToDOM(view);\n }, 50);\n}\nfunction findDirection(view, pos) {\n let $pos = view.state.doc.resolve(pos);\n if (!(chrome || windows) && $pos.parent.inlineContent) {\n let coords = view.coordsAtPos(pos);\n if (pos > $pos.start()) {\n let before = view.coordsAtPos(pos - 1);\n let mid = (before.top + before.bottom) / 2;\n if (mid > coords.top && mid < coords.bottom && Math.abs(before.left - coords.left) > 1)\n return before.left < coords.left ? \"ltr\" : \"rtl\";\n }\n if (pos < $pos.end()) {\n let after = view.coordsAtPos(pos + 1);\n let mid = (after.top + after.bottom) / 2;\n if (mid > coords.top && mid < coords.bottom && Math.abs(after.left - coords.left) > 1)\n return after.left > coords.left ? \"ltr\" : \"rtl\";\n }\n }\n let computed = getComputedStyle(view.dom).direction;\n return computed == \"rtl\" ? \"rtl\" : \"ltr\";\n}\n// Check whether vertical selection motion would involve node\n// selections. If so, apply it (if not, the result is left to the\n// browser)\nfunction selectVertically(view, dir, mods) {\n let sel = view.state.selection;\n if (sel instanceof TextSelection && !sel.empty || mods.indexOf(\"s\") > -1)\n return false;\n if (mac && mods.indexOf(\"m\") > -1)\n return false;\n let { $from, $to } = sel;\n if (!$from.parent.inlineContent || view.endOfTextblock(dir < 0 ? \"up\" : \"down\")) {\n let next = moveSelectionBlock(view.state, dir);\n if (next && (next instanceof NodeSelection))\n return apply(view, next);\n }\n if (!$from.parent.inlineContent) {\n let side = dir < 0 ? $from : $to;\n let beyond = sel instanceof AllSelection ? Selection.near(side, dir) : Selection.findFrom(side, dir);\n return beyond ? apply(view, beyond) : false;\n }\n return false;\n}\nfunction stopNativeHorizontalDelete(view, dir) {\n if (!(view.state.selection instanceof TextSelection))\n return true;\n let { $head, $anchor, empty } = view.state.selection;\n if (!$head.sameParent($anchor))\n return true;\n if (!empty)\n return false;\n if (view.endOfTextblock(dir > 0 ? \"forward\" : \"backward\"))\n return true;\n let nextNode = !$head.textOffset && (dir < 0 ? $head.nodeBefore : $head.nodeAfter);\n if (nextNode && !nextNode.isText) {\n let tr = view.state.tr;\n if (dir < 0)\n tr.delete($head.pos - nextNode.nodeSize, $head.pos);\n else\n tr.delete($head.pos, $head.pos + nextNode.nodeSize);\n view.dispatch(tr);\n return true;\n }\n return false;\n}\nfunction switchEditable(view, node, state) {\n view.domObserver.stop();\n node.contentEditable = state;\n view.domObserver.start();\n}\n// Issue #867 / #1090 / https://bugs.chromium.org/p/chromium/issues/detail?id=903821\n// In which Safari (and at some point in the past, Chrome) does really\n// wrong things when the down arrow is pressed when the cursor is\n// directly at the start of a textblock and has an uneditable node\n// after it\nfunction safariDownArrowBug(view) {\n if (!safari || view.state.selection.$head.parentOffset > 0)\n return false;\n let { focusNode, focusOffset } = view.domSelectionRange();\n if (focusNode && focusNode.nodeType == 1 && focusOffset == 0 &&\n focusNode.firstChild && focusNode.firstChild.contentEditable == \"false\") {\n let child = focusNode.firstChild;\n switchEditable(view, child, \"true\");\n setTimeout(() => switchEditable(view, child, \"false\"), 20);\n }\n return false;\n}\n// A backdrop key mapping used to make sure we always suppress keys\n// that have a dangerous default effect, even if the commands they are\n// bound to return false, and to make sure that cursor-motion keys\n// find a cursor (as opposed to a node selection) when pressed. For\n// cursor-motion keys, the code in the handlers also takes care of\n// block selections.\nfunction getMods(event) {\n let result = \"\";\n if (event.ctrlKey)\n result += \"c\";\n if (event.metaKey)\n result += \"m\";\n if (event.altKey)\n result += \"a\";\n if (event.shiftKey)\n result += \"s\";\n return result;\n}\nfunction captureKeyDown(view, event) {\n let code = event.keyCode, mods = getMods(event);\n if (code == 8 || (mac && code == 72 && mods == \"c\")) { // Backspace, Ctrl-h on Mac\n return stopNativeHorizontalDelete(view, -1) || skipIgnoredNodes(view, -1);\n }\n else if ((code == 46 && !event.shiftKey) || (mac && code == 68 && mods == \"c\")) { // Delete, Ctrl-d on Mac\n return stopNativeHorizontalDelete(view, 1) || skipIgnoredNodes(view, 1);\n }\n else if (code == 13 || code == 27) { // Enter, Esc\n return true;\n }\n else if (code == 37 || (mac && code == 66 && mods == \"c\")) { // Left arrow, Ctrl-b on Mac\n let dir = code == 37 ? (findDirection(view, view.state.selection.from) == \"ltr\" ? -1 : 1) : -1;\n return selectHorizontally(view, dir, mods) || skipIgnoredNodes(view, dir);\n }\n else if (code == 39 || (mac && code == 70 && mods == \"c\")) { // Right arrow, Ctrl-f on Mac\n let dir = code == 39 ? (findDirection(view, view.state.selection.from) == \"ltr\" ? 1 : -1) : 1;\n return selectHorizontally(view, dir, mods) || skipIgnoredNodes(view, dir);\n }\n else if (code == 38 || (mac && code == 80 && mods == \"c\")) { // Up arrow, Ctrl-p on Mac\n return selectVertically(view, -1, mods) || skipIgnoredNodes(view, -1);\n }\n else if (code == 40 || (mac && code == 78 && mods == \"c\")) { // Down arrow, Ctrl-n on Mac\n return safariDownArrowBug(view) || selectVertically(view, 1, mods) || skipIgnoredNodes(view, 1);\n }\n else if (mods == (mac ? \"m\" : \"c\") &&\n (code == 66 || code == 73 || code == 89 || code == 90)) { // Mod-[biyz]\n return true;\n }\n return false;\n}\n\nfunction serializeForClipboard(view, slice) {\n view.someProp(\"transformCopied\", f => { slice = f(slice, view); });\n let context = [], { content, openStart, openEnd } = slice;\n while (openStart > 1 && openEnd > 1 && content.childCount == 1 && content.firstChild.childCount == 1) {\n openStart--;\n openEnd--;\n let node = content.firstChild;\n context.push(node.type.name, node.attrs != node.type.defaultAttrs ? node.attrs : null);\n content = node.content;\n }\n let serializer = view.someProp(\"clipboardSerializer\") || DOMSerializer.fromSchema(view.state.schema);\n let doc = detachedDoc(), wrap = doc.createElement(\"div\");\n wrap.appendChild(serializer.serializeFragment(content, { document: doc }));\n let firstChild = wrap.firstChild, needsWrap, wrappers = 0;\n while (firstChild && firstChild.nodeType == 1 && (needsWrap = wrapMap[firstChild.nodeName.toLowerCase()])) {\n for (let i = needsWrap.length - 1; i >= 0; i--) {\n let wrapper = doc.createElement(needsWrap[i]);\n while (wrap.firstChild)\n wrapper.appendChild(wrap.firstChild);\n wrap.appendChild(wrapper);\n wrappers++;\n }\n firstChild = wrap.firstChild;\n }\n if (firstChild && firstChild.nodeType == 1)\n firstChild.setAttribute(\"data-pm-slice\", `${openStart} ${openEnd}${wrappers ? ` -${wrappers}` : \"\"} ${JSON.stringify(context)}`);\n let text = view.someProp(\"clipboardTextSerializer\", f => f(slice, view)) ||\n slice.content.textBetween(0, slice.content.size, \"\\n\\n\");\n return { dom: wrap, text, slice };\n}\n// Read a slice of content from the clipboard (or drop data).\nfunction parseFromClipboard(view, text, html, plainText, $context) {\n let inCode = $context.parent.type.spec.code;\n let dom, slice;\n if (!html && !text)\n return null;\n let asText = text && (plainText || inCode || !html);\n if (asText) {\n view.someProp(\"transformPastedText\", f => { text = f(text, inCode || plainText, view); });\n if (inCode)\n return text ? new Slice(Fragment.from(view.state.schema.text(text.replace(/\\r\\n?/g, \"\\n\"))), 0, 0) : Slice.empty;\n let parsed = view.someProp(\"clipboardTextParser\", f => f(text, $context, plainText, view));\n if (parsed) {\n slice = parsed;\n }\n else {\n let marks = $context.marks();\n let { schema } = view.state, serializer = DOMSerializer.fromSchema(schema);\n dom = document.createElement(\"div\");\n text.split(/(?:\\r\\n?|\\n)+/).forEach(block => {\n let p = dom.appendChild(document.createElement(\"p\"));\n if (block)\n p.appendChild(serializer.serializeNode(schema.text(block, marks)));\n });\n }\n }\n else {\n view.someProp(\"transformPastedHTML\", f => { html = f(html, view); });\n dom = readHTML(html);\n if (webkit)\n restoreReplacedSpaces(dom);\n }\n let contextNode = dom && dom.querySelector(\"[data-pm-slice]\");\n let sliceData = contextNode && /^(\\d+) (\\d+)(?: -(\\d+))? (.*)/.exec(contextNode.getAttribute(\"data-pm-slice\") || \"\");\n if (sliceData && sliceData[3])\n for (let i = +sliceData[3]; i > 0; i--) {\n let child = dom.firstChild;\n while (child && child.nodeType != 1)\n child = child.nextSibling;\n if (!child)\n break;\n dom = child;\n }\n if (!slice) {\n let parser = view.someProp(\"clipboardParser\") || view.someProp(\"domParser\") || DOMParser.fromSchema(view.state.schema);\n slice = parser.parseSlice(dom, {\n preserveWhitespace: !!(asText || sliceData),\n context: $context,\n ruleFromNode(dom) {\n if (dom.nodeName == \"BR\" && !dom.nextSibling &&\n dom.parentNode && !inlineParents.test(dom.parentNode.nodeName))\n return { ignore: true };\n return null;\n }\n });\n }\n if (sliceData) {\n slice = addContext(closeSlice(slice, +sliceData[1], +sliceData[2]), sliceData[4]);\n }\n else { // HTML wasn't created by ProseMirror. Make sure top-level siblings are coherent\n slice = Slice.maxOpen(normalizeSiblings(slice.content, $context), true);\n if (slice.openStart || slice.openEnd) {\n let openStart = 0, openEnd = 0;\n for (let node = slice.content.firstChild; openStart < slice.openStart && !node.type.spec.isolating; openStart++, node = node.firstChild) { }\n for (let node = slice.content.lastChild; openEnd < slice.openEnd && !node.type.spec.isolating; openEnd++, node = node.lastChild) { }\n slice = closeSlice(slice, openStart, openEnd);\n }\n }\n view.someProp(\"transformPasted\", f => { slice = f(slice, view); });\n return slice;\n}\nconst inlineParents = /^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;\n// Takes a slice parsed with parseSlice, which means there hasn't been\n// any content-expression checking done on the top nodes, tries to\n// find a parent node in the current context that might fit the nodes,\n// and if successful, rebuilds the slice so that it fits into that parent.\n//\n// This addresses the problem that Transform.replace expects a\n// coherent slice, and will fail to place a set of siblings that don't\n// fit anywhere in the schema.\nfunction normalizeSiblings(fragment, $context) {\n if (fragment.childCount < 2)\n return fragment;\n for (let d = $context.depth; d >= 0; d--) {\n let parent = $context.node(d);\n let match = parent.contentMatchAt($context.index(d));\n let lastWrap, result = [];\n fragment.forEach(node => {\n if (!result)\n return;\n let wrap = match.findWrapping(node.type), inLast;\n if (!wrap)\n return result = null;\n if (inLast = result.length && lastWrap.length && addToSibling(wrap, lastWrap, node, result[result.length - 1], 0)) {\n result[result.length - 1] = inLast;\n }\n else {\n if (result.length)\n result[result.length - 1] = closeRight(result[result.length - 1], lastWrap.length);\n let wrapped = withWrappers(node, wrap);\n result.push(wrapped);\n match = match.matchType(wrapped.type);\n lastWrap = wrap;\n }\n });\n if (result)\n return Fragment.from(result);\n }\n return fragment;\n}\nfunction withWrappers(node, wrap, from = 0) {\n for (let i = wrap.length - 1; i >= from; i--)\n node = wrap[i].create(null, Fragment.from(node));\n return node;\n}\n// Used to group adjacent nodes wrapped in similar parents by\n// normalizeSiblings into the same parent node\nfunction addToSibling(wrap, lastWrap, node, sibling, depth) {\n if (depth < wrap.length && depth < lastWrap.length && wrap[depth] == lastWrap[depth]) {\n let inner = addToSibling(wrap, lastWrap, node, sibling.lastChild, depth + 1);\n if (inner)\n return sibling.copy(sibling.content.replaceChild(sibling.childCount - 1, inner));\n let match = sibling.contentMatchAt(sibling.childCount);\n if (match.matchType(depth == wrap.length - 1 ? node.type : wrap[depth + 1]))\n return sibling.copy(sibling.content.append(Fragment.from(withWrappers(node, wrap, depth + 1))));\n }\n}\nfunction closeRight(node, depth) {\n if (depth == 0)\n return node;\n let fragment = node.content.replaceChild(node.childCount - 1, closeRight(node.lastChild, depth - 1));\n let fill = node.contentMatchAt(node.childCount).fillBefore(Fragment.empty, true);\n return node.copy(fragment.append(fill));\n}\nfunction closeRange(fragment, side, from, to, depth, openEnd) {\n let node = side < 0 ? fragment.firstChild : fragment.lastChild, inner = node.content;\n if (fragment.childCount > 1)\n openEnd = 0;\n if (depth < to - 1)\n inner = closeRange(inner, side, from, to, depth + 1, openEnd);\n if (depth >= from)\n inner = side < 0 ? node.contentMatchAt(0).fillBefore(inner, openEnd <= depth).append(inner)\n : inner.append(node.contentMatchAt(node.childCount).fillBefore(Fragment.empty, true));\n return fragment.replaceChild(side < 0 ? 0 : fragment.childCount - 1, node.copy(inner));\n}\nfunction closeSlice(slice, openStart, openEnd) {\n if (openStart < slice.openStart)\n slice = new Slice(closeRange(slice.content, -1, openStart, slice.openStart, 0, slice.openEnd), openStart, slice.openEnd);\n if (openEnd < slice.openEnd)\n slice = new Slice(closeRange(slice.content, 1, openEnd, slice.openEnd, 0, 0), slice.openStart, openEnd);\n return slice;\n}\n// Trick from jQuery -- some elements must be wrapped in other\n// elements for innerHTML to work. I.e. if you do `div.innerHTML =\n// \"..\"` the table cells are ignored.\nconst wrapMap = {\n thead: [\"table\"],\n tbody: [\"table\"],\n tfoot: [\"table\"],\n caption: [\"table\"],\n colgroup: [\"table\"],\n col: [\"table\", \"colgroup\"],\n tr: [\"table\", \"tbody\"],\n td: [\"table\", \"tbody\", \"tr\"],\n th: [\"table\", \"tbody\", \"tr\"]\n};\nlet _detachedDoc = null;\nfunction detachedDoc() {\n return _detachedDoc || (_detachedDoc = document.implementation.createHTMLDocument(\"title\"));\n}\nfunction readHTML(html) {\n let metas = /^(\\s*]*>)*/.exec(html);\n if (metas)\n html = html.slice(metas[0].length);\n let elt = detachedDoc().createElement(\"div\");\n let firstTag = /<([a-z][^>\\s]+)/i.exec(html), wrap;\n if (wrap = firstTag && wrapMap[firstTag[1].toLowerCase()])\n html = wrap.map(n => \"<\" + n + \">\").join(\"\") + html + wrap.map(n => \"\").reverse().join(\"\");\n elt.innerHTML = html;\n if (wrap)\n for (let i = 0; i < wrap.length; i++)\n elt = elt.querySelector(wrap[i]) || elt;\n return elt;\n}\n// Webkit browsers do some hard-to-predict replacement of regular\n// spaces with non-breaking spaces when putting content on the\n// clipboard. This tries to convert such non-breaking spaces (which\n// will be wrapped in a plain span on Chrome, a span with class\n// Apple-converted-space on Safari) back to regular spaces.\nfunction restoreReplacedSpaces(dom) {\n let nodes = dom.querySelectorAll(chrome ? \"span:not([class]):not([style])\" : \"span.Apple-converted-space\");\n for (let i = 0; i < nodes.length; i++) {\n let node = nodes[i];\n if (node.childNodes.length == 1 && node.textContent == \"\\u00a0\" && node.parentNode)\n node.parentNode.replaceChild(dom.ownerDocument.createTextNode(\" \"), node);\n }\n}\nfunction addContext(slice, context) {\n if (!slice.size)\n return slice;\n let schema = slice.content.firstChild.type.schema, array;\n try {\n array = JSON.parse(context);\n }\n catch (e) {\n return slice;\n }\n let { content, openStart, openEnd } = slice;\n for (let i = array.length - 2; i >= 0; i -= 2) {\n let type = schema.nodes[array[i]];\n if (!type || type.hasRequiredAttrs())\n break;\n content = Fragment.from(type.create(array[i + 1], content));\n openStart++;\n openEnd++;\n }\n return new Slice(content, openStart, openEnd);\n}\n\n// A collection of DOM events that occur within the editor, and callback functions\n// to invoke when the event fires.\nconst handlers = {};\nconst editHandlers = {};\nconst passiveHandlers = { touchstart: true, touchmove: true };\nclass InputState {\n constructor() {\n this.shiftKey = false;\n this.mouseDown = null;\n this.lastKeyCode = null;\n this.lastKeyCodeTime = 0;\n this.lastClick = { time: 0, x: 0, y: 0, type: \"\" };\n this.lastSelectionOrigin = null;\n this.lastSelectionTime = 0;\n this.lastIOSEnter = 0;\n this.lastIOSEnterFallbackTimeout = -1;\n this.lastFocus = 0;\n this.lastTouch = 0;\n this.lastAndroidDelete = 0;\n this.composing = false;\n this.compositionNode = null;\n this.composingTimeout = -1;\n this.compositionNodes = [];\n this.compositionEndedAt = -2e8;\n this.compositionID = 1;\n // Set to a composition ID when there are pending changes at compositionend\n this.compositionPendingChanges = 0;\n this.domChangeCount = 0;\n this.eventHandlers = Object.create(null);\n this.hideSelectionGuard = null;\n }\n}\nfunction initInput(view) {\n for (let event in handlers) {\n let handler = handlers[event];\n view.dom.addEventListener(event, view.input.eventHandlers[event] = (event) => {\n if (eventBelongsToView(view, event) && !runCustomHandler(view, event) &&\n (view.editable || !(event.type in editHandlers)))\n handler(view, event);\n }, passiveHandlers[event] ? { passive: true } : undefined);\n }\n // On Safari, for reasons beyond my understanding, adding an input\n // event handler makes an issue where the composition vanishes when\n // you press enter go away.\n if (safari)\n view.dom.addEventListener(\"input\", () => null);\n ensureListeners(view);\n}\nfunction setSelectionOrigin(view, origin) {\n view.input.lastSelectionOrigin = origin;\n view.input.lastSelectionTime = Date.now();\n}\nfunction destroyInput(view) {\n view.domObserver.stop();\n for (let type in view.input.eventHandlers)\n view.dom.removeEventListener(type, view.input.eventHandlers[type]);\n clearTimeout(view.input.composingTimeout);\n clearTimeout(view.input.lastIOSEnterFallbackTimeout);\n}\nfunction ensureListeners(view) {\n view.someProp(\"handleDOMEvents\", currentHandlers => {\n for (let type in currentHandlers)\n if (!view.input.eventHandlers[type])\n view.dom.addEventListener(type, view.input.eventHandlers[type] = event => runCustomHandler(view, event));\n });\n}\nfunction runCustomHandler(view, event) {\n return view.someProp(\"handleDOMEvents\", handlers => {\n let handler = handlers[event.type];\n return handler ? handler(view, event) || event.defaultPrevented : false;\n });\n}\nfunction eventBelongsToView(view, event) {\n if (!event.bubbles)\n return true;\n if (event.defaultPrevented)\n return false;\n for (let node = event.target; node != view.dom; node = node.parentNode)\n if (!node || node.nodeType == 11 ||\n (node.pmViewDesc && node.pmViewDesc.stopEvent(event)))\n return false;\n return true;\n}\nfunction dispatchEvent(view, event) {\n if (!runCustomHandler(view, event) && handlers[event.type] &&\n (view.editable || !(event.type in editHandlers)))\n handlers[event.type](view, event);\n}\neditHandlers.keydown = (view, _event) => {\n let event = _event;\n view.input.shiftKey = event.keyCode == 16 || event.shiftKey;\n if (inOrNearComposition(view, event))\n return;\n view.input.lastKeyCode = event.keyCode;\n view.input.lastKeyCodeTime = Date.now();\n // Suppress enter key events on Chrome Android, because those tend\n // to be part of a confused sequence of composition events fired,\n // and handling them eagerly tends to corrupt the input.\n if (android && chrome && event.keyCode == 13)\n return;\n if (event.keyCode != 229)\n view.domObserver.forceFlush();\n // On iOS, if we preventDefault enter key presses, the virtual\n // keyboard gets confused. So the hack here is to set a flag that\n // makes the DOM change code recognize that what just happens should\n // be replaced by whatever the Enter key handlers do.\n if (ios && event.keyCode == 13 && !event.ctrlKey && !event.altKey && !event.metaKey) {\n let now = Date.now();\n view.input.lastIOSEnter = now;\n view.input.lastIOSEnterFallbackTimeout = setTimeout(() => {\n if (view.input.lastIOSEnter == now) {\n view.someProp(\"handleKeyDown\", f => f(view, keyEvent(13, \"Enter\")));\n view.input.lastIOSEnter = 0;\n }\n }, 200);\n }\n else if (view.someProp(\"handleKeyDown\", f => f(view, event)) || captureKeyDown(view, event)) {\n event.preventDefault();\n }\n else {\n setSelectionOrigin(view, \"key\");\n }\n};\neditHandlers.keyup = (view, event) => {\n if (event.keyCode == 16)\n view.input.shiftKey = false;\n};\neditHandlers.keypress = (view, _event) => {\n let event = _event;\n if (inOrNearComposition(view, event) || !event.charCode ||\n event.ctrlKey && !event.altKey || mac && event.metaKey)\n return;\n if (view.someProp(\"handleKeyPress\", f => f(view, event))) {\n event.preventDefault();\n return;\n }\n let sel = view.state.selection;\n if (!(sel instanceof TextSelection) || !sel.$from.sameParent(sel.$to)) {\n let text = String.fromCharCode(event.charCode);\n if (!/[\\r\\n]/.test(text) && !view.someProp(\"handleTextInput\", f => f(view, sel.$from.pos, sel.$to.pos, text)))\n view.dispatch(view.state.tr.insertText(text).scrollIntoView());\n event.preventDefault();\n }\n};\nfunction eventCoords(event) { return { left: event.clientX, top: event.clientY }; }\nfunction isNear(event, click) {\n let dx = click.x - event.clientX, dy = click.y - event.clientY;\n return dx * dx + dy * dy < 100;\n}\nfunction runHandlerOnContext(view, propName, pos, inside, event) {\n if (inside == -1)\n return false;\n let $pos = view.state.doc.resolve(inside);\n for (let i = $pos.depth + 1; i > 0; i--) {\n if (view.someProp(propName, f => i > $pos.depth ? f(view, pos, $pos.nodeAfter, $pos.before(i), event, true)\n : f(view, pos, $pos.node(i), $pos.before(i), event, false)))\n return true;\n }\n return false;\n}\nfunction updateSelection(view, selection, origin) {\n if (!view.focused)\n view.focus();\n let tr = view.state.tr.setSelection(selection);\n if (origin == \"pointer\")\n tr.setMeta(\"pointer\", true);\n view.dispatch(tr);\n}\nfunction selectClickedLeaf(view, inside) {\n if (inside == -1)\n return false;\n let $pos = view.state.doc.resolve(inside), node = $pos.nodeAfter;\n if (node && node.isAtom && NodeSelection.isSelectable(node)) {\n updateSelection(view, new NodeSelection($pos), \"pointer\");\n return true;\n }\n return false;\n}\nfunction selectClickedNode(view, inside) {\n if (inside == -1)\n return false;\n let sel = view.state.selection, selectedNode, selectAt;\n if (sel instanceof NodeSelection)\n selectedNode = sel.node;\n let $pos = view.state.doc.resolve(inside);\n for (let i = $pos.depth + 1; i > 0; i--) {\n let node = i > $pos.depth ? $pos.nodeAfter : $pos.node(i);\n if (NodeSelection.isSelectable(node)) {\n if (selectedNode && sel.$from.depth > 0 &&\n i >= sel.$from.depth && $pos.before(sel.$from.depth + 1) == sel.$from.pos)\n selectAt = $pos.before(sel.$from.depth);\n else\n selectAt = $pos.before(i);\n break;\n }\n }\n if (selectAt != null) {\n updateSelection(view, NodeSelection.create(view.state.doc, selectAt), \"pointer\");\n return true;\n }\n else {\n return false;\n }\n}\nfunction handleSingleClick(view, pos, inside, event, selectNode) {\n return runHandlerOnContext(view, \"handleClickOn\", pos, inside, event) ||\n view.someProp(\"handleClick\", f => f(view, pos, event)) ||\n (selectNode ? selectClickedNode(view, inside) : selectClickedLeaf(view, inside));\n}\nfunction handleDoubleClick(view, pos, inside, event) {\n return runHandlerOnContext(view, \"handleDoubleClickOn\", pos, inside, event) ||\n view.someProp(\"handleDoubleClick\", f => f(view, pos, event));\n}\nfunction handleTripleClick(view, pos, inside, event) {\n return runHandlerOnContext(view, \"handleTripleClickOn\", pos, inside, event) ||\n view.someProp(\"handleTripleClick\", f => f(view, pos, event)) ||\n defaultTripleClick(view, inside, event);\n}\nfunction defaultTripleClick(view, inside, event) {\n if (event.button != 0)\n return false;\n let doc = view.state.doc;\n if (inside == -1) {\n if (doc.inlineContent) {\n updateSelection(view, TextSelection.create(doc, 0, doc.content.size), \"pointer\");\n return true;\n }\n return false;\n }\n let $pos = doc.resolve(inside);\n for (let i = $pos.depth + 1; i > 0; i--) {\n let node = i > $pos.depth ? $pos.nodeAfter : $pos.node(i);\n let nodePos = $pos.before(i);\n if (node.inlineContent)\n updateSelection(view, TextSelection.create(doc, nodePos + 1, nodePos + 1 + node.content.size), \"pointer\");\n else if (NodeSelection.isSelectable(node))\n updateSelection(view, NodeSelection.create(doc, nodePos), \"pointer\");\n else\n continue;\n return true;\n }\n}\nfunction forceDOMFlush(view) {\n return endComposition(view);\n}\nconst selectNodeModifier = mac ? \"metaKey\" : \"ctrlKey\";\nhandlers.mousedown = (view, _event) => {\n let event = _event;\n view.input.shiftKey = event.shiftKey;\n let flushed = forceDOMFlush(view);\n let now = Date.now(), type = \"singleClick\";\n if (now - view.input.lastClick.time < 500 && isNear(event, view.input.lastClick) && !event[selectNodeModifier]) {\n if (view.input.lastClick.type == \"singleClick\")\n type = \"doubleClick\";\n else if (view.input.lastClick.type == \"doubleClick\")\n type = \"tripleClick\";\n }\n view.input.lastClick = { time: now, x: event.clientX, y: event.clientY, type };\n let pos = view.posAtCoords(eventCoords(event));\n if (!pos)\n return;\n if (type == \"singleClick\") {\n if (view.input.mouseDown)\n view.input.mouseDown.done();\n view.input.mouseDown = new MouseDown(view, pos, event, !!flushed);\n }\n else if ((type == \"doubleClick\" ? handleDoubleClick : handleTripleClick)(view, pos.pos, pos.inside, event)) {\n event.preventDefault();\n }\n else {\n setSelectionOrigin(view, \"pointer\");\n }\n};\nclass MouseDown {\n constructor(view, pos, event, flushed) {\n this.view = view;\n this.pos = pos;\n this.event = event;\n this.flushed = flushed;\n this.delayedSelectionSync = false;\n this.mightDrag = null;\n this.startDoc = view.state.doc;\n this.selectNode = !!event[selectNodeModifier];\n this.allowDefault = event.shiftKey;\n let targetNode, targetPos;\n if (pos.inside > -1) {\n targetNode = view.state.doc.nodeAt(pos.inside);\n targetPos = pos.inside;\n }\n else {\n let $pos = view.state.doc.resolve(pos.pos);\n targetNode = $pos.parent;\n targetPos = $pos.depth ? $pos.before() : 0;\n }\n const target = flushed ? null : event.target;\n const targetDesc = target ? view.docView.nearestDesc(target, true) : null;\n this.target = targetDesc && targetDesc.dom.nodeType == 1 ? targetDesc.dom : null;\n let { selection } = view.state;\n if (event.button == 0 &&\n targetNode.type.spec.draggable && targetNode.type.spec.selectable !== false ||\n selection instanceof NodeSelection && selection.from <= targetPos && selection.to > targetPos)\n this.mightDrag = {\n node: targetNode,\n pos: targetPos,\n addAttr: !!(this.target && !this.target.draggable),\n setUneditable: !!(this.target && gecko && !this.target.hasAttribute(\"contentEditable\"))\n };\n if (this.target && this.mightDrag && (this.mightDrag.addAttr || this.mightDrag.setUneditable)) {\n this.view.domObserver.stop();\n if (this.mightDrag.addAttr)\n this.target.draggable = true;\n if (this.mightDrag.setUneditable)\n setTimeout(() => {\n if (this.view.input.mouseDown == this)\n this.target.setAttribute(\"contentEditable\", \"false\");\n }, 20);\n this.view.domObserver.start();\n }\n view.root.addEventListener(\"mouseup\", this.up = this.up.bind(this));\n view.root.addEventListener(\"mousemove\", this.move = this.move.bind(this));\n setSelectionOrigin(view, \"pointer\");\n }\n done() {\n this.view.root.removeEventListener(\"mouseup\", this.up);\n this.view.root.removeEventListener(\"mousemove\", this.move);\n if (this.mightDrag && this.target) {\n this.view.domObserver.stop();\n if (this.mightDrag.addAttr)\n this.target.removeAttribute(\"draggable\");\n if (this.mightDrag.setUneditable)\n this.target.removeAttribute(\"contentEditable\");\n this.view.domObserver.start();\n }\n if (this.delayedSelectionSync)\n setTimeout(() => selectionToDOM(this.view));\n this.view.input.mouseDown = null;\n }\n up(event) {\n this.done();\n if (!this.view.dom.contains(event.target))\n return;\n let pos = this.pos;\n if (this.view.state.doc != this.startDoc)\n pos = this.view.posAtCoords(eventCoords(event));\n this.updateAllowDefault(event);\n if (this.allowDefault || !pos) {\n setSelectionOrigin(this.view, \"pointer\");\n }\n else if (handleSingleClick(this.view, pos.pos, pos.inside, event, this.selectNode)) {\n event.preventDefault();\n }\n else if (event.button == 0 &&\n (this.flushed ||\n // Safari ignores clicks on draggable elements\n (safari && this.mightDrag && !this.mightDrag.node.isAtom) ||\n // Chrome will sometimes treat a node selection as a\n // cursor, but still report that the node is selected\n // when asked through getSelection. You'll then get a\n // situation where clicking at the point where that\n // (hidden) cursor is doesn't change the selection, and\n // thus doesn't get a reaction from ProseMirror. This\n // works around that.\n (chrome && !this.view.state.selection.visible &&\n Math.min(Math.abs(pos.pos - this.view.state.selection.from), Math.abs(pos.pos - this.view.state.selection.to)) <= 2))) {\n updateSelection(this.view, Selection.near(this.view.state.doc.resolve(pos.pos)), \"pointer\");\n event.preventDefault();\n }\n else {\n setSelectionOrigin(this.view, \"pointer\");\n }\n }\n move(event) {\n this.updateAllowDefault(event);\n setSelectionOrigin(this.view, \"pointer\");\n if (event.buttons == 0)\n this.done();\n }\n updateAllowDefault(event) {\n if (!this.allowDefault && (Math.abs(this.event.x - event.clientX) > 4 ||\n Math.abs(this.event.y - event.clientY) > 4))\n this.allowDefault = true;\n }\n}\nhandlers.touchstart = view => {\n view.input.lastTouch = Date.now();\n forceDOMFlush(view);\n setSelectionOrigin(view, \"pointer\");\n};\nhandlers.touchmove = view => {\n view.input.lastTouch = Date.now();\n setSelectionOrigin(view, \"pointer\");\n};\nhandlers.contextmenu = view => forceDOMFlush(view);\nfunction inOrNearComposition(view, event) {\n if (view.composing)\n return true;\n // See https://www.stum.de/2016/06/24/handling-ime-events-in-javascript/.\n // On Japanese input method editors (IMEs), the Enter key is used to confirm character\n // selection. On Safari, when Enter is pressed, compositionend and keydown events are\n // emitted. The keydown event triggers newline insertion, which we don't want.\n // This method returns true if the keydown event should be ignored.\n // We only ignore it once, as pressing Enter a second time *should* insert a newline.\n // Furthermore, the keydown event timestamp must be close to the compositionEndedAt timestamp.\n // This guards against the case where compositionend is triggered without the keyboard\n // (e.g. character confirmation may be done with the mouse), and keydown is triggered\n // afterwards- we wouldn't want to ignore the keydown event in this case.\n if (safari && Math.abs(event.timeStamp - view.input.compositionEndedAt) < 500) {\n view.input.compositionEndedAt = -2e8;\n return true;\n }\n return false;\n}\n// Drop active composition after 5 seconds of inactivity on Android\nconst timeoutComposition = android ? 5000 : -1;\neditHandlers.compositionstart = editHandlers.compositionupdate = view => {\n if (!view.composing) {\n view.domObserver.flush();\n let { state } = view, $pos = state.selection.$from;\n if (state.selection.empty &&\n (state.storedMarks ||\n (!$pos.textOffset && $pos.parentOffset && $pos.nodeBefore.marks.some(m => m.type.spec.inclusive === false)))) {\n // Need to wrap the cursor in mark nodes different from the ones in the DOM context\n view.markCursor = view.state.storedMarks || $pos.marks();\n endComposition(view, true);\n view.markCursor = null;\n }\n else {\n endComposition(view);\n // In firefox, if the cursor is after but outside a marked node,\n // the inserted text won't inherit the marks. So this moves it\n // inside if necessary.\n if (gecko && state.selection.empty && $pos.parentOffset && !$pos.textOffset && $pos.nodeBefore.marks.length) {\n let sel = view.domSelectionRange();\n for (let node = sel.focusNode, offset = sel.focusOffset; node && node.nodeType == 1 && offset != 0;) {\n let before = offset < 0 ? node.lastChild : node.childNodes[offset - 1];\n if (!before)\n break;\n if (before.nodeType == 3) {\n view.domSelection().collapse(before, before.nodeValue.length);\n break;\n }\n else {\n node = before;\n offset = -1;\n }\n }\n }\n }\n view.input.composing = true;\n }\n scheduleComposeEnd(view, timeoutComposition);\n};\neditHandlers.compositionend = (view, event) => {\n if (view.composing) {\n view.input.composing = false;\n view.input.compositionEndedAt = event.timeStamp;\n view.input.compositionPendingChanges = view.domObserver.pendingRecords().length ? view.input.compositionID : 0;\n view.input.compositionNode = null;\n if (view.input.compositionPendingChanges)\n Promise.resolve().then(() => view.domObserver.flush());\n view.input.compositionID++;\n scheduleComposeEnd(view, 20);\n }\n};\nfunction scheduleComposeEnd(view, delay) {\n clearTimeout(view.input.composingTimeout);\n if (delay > -1)\n view.input.composingTimeout = setTimeout(() => endComposition(view), delay);\n}\nfunction clearComposition(view) {\n if (view.composing) {\n view.input.composing = false;\n view.input.compositionEndedAt = timestampFromCustomEvent();\n }\n while (view.input.compositionNodes.length > 0)\n view.input.compositionNodes.pop().markParentsDirty();\n}\nfunction findCompositionNode(view) {\n let sel = view.domSelectionRange();\n if (!sel.focusNode)\n return null;\n let textBefore = textNodeBefore$1(sel.focusNode, sel.focusOffset);\n let textAfter = textNodeAfter$1(sel.focusNode, sel.focusOffset);\n if (textBefore && textAfter && textBefore != textAfter) {\n let descAfter = textAfter.pmViewDesc, lastChanged = view.domObserver.lastChangedTextNode;\n if (textBefore == lastChanged || textAfter == lastChanged)\n return lastChanged;\n if (!descAfter || !descAfter.isText(textAfter.nodeValue)) {\n return textAfter;\n }\n else if (view.input.compositionNode == textAfter) {\n let descBefore = textBefore.pmViewDesc;\n if (!(!descBefore || !descBefore.isText(textBefore.nodeValue)))\n return textAfter;\n }\n }\n return textBefore || textAfter;\n}\nfunction timestampFromCustomEvent() {\n let event = document.createEvent(\"Event\");\n event.initEvent(\"event\", true, true);\n return event.timeStamp;\n}\n/**\n@internal\n*/\nfunction endComposition(view, forceUpdate = false) {\n if (android && view.domObserver.flushingSoon >= 0)\n return;\n view.domObserver.forceFlush();\n clearComposition(view);\n if (forceUpdate || view.docView && view.docView.dirty) {\n let sel = selectionFromDOM(view);\n if (sel && !sel.eq(view.state.selection))\n view.dispatch(view.state.tr.setSelection(sel));\n else\n view.updateState(view.state);\n return true;\n }\n return false;\n}\nfunction captureCopy(view, dom) {\n // The extra wrapper is somehow necessary on IE/Edge to prevent the\n // content from being mangled when it is put onto the clipboard\n if (!view.dom.parentNode)\n return;\n let wrap = view.dom.parentNode.appendChild(document.createElement(\"div\"));\n wrap.appendChild(dom);\n wrap.style.cssText = \"position: fixed; left: -10000px; top: 10px\";\n let sel = getSelection(), range = document.createRange();\n range.selectNodeContents(dom);\n // Done because IE will fire a selectionchange moving the selection\n // to its start when removeAllRanges is called and the editor still\n // has focus (which will mess up the editor's selection state).\n view.dom.blur();\n sel.removeAllRanges();\n sel.addRange(range);\n setTimeout(() => {\n if (wrap.parentNode)\n wrap.parentNode.removeChild(wrap);\n view.focus();\n }, 50);\n}\n// This is very crude, but unfortunately both these browsers _pretend_\n// that they have a clipboard API—all the objects and methods are\n// there, they just don't work, and they are hard to test.\nconst brokenClipboardAPI = (ie && ie_version < 15) ||\n (ios && webkit_version < 604);\nhandlers.copy = editHandlers.cut = (view, _event) => {\n let event = _event;\n let sel = view.state.selection, cut = event.type == \"cut\";\n if (sel.empty)\n return;\n // IE and Edge's clipboard interface is completely broken\n let data = brokenClipboardAPI ? null : event.clipboardData;\n let slice = sel.content(), { dom, text } = serializeForClipboard(view, slice);\n if (data) {\n event.preventDefault();\n data.clearData();\n data.setData(\"text/html\", dom.innerHTML);\n data.setData(\"text/plain\", text);\n }\n else {\n captureCopy(view, dom);\n }\n if (cut)\n view.dispatch(view.state.tr.deleteSelection().scrollIntoView().setMeta(\"uiEvent\", \"cut\"));\n};\nfunction sliceSingleNode(slice) {\n return slice.openStart == 0 && slice.openEnd == 0 && slice.content.childCount == 1 ? slice.content.firstChild : null;\n}\nfunction capturePaste(view, event) {\n if (!view.dom.parentNode)\n return;\n let plainText = view.input.shiftKey || view.state.selection.$from.parent.type.spec.code;\n let target = view.dom.parentNode.appendChild(document.createElement(plainText ? \"textarea\" : \"div\"));\n if (!plainText)\n target.contentEditable = \"true\";\n target.style.cssText = \"position: fixed; left: -10000px; top: 10px\";\n target.focus();\n let plain = view.input.shiftKey && view.input.lastKeyCode != 45;\n setTimeout(() => {\n view.focus();\n if (target.parentNode)\n target.parentNode.removeChild(target);\n if (plainText)\n doPaste(view, target.value, null, plain, event);\n else\n doPaste(view, target.textContent, target.innerHTML, plain, event);\n }, 50);\n}\nfunction doPaste(view, text, html, preferPlain, event) {\n let slice = parseFromClipboard(view, text, html, preferPlain, view.state.selection.$from);\n if (view.someProp(\"handlePaste\", f => f(view, event, slice || Slice.empty)))\n return true;\n if (!slice)\n return false;\n let singleNode = sliceSingleNode(slice);\n let tr = singleNode\n ? view.state.tr.replaceSelectionWith(singleNode, preferPlain)\n : view.state.tr.replaceSelection(slice);\n view.dispatch(tr.scrollIntoView().setMeta(\"paste\", true).setMeta(\"uiEvent\", \"paste\"));\n return true;\n}\nfunction getText(clipboardData) {\n let text = clipboardData.getData(\"text/plain\") || clipboardData.getData(\"Text\");\n if (text)\n return text;\n let uris = clipboardData.getData(\"text/uri-list\");\n return uris ? uris.replace(/\\r?\\n/g, \" \") : \"\";\n}\neditHandlers.paste = (view, _event) => {\n let event = _event;\n // Handling paste from JavaScript during composition is very poorly\n // handled by browsers, so as a dodgy but preferable kludge, we just\n // let the browser do its native thing there, except on Android,\n // where the editor is almost always composing.\n if (view.composing && !android)\n return;\n let data = brokenClipboardAPI ? null : event.clipboardData;\n let plain = view.input.shiftKey && view.input.lastKeyCode != 45;\n if (data && doPaste(view, getText(data), data.getData(\"text/html\"), plain, event))\n event.preventDefault();\n else\n capturePaste(view, event);\n};\nclass Dragging {\n constructor(slice, move, node) {\n this.slice = slice;\n this.move = move;\n this.node = node;\n }\n}\nconst dragCopyModifier = mac ? \"altKey\" : \"ctrlKey\";\nhandlers.dragstart = (view, _event) => {\n let event = _event;\n let mouseDown = view.input.mouseDown;\n if (mouseDown)\n mouseDown.done();\n if (!event.dataTransfer)\n return;\n let sel = view.state.selection;\n let pos = sel.empty ? null : view.posAtCoords(eventCoords(event));\n let node;\n if (pos && pos.pos >= sel.from && pos.pos <= (sel instanceof NodeSelection ? sel.to - 1 : sel.to)) ;\n else if (mouseDown && mouseDown.mightDrag) {\n node = NodeSelection.create(view.state.doc, mouseDown.mightDrag.pos);\n }\n else if (event.target && event.target.nodeType == 1) {\n let desc = view.docView.nearestDesc(event.target, true);\n if (desc && desc.node.type.spec.draggable && desc != view.docView)\n node = NodeSelection.create(view.state.doc, desc.posBefore);\n }\n let draggedSlice = (node || view.state.selection).content();\n let { dom, text, slice } = serializeForClipboard(view, draggedSlice);\n event.dataTransfer.clearData();\n event.dataTransfer.setData(brokenClipboardAPI ? \"Text\" : \"text/html\", dom.innerHTML);\n // See https://github.com/ProseMirror/prosemirror/issues/1156\n event.dataTransfer.effectAllowed = \"copyMove\";\n if (!brokenClipboardAPI)\n event.dataTransfer.setData(\"text/plain\", text);\n view.dragging = new Dragging(slice, !event[dragCopyModifier], node);\n};\nhandlers.dragend = view => {\n let dragging = view.dragging;\n window.setTimeout(() => {\n if (view.dragging == dragging)\n view.dragging = null;\n }, 50);\n};\neditHandlers.dragover = editHandlers.dragenter = (_, e) => e.preventDefault();\neditHandlers.drop = (view, _event) => {\n let event = _event;\n let dragging = view.dragging;\n view.dragging = null;\n if (!event.dataTransfer)\n return;\n let eventPos = view.posAtCoords(eventCoords(event));\n if (!eventPos)\n return;\n let $mouse = view.state.doc.resolve(eventPos.pos);\n let slice = dragging && dragging.slice;\n if (slice) {\n view.someProp(\"transformPasted\", f => { slice = f(slice, view); });\n }\n else {\n slice = parseFromClipboard(view, getText(event.dataTransfer), brokenClipboardAPI ? null : event.dataTransfer.getData(\"text/html\"), false, $mouse);\n }\n let move = !!(dragging && !event[dragCopyModifier]);\n if (view.someProp(\"handleDrop\", f => f(view, event, slice || Slice.empty, move))) {\n event.preventDefault();\n return;\n }\n if (!slice)\n return;\n event.preventDefault();\n let insertPos = slice ? dropPoint(view.state.doc, $mouse.pos, slice) : $mouse.pos;\n if (insertPos == null)\n insertPos = $mouse.pos;\n let tr = view.state.tr;\n if (move) {\n let { node } = dragging;\n if (node)\n node.replace(tr);\n else\n tr.deleteSelection();\n }\n let pos = tr.mapping.map(insertPos);\n let isNode = slice.openStart == 0 && slice.openEnd == 0 && slice.content.childCount == 1;\n let beforeInsert = tr.doc;\n if (isNode)\n tr.replaceRangeWith(pos, pos, slice.content.firstChild);\n else\n tr.replaceRange(pos, pos, slice);\n if (tr.doc.eq(beforeInsert))\n return;\n let $pos = tr.doc.resolve(pos);\n if (isNode && NodeSelection.isSelectable(slice.content.firstChild) &&\n $pos.nodeAfter && $pos.nodeAfter.sameMarkup(slice.content.firstChild)) {\n tr.setSelection(new NodeSelection($pos));\n }\n else {\n let end = tr.mapping.map(insertPos);\n tr.mapping.maps[tr.mapping.maps.length - 1].forEach((_from, _to, _newFrom, newTo) => end = newTo);\n tr.setSelection(selectionBetween(view, $pos, tr.doc.resolve(end)));\n }\n view.focus();\n view.dispatch(tr.setMeta(\"uiEvent\", \"drop\"));\n};\nhandlers.focus = view => {\n view.input.lastFocus = Date.now();\n if (!view.focused) {\n view.domObserver.stop();\n view.dom.classList.add(\"ProseMirror-focused\");\n view.domObserver.start();\n view.focused = true;\n setTimeout(() => {\n if (view.docView && view.hasFocus() && !view.domObserver.currentSelection.eq(view.domSelectionRange()))\n selectionToDOM(view);\n }, 20);\n }\n};\nhandlers.blur = (view, _event) => {\n let event = _event;\n if (view.focused) {\n view.domObserver.stop();\n view.dom.classList.remove(\"ProseMirror-focused\");\n view.domObserver.start();\n if (event.relatedTarget && view.dom.contains(event.relatedTarget))\n view.domObserver.currentSelection.clear();\n view.focused = false;\n }\n};\nhandlers.beforeinput = (view, _event) => {\n let event = _event;\n // We should probably do more with beforeinput events, but support\n // is so spotty that I'm still waiting to see where they are going.\n // Very specific hack to deal with backspace sometimes failing on\n // Chrome Android when after an uneditable node.\n if (chrome && android && event.inputType == \"deleteContentBackward\") {\n view.domObserver.flushSoon();\n let { domChangeCount } = view.input;\n setTimeout(() => {\n if (view.input.domChangeCount != domChangeCount)\n return; // Event already had some effect\n // This bug tends to close the virtual keyboard, so we refocus\n view.dom.blur();\n view.focus();\n if (view.someProp(\"handleKeyDown\", f => f(view, keyEvent(8, \"Backspace\"))))\n return;\n let { $cursor } = view.state.selection;\n // Crude approximation of backspace behavior when no command handled it\n if ($cursor && $cursor.pos > 0)\n view.dispatch(view.state.tr.delete($cursor.pos - 1, $cursor.pos).scrollIntoView());\n }, 50);\n }\n};\n// Make sure all handlers get registered\nfor (let prop in editHandlers)\n handlers[prop] = editHandlers[prop];\n\nfunction compareObjs(a, b) {\n if (a == b)\n return true;\n for (let p in a)\n if (a[p] !== b[p])\n return false;\n for (let p in b)\n if (!(p in a))\n return false;\n return true;\n}\nclass WidgetType {\n constructor(toDOM, spec) {\n this.toDOM = toDOM;\n this.spec = spec || noSpec;\n this.side = this.spec.side || 0;\n }\n map(mapping, span, offset, oldOffset) {\n let { pos, deleted } = mapping.mapResult(span.from + oldOffset, this.side < 0 ? -1 : 1);\n return deleted ? null : new Decoration(pos - offset, pos - offset, this);\n }\n valid() { return true; }\n eq(other) {\n return this == other ||\n (other instanceof WidgetType &&\n (this.spec.key && this.spec.key == other.spec.key ||\n this.toDOM == other.toDOM && compareObjs(this.spec, other.spec)));\n }\n destroy(node) {\n if (this.spec.destroy)\n this.spec.destroy(node);\n }\n}\nclass InlineType {\n constructor(attrs, spec) {\n this.attrs = attrs;\n this.spec = spec || noSpec;\n }\n map(mapping, span, offset, oldOffset) {\n let from = mapping.map(span.from + oldOffset, this.spec.inclusiveStart ? -1 : 1) - offset;\n let to = mapping.map(span.to + oldOffset, this.spec.inclusiveEnd ? 1 : -1) - offset;\n return from >= to ? null : new Decoration(from, to, this);\n }\n valid(_, span) { return span.from < span.to; }\n eq(other) {\n return this == other ||\n (other instanceof InlineType && compareObjs(this.attrs, other.attrs) &&\n compareObjs(this.spec, other.spec));\n }\n static is(span) { return span.type instanceof InlineType; }\n destroy() { }\n}\nclass NodeType {\n constructor(attrs, spec) {\n this.attrs = attrs;\n this.spec = spec || noSpec;\n }\n map(mapping, span, offset, oldOffset) {\n let from = mapping.mapResult(span.from + oldOffset, 1);\n if (from.deleted)\n return null;\n let to = mapping.mapResult(span.to + oldOffset, -1);\n if (to.deleted || to.pos <= from.pos)\n return null;\n return new Decoration(from.pos - offset, to.pos - offset, this);\n }\n valid(node, span) {\n let { index, offset } = node.content.findIndex(span.from), child;\n return offset == span.from && !(child = node.child(index)).isText && offset + child.nodeSize == span.to;\n }\n eq(other) {\n return this == other ||\n (other instanceof NodeType && compareObjs(this.attrs, other.attrs) &&\n compareObjs(this.spec, other.spec));\n }\n destroy() { }\n}\n/**\nDecoration objects can be provided to the view through the\n[`decorations` prop](https://prosemirror.net/docs/ref/#view.EditorProps.decorations). They come in\nseveral variants—see the static members of this class for details.\n*/\nclass Decoration {\n /**\n @internal\n */\n constructor(\n /**\n The start position of the decoration.\n */\n from, \n /**\n The end position. Will be the same as `from` for [widget\n decorations](https://prosemirror.net/docs/ref/#view.Decoration^widget).\n */\n to, \n /**\n @internal\n */\n type) {\n this.from = from;\n this.to = to;\n this.type = type;\n }\n /**\n @internal\n */\n copy(from, to) {\n return new Decoration(from, to, this.type);\n }\n /**\n @internal\n */\n eq(other, offset = 0) {\n return this.type.eq(other.type) && this.from + offset == other.from && this.to + offset == other.to;\n }\n /**\n @internal\n */\n map(mapping, offset, oldOffset) {\n return this.type.map(mapping, this, offset, oldOffset);\n }\n /**\n Creates a widget decoration, which is a DOM node that's shown in\n the document at the given position. It is recommended that you\n delay rendering the widget by passing a function that will be\n called when the widget is actually drawn in a view, but you can\n also directly pass a DOM node. `getPos` can be used to find the\n widget's current document position.\n */\n static widget(pos, toDOM, spec) {\n return new Decoration(pos, pos, new WidgetType(toDOM, spec));\n }\n /**\n Creates an inline decoration, which adds the given attributes to\n each inline node between `from` and `to`.\n */\n static inline(from, to, attrs, spec) {\n return new Decoration(from, to, new InlineType(attrs, spec));\n }\n /**\n Creates a node decoration. `from` and `to` should point precisely\n before and after a node in the document. That node, and only that\n node, will receive the given attributes.\n */\n static node(from, to, attrs, spec) {\n return new Decoration(from, to, new NodeType(attrs, spec));\n }\n /**\n The spec provided when creating this decoration. Can be useful\n if you've stored extra information in that object.\n */\n get spec() { return this.type.spec; }\n /**\n @internal\n */\n get inline() { return this.type instanceof InlineType; }\n /**\n @internal\n */\n get widget() { return this.type instanceof WidgetType; }\n}\nconst none = [], noSpec = {};\n/**\nA collection of [decorations](https://prosemirror.net/docs/ref/#view.Decoration), organized in such\na way that the drawing algorithm can efficiently use and compare\nthem. This is a persistent data structure—it is not modified,\nupdates create a new value.\n*/\nclass DecorationSet {\n /**\n @internal\n */\n constructor(local, children) {\n this.local = local.length ? local : none;\n this.children = children.length ? children : none;\n }\n /**\n Create a set of decorations, using the structure of the given\n document. This will consume (modify) the `decorations` array, so\n you must make a copy if you want need to preserve that.\n */\n static create(doc, decorations) {\n return decorations.length ? buildTree(decorations, doc, 0, noSpec) : empty;\n }\n /**\n Find all decorations in this set which touch the given range\n (including decorations that start or end directly at the\n boundaries) and match the given predicate on their spec. When\n `start` and `end` are omitted, all decorations in the set are\n considered. When `predicate` isn't given, all decorations are\n assumed to match.\n */\n find(start, end, predicate) {\n let result = [];\n this.findInner(start == null ? 0 : start, end == null ? 1e9 : end, result, 0, predicate);\n return result;\n }\n findInner(start, end, result, offset, predicate) {\n for (let i = 0; i < this.local.length; i++) {\n let span = this.local[i];\n if (span.from <= end && span.to >= start && (!predicate || predicate(span.spec)))\n result.push(span.copy(span.from + offset, span.to + offset));\n }\n for (let i = 0; i < this.children.length; i += 3) {\n if (this.children[i] < end && this.children[i + 1] > start) {\n let childOff = this.children[i] + 1;\n this.children[i + 2].findInner(start - childOff, end - childOff, result, offset + childOff, predicate);\n }\n }\n }\n /**\n Map the set of decorations in response to a change in the\n document.\n */\n map(mapping, doc, options) {\n if (this == empty || mapping.maps.length == 0)\n return this;\n return this.mapInner(mapping, doc, 0, 0, options || noSpec);\n }\n /**\n @internal\n */\n mapInner(mapping, node, offset, oldOffset, options) {\n let newLocal;\n for (let i = 0; i < this.local.length; i++) {\n let mapped = this.local[i].map(mapping, offset, oldOffset);\n if (mapped && mapped.type.valid(node, mapped))\n (newLocal || (newLocal = [])).push(mapped);\n else if (options.onRemove)\n options.onRemove(this.local[i].spec);\n }\n if (this.children.length)\n return mapChildren(this.children, newLocal || [], mapping, node, offset, oldOffset, options);\n else\n return newLocal ? new DecorationSet(newLocal.sort(byPos), none) : empty;\n }\n /**\n Add the given array of decorations to the ones in the set,\n producing a new set. Consumes the `decorations` array. Needs\n access to the current document to create the appropriate tree\n structure.\n */\n add(doc, decorations) {\n if (!decorations.length)\n return this;\n if (this == empty)\n return DecorationSet.create(doc, decorations);\n return this.addInner(doc, decorations, 0);\n }\n addInner(doc, decorations, offset) {\n let children, childIndex = 0;\n doc.forEach((childNode, childOffset) => {\n let baseOffset = childOffset + offset, found;\n if (!(found = takeSpansForNode(decorations, childNode, baseOffset)))\n return;\n if (!children)\n children = this.children.slice();\n while (childIndex < children.length && children[childIndex] < childOffset)\n childIndex += 3;\n if (children[childIndex] == childOffset)\n children[childIndex + 2] = children[childIndex + 2].addInner(childNode, found, baseOffset + 1);\n else\n children.splice(childIndex, 0, childOffset, childOffset + childNode.nodeSize, buildTree(found, childNode, baseOffset + 1, noSpec));\n childIndex += 3;\n });\n let local = moveSpans(childIndex ? withoutNulls(decorations) : decorations, -offset);\n for (let i = 0; i < local.length; i++)\n if (!local[i].type.valid(doc, local[i]))\n local.splice(i--, 1);\n return new DecorationSet(local.length ? this.local.concat(local).sort(byPos) : this.local, children || this.children);\n }\n /**\n Create a new set that contains the decorations in this set, minus\n the ones in the given array.\n */\n remove(decorations) {\n if (decorations.length == 0 || this == empty)\n return this;\n return this.removeInner(decorations, 0);\n }\n removeInner(decorations, offset) {\n let children = this.children, local = this.local;\n for (let i = 0; i < children.length; i += 3) {\n let found;\n let from = children[i] + offset, to = children[i + 1] + offset;\n for (let j = 0, span; j < decorations.length; j++)\n if (span = decorations[j]) {\n if (span.from > from && span.to < to) {\n decorations[j] = null;\n (found || (found = [])).push(span);\n }\n }\n if (!found)\n continue;\n if (children == this.children)\n children = this.children.slice();\n let removed = children[i + 2].removeInner(found, from + 1);\n if (removed != empty) {\n children[i + 2] = removed;\n }\n else {\n children.splice(i, 3);\n i -= 3;\n }\n }\n if (local.length)\n for (let i = 0, span; i < decorations.length; i++)\n if (span = decorations[i]) {\n for (let j = 0; j < local.length; j++)\n if (local[j].eq(span, offset)) {\n if (local == this.local)\n local = this.local.slice();\n local.splice(j--, 1);\n }\n }\n if (children == this.children && local == this.local)\n return this;\n return local.length || children.length ? new DecorationSet(local, children) : empty;\n }\n forChild(offset, node) {\n if (this == empty)\n return this;\n if (node.isLeaf)\n return DecorationSet.empty;\n let child, local;\n for (let i = 0; i < this.children.length; i += 3)\n if (this.children[i] >= offset) {\n if (this.children[i] == offset)\n child = this.children[i + 2];\n break;\n }\n let start = offset + 1, end = start + node.content.size;\n for (let i = 0; i < this.local.length; i++) {\n let dec = this.local[i];\n if (dec.from < end && dec.to > start && (dec.type instanceof InlineType)) {\n let from = Math.max(start, dec.from) - start, to = Math.min(end, dec.to) - start;\n if (from < to)\n (local || (local = [])).push(dec.copy(from, to));\n }\n }\n if (local) {\n let localSet = new DecorationSet(local.sort(byPos), none);\n return child ? new DecorationGroup([localSet, child]) : localSet;\n }\n return child || empty;\n }\n /**\n @internal\n */\n eq(other) {\n if (this == other)\n return true;\n if (!(other instanceof DecorationSet) ||\n this.local.length != other.local.length ||\n this.children.length != other.children.length)\n return false;\n for (let i = 0; i < this.local.length; i++)\n if (!this.local[i].eq(other.local[i]))\n return false;\n for (let i = 0; i < this.children.length; i += 3)\n if (this.children[i] != other.children[i] ||\n this.children[i + 1] != other.children[i + 1] ||\n !this.children[i + 2].eq(other.children[i + 2]))\n return false;\n return true;\n }\n /**\n @internal\n */\n locals(node) {\n return removeOverlap(this.localsInner(node));\n }\n /**\n @internal\n */\n localsInner(node) {\n if (this == empty)\n return none;\n if (node.inlineContent || !this.local.some(InlineType.is))\n return this.local;\n let result = [];\n for (let i = 0; i < this.local.length; i++) {\n if (!(this.local[i].type instanceof InlineType))\n result.push(this.local[i]);\n }\n return result;\n }\n}\n/**\nThe empty set of decorations.\n*/\nDecorationSet.empty = new DecorationSet([], []);\n/**\n@internal\n*/\nDecorationSet.removeOverlap = removeOverlap;\nconst empty = DecorationSet.empty;\n// An abstraction that allows the code dealing with decorations to\n// treat multiple DecorationSet objects as if it were a single object\n// with (a subset of) the same interface.\nclass DecorationGroup {\n constructor(members) {\n this.members = members;\n }\n map(mapping, doc) {\n const mappedDecos = this.members.map(member => member.map(mapping, doc, noSpec));\n return DecorationGroup.from(mappedDecos);\n }\n forChild(offset, child) {\n if (child.isLeaf)\n return DecorationSet.empty;\n let found = [];\n for (let i = 0; i < this.members.length; i++) {\n let result = this.members[i].forChild(offset, child);\n if (result == empty)\n continue;\n if (result instanceof DecorationGroup)\n found = found.concat(result.members);\n else\n found.push(result);\n }\n return DecorationGroup.from(found);\n }\n eq(other) {\n if (!(other instanceof DecorationGroup) ||\n other.members.length != this.members.length)\n return false;\n for (let i = 0; i < this.members.length; i++)\n if (!this.members[i].eq(other.members[i]))\n return false;\n return true;\n }\n locals(node) {\n let result, sorted = true;\n for (let i = 0; i < this.members.length; i++) {\n let locals = this.members[i].localsInner(node);\n if (!locals.length)\n continue;\n if (!result) {\n result = locals;\n }\n else {\n if (sorted) {\n result = result.slice();\n sorted = false;\n }\n for (let j = 0; j < locals.length; j++)\n result.push(locals[j]);\n }\n }\n return result ? removeOverlap(sorted ? result : result.sort(byPos)) : none;\n }\n // Create a group for the given array of decoration sets, or return\n // a single set when possible.\n static from(members) {\n switch (members.length) {\n case 0: return empty;\n case 1: return members[0];\n default: return new DecorationGroup(members.every(m => m instanceof DecorationSet) ? members :\n members.reduce((r, m) => r.concat(m instanceof DecorationSet ? m : m.members), []));\n }\n }\n}\nfunction mapChildren(oldChildren, newLocal, mapping, node, offset, oldOffset, options) {\n let children = oldChildren.slice();\n // Mark the children that are directly touched by changes, and\n // move those that are after the changes.\n for (let i = 0, baseOffset = oldOffset; i < mapping.maps.length; i++) {\n let moved = 0;\n mapping.maps[i].forEach((oldStart, oldEnd, newStart, newEnd) => {\n let dSize = (newEnd - newStart) - (oldEnd - oldStart);\n for (let i = 0; i < children.length; i += 3) {\n let end = children[i + 1];\n if (end < 0 || oldStart > end + baseOffset - moved)\n continue;\n let start = children[i] + baseOffset - moved;\n if (oldEnd >= start) {\n children[i + 1] = oldStart <= start ? -2 : -1;\n }\n else if (oldStart >= baseOffset && dSize) {\n children[i] += dSize;\n children[i + 1] += dSize;\n }\n }\n moved += dSize;\n });\n baseOffset = mapping.maps[i].map(baseOffset, -1);\n }\n // Find the child nodes that still correspond to a single node,\n // recursively call mapInner on them and update their positions.\n let mustRebuild = false;\n for (let i = 0; i < children.length; i += 3)\n if (children[i + 1] < 0) { // Touched nodes\n if (children[i + 1] == -2) {\n mustRebuild = true;\n children[i + 1] = -1;\n continue;\n }\n let from = mapping.map(oldChildren[i] + oldOffset), fromLocal = from - offset;\n if (fromLocal < 0 || fromLocal >= node.content.size) {\n mustRebuild = true;\n continue;\n }\n // Must read oldChildren because children was tagged with -1\n let to = mapping.map(oldChildren[i + 1] + oldOffset, -1), toLocal = to - offset;\n let { index, offset: childOffset } = node.content.findIndex(fromLocal);\n let childNode = node.maybeChild(index);\n if (childNode && childOffset == fromLocal && childOffset + childNode.nodeSize == toLocal) {\n let mapped = children[i + 2]\n .mapInner(mapping, childNode, from + 1, oldChildren[i] + oldOffset + 1, options);\n if (mapped != empty) {\n children[i] = fromLocal;\n children[i + 1] = toLocal;\n children[i + 2] = mapped;\n }\n else {\n children[i + 1] = -2;\n mustRebuild = true;\n }\n }\n else {\n mustRebuild = true;\n }\n }\n // Remaining children must be collected and rebuilt into the appropriate structure\n if (mustRebuild) {\n let decorations = mapAndGatherRemainingDecorations(children, oldChildren, newLocal, mapping, offset, oldOffset, options);\n let built = buildTree(decorations, node, 0, options);\n newLocal = built.local;\n for (let i = 0; i < children.length; i += 3)\n if (children[i + 1] < 0) {\n children.splice(i, 3);\n i -= 3;\n }\n for (let i = 0, j = 0; i < built.children.length; i += 3) {\n let from = built.children[i];\n while (j < children.length && children[j] < from)\n j += 3;\n children.splice(j, 0, built.children[i], built.children[i + 1], built.children[i + 2]);\n }\n }\n return new DecorationSet(newLocal.sort(byPos), children);\n}\nfunction moveSpans(spans, offset) {\n if (!offset || !spans.length)\n return spans;\n let result = [];\n for (let i = 0; i < spans.length; i++) {\n let span = spans[i];\n result.push(new Decoration(span.from + offset, span.to + offset, span.type));\n }\n return result;\n}\nfunction mapAndGatherRemainingDecorations(children, oldChildren, decorations, mapping, offset, oldOffset, options) {\n // Gather all decorations from the remaining marked children\n function gather(set, oldOffset) {\n for (let i = 0; i < set.local.length; i++) {\n let mapped = set.local[i].map(mapping, offset, oldOffset);\n if (mapped)\n decorations.push(mapped);\n else if (options.onRemove)\n options.onRemove(set.local[i].spec);\n }\n for (let i = 0; i < set.children.length; i += 3)\n gather(set.children[i + 2], set.children[i] + oldOffset + 1);\n }\n for (let i = 0; i < children.length; i += 3)\n if (children[i + 1] == -1)\n gather(children[i + 2], oldChildren[i] + oldOffset + 1);\n return decorations;\n}\nfunction takeSpansForNode(spans, node, offset) {\n if (node.isLeaf)\n return null;\n let end = offset + node.nodeSize, found = null;\n for (let i = 0, span; i < spans.length; i++) {\n if ((span = spans[i]) && span.from > offset && span.to < end) {\n (found || (found = [])).push(span);\n spans[i] = null;\n }\n }\n return found;\n}\nfunction withoutNulls(array) {\n let result = [];\n for (let i = 0; i < array.length; i++)\n if (array[i] != null)\n result.push(array[i]);\n return result;\n}\n// Build up a tree that corresponds to a set of decorations. `offset`\n// is a base offset that should be subtracted from the `from` and `to`\n// positions in the spans (so that we don't have to allocate new spans\n// for recursive calls).\nfunction buildTree(spans, node, offset, options) {\n let children = [], hasNulls = false;\n node.forEach((childNode, localStart) => {\n let found = takeSpansForNode(spans, childNode, localStart + offset);\n if (found) {\n hasNulls = true;\n let subtree = buildTree(found, childNode, offset + localStart + 1, options);\n if (subtree != empty)\n children.push(localStart, localStart + childNode.nodeSize, subtree);\n }\n });\n let locals = moveSpans(hasNulls ? withoutNulls(spans) : spans, -offset).sort(byPos);\n for (let i = 0; i < locals.length; i++)\n if (!locals[i].type.valid(node, locals[i])) {\n if (options.onRemove)\n options.onRemove(locals[i].spec);\n locals.splice(i--, 1);\n }\n return locals.length || children.length ? new DecorationSet(locals, children) : empty;\n}\n// Used to sort decorations so that ones with a low start position\n// come first, and within a set with the same start position, those\n// with an smaller end position come first.\nfunction byPos(a, b) {\n return a.from - b.from || a.to - b.to;\n}\n// Scan a sorted array of decorations for partially overlapping spans,\n// and split those so that only fully overlapping spans are left (to\n// make subsequent rendering easier). Will return the input array if\n// no partially overlapping spans are found (the common case).\nfunction removeOverlap(spans) {\n let working = spans;\n for (let i = 0; i < working.length - 1; i++) {\n let span = working[i];\n if (span.from != span.to)\n for (let j = i + 1; j < working.length; j++) {\n let next = working[j];\n if (next.from == span.from) {\n if (next.to != span.to) {\n if (working == spans)\n working = spans.slice();\n // Followed by a partially overlapping larger span. Split that\n // span.\n working[j] = next.copy(next.from, span.to);\n insertAhead(working, j + 1, next.copy(span.to, next.to));\n }\n continue;\n }\n else {\n if (next.from < span.to) {\n if (working == spans)\n working = spans.slice();\n // The end of this one overlaps with a subsequent span. Split\n // this one.\n working[i] = span.copy(span.from, next.from);\n insertAhead(working, j, span.copy(next.from, span.to));\n }\n break;\n }\n }\n }\n return working;\n}\nfunction insertAhead(array, i, deco) {\n while (i < array.length && byPos(deco, array[i]) > 0)\n i++;\n array.splice(i, 0, deco);\n}\n// Get the decorations associated with the current props of a view.\nfunction viewDecorations(view) {\n let found = [];\n view.someProp(\"decorations\", f => {\n let result = f(view.state);\n if (result && result != empty)\n found.push(result);\n });\n if (view.cursorWrapper)\n found.push(DecorationSet.create(view.state.doc, [view.cursorWrapper.deco]));\n return DecorationGroup.from(found);\n}\n\nconst observeOptions = {\n childList: true,\n characterData: true,\n characterDataOldValue: true,\n attributes: true,\n attributeOldValue: true,\n subtree: true\n};\n// IE11 has very broken mutation observers, so we also listen to DOMCharacterDataModified\nconst useCharData = ie && ie_version <= 11;\nclass SelectionState {\n constructor() {\n this.anchorNode = null;\n this.anchorOffset = 0;\n this.focusNode = null;\n this.focusOffset = 0;\n }\n set(sel) {\n this.anchorNode = sel.anchorNode;\n this.anchorOffset = sel.anchorOffset;\n this.focusNode = sel.focusNode;\n this.focusOffset = sel.focusOffset;\n }\n clear() {\n this.anchorNode = this.focusNode = null;\n }\n eq(sel) {\n return sel.anchorNode == this.anchorNode && sel.anchorOffset == this.anchorOffset &&\n sel.focusNode == this.focusNode && sel.focusOffset == this.focusOffset;\n }\n}\nclass DOMObserver {\n constructor(view, handleDOMChange) {\n this.view = view;\n this.handleDOMChange = handleDOMChange;\n this.queue = [];\n this.flushingSoon = -1;\n this.observer = null;\n this.currentSelection = new SelectionState;\n this.onCharData = null;\n this.suppressingSelectionUpdates = false;\n this.lastChangedTextNode = null;\n this.observer = window.MutationObserver &&\n new window.MutationObserver(mutations => {\n for (let i = 0; i < mutations.length; i++)\n this.queue.push(mutations[i]);\n // IE11 will sometimes (on backspacing out a single character\n // text node after a BR node) call the observer callback\n // before actually updating the DOM, which will cause\n // ProseMirror to miss the change (see #930)\n if (ie && ie_version <= 11 && mutations.some(m => m.type == \"childList\" && m.removedNodes.length ||\n m.type == \"characterData\" && m.oldValue.length > m.target.nodeValue.length))\n this.flushSoon();\n else\n this.flush();\n });\n if (useCharData) {\n this.onCharData = e => {\n this.queue.push({ target: e.target, type: \"characterData\", oldValue: e.prevValue });\n this.flushSoon();\n };\n }\n this.onSelectionChange = this.onSelectionChange.bind(this);\n }\n flushSoon() {\n if (this.flushingSoon < 0)\n this.flushingSoon = window.setTimeout(() => { this.flushingSoon = -1; this.flush(); }, 20);\n }\n forceFlush() {\n if (this.flushingSoon > -1) {\n window.clearTimeout(this.flushingSoon);\n this.flushingSoon = -1;\n this.flush();\n }\n }\n start() {\n if (this.observer) {\n this.observer.takeRecords();\n this.observer.observe(this.view.dom, observeOptions);\n }\n if (this.onCharData)\n this.view.dom.addEventListener(\"DOMCharacterDataModified\", this.onCharData);\n this.connectSelection();\n }\n stop() {\n if (this.observer) {\n let take = this.observer.takeRecords();\n if (take.length) {\n for (let i = 0; i < take.length; i++)\n this.queue.push(take[i]);\n window.setTimeout(() => this.flush(), 20);\n }\n this.observer.disconnect();\n }\n if (this.onCharData)\n this.view.dom.removeEventListener(\"DOMCharacterDataModified\", this.onCharData);\n this.disconnectSelection();\n }\n connectSelection() {\n this.view.dom.ownerDocument.addEventListener(\"selectionchange\", this.onSelectionChange);\n }\n disconnectSelection() {\n this.view.dom.ownerDocument.removeEventListener(\"selectionchange\", this.onSelectionChange);\n }\n suppressSelectionUpdates() {\n this.suppressingSelectionUpdates = true;\n setTimeout(() => this.suppressingSelectionUpdates = false, 50);\n }\n onSelectionChange() {\n if (!hasFocusAndSelection(this.view))\n return;\n if (this.suppressingSelectionUpdates)\n return selectionToDOM(this.view);\n // Deletions on IE11 fire their events in the wrong order, giving\n // us a selection change event before the DOM changes are\n // reported.\n if (ie && ie_version <= 11 && !this.view.state.selection.empty) {\n let sel = this.view.domSelectionRange();\n // Selection.isCollapsed isn't reliable on IE\n if (sel.focusNode && isEquivalentPosition(sel.focusNode, sel.focusOffset, sel.anchorNode, sel.anchorOffset))\n return this.flushSoon();\n }\n this.flush();\n }\n setCurSelection() {\n this.currentSelection.set(this.view.domSelectionRange());\n }\n ignoreSelectionChange(sel) {\n if (!sel.focusNode)\n return true;\n let ancestors = new Set, container;\n for (let scan = sel.focusNode; scan; scan = parentNode(scan))\n ancestors.add(scan);\n for (let scan = sel.anchorNode; scan; scan = parentNode(scan))\n if (ancestors.has(scan)) {\n container = scan;\n break;\n }\n let desc = container && this.view.docView.nearestDesc(container);\n if (desc && desc.ignoreMutation({\n type: \"selection\",\n target: container.nodeType == 3 ? container.parentNode : container\n })) {\n this.setCurSelection();\n return true;\n }\n }\n pendingRecords() {\n if (this.observer)\n for (let mut of this.observer.takeRecords())\n this.queue.push(mut);\n return this.queue;\n }\n flush() {\n let { view } = this;\n if (!view.docView || this.flushingSoon > -1)\n return;\n let mutations = this.pendingRecords();\n if (mutations.length)\n this.queue = [];\n let sel = view.domSelectionRange();\n let newSel = !this.suppressingSelectionUpdates && !this.currentSelection.eq(sel) && hasFocusAndSelection(view) && !this.ignoreSelectionChange(sel);\n let from = -1, to = -1, typeOver = false, added = [];\n if (view.editable) {\n for (let i = 0; i < mutations.length; i++) {\n let result = this.registerMutation(mutations[i], added);\n if (result) {\n from = from < 0 ? result.from : Math.min(result.from, from);\n to = to < 0 ? result.to : Math.max(result.to, to);\n if (result.typeOver)\n typeOver = true;\n }\n }\n }\n if (gecko && added.length) {\n let brs = added.filter(n => n.nodeName == \"BR\");\n if (brs.length == 2) {\n let [a, b] = brs;\n if (a.parentNode && a.parentNode.parentNode == b.parentNode)\n b.remove();\n else\n a.remove();\n }\n else {\n let { focusNode } = this.currentSelection;\n for (let br of brs) {\n let parent = br.parentNode;\n if (parent && parent.nodeName == \"LI\" && (!focusNode || blockParent(view, focusNode) != parent))\n br.remove();\n }\n }\n }\n let readSel = null;\n // If it looks like the browser has reset the selection to the\n // start of the document after focus, restore the selection from\n // the state\n if (from < 0 && newSel && view.input.lastFocus > Date.now() - 200 &&\n Math.max(view.input.lastTouch, view.input.lastClick.time) < Date.now() - 300 &&\n selectionCollapsed(sel) && (readSel = selectionFromDOM(view)) &&\n readSel.eq(Selection.near(view.state.doc.resolve(0), 1))) {\n view.input.lastFocus = 0;\n selectionToDOM(view);\n this.currentSelection.set(sel);\n view.scrollToSelection();\n }\n else if (from > -1 || newSel) {\n if (from > -1) {\n view.docView.markDirty(from, to);\n checkCSS(view);\n }\n this.handleDOMChange(from, to, typeOver, added);\n if (view.docView && view.docView.dirty)\n view.updateState(view.state);\n else if (!this.currentSelection.eq(sel))\n selectionToDOM(view);\n this.currentSelection.set(sel);\n }\n }\n registerMutation(mut, added) {\n // Ignore mutations inside nodes that were already noted as inserted\n if (added.indexOf(mut.target) > -1)\n return null;\n let desc = this.view.docView.nearestDesc(mut.target);\n if (mut.type == \"attributes\" &&\n (desc == this.view.docView || mut.attributeName == \"contenteditable\" ||\n // Firefox sometimes fires spurious events for null/empty styles\n (mut.attributeName == \"style\" && !mut.oldValue && !mut.target.getAttribute(\"style\"))))\n return null;\n if (!desc || desc.ignoreMutation(mut))\n return null;\n if (mut.type == \"childList\") {\n for (let i = 0; i < mut.addedNodes.length; i++) {\n let node = mut.addedNodes[i];\n added.push(node);\n if (node.nodeType == 3)\n this.lastChangedTextNode = node;\n }\n if (desc.contentDOM && desc.contentDOM != desc.dom && !desc.contentDOM.contains(mut.target))\n return { from: desc.posBefore, to: desc.posAfter };\n let prev = mut.previousSibling, next = mut.nextSibling;\n if (ie && ie_version <= 11 && mut.addedNodes.length) {\n // IE11 gives us incorrect next/prev siblings for some\n // insertions, so if there are added nodes, recompute those\n for (let i = 0; i < mut.addedNodes.length; i++) {\n let { previousSibling, nextSibling } = mut.addedNodes[i];\n if (!previousSibling || Array.prototype.indexOf.call(mut.addedNodes, previousSibling) < 0)\n prev = previousSibling;\n if (!nextSibling || Array.prototype.indexOf.call(mut.addedNodes, nextSibling) < 0)\n next = nextSibling;\n }\n }\n let fromOffset = prev && prev.parentNode == mut.target\n ? domIndex(prev) + 1 : 0;\n let from = desc.localPosFromDOM(mut.target, fromOffset, -1);\n let toOffset = next && next.parentNode == mut.target\n ? domIndex(next) : mut.target.childNodes.length;\n let to = desc.localPosFromDOM(mut.target, toOffset, 1);\n return { from, to };\n }\n else if (mut.type == \"attributes\") {\n return { from: desc.posAtStart - desc.border, to: desc.posAtEnd + desc.border };\n }\n else { // \"characterData\"\n this.lastChangedTextNode = mut.target;\n return {\n from: desc.posAtStart,\n to: desc.posAtEnd,\n // An event was generated for a text change that didn't change\n // any text. Mark the dom change to fall back to assuming the\n // selection was typed over with an identical value if it can't\n // find another change.\n typeOver: mut.target.nodeValue == mut.oldValue\n };\n }\n }\n}\nlet cssChecked = new WeakMap();\nlet cssCheckWarned = false;\nfunction checkCSS(view) {\n if (cssChecked.has(view))\n return;\n cssChecked.set(view, null);\n if (['normal', 'nowrap', 'pre-line'].indexOf(getComputedStyle(view.dom).whiteSpace) !== -1) {\n view.requiresGeckoHackNode = gecko;\n if (cssCheckWarned)\n return;\n console[\"warn\"](\"ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.\");\n cssCheckWarned = true;\n }\n}\nfunction rangeToSelectionRange(view, range) {\n let anchorNode = range.startContainer, anchorOffset = range.startOffset;\n let focusNode = range.endContainer, focusOffset = range.endOffset;\n let currentAnchor = view.domAtPos(view.state.selection.anchor);\n // Since such a range doesn't distinguish between anchor and head,\n // use a heuristic that flips it around if its end matches the\n // current anchor.\n if (isEquivalentPosition(currentAnchor.node, currentAnchor.offset, focusNode, focusOffset))\n [anchorNode, anchorOffset, focusNode, focusOffset] = [focusNode, focusOffset, anchorNode, anchorOffset];\n return { anchorNode, anchorOffset, focusNode, focusOffset };\n}\n// Used to work around a Safari Selection/shadow DOM bug\n// Based on https://github.com/codemirror/dev/issues/414 fix\nfunction safariShadowSelectionRange(view, selection) {\n if (selection.getComposedRanges) {\n let range = selection.getComposedRanges(view.root)[0];\n if (range)\n return rangeToSelectionRange(view, range);\n }\n let found;\n function read(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n found = event.getTargetRanges()[0];\n }\n // Because Safari (at least in 2018-2022) doesn't provide regular\n // access to the selection inside a shadowRoot, we have to perform a\n // ridiculous hack to get at it—using `execCommand` to trigger a\n // `beforeInput` event so that we can read the target range from the\n // event.\n view.dom.addEventListener(\"beforeinput\", read, true);\n document.execCommand(\"indent\");\n view.dom.removeEventListener(\"beforeinput\", read, true);\n return found ? rangeToSelectionRange(view, found) : null;\n}\nfunction blockParent(view, node) {\n for (let p = node.parentNode; p && p != view.dom; p = p.parentNode) {\n let desc = view.docView.nearestDesc(p, true);\n if (desc && desc.node.isBlock)\n return p;\n }\n return null;\n}\n\n// Note that all referencing and parsing is done with the\n// start-of-operation selection and document, since that's the one\n// that the DOM represents. If any changes came in in the meantime,\n// the modification is mapped over those before it is applied, in\n// readDOMChange.\nfunction parseBetween(view, from_, to_) {\n let { node: parent, fromOffset, toOffset, from, to } = view.docView.parseRange(from_, to_);\n let domSel = view.domSelectionRange();\n let find;\n let anchor = domSel.anchorNode;\n if (anchor && view.dom.contains(anchor.nodeType == 1 ? anchor : anchor.parentNode)) {\n find = [{ node: anchor, offset: domSel.anchorOffset }];\n if (!selectionCollapsed(domSel))\n find.push({ node: domSel.focusNode, offset: domSel.focusOffset });\n }\n // Work around issue in Chrome where backspacing sometimes replaces\n // the deleted content with a random BR node (issues #799, #831)\n if (chrome && view.input.lastKeyCode === 8) {\n for (let off = toOffset; off > fromOffset; off--) {\n let node = parent.childNodes[off - 1], desc = node.pmViewDesc;\n if (node.nodeName == \"BR\" && !desc) {\n toOffset = off;\n break;\n }\n if (!desc || desc.size)\n break;\n }\n }\n let startDoc = view.state.doc;\n let parser = view.someProp(\"domParser\") || DOMParser.fromSchema(view.state.schema);\n let $from = startDoc.resolve(from);\n let sel = null, doc = parser.parse(parent, {\n topNode: $from.parent,\n topMatch: $from.parent.contentMatchAt($from.index()),\n topOpen: true,\n from: fromOffset,\n to: toOffset,\n preserveWhitespace: $from.parent.type.whitespace == \"pre\" ? \"full\" : true,\n findPositions: find,\n ruleFromNode,\n context: $from\n });\n if (find && find[0].pos != null) {\n let anchor = find[0].pos, head = find[1] && find[1].pos;\n if (head == null)\n head = anchor;\n sel = { anchor: anchor + from, head: head + from };\n }\n return { doc, sel, from, to };\n}\nfunction ruleFromNode(dom) {\n let desc = dom.pmViewDesc;\n if (desc) {\n return desc.parseRule();\n }\n else if (dom.nodeName == \"BR\" && dom.parentNode) {\n // Safari replaces the list item or table cell with a BR\n // directly in the list node (?!) if you delete the last\n // character in a list item or table cell (#708, #862)\n if (safari && /^(ul|ol)$/i.test(dom.parentNode.nodeName)) {\n let skip = document.createElement(\"div\");\n skip.appendChild(document.createElement(\"li\"));\n return { skip };\n }\n else if (dom.parentNode.lastChild == dom || safari && /^(tr|table)$/i.test(dom.parentNode.nodeName)) {\n return { ignore: true };\n }\n }\n else if (dom.nodeName == \"IMG\" && dom.getAttribute(\"mark-placeholder\")) {\n return { ignore: true };\n }\n return null;\n}\nconst isInline = /^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;\nfunction readDOMChange(view, from, to, typeOver, addedNodes) {\n let compositionID = view.input.compositionPendingChanges || (view.composing ? view.input.compositionID : 0);\n view.input.compositionPendingChanges = 0;\n if (from < 0) {\n let origin = view.input.lastSelectionTime > Date.now() - 50 ? view.input.lastSelectionOrigin : null;\n let newSel = selectionFromDOM(view, origin);\n if (newSel && !view.state.selection.eq(newSel)) {\n if (chrome && android &&\n view.input.lastKeyCode === 13 && Date.now() - 100 < view.input.lastKeyCodeTime &&\n view.someProp(\"handleKeyDown\", f => f(view, keyEvent(13, \"Enter\"))))\n return;\n let tr = view.state.tr.setSelection(newSel);\n if (origin == \"pointer\")\n tr.setMeta(\"pointer\", true);\n else if (origin == \"key\")\n tr.scrollIntoView();\n if (compositionID)\n tr.setMeta(\"composition\", compositionID);\n view.dispatch(tr);\n }\n return;\n }\n let $before = view.state.doc.resolve(from);\n let shared = $before.sharedDepth(to);\n from = $before.before(shared + 1);\n to = view.state.doc.resolve(to).after(shared + 1);\n let sel = view.state.selection;\n let parse = parseBetween(view, from, to);\n let doc = view.state.doc, compare = doc.slice(parse.from, parse.to);\n let preferredPos, preferredSide;\n // Prefer anchoring to end when Backspace is pressed\n if (view.input.lastKeyCode === 8 && Date.now() - 100 < view.input.lastKeyCodeTime) {\n preferredPos = view.state.selection.to;\n preferredSide = \"end\";\n }\n else {\n preferredPos = view.state.selection.from;\n preferredSide = \"start\";\n }\n view.input.lastKeyCode = null;\n let change = findDiff(compare.content, parse.doc.content, parse.from, preferredPos, preferredSide);\n if ((ios && view.input.lastIOSEnter > Date.now() - 225 || android) &&\n addedNodes.some(n => n.nodeType == 1 && !isInline.test(n.nodeName)) &&\n (!change || change.endA >= change.endB) &&\n view.someProp(\"handleKeyDown\", f => f(view, keyEvent(13, \"Enter\")))) {\n view.input.lastIOSEnter = 0;\n return;\n }\n if (!change) {\n if (typeOver && sel instanceof TextSelection && !sel.empty && sel.$head.sameParent(sel.$anchor) &&\n !view.composing && !(parse.sel && parse.sel.anchor != parse.sel.head)) {\n change = { start: sel.from, endA: sel.to, endB: sel.to };\n }\n else {\n if (parse.sel) {\n let sel = resolveSelection(view, view.state.doc, parse.sel);\n if (sel && !sel.eq(view.state.selection)) {\n let tr = view.state.tr.setSelection(sel);\n if (compositionID)\n tr.setMeta(\"composition\", compositionID);\n view.dispatch(tr);\n }\n }\n return;\n }\n }\n view.input.domChangeCount++;\n // Handle the case where overwriting a selection by typing matches\n // the start or end of the selected content, creating a change\n // that's smaller than what was actually overwritten.\n if (view.state.selection.from < view.state.selection.to &&\n change.start == change.endB &&\n view.state.selection instanceof TextSelection) {\n if (change.start > view.state.selection.from && change.start <= view.state.selection.from + 2 &&\n view.state.selection.from >= parse.from) {\n change.start = view.state.selection.from;\n }\n else if (change.endA < view.state.selection.to && change.endA >= view.state.selection.to - 2 &&\n view.state.selection.to <= parse.to) {\n change.endB += (view.state.selection.to - change.endA);\n change.endA = view.state.selection.to;\n }\n }\n // IE11 will insert a non-breaking space _ahead_ of the space after\n // the cursor space when adding a space before another space. When\n // that happened, adjust the change to cover the space instead.\n if (ie && ie_version <= 11 && change.endB == change.start + 1 &&\n change.endA == change.start && change.start > parse.from &&\n parse.doc.textBetween(change.start - parse.from - 1, change.start - parse.from + 1) == \" \\u00a0\") {\n change.start--;\n change.endA--;\n change.endB--;\n }\n let $from = parse.doc.resolveNoCache(change.start - parse.from);\n let $to = parse.doc.resolveNoCache(change.endB - parse.from);\n let $fromA = doc.resolve(change.start);\n let inlineChange = $from.sameParent($to) && $from.parent.inlineContent && $fromA.end() >= change.endA;\n let nextSel;\n // If this looks like the effect of pressing Enter (or was recorded\n // as being an iOS enter press), just dispatch an Enter key instead.\n if (((ios && view.input.lastIOSEnter > Date.now() - 225 &&\n (!inlineChange || addedNodes.some(n => n.nodeName == \"DIV\" || n.nodeName == \"P\"))) ||\n (!inlineChange && $from.pos < parse.doc.content.size && !$from.sameParent($to) &&\n (nextSel = Selection.findFrom(parse.doc.resolve($from.pos + 1), 1, true)) &&\n nextSel.head == $to.pos)) &&\n view.someProp(\"handleKeyDown\", f => f(view, keyEvent(13, \"Enter\")))) {\n view.input.lastIOSEnter = 0;\n return;\n }\n // Same for backspace\n if (view.state.selection.anchor > change.start &&\n looksLikeBackspace(doc, change.start, change.endA, $from, $to) &&\n view.someProp(\"handleKeyDown\", f => f(view, keyEvent(8, \"Backspace\")))) {\n if (android && chrome)\n view.domObserver.suppressSelectionUpdates(); // #820\n return;\n }\n // Chrome Android will occasionally, during composition, delete the\n // entire composition and then immediately insert it again. This is\n // used to detect that situation.\n if (chrome && android && change.endB == change.start)\n view.input.lastAndroidDelete = Date.now();\n // This tries to detect Android virtual keyboard\n // enter-and-pick-suggestion action. That sometimes (see issue\n // #1059) first fires a DOM mutation, before moving the selection to\n // the newly created block. And then, because ProseMirror cleans up\n // the DOM selection, it gives up moving the selection entirely,\n // leaving the cursor in the wrong place. When that happens, we drop\n // the new paragraph from the initial change, and fire a simulated\n // enter key afterwards.\n if (android && !inlineChange && $from.start() != $to.start() && $to.parentOffset == 0 && $from.depth == $to.depth &&\n parse.sel && parse.sel.anchor == parse.sel.head && parse.sel.head == change.endA) {\n change.endB -= 2;\n $to = parse.doc.resolveNoCache(change.endB - parse.from);\n setTimeout(() => {\n view.someProp(\"handleKeyDown\", function (f) { return f(view, keyEvent(13, \"Enter\")); });\n }, 20);\n }\n let chFrom = change.start, chTo = change.endA;\n let tr, storedMarks, markChange;\n if (inlineChange) {\n if ($from.pos == $to.pos) { // Deletion\n // IE11 sometimes weirdly moves the DOM selection around after\n // backspacing out the first element in a textblock\n if (ie && ie_version <= 11 && $from.parentOffset == 0) {\n view.domObserver.suppressSelectionUpdates();\n setTimeout(() => selectionToDOM(view), 20);\n }\n tr = view.state.tr.delete(chFrom, chTo);\n storedMarks = doc.resolve(change.start).marksAcross(doc.resolve(change.endA));\n }\n else if ( // Adding or removing a mark\n change.endA == change.endB &&\n (markChange = isMarkChange($from.parent.content.cut($from.parentOffset, $to.parentOffset), $fromA.parent.content.cut($fromA.parentOffset, change.endA - $fromA.start())))) {\n tr = view.state.tr;\n if (markChange.type == \"add\")\n tr.addMark(chFrom, chTo, markChange.mark);\n else\n tr.removeMark(chFrom, chTo, markChange.mark);\n }\n else if ($from.parent.child($from.index()).isText && $from.index() == $to.index() - ($to.textOffset ? 0 : 1)) {\n // Both positions in the same text node -- simply insert text\n let text = $from.parent.textBetween($from.parentOffset, $to.parentOffset);\n if (view.someProp(\"handleTextInput\", f => f(view, chFrom, chTo, text)))\n return;\n tr = view.state.tr.insertText(text, chFrom, chTo);\n }\n }\n if (!tr)\n tr = view.state.tr.replace(chFrom, chTo, parse.doc.slice(change.start - parse.from, change.endB - parse.from));\n if (parse.sel) {\n let sel = resolveSelection(view, tr.doc, parse.sel);\n // Chrome Android will sometimes, during composition, report the\n // selection in the wrong place. If it looks like that is\n // happening, don't update the selection.\n // Edge just doesn't move the cursor forward when you start typing\n // in an empty block or between br nodes.\n if (sel && !(chrome && android && view.composing && sel.empty &&\n (change.start != change.endB || view.input.lastAndroidDelete < Date.now() - 100) &&\n (sel.head == chFrom || sel.head == tr.mapping.map(chTo) - 1) ||\n ie && sel.empty && sel.head == chFrom))\n tr.setSelection(sel);\n }\n if (storedMarks)\n tr.ensureMarks(storedMarks);\n if (compositionID)\n tr.setMeta(\"composition\", compositionID);\n view.dispatch(tr.scrollIntoView());\n}\nfunction resolveSelection(view, doc, parsedSel) {\n if (Math.max(parsedSel.anchor, parsedSel.head) > doc.content.size)\n return null;\n return selectionBetween(view, doc.resolve(parsedSel.anchor), doc.resolve(parsedSel.head));\n}\n// Given two same-length, non-empty fragments of inline content,\n// determine whether the first could be created from the second by\n// removing or adding a single mark type.\nfunction isMarkChange(cur, prev) {\n let curMarks = cur.firstChild.marks, prevMarks = prev.firstChild.marks;\n let added = curMarks, removed = prevMarks, type, mark, update;\n for (let i = 0; i < prevMarks.length; i++)\n added = prevMarks[i].removeFromSet(added);\n for (let i = 0; i < curMarks.length; i++)\n removed = curMarks[i].removeFromSet(removed);\n if (added.length == 1 && removed.length == 0) {\n mark = added[0];\n type = \"add\";\n update = (node) => node.mark(mark.addToSet(node.marks));\n }\n else if (added.length == 0 && removed.length == 1) {\n mark = removed[0];\n type = \"remove\";\n update = (node) => node.mark(mark.removeFromSet(node.marks));\n }\n else {\n return null;\n }\n let updated = [];\n for (let i = 0; i < prev.childCount; i++)\n updated.push(update(prev.child(i)));\n if (Fragment.from(updated).eq(cur))\n return { mark, type };\n}\nfunction looksLikeBackspace(old, start, end, $newStart, $newEnd) {\n if ( // The content must have shrunk\n end - start <= $newEnd.pos - $newStart.pos ||\n // newEnd must point directly at or after the end of the block that newStart points into\n skipClosingAndOpening($newStart, true, false) < $newEnd.pos)\n return false;\n let $start = old.resolve(start);\n // Handle the case where, rather than joining blocks, the change just removed an entire block\n if (!$newStart.parent.isTextblock) {\n let after = $start.nodeAfter;\n return after != null && end == start + after.nodeSize;\n }\n // Start must be at the end of a block\n if ($start.parentOffset < $start.parent.content.size || !$start.parent.isTextblock)\n return false;\n let $next = old.resolve(skipClosingAndOpening($start, true, true));\n // The next textblock must start before end and end near it\n if (!$next.parent.isTextblock || $next.pos > end ||\n skipClosingAndOpening($next, true, false) < end)\n return false;\n // The fragments after the join point must match\n return $newStart.parent.content.cut($newStart.parentOffset).eq($next.parent.content);\n}\nfunction skipClosingAndOpening($pos, fromEnd, mayOpen) {\n let depth = $pos.depth, end = fromEnd ? $pos.end() : $pos.pos;\n while (depth > 0 && (fromEnd || $pos.indexAfter(depth) == $pos.node(depth).childCount)) {\n depth--;\n end++;\n fromEnd = false;\n }\n if (mayOpen) {\n let next = $pos.node(depth).maybeChild($pos.indexAfter(depth));\n while (next && !next.isLeaf) {\n next = next.firstChild;\n end++;\n }\n }\n return end;\n}\nfunction findDiff(a, b, pos, preferredPos, preferredSide) {\n let start = a.findDiffStart(b, pos);\n if (start == null)\n return null;\n let { a: endA, b: endB } = a.findDiffEnd(b, pos + a.size, pos + b.size);\n if (preferredSide == \"end\") {\n let adjust = Math.max(0, start - Math.min(endA, endB));\n preferredPos -= endA + adjust - start;\n }\n if (endA < start && a.size < b.size) {\n let move = preferredPos <= start && preferredPos >= endA ? start - preferredPos : 0;\n start -= move;\n if (start && start < b.size && isSurrogatePair(b.textBetween(start - 1, start + 1)))\n start += move ? 1 : -1;\n endB = start + (endB - endA);\n endA = start;\n }\n else if (endB < start) {\n let move = preferredPos <= start && preferredPos >= endB ? start - preferredPos : 0;\n start -= move;\n if (start && start < a.size && isSurrogatePair(a.textBetween(start - 1, start + 1)))\n start += move ? 1 : -1;\n endA = start + (endA - endB);\n endB = start;\n }\n return { start, endA, endB };\n}\nfunction isSurrogatePair(str) {\n if (str.length != 2)\n return false;\n let a = str.charCodeAt(0), b = str.charCodeAt(1);\n return a >= 0xDC00 && a <= 0xDFFF && b >= 0xD800 && b <= 0xDBFF;\n}\n\n/**\n@internal\n*/\nconst __serializeForClipboard = serializeForClipboard;\n/**\n@internal\n*/\nconst __parseFromClipboard = parseFromClipboard;\n/**\n@internal\n*/\nconst __endComposition = endComposition;\n/**\nAn editor view manages the DOM structure that represents an\neditable document. Its state and behavior are determined by its\n[props](https://prosemirror.net/docs/ref/#view.DirectEditorProps).\n*/\nclass EditorView {\n /**\n Create a view. `place` may be a DOM node that the editor should\n be appended to, a function that will place it into the document,\n or an object whose `mount` property holds the node to use as the\n document container. If it is `null`, the editor will not be\n added to the document.\n */\n constructor(place, props) {\n this._root = null;\n /**\n @internal\n */\n this.focused = false;\n /**\n Kludge used to work around a Chrome bug @internal\n */\n this.trackWrites = null;\n this.mounted = false;\n /**\n @internal\n */\n this.markCursor = null;\n /**\n @internal\n */\n this.cursorWrapper = null;\n /**\n @internal\n */\n this.lastSelectedViewDesc = undefined;\n /**\n @internal\n */\n this.input = new InputState;\n this.prevDirectPlugins = [];\n this.pluginViews = [];\n /**\n Holds `true` when a hack node is needed in Firefox to prevent the\n [space is eaten issue](https://github.com/ProseMirror/prosemirror/issues/651)\n @internal\n */\n this.requiresGeckoHackNode = false;\n /**\n When editor content is being dragged, this object contains\n information about the dragged slice and whether it is being\n copied or moved. At any other time, it is null.\n */\n this.dragging = null;\n this._props = props;\n this.state = props.state;\n this.directPlugins = props.plugins || [];\n this.directPlugins.forEach(checkStateComponent);\n this.dispatch = this.dispatch.bind(this);\n this.dom = (place && place.mount) || document.createElement(\"div\");\n if (place) {\n if (place.appendChild)\n place.appendChild(this.dom);\n else if (typeof place == \"function\")\n place(this.dom);\n else if (place.mount)\n this.mounted = true;\n }\n this.editable = getEditable(this);\n updateCursorWrapper(this);\n this.nodeViews = buildNodeViews(this);\n this.docView = docViewDesc(this.state.doc, computeDocDeco(this), viewDecorations(this), this.dom, this);\n this.domObserver = new DOMObserver(this, (from, to, typeOver, added) => readDOMChange(this, from, to, typeOver, added));\n this.domObserver.start();\n initInput(this);\n this.updatePluginViews();\n }\n /**\n Holds `true` when a\n [composition](https://w3c.github.io/uievents/#events-compositionevents)\n is active.\n */\n get composing() { return this.input.composing; }\n /**\n The view's current [props](https://prosemirror.net/docs/ref/#view.EditorProps).\n */\n get props() {\n if (this._props.state != this.state) {\n let prev = this._props;\n this._props = {};\n for (let name in prev)\n this._props[name] = prev[name];\n this._props.state = this.state;\n }\n return this._props;\n }\n /**\n Update the view's props. Will immediately cause an update to\n the DOM.\n */\n update(props) {\n if (props.handleDOMEvents != this._props.handleDOMEvents)\n ensureListeners(this);\n let prevProps = this._props;\n this._props = props;\n if (props.plugins) {\n props.plugins.forEach(checkStateComponent);\n this.directPlugins = props.plugins;\n }\n this.updateStateInner(props.state, prevProps);\n }\n /**\n Update the view by updating existing props object with the object\n given as argument. Equivalent to `view.update(Object.assign({},\n view.props, props))`.\n */\n setProps(props) {\n let updated = {};\n for (let name in this._props)\n updated[name] = this._props[name];\n updated.state = this.state;\n for (let name in props)\n updated[name] = props[name];\n this.update(updated);\n }\n /**\n Update the editor's `state` prop, without touching any of the\n other props.\n */\n updateState(state) {\n this.updateStateInner(state, this._props);\n }\n updateStateInner(state, prevProps) {\n var _a;\n let prev = this.state, redraw = false, updateSel = false;\n // When stored marks are added, stop composition, so that they can\n // be displayed.\n if (state.storedMarks && this.composing) {\n clearComposition(this);\n updateSel = true;\n }\n this.state = state;\n let pluginsChanged = prev.plugins != state.plugins || this._props.plugins != prevProps.plugins;\n if (pluginsChanged || this._props.plugins != prevProps.plugins || this._props.nodeViews != prevProps.nodeViews) {\n let nodeViews = buildNodeViews(this);\n if (changedNodeViews(nodeViews, this.nodeViews)) {\n this.nodeViews = nodeViews;\n redraw = true;\n }\n }\n if (pluginsChanged || prevProps.handleDOMEvents != this._props.handleDOMEvents) {\n ensureListeners(this);\n }\n this.editable = getEditable(this);\n updateCursorWrapper(this);\n let innerDeco = viewDecorations(this), outerDeco = computeDocDeco(this);\n let scroll = prev.plugins != state.plugins && !prev.doc.eq(state.doc) ? \"reset\"\n : state.scrollToSelection > prev.scrollToSelection ? \"to selection\" : \"preserve\";\n let updateDoc = redraw || !this.docView.matchesNode(state.doc, outerDeco, innerDeco);\n if (updateDoc || !state.selection.eq(prev.selection))\n updateSel = true;\n let oldScrollPos = scroll == \"preserve\" && updateSel && this.dom.style.overflowAnchor == null && storeScrollPos(this);\n if (updateSel) {\n this.domObserver.stop();\n // Work around an issue in Chrome, IE, and Edge where changing\n // the DOM around an active selection puts it into a broken\n // state where the thing the user sees differs from the\n // selection reported by the Selection object (#710, #973,\n // #1011, #1013, #1035).\n let forceSelUpdate = updateDoc && (ie || chrome) && !this.composing &&\n !prev.selection.empty && !state.selection.empty && selectionContextChanged(prev.selection, state.selection);\n if (updateDoc) {\n // If the node that the selection points into is written to,\n // Chrome sometimes starts misreporting the selection, so this\n // tracks that and forces a selection reset when our update\n // did write to the node.\n let chromeKludge = chrome ? (this.trackWrites = this.domSelectionRange().focusNode) : null;\n if (this.composing)\n this.input.compositionNode = findCompositionNode(this);\n if (redraw || !this.docView.update(state.doc, outerDeco, innerDeco, this)) {\n this.docView.updateOuterDeco(outerDeco);\n this.docView.destroy();\n this.docView = docViewDesc(state.doc, outerDeco, innerDeco, this.dom, this);\n }\n if (chromeKludge && !this.trackWrites)\n forceSelUpdate = true;\n }\n // Work around for an issue where an update arriving right between\n // a DOM selection change and the \"selectionchange\" event for it\n // can cause a spurious DOM selection update, disrupting mouse\n // drag selection.\n if (forceSelUpdate ||\n !(this.input.mouseDown && this.domObserver.currentSelection.eq(this.domSelectionRange()) &&\n anchorInRightPlace(this))) {\n selectionToDOM(this, forceSelUpdate);\n }\n else {\n syncNodeSelection(this, state.selection);\n this.domObserver.setCurSelection();\n }\n this.domObserver.start();\n }\n this.updatePluginViews(prev);\n if (((_a = this.dragging) === null || _a === void 0 ? void 0 : _a.node) && !prev.doc.eq(state.doc))\n this.updateDraggedNode(this.dragging, prev);\n if (scroll == \"reset\") {\n this.dom.scrollTop = 0;\n }\n else if (scroll == \"to selection\") {\n this.scrollToSelection();\n }\n else if (oldScrollPos) {\n resetScrollPos(oldScrollPos);\n }\n }\n /**\n @internal\n */\n scrollToSelection() {\n let startDOM = this.domSelectionRange().focusNode;\n if (this.someProp(\"handleScrollToSelection\", f => f(this))) ;\n else if (this.state.selection instanceof NodeSelection) {\n let target = this.docView.domAfterPos(this.state.selection.from);\n if (target.nodeType == 1)\n scrollRectIntoView(this, target.getBoundingClientRect(), startDOM);\n }\n else {\n scrollRectIntoView(this, this.coordsAtPos(this.state.selection.head, 1), startDOM);\n }\n }\n destroyPluginViews() {\n let view;\n while (view = this.pluginViews.pop())\n if (view.destroy)\n view.destroy();\n }\n updatePluginViews(prevState) {\n if (!prevState || prevState.plugins != this.state.plugins || this.directPlugins != this.prevDirectPlugins) {\n this.prevDirectPlugins = this.directPlugins;\n this.destroyPluginViews();\n for (let i = 0; i < this.directPlugins.length; i++) {\n let plugin = this.directPlugins[i];\n if (plugin.spec.view)\n this.pluginViews.push(plugin.spec.view(this));\n }\n for (let i = 0; i < this.state.plugins.length; i++) {\n let plugin = this.state.plugins[i];\n if (plugin.spec.view)\n this.pluginViews.push(plugin.spec.view(this));\n }\n }\n else {\n for (let i = 0; i < this.pluginViews.length; i++) {\n let pluginView = this.pluginViews[i];\n if (pluginView.update)\n pluginView.update(this, prevState);\n }\n }\n }\n updateDraggedNode(dragging, prev) {\n let sel = dragging.node, found = -1;\n if (this.state.doc.nodeAt(sel.from) == sel.node) {\n found = sel.from;\n }\n else {\n let movedPos = sel.from + (this.state.doc.content.size - prev.doc.content.size);\n let moved = movedPos > 0 && this.state.doc.nodeAt(movedPos);\n if (moved == sel.node)\n found = movedPos;\n }\n this.dragging = new Dragging(dragging.slice, dragging.move, found < 0 ? undefined : NodeSelection.create(this.state.doc, found));\n }\n someProp(propName, f) {\n let prop = this._props && this._props[propName], value;\n if (prop != null && (value = f ? f(prop) : prop))\n return value;\n for (let i = 0; i < this.directPlugins.length; i++) {\n let prop = this.directPlugins[i].props[propName];\n if (prop != null && (value = f ? f(prop) : prop))\n return value;\n }\n let plugins = this.state.plugins;\n if (plugins)\n for (let i = 0; i < plugins.length; i++) {\n let prop = plugins[i].props[propName];\n if (prop != null && (value = f ? f(prop) : prop))\n return value;\n }\n }\n /**\n Query whether the view has focus.\n */\n hasFocus() {\n // Work around IE not handling focus correctly if resize handles are shown.\n // If the cursor is inside an element with resize handles, activeElement\n // will be that element instead of this.dom.\n if (ie) {\n // If activeElement is within this.dom, and there are no other elements\n // setting `contenteditable` to false in between, treat it as focused.\n let node = this.root.activeElement;\n if (node == this.dom)\n return true;\n if (!node || !this.dom.contains(node))\n return false;\n while (node && this.dom != node && this.dom.contains(node)) {\n if (node.contentEditable == 'false')\n return false;\n node = node.parentElement;\n }\n return true;\n }\n return this.root.activeElement == this.dom;\n }\n /**\n Focus the editor.\n */\n focus() {\n this.domObserver.stop();\n if (this.editable)\n focusPreventScroll(this.dom);\n selectionToDOM(this);\n this.domObserver.start();\n }\n /**\n Get the document root in which the editor exists. This will\n usually be the top-level `document`, but might be a [shadow\n DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Shadow_DOM)\n root if the editor is inside one.\n */\n get root() {\n let cached = this._root;\n if (cached == null)\n for (let search = this.dom.parentNode; search; search = search.parentNode) {\n if (search.nodeType == 9 || (search.nodeType == 11 && search.host)) {\n if (!search.getSelection)\n Object.getPrototypeOf(search).getSelection = () => search.ownerDocument.getSelection();\n return this._root = search;\n }\n }\n return cached || document;\n }\n /**\n When an existing editor view is moved to a new document or\n shadow tree, call this to make it recompute its root.\n */\n updateRoot() {\n this._root = null;\n }\n /**\n Given a pair of viewport coordinates, return the document\n position that corresponds to them. May return null if the given\n coordinates aren't inside of the editor. When an object is\n returned, its `pos` property is the position nearest to the\n coordinates, and its `inside` property holds the position of the\n inner node that the position falls inside of, or -1 if it is at\n the top level, not in any node.\n */\n posAtCoords(coords) {\n return posAtCoords(this, coords);\n }\n /**\n Returns the viewport rectangle at a given document position.\n `left` and `right` will be the same number, as this returns a\n flat cursor-ish rectangle. If the position is between two things\n that aren't directly adjacent, `side` determines which element\n is used. When < 0, the element before the position is used,\n otherwise the element after.\n */\n coordsAtPos(pos, side = 1) {\n return coordsAtPos(this, pos, side);\n }\n /**\n Find the DOM position that corresponds to the given document\n position. When `side` is negative, find the position as close as\n possible to the content before the position. When positive,\n prefer positions close to the content after the position. When\n zero, prefer as shallow a position as possible.\n \n Note that you should **not** mutate the editor's internal DOM,\n only inspect it (and even that is usually not necessary).\n */\n domAtPos(pos, side = 0) {\n return this.docView.domFromPos(pos, side);\n }\n /**\n Find the DOM node that represents the document node after the\n given position. May return `null` when the position doesn't point\n in front of a node or if the node is inside an opaque node view.\n \n This is intended to be able to call things like\n `getBoundingClientRect` on that DOM node. Do **not** mutate the\n editor DOM directly, or add styling this way, since that will be\n immediately overriden by the editor as it redraws the node.\n */\n nodeDOM(pos) {\n let desc = this.docView.descAt(pos);\n return desc ? desc.nodeDOM : null;\n }\n /**\n Find the document position that corresponds to a given DOM\n position. (Whenever possible, it is preferable to inspect the\n document structure directly, rather than poking around in the\n DOM, but sometimes—for example when interpreting an event\n target—you don't have a choice.)\n \n The `bias` parameter can be used to influence which side of a DOM\n node to use when the position is inside a leaf node.\n */\n posAtDOM(node, offset, bias = -1) {\n let pos = this.docView.posFromDOM(node, offset, bias);\n if (pos == null)\n throw new RangeError(\"DOM position not inside the editor\");\n return pos;\n }\n /**\n Find out whether the selection is at the end of a textblock when\n moving in a given direction. When, for example, given `\"left\"`,\n it will return true if moving left from the current cursor\n position would leave that position's parent textblock. Will apply\n to the view's current state by default, but it is possible to\n pass a different state.\n */\n endOfTextblock(dir, state) {\n return endOfTextblock(this, state || this.state, dir);\n }\n /**\n Run the editor's paste logic with the given HTML string. The\n `event`, if given, will be passed to the\n [`handlePaste`](https://prosemirror.net/docs/ref/#view.EditorProps.handlePaste) hook.\n */\n pasteHTML(html, event) {\n return doPaste(this, \"\", html, false, event || new ClipboardEvent(\"paste\"));\n }\n /**\n Run the editor's paste logic with the given plain-text input.\n */\n pasteText(text, event) {\n return doPaste(this, text, null, true, event || new ClipboardEvent(\"paste\"));\n }\n /**\n Removes the editor from the DOM and destroys all [node\n views](https://prosemirror.net/docs/ref/#view.NodeView).\n */\n destroy() {\n if (!this.docView)\n return;\n destroyInput(this);\n this.destroyPluginViews();\n if (this.mounted) {\n this.docView.update(this.state.doc, [], viewDecorations(this), this);\n this.dom.textContent = \"\";\n }\n else if (this.dom.parentNode) {\n this.dom.parentNode.removeChild(this.dom);\n }\n this.docView.destroy();\n this.docView = null;\n clearReusedRange();\n }\n /**\n This is true when the view has been\n [destroyed](https://prosemirror.net/docs/ref/#view.EditorView.destroy) (and thus should not be\n used anymore).\n */\n get isDestroyed() {\n return this.docView == null;\n }\n /**\n Used for testing.\n */\n dispatchEvent(event) {\n return dispatchEvent(this, event);\n }\n /**\n Dispatch a transaction. Will call\n [`dispatchTransaction`](https://prosemirror.net/docs/ref/#view.DirectEditorProps.dispatchTransaction)\n when given, and otherwise defaults to applying the transaction to\n the current state and calling\n [`updateState`](https://prosemirror.net/docs/ref/#view.EditorView.updateState) with the result.\n This method is bound to the view instance, so that it can be\n easily passed around.\n */\n dispatch(tr) {\n let dispatchTransaction = this._props.dispatchTransaction;\n if (dispatchTransaction)\n dispatchTransaction.call(this, tr);\n else\n this.updateState(this.state.apply(tr));\n }\n /**\n @internal\n */\n domSelectionRange() {\n let sel = this.domSelection();\n return safari && this.root.nodeType === 11 &&\n deepActiveElement(this.dom.ownerDocument) == this.dom && safariShadowSelectionRange(this, sel) || sel;\n }\n /**\n @internal\n */\n domSelection() {\n return this.root.getSelection();\n }\n}\nfunction computeDocDeco(view) {\n let attrs = Object.create(null);\n attrs.class = \"ProseMirror\";\n attrs.contenteditable = String(view.editable);\n view.someProp(\"attributes\", value => {\n if (typeof value == \"function\")\n value = value(view.state);\n if (value)\n for (let attr in value) {\n if (attr == \"class\")\n attrs.class += \" \" + value[attr];\n else if (attr == \"style\")\n attrs.style = (attrs.style ? attrs.style + \";\" : \"\") + value[attr];\n else if (!attrs[attr] && attr != \"contenteditable\" && attr != \"nodeName\")\n attrs[attr] = String(value[attr]);\n }\n });\n if (!attrs.translate)\n attrs.translate = \"no\";\n return [Decoration.node(0, view.state.doc.content.size, attrs)];\n}\nfunction updateCursorWrapper(view) {\n if (view.markCursor) {\n let dom = document.createElement(\"img\");\n dom.className = \"ProseMirror-separator\";\n dom.setAttribute(\"mark-placeholder\", \"true\");\n dom.setAttribute(\"alt\", \"\");\n view.cursorWrapper = { dom, deco: Decoration.widget(view.state.selection.head, dom, { raw: true, marks: view.markCursor }) };\n }\n else {\n view.cursorWrapper = null;\n }\n}\nfunction getEditable(view) {\n return !view.someProp(\"editable\", value => value(view.state) === false);\n}\nfunction selectionContextChanged(sel1, sel2) {\n let depth = Math.min(sel1.$anchor.sharedDepth(sel1.head), sel2.$anchor.sharedDepth(sel2.head));\n return sel1.$anchor.start(depth) != sel2.$anchor.start(depth);\n}\nfunction buildNodeViews(view) {\n let result = Object.create(null);\n function add(obj) {\n for (let prop in obj)\n if (!Object.prototype.hasOwnProperty.call(result, prop))\n result[prop] = obj[prop];\n }\n view.someProp(\"nodeViews\", add);\n view.someProp(\"markViews\", add);\n return result;\n}\nfunction changedNodeViews(a, b) {\n let nA = 0, nB = 0;\n for (let prop in a) {\n if (a[prop] != b[prop])\n return true;\n nA++;\n }\n for (let _ in b)\n nB++;\n return nA != nB;\n}\nfunction checkStateComponent(plugin) {\n if (plugin.spec.state || plugin.spec.filterTransaction || plugin.spec.appendTransaction)\n throw new RangeError(\"Plugins passed directly to the view must not have a state component\");\n}\n\nexport { Decoration, DecorationSet, EditorView, __endComposition, __parseFromClipboard, __serializeForClipboard };\n","export var base = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 10: \"Enter\",\n 12: \"NumLock\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 44: \"PrintScreen\",\n 45: \"Insert\",\n 46: \"Delete\",\n 59: \";\",\n 61: \"=\",\n 91: \"Meta\",\n 92: \"Meta\",\n 106: \"*\",\n 107: \"+\",\n 108: \",\",\n 109: \"-\",\n 110: \".\",\n 111: \"/\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 160: \"Shift\",\n 161: \"Shift\",\n 162: \"Control\",\n 163: \"Control\",\n 164: \"Alt\",\n 165: \"Alt\",\n 173: \"-\",\n 186: \";\",\n 187: \"=\",\n 188: \",\",\n 189: \"-\",\n 190: \".\",\n 191: \"/\",\n 192: \"`\",\n 219: \"[\",\n 220: \"\\\\\",\n 221: \"]\",\n 222: \"'\"\n}\n\nexport var shift = {\n 48: \")\",\n 49: \"!\",\n 50: \"@\",\n 51: \"#\",\n 52: \"$\",\n 53: \"%\",\n 54: \"^\",\n 55: \"&\",\n 56: \"*\",\n 57: \"(\",\n 59: \":\",\n 61: \"+\",\n 173: \"_\",\n 186: \":\",\n 187: \"+\",\n 188: \"<\",\n 189: \"_\",\n 190: \">\",\n 191: \"?\",\n 192: \"~\",\n 219: \"{\",\n 220: \"|\",\n 221: \"}\",\n 222: \"\\\"\"\n}\n\nvar mac = typeof navigator != \"undefined\" && /Mac/.test(navigator.platform)\nvar ie = typeof navigator != \"undefined\" && /MSIE \\d|Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(navigator.userAgent)\n\n// Fill in the digit keys\nfor (var i = 0; i < 10; i++) base[48 + i] = base[96 + i] = String(i)\n\n// The function keys\nfor (var i = 1; i <= 24; i++) base[i + 111] = \"F\" + i\n\n// And the alphabetic keys\nfor (var i = 65; i <= 90; i++) {\n base[i] = String.fromCharCode(i + 32)\n shift[i] = String.fromCharCode(i)\n}\n\n// For each code that doesn't have a shift-equivalent, copy the base name\nfor (var code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code]\n\nexport function keyName(event) {\n // On macOS, keys held with Shift and Cmd don't reflect the effect of Shift in `.key`.\n // On IE, shift effect is never included in `.key`.\n var ignoreKey = mac && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey ||\n ie && event.shiftKey && event.key && event.key.length == 1 ||\n event.key == \"Unidentified\"\n var name = (!ignoreKey && event.key) ||\n (event.shiftKey ? shift : base)[event.keyCode] ||\n event.key || \"Unidentified\"\n // Edge sometimes produces wrong names (Issue #3)\n if (name == \"Esc\") name = \"Escape\"\n if (name == \"Del\") name = \"Delete\"\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/\n if (name == \"Left\") name = \"ArrowLeft\"\n if (name == \"Up\") name = \"ArrowUp\"\n if (name == \"Right\") name = \"ArrowRight\"\n if (name == \"Down\") name = \"ArrowDown\"\n return name\n}\n","import { keyName, base } from 'w3c-keyname';\nimport { Plugin } from 'prosemirror-state';\n\nconst mac = typeof navigator != \"undefined\" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform) : false;\nfunction normalizeKeyName(name) {\n let parts = name.split(/-(?!$)/), result = parts[parts.length - 1];\n if (result == \"Space\")\n result = \" \";\n let alt, ctrl, shift, meta;\n for (let i = 0; i < parts.length - 1; i++) {\n let mod = parts[i];\n if (/^(cmd|meta|m)$/i.test(mod))\n meta = true;\n else if (/^a(lt)?$/i.test(mod))\n alt = true;\n else if (/^(c|ctrl|control)$/i.test(mod))\n ctrl = true;\n else if (/^s(hift)?$/i.test(mod))\n shift = true;\n else if (/^mod$/i.test(mod)) {\n if (mac)\n meta = true;\n else\n ctrl = true;\n }\n else\n throw new Error(\"Unrecognized modifier name: \" + mod);\n }\n if (alt)\n result = \"Alt-\" + result;\n if (ctrl)\n result = \"Ctrl-\" + result;\n if (meta)\n result = \"Meta-\" + result;\n if (shift)\n result = \"Shift-\" + result;\n return result;\n}\nfunction normalize(map) {\n let copy = Object.create(null);\n for (let prop in map)\n copy[normalizeKeyName(prop)] = map[prop];\n return copy;\n}\nfunction modifiers(name, event, shift = true) {\n if (event.altKey)\n name = \"Alt-\" + name;\n if (event.ctrlKey)\n name = \"Ctrl-\" + name;\n if (event.metaKey)\n name = \"Meta-\" + name;\n if (shift && event.shiftKey)\n name = \"Shift-\" + name;\n return name;\n}\n/**\nCreate a keymap plugin for the given set of bindings.\n\nBindings should map key names to [command](https://prosemirror.net/docs/ref/#commands)-style\nfunctions, which will be called with `(EditorState, dispatch,\nEditorView)` arguments, and should return true when they've handled\nthe key. Note that the view argument isn't part of the command\nprotocol, but can be used as an escape hatch if a binding needs to\ndirectly interact with the UI.\n\nKey names may be strings like `\"Shift-Ctrl-Enter\"`—a key\nidentifier prefixed with zero or more modifiers. Key identifiers\nare based on the strings that can appear in\n[`KeyEvent.key`](https:developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key).\nUse lowercase letters to refer to letter keys (or uppercase letters\nif you want shift to be held). You may use `\"Space\"` as an alias\nfor the `\" \"` name.\n\nModifiers can be given in any order. `Shift-` (or `s-`), `Alt-` (or\n`a-`), `Ctrl-` (or `c-` or `Control-`) and `Cmd-` (or `m-` or\n`Meta-`) are recognized. For characters that are created by holding\nshift, the `Shift-` prefix is implied, and should not be added\nexplicitly.\n\nYou can use `Mod-` as a shorthand for `Cmd-` on Mac and `Ctrl-` on\nother platforms.\n\nYou can add multiple keymap plugins to an editor. The order in\nwhich they appear determines their precedence (the ones early in\nthe array get to dispatch first).\n*/\nfunction keymap(bindings) {\n return new Plugin({ props: { handleKeyDown: keydownHandler(bindings) } });\n}\n/**\nGiven a set of bindings (using the same format as\n[`keymap`](https://prosemirror.net/docs/ref/#keymap.keymap)), return a [keydown\nhandler](https://prosemirror.net/docs/ref/#view.EditorProps.handleKeyDown) that handles them.\n*/\nfunction keydownHandler(bindings) {\n let map = normalize(bindings);\n return function (view, event) {\n let name = keyName(event), baseName, direct = map[modifiers(name, event)];\n if (direct && direct(view.state, view.dispatch, view))\n return true;\n // A character key\n if (name.length == 1 && name != \" \") {\n if (event.shiftKey) {\n // In case the name was already modified by shift, try looking\n // it up without its shift modifier\n let noShift = map[modifiers(name, event, false)];\n if (noShift && noShift(view.state, view.dispatch, view))\n return true;\n }\n if ((event.shiftKey || event.altKey || event.metaKey || name.charCodeAt(0) > 127) &&\n (baseName = base[event.keyCode]) && baseName != name) {\n // Try falling back to the keyCode when there's a modifier\n // active or the character produced isn't ASCII, and our table\n // produces a different name from the the keyCode. See #668,\n // #1060\n let fromCode = map[modifiers(baseName, event)];\n if (fromCode && fromCode(view.state, view.dispatch, view))\n return true;\n }\n }\n return false;\n };\n}\n\nexport { keydownHandler, keymap };\n","import { liftTarget, replaceStep, ReplaceStep, canJoin, joinPoint, canSplit, ReplaceAroundStep, findWrapping } from 'prosemirror-transform';\nimport { Slice, Fragment } from 'prosemirror-model';\nimport { NodeSelection, Selection, TextSelection, AllSelection } from 'prosemirror-state';\n\n/**\nDelete the selection, if there is one.\n*/\nconst deleteSelection = (state, dispatch) => {\n if (state.selection.empty)\n return false;\n if (dispatch)\n dispatch(state.tr.deleteSelection().scrollIntoView());\n return true;\n};\nfunction atBlockStart(state, view) {\n let { $cursor } = state.selection;\n if (!$cursor || (view ? !view.endOfTextblock(\"backward\", state)\n : $cursor.parentOffset > 0))\n return null;\n return $cursor;\n}\n/**\nIf the selection is empty and at the start of a textblock, try to\nreduce the distance between that block and the one before it—if\nthere's a block directly before it that can be joined, join them.\nIf not, try to move the selected block closer to the next one in\nthe document structure by lifting it out of its parent or moving it\ninto a parent of the previous block. Will use the view for accurate\n(bidi-aware) start-of-textblock detection if given.\n*/\nconst joinBackward = (state, dispatch, view) => {\n let $cursor = atBlockStart(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutBefore($cursor);\n // If there is no node before this, try to lift\n if (!$cut) {\n let range = $cursor.blockRange(), target = range && liftTarget(range);\n if (target == null)\n return false;\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n }\n let before = $cut.nodeBefore;\n // Apply the joining algorithm\n if (!before.type.spec.isolating && deleteBarrier(state, $cut, dispatch))\n return true;\n // If the node below has no content and the node above is\n // selectable, delete the node below and select the one above.\n if ($cursor.parent.content.size == 0 &&\n (textblockAt(before, \"end\") || NodeSelection.isSelectable(before))) {\n let delStep = replaceStep(state.doc, $cursor.before(), $cursor.after(), Slice.empty);\n if (delStep && delStep.slice.size < delStep.to - delStep.from) {\n if (dispatch) {\n let tr = state.tr.step(delStep);\n tr.setSelection(textblockAt(before, \"end\") ? Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos, -1)), -1)\n : NodeSelection.create(tr.doc, $cut.pos - before.nodeSize));\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n }\n // If the node before is an atom, delete it\n if (before.isAtom && $cut.depth == $cursor.depth - 1) {\n if (dispatch)\n dispatch(state.tr.delete($cut.pos - before.nodeSize, $cut.pos).scrollIntoView());\n return true;\n }\n return false;\n};\n/**\nA more limited form of [`joinBackward`]($commands.joinBackward)\nthat only tries to join the current textblock to the one before\nit, if the cursor is at the start of a textblock.\n*/\nconst joinTextblockBackward = (state, dispatch, view) => {\n let $cursor = atBlockStart(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutBefore($cursor);\n return $cut ? joinTextblocksAround(state, $cut, dispatch) : false;\n};\n/**\nA more limited form of [`joinForward`]($commands.joinForward)\nthat only tries to join the current textblock to the one after\nit, if the cursor is at the end of a textblock.\n*/\nconst joinTextblockForward = (state, dispatch, view) => {\n let $cursor = atBlockEnd(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutAfter($cursor);\n return $cut ? joinTextblocksAround(state, $cut, dispatch) : false;\n};\nfunction joinTextblocksAround(state, $cut, dispatch) {\n let before = $cut.nodeBefore, beforeText = before, beforePos = $cut.pos - 1;\n for (; !beforeText.isTextblock; beforePos--) {\n if (beforeText.type.spec.isolating)\n return false;\n let child = beforeText.lastChild;\n if (!child)\n return false;\n beforeText = child;\n }\n let after = $cut.nodeAfter, afterText = after, afterPos = $cut.pos + 1;\n for (; !afterText.isTextblock; afterPos++) {\n if (afterText.type.spec.isolating)\n return false;\n let child = afterText.firstChild;\n if (!child)\n return false;\n afterText = child;\n }\n let step = replaceStep(state.doc, beforePos, afterPos, Slice.empty);\n if (!step || step.from != beforePos ||\n step instanceof ReplaceStep && step.slice.size >= afterPos - beforePos)\n return false;\n if (dispatch) {\n let tr = state.tr.step(step);\n tr.setSelection(TextSelection.create(tr.doc, beforePos));\n dispatch(tr.scrollIntoView());\n }\n return true;\n}\nfunction textblockAt(node, side, only = false) {\n for (let scan = node; scan; scan = (side == \"start\" ? scan.firstChild : scan.lastChild)) {\n if (scan.isTextblock)\n return true;\n if (only && scan.childCount != 1)\n return false;\n }\n return false;\n}\n/**\nWhen the selection is empty and at the start of a textblock, select\nthe node before that textblock, if possible. This is intended to be\nbound to keys like backspace, after\n[`joinBackward`](https://prosemirror.net/docs/ref/#commands.joinBackward) or other deleting\ncommands, as a fall-back behavior when the schema doesn't allow\ndeletion at the selected point.\n*/\nconst selectNodeBackward = (state, dispatch, view) => {\n let { $head, empty } = state.selection, $cut = $head;\n if (!empty)\n return false;\n if ($head.parent.isTextblock) {\n if (view ? !view.endOfTextblock(\"backward\", state) : $head.parentOffset > 0)\n return false;\n $cut = findCutBefore($head);\n }\n let node = $cut && $cut.nodeBefore;\n if (!node || !NodeSelection.isSelectable(node))\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(NodeSelection.create(state.doc, $cut.pos - node.nodeSize)).scrollIntoView());\n return true;\n};\nfunction findCutBefore($pos) {\n if (!$pos.parent.type.spec.isolating)\n for (let i = $pos.depth - 1; i >= 0; i--) {\n if ($pos.index(i) > 0)\n return $pos.doc.resolve($pos.before(i + 1));\n if ($pos.node(i).type.spec.isolating)\n break;\n }\n return null;\n}\nfunction atBlockEnd(state, view) {\n let { $cursor } = state.selection;\n if (!$cursor || (view ? !view.endOfTextblock(\"forward\", state)\n : $cursor.parentOffset < $cursor.parent.content.size))\n return null;\n return $cursor;\n}\n/**\nIf the selection is empty and the cursor is at the end of a\ntextblock, try to reduce or remove the boundary between that block\nand the one after it, either by joining them or by moving the other\nblock closer to this one in the tree structure. Will use the view\nfor accurate start-of-textblock detection if given.\n*/\nconst joinForward = (state, dispatch, view) => {\n let $cursor = atBlockEnd(state, view);\n if (!$cursor)\n return false;\n let $cut = findCutAfter($cursor);\n // If there is no node after this, there's nothing to do\n if (!$cut)\n return false;\n let after = $cut.nodeAfter;\n // Try the joining algorithm\n if (deleteBarrier(state, $cut, dispatch))\n return true;\n // If the node above has no content and the node below is\n // selectable, delete the node above and select the one below.\n if ($cursor.parent.content.size == 0 &&\n (textblockAt(after, \"start\") || NodeSelection.isSelectable(after))) {\n let delStep = replaceStep(state.doc, $cursor.before(), $cursor.after(), Slice.empty);\n if (delStep && delStep.slice.size < delStep.to - delStep.from) {\n if (dispatch) {\n let tr = state.tr.step(delStep);\n tr.setSelection(textblockAt(after, \"start\") ? Selection.findFrom(tr.doc.resolve(tr.mapping.map($cut.pos)), 1)\n : NodeSelection.create(tr.doc, tr.mapping.map($cut.pos)));\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n }\n // If the next node is an atom, delete it\n if (after.isAtom && $cut.depth == $cursor.depth - 1) {\n if (dispatch)\n dispatch(state.tr.delete($cut.pos, $cut.pos + after.nodeSize).scrollIntoView());\n return true;\n }\n return false;\n};\n/**\nWhen the selection is empty and at the end of a textblock, select\nthe node coming after that textblock, if possible. This is intended\nto be bound to keys like delete, after\n[`joinForward`](https://prosemirror.net/docs/ref/#commands.joinForward) and similar deleting\ncommands, to provide a fall-back behavior when the schema doesn't\nallow deletion at the selected point.\n*/\nconst selectNodeForward = (state, dispatch, view) => {\n let { $head, empty } = state.selection, $cut = $head;\n if (!empty)\n return false;\n if ($head.parent.isTextblock) {\n if (view ? !view.endOfTextblock(\"forward\", state) : $head.parentOffset < $head.parent.content.size)\n return false;\n $cut = findCutAfter($head);\n }\n let node = $cut && $cut.nodeAfter;\n if (!node || !NodeSelection.isSelectable(node))\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(NodeSelection.create(state.doc, $cut.pos)).scrollIntoView());\n return true;\n};\nfunction findCutAfter($pos) {\n if (!$pos.parent.type.spec.isolating)\n for (let i = $pos.depth - 1; i >= 0; i--) {\n let parent = $pos.node(i);\n if ($pos.index(i) + 1 < parent.childCount)\n return $pos.doc.resolve($pos.after(i + 1));\n if (parent.type.spec.isolating)\n break;\n }\n return null;\n}\n/**\nJoin the selected block or, if there is a text selection, the\nclosest ancestor block of the selection that can be joined, with\nthe sibling above it.\n*/\nconst joinUp = (state, dispatch) => {\n let sel = state.selection, nodeSel = sel instanceof NodeSelection, point;\n if (nodeSel) {\n if (sel.node.isTextblock || !canJoin(state.doc, sel.from))\n return false;\n point = sel.from;\n }\n else {\n point = joinPoint(state.doc, sel.from, -1);\n if (point == null)\n return false;\n }\n if (dispatch) {\n let tr = state.tr.join(point);\n if (nodeSel)\n tr.setSelection(NodeSelection.create(tr.doc, point - state.doc.resolve(point).nodeBefore.nodeSize));\n dispatch(tr.scrollIntoView());\n }\n return true;\n};\n/**\nJoin the selected block, or the closest ancestor of the selection\nthat can be joined, with the sibling after it.\n*/\nconst joinDown = (state, dispatch) => {\n let sel = state.selection, point;\n if (sel instanceof NodeSelection) {\n if (sel.node.isTextblock || !canJoin(state.doc, sel.to))\n return false;\n point = sel.to;\n }\n else {\n point = joinPoint(state.doc, sel.to, 1);\n if (point == null)\n return false;\n }\n if (dispatch)\n dispatch(state.tr.join(point).scrollIntoView());\n return true;\n};\n/**\nLift the selected block, or the closest ancestor block of the\nselection that can be lifted, out of its parent node.\n*/\nconst lift = (state, dispatch) => {\n let { $from, $to } = state.selection;\n let range = $from.blockRange($to), target = range && liftTarget(range);\n if (target == null)\n return false;\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n};\n/**\nIf the selection is in a node whose type has a truthy\n[`code`](https://prosemirror.net/docs/ref/#model.NodeSpec.code) property in its spec, replace the\nselection with a newline character.\n*/\nconst newlineInCode = (state, dispatch) => {\n let { $head, $anchor } = state.selection;\n if (!$head.parent.type.spec.code || !$head.sameParent($anchor))\n return false;\n if (dispatch)\n dispatch(state.tr.insertText(\"\\n\").scrollIntoView());\n return true;\n};\nfunction defaultBlockAt(match) {\n for (let i = 0; i < match.edgeCount; i++) {\n let { type } = match.edge(i);\n if (type.isTextblock && !type.hasRequiredAttrs())\n return type;\n }\n return null;\n}\n/**\nWhen the selection is in a node with a truthy\n[`code`](https://prosemirror.net/docs/ref/#model.NodeSpec.code) property in its spec, create a\ndefault block after the code block, and move the cursor there.\n*/\nconst exitCode = (state, dispatch) => {\n let { $head, $anchor } = state.selection;\n if (!$head.parent.type.spec.code || !$head.sameParent($anchor))\n return false;\n let above = $head.node(-1), after = $head.indexAfter(-1), type = defaultBlockAt(above.contentMatchAt(after));\n if (!type || !above.canReplaceWith(after, after, type))\n return false;\n if (dispatch) {\n let pos = $head.after(), tr = state.tr.replaceWith(pos, pos, type.createAndFill());\n tr.setSelection(Selection.near(tr.doc.resolve(pos), 1));\n dispatch(tr.scrollIntoView());\n }\n return true;\n};\n/**\nIf a block node is selected, create an empty paragraph before (if\nit is its parent's first child) or after it.\n*/\nconst createParagraphNear = (state, dispatch) => {\n let sel = state.selection, { $from, $to } = sel;\n if (sel instanceof AllSelection || $from.parent.inlineContent || $to.parent.inlineContent)\n return false;\n let type = defaultBlockAt($to.parent.contentMatchAt($to.indexAfter()));\n if (!type || !type.isTextblock)\n return false;\n if (dispatch) {\n let side = (!$from.parentOffset && $to.index() < $to.parent.childCount ? $from : $to).pos;\n let tr = state.tr.insert(side, type.createAndFill());\n tr.setSelection(TextSelection.create(tr.doc, side + 1));\n dispatch(tr.scrollIntoView());\n }\n return true;\n};\n/**\nIf the cursor is in an empty textblock that can be lifted, lift the\nblock.\n*/\nconst liftEmptyBlock = (state, dispatch) => {\n let { $cursor } = state.selection;\n if (!$cursor || $cursor.parent.content.size)\n return false;\n if ($cursor.depth > 1 && $cursor.after() != $cursor.end(-1)) {\n let before = $cursor.before();\n if (canSplit(state.doc, before)) {\n if (dispatch)\n dispatch(state.tr.split(before).scrollIntoView());\n return true;\n }\n }\n let range = $cursor.blockRange(), target = range && liftTarget(range);\n if (target == null)\n return false;\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n};\n/**\nCreate a variant of [`splitBlock`](https://prosemirror.net/docs/ref/#commands.splitBlock) that uses\na custom function to determine the type of the newly split off block.\n*/\nfunction splitBlockAs(splitNode) {\n return (state, dispatch) => {\n let { $from, $to } = state.selection;\n if (state.selection instanceof NodeSelection && state.selection.node.isBlock) {\n if (!$from.parentOffset || !canSplit(state.doc, $from.pos))\n return false;\n if (dispatch)\n dispatch(state.tr.split($from.pos).scrollIntoView());\n return true;\n }\n if (!$from.parent.isBlock)\n return false;\n if (dispatch) {\n let atEnd = $to.parentOffset == $to.parent.content.size;\n let tr = state.tr;\n if (state.selection instanceof TextSelection || state.selection instanceof AllSelection)\n tr.deleteSelection();\n let deflt = $from.depth == 0 ? null : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)));\n let splitType = splitNode && splitNode($to.parent, atEnd);\n let types = splitType ? [splitType] : atEnd && deflt ? [{ type: deflt }] : undefined;\n let can = canSplit(tr.doc, tr.mapping.map($from.pos), 1, types);\n if (!types && !can && canSplit(tr.doc, tr.mapping.map($from.pos), 1, deflt ? [{ type: deflt }] : undefined)) {\n if (deflt)\n types = [{ type: deflt }];\n can = true;\n }\n if (can) {\n tr.split(tr.mapping.map($from.pos), 1, types);\n if (!atEnd && !$from.parentOffset && $from.parent.type != deflt) {\n let first = tr.mapping.map($from.before()), $first = tr.doc.resolve(first);\n if (deflt && $from.node(-1).canReplaceWith($first.index(), $first.index() + 1, deflt))\n tr.setNodeMarkup(tr.mapping.map($from.before()), deflt);\n }\n }\n dispatch(tr.scrollIntoView());\n }\n return true;\n };\n}\n/**\nSplit the parent block of the selection. If the selection is a text\nselection, also delete its content.\n*/\nconst splitBlock = splitBlockAs();\n/**\nActs like [`splitBlock`](https://prosemirror.net/docs/ref/#commands.splitBlock), but without\nresetting the set of active marks at the cursor.\n*/\nconst splitBlockKeepMarks = (state, dispatch) => {\n return splitBlock(state, dispatch && (tr => {\n let marks = state.storedMarks || (state.selection.$to.parentOffset && state.selection.$from.marks());\n if (marks)\n tr.ensureMarks(marks);\n dispatch(tr);\n }));\n};\n/**\nMove the selection to the node wrapping the current selection, if\nany. (Will not select the document node.)\n*/\nconst selectParentNode = (state, dispatch) => {\n let { $from, to } = state.selection, pos;\n let same = $from.sharedDepth(to);\n if (same == 0)\n return false;\n pos = $from.before(same);\n if (dispatch)\n dispatch(state.tr.setSelection(NodeSelection.create(state.doc, pos)));\n return true;\n};\n/**\nSelect the whole document.\n*/\nconst selectAll = (state, dispatch) => {\n if (dispatch)\n dispatch(state.tr.setSelection(new AllSelection(state.doc)));\n return true;\n};\nfunction joinMaybeClear(state, $pos, dispatch) {\n let before = $pos.nodeBefore, after = $pos.nodeAfter, index = $pos.index();\n if (!before || !after || !before.type.compatibleContent(after.type))\n return false;\n if (!before.content.size && $pos.parent.canReplace(index - 1, index)) {\n if (dispatch)\n dispatch(state.tr.delete($pos.pos - before.nodeSize, $pos.pos).scrollIntoView());\n return true;\n }\n if (!$pos.parent.canReplace(index, index + 1) || !(after.isTextblock || canJoin(state.doc, $pos.pos)))\n return false;\n if (dispatch)\n dispatch(state.tr\n .clearIncompatible($pos.pos, before.type, before.contentMatchAt(before.childCount))\n .join($pos.pos)\n .scrollIntoView());\n return true;\n}\nfunction deleteBarrier(state, $cut, dispatch) {\n let before = $cut.nodeBefore, after = $cut.nodeAfter, conn, match;\n if (before.type.spec.isolating || after.type.spec.isolating)\n return false;\n if (joinMaybeClear(state, $cut, dispatch))\n return true;\n let canDelAfter = $cut.parent.canReplace($cut.index(), $cut.index() + 1);\n if (canDelAfter &&\n (conn = (match = before.contentMatchAt(before.childCount)).findWrapping(after.type)) &&\n match.matchType(conn[0] || after.type).validEnd) {\n if (dispatch) {\n let end = $cut.pos + after.nodeSize, wrap = Fragment.empty;\n for (let i = conn.length - 1; i >= 0; i--)\n wrap = Fragment.from(conn[i].create(null, wrap));\n wrap = Fragment.from(before.copy(wrap));\n let tr = state.tr.step(new ReplaceAroundStep($cut.pos - 1, end, $cut.pos, end, new Slice(wrap, 1, 0), conn.length, true));\n let joinAt = end + 2 * conn.length;\n if (canJoin(tr.doc, joinAt))\n tr.join(joinAt);\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n let selAfter = Selection.findFrom($cut, 1);\n let range = selAfter && selAfter.$from.blockRange(selAfter.$to), target = range && liftTarget(range);\n if (target != null && target >= $cut.depth) {\n if (dispatch)\n dispatch(state.tr.lift(range, target).scrollIntoView());\n return true;\n }\n if (canDelAfter && textblockAt(after, \"start\", true) && textblockAt(before, \"end\")) {\n let at = before, wrap = [];\n for (;;) {\n wrap.push(at);\n if (at.isTextblock)\n break;\n at = at.lastChild;\n }\n let afterText = after, afterDepth = 1;\n for (; !afterText.isTextblock; afterText = afterText.firstChild)\n afterDepth++;\n if (at.canReplace(at.childCount, at.childCount, afterText.content)) {\n if (dispatch) {\n let end = Fragment.empty;\n for (let i = wrap.length - 1; i >= 0; i--)\n end = Fragment.from(wrap[i].copy(end));\n let tr = state.tr.step(new ReplaceAroundStep($cut.pos - wrap.length, $cut.pos + after.nodeSize, $cut.pos + afterDepth, $cut.pos + after.nodeSize - afterDepth, new Slice(end, wrap.length, 0), 0, true));\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n }\n return false;\n}\nfunction selectTextblockSide(side) {\n return function (state, dispatch) {\n let sel = state.selection, $pos = side < 0 ? sel.$from : sel.$to;\n let depth = $pos.depth;\n while ($pos.node(depth).isInline) {\n if (!depth)\n return false;\n depth--;\n }\n if (!$pos.node(depth).isTextblock)\n return false;\n if (dispatch)\n dispatch(state.tr.setSelection(TextSelection.create(state.doc, side < 0 ? $pos.start(depth) : $pos.end(depth))));\n return true;\n };\n}\n/**\nMoves the cursor to the start of current text block.\n*/\nconst selectTextblockStart = selectTextblockSide(-1);\n/**\nMoves the cursor to the end of current text block.\n*/\nconst selectTextblockEnd = selectTextblockSide(1);\n// Parameterized commands\n/**\nWrap the selection in a node of the given type with the given\nattributes.\n*/\nfunction wrapIn(nodeType, attrs = null) {\n return function (state, dispatch) {\n let { $from, $to } = state.selection;\n let range = $from.blockRange($to), wrapping = range && findWrapping(range, nodeType, attrs);\n if (!wrapping)\n return false;\n if (dispatch)\n dispatch(state.tr.wrap(range, wrapping).scrollIntoView());\n return true;\n };\n}\n/**\nReturns a command that tries to set the selected textblocks to the\ngiven node type with the given attributes.\n*/\nfunction setBlockType(nodeType, attrs = null) {\n return function (state, dispatch) {\n let applicable = false;\n for (let i = 0; i < state.selection.ranges.length && !applicable; i++) {\n let { $from: { pos: from }, $to: { pos: to } } = state.selection.ranges[i];\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (applicable)\n return false;\n if (!node.isTextblock || node.hasMarkup(nodeType, attrs))\n return;\n if (node.type == nodeType) {\n applicable = true;\n }\n else {\n let $pos = state.doc.resolve(pos), index = $pos.index();\n applicable = $pos.parent.canReplaceWith(index, index + 1, nodeType);\n }\n });\n }\n if (!applicable)\n return false;\n if (dispatch) {\n let tr = state.tr;\n for (let i = 0; i < state.selection.ranges.length; i++) {\n let { $from: { pos: from }, $to: { pos: to } } = state.selection.ranges[i];\n tr.setBlockType(from, to, nodeType, attrs);\n }\n dispatch(tr.scrollIntoView());\n }\n return true;\n };\n}\nfunction markApplies(doc, ranges, type) {\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i];\n let can = $from.depth == 0 ? doc.inlineContent && doc.type.allowsMarkType(type) : false;\n doc.nodesBetween($from.pos, $to.pos, node => {\n if (can)\n return false;\n can = node.inlineContent && node.type.allowsMarkType(type);\n });\n if (can)\n return true;\n }\n return false;\n}\n/**\nCreate a command function that toggles the given mark with the\ngiven attributes. Will return `false` when the current selection\ndoesn't support that mark. This will remove the mark if any marks\nof that type exist in the selection, or add it otherwise. If the\nselection is empty, this applies to the [stored\nmarks](https://prosemirror.net/docs/ref/#state.EditorState.storedMarks) instead of a range of the\ndocument.\n*/\nfunction toggleMark(markType, attrs = null) {\n return function (state, dispatch) {\n let { empty, $cursor, ranges } = state.selection;\n if ((empty && !$cursor) || !markApplies(state.doc, ranges, markType))\n return false;\n if (dispatch) {\n if ($cursor) {\n if (markType.isInSet(state.storedMarks || $cursor.marks()))\n dispatch(state.tr.removeStoredMark(markType));\n else\n dispatch(state.tr.addStoredMark(markType.create(attrs)));\n }\n else {\n let has = false, tr = state.tr;\n for (let i = 0; !has && i < ranges.length; i++) {\n let { $from, $to } = ranges[i];\n has = state.doc.rangeHasMark($from.pos, $to.pos, markType);\n }\n for (let i = 0; i < ranges.length; i++) {\n let { $from, $to } = ranges[i];\n if (has) {\n tr.removeMark($from.pos, $to.pos, markType);\n }\n else {\n let from = $from.pos, to = $to.pos, start = $from.nodeAfter, end = $to.nodeBefore;\n let spaceStart = start && start.isText ? /^\\s*/.exec(start.text)[0].length : 0;\n let spaceEnd = end && end.isText ? /\\s*$/.exec(end.text)[0].length : 0;\n if (from + spaceStart < to) {\n from += spaceStart;\n to -= spaceEnd;\n }\n tr.addMark(from, to, markType.create(attrs));\n }\n }\n dispatch(tr.scrollIntoView());\n }\n }\n return true;\n };\n}\nfunction wrapDispatchForJoin(dispatch, isJoinable) {\n return (tr) => {\n if (!tr.isGeneric)\n return dispatch(tr);\n let ranges = [];\n for (let i = 0; i < tr.mapping.maps.length; i++) {\n let map = tr.mapping.maps[i];\n for (let j = 0; j < ranges.length; j++)\n ranges[j] = map.map(ranges[j]);\n map.forEach((_s, _e, from, to) => ranges.push(from, to));\n }\n // Figure out which joinable points exist inside those ranges,\n // by checking all node boundaries in their parent nodes.\n let joinable = [];\n for (let i = 0; i < ranges.length; i += 2) {\n let from = ranges[i], to = ranges[i + 1];\n let $from = tr.doc.resolve(from), depth = $from.sharedDepth(to), parent = $from.node(depth);\n for (let index = $from.indexAfter(depth), pos = $from.after(depth + 1); pos <= to; ++index) {\n let after = parent.maybeChild(index);\n if (!after)\n break;\n if (index && joinable.indexOf(pos) == -1) {\n let before = parent.child(index - 1);\n if (before.type == after.type && isJoinable(before, after))\n joinable.push(pos);\n }\n pos += after.nodeSize;\n }\n }\n // Join the joinable points\n joinable.sort((a, b) => a - b);\n for (let i = joinable.length - 1; i >= 0; i--) {\n if (canJoin(tr.doc, joinable[i]))\n tr.join(joinable[i]);\n }\n dispatch(tr);\n };\n}\n/**\nWrap a command so that, when it produces a transform that causes\ntwo joinable nodes to end up next to each other, those are joined.\nNodes are considered joinable when they are of the same type and\nwhen the `isJoinable` predicate returns true for them or, if an\narray of strings was passed, if their node type name is in that\narray.\n*/\nfunction autoJoin(command, isJoinable) {\n let canJoin = Array.isArray(isJoinable) ? (node) => isJoinable.indexOf(node.type.name) > -1\n : isJoinable;\n return (state, dispatch, view) => command(state, dispatch && wrapDispatchForJoin(dispatch, canJoin), view);\n}\n/**\nCombine a number of command functions into a single function (which\ncalls them one by one until one returns true).\n*/\nfunction chainCommands(...commands) {\n return function (state, dispatch, view) {\n for (let i = 0; i < commands.length; i++)\n if (commands[i](state, dispatch, view))\n return true;\n return false;\n };\n}\nlet backspace = chainCommands(deleteSelection, joinBackward, selectNodeBackward);\nlet del = chainCommands(deleteSelection, joinForward, selectNodeForward);\n/**\nA basic keymap containing bindings not specific to any schema.\nBinds the following keys (when multiple commands are listed, they\nare chained with [`chainCommands`](https://prosemirror.net/docs/ref/#commands.chainCommands)):\n\n* **Enter** to `newlineInCode`, `createParagraphNear`, `liftEmptyBlock`, `splitBlock`\n* **Mod-Enter** to `exitCode`\n* **Backspace** and **Mod-Backspace** to `deleteSelection`, `joinBackward`, `selectNodeBackward`\n* **Delete** and **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`\n* **Mod-Delete** to `deleteSelection`, `joinForward`, `selectNodeForward`\n* **Mod-a** to `selectAll`\n*/\nconst pcBaseKeymap = {\n \"Enter\": chainCommands(newlineInCode, createParagraphNear, liftEmptyBlock, splitBlock),\n \"Mod-Enter\": exitCode,\n \"Backspace\": backspace,\n \"Mod-Backspace\": backspace,\n \"Shift-Backspace\": backspace,\n \"Delete\": del,\n \"Mod-Delete\": del,\n \"Mod-a\": selectAll\n};\n/**\nA copy of `pcBaseKeymap` that also binds **Ctrl-h** like Backspace,\n**Ctrl-d** like Delete, **Alt-Backspace** like Ctrl-Backspace, and\n**Ctrl-Alt-Backspace**, **Alt-Delete**, and **Alt-d** like\nCtrl-Delete.\n*/\nconst macBaseKeymap = {\n \"Ctrl-h\": pcBaseKeymap[\"Backspace\"],\n \"Alt-Backspace\": pcBaseKeymap[\"Mod-Backspace\"],\n \"Ctrl-d\": pcBaseKeymap[\"Delete\"],\n \"Ctrl-Alt-Backspace\": pcBaseKeymap[\"Mod-Delete\"],\n \"Alt-Delete\": pcBaseKeymap[\"Mod-Delete\"],\n \"Alt-d\": pcBaseKeymap[\"Mod-Delete\"],\n \"Ctrl-a\": selectTextblockStart,\n \"Ctrl-e\": selectTextblockEnd\n};\nfor (let key in pcBaseKeymap)\n macBaseKeymap[key] = pcBaseKeymap[key];\nconst mac = typeof navigator != \"undefined\" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform)\n // @ts-ignore\n : typeof os != \"undefined\" && os.platform ? os.platform() == \"darwin\" : false;\n/**\nDepending on the detected platform, this will hold\n[`pcBasekeymap`](https://prosemirror.net/docs/ref/#commands.pcBaseKeymap) or\n[`macBaseKeymap`](https://prosemirror.net/docs/ref/#commands.macBaseKeymap).\n*/\nconst baseKeymap = mac ? macBaseKeymap : pcBaseKeymap;\n\nexport { autoJoin, baseKeymap, chainCommands, createParagraphNear, deleteSelection, exitCode, joinBackward, joinDown, joinForward, joinTextblockBackward, joinTextblockForward, joinUp, lift, liftEmptyBlock, macBaseKeymap, newlineInCode, pcBaseKeymap, selectAll, selectNodeBackward, selectNodeForward, selectParentNode, selectTextblockEnd, selectTextblockStart, setBlockType, splitBlock, splitBlockAs, splitBlockKeepMarks, toggleMark, wrapIn };\n","import { findWrapping, ReplaceAroundStep, canSplit, liftTarget, canJoin } from 'prosemirror-transform';\nimport { NodeRange, Fragment, Slice } from 'prosemirror-model';\nimport { Selection } from 'prosemirror-state';\n\nconst olDOM = [\"ol\", 0], ulDOM = [\"ul\", 0], liDOM = [\"li\", 0];\n/**\nAn ordered list [node spec](https://prosemirror.net/docs/ref/#model.NodeSpec). Has a single\nattribute, `order`, which determines the number at which the list\nstarts counting, and defaults to 1. Represented as an `
    `\nelement.\n*/\nconst orderedList = {\n attrs: { order: { default: 1 } },\n parseDOM: [{ tag: \"ol\", getAttrs(dom) {\n return { order: dom.hasAttribute(\"start\") ? +dom.getAttribute(\"start\") : 1 };\n } }],\n toDOM(node) {\n return node.attrs.order == 1 ? olDOM : [\"ol\", { start: node.attrs.order }, 0];\n }\n};\n/**\nA bullet list node spec, represented in the DOM as `
      `.\n*/\nconst bulletList = {\n parseDOM: [{ tag: \"ul\" }],\n toDOM() { return ulDOM; }\n};\n/**\nA list item (`
    • `) spec.\n*/\nconst listItem = {\n parseDOM: [{ tag: \"li\" }],\n toDOM() { return liDOM; },\n defining: true\n};\nfunction add(obj, props) {\n let copy = {};\n for (let prop in obj)\n copy[prop] = obj[prop];\n for (let prop in props)\n copy[prop] = props[prop];\n return copy;\n}\n/**\nConvenience function for adding list-related node types to a map\nspecifying the nodes for a schema. Adds\n[`orderedList`](https://prosemirror.net/docs/ref/#schema-list.orderedList) as `\"ordered_list\"`,\n[`bulletList`](https://prosemirror.net/docs/ref/#schema-list.bulletList) as `\"bullet_list\"`, and\n[`listItem`](https://prosemirror.net/docs/ref/#schema-list.listItem) as `\"list_item\"`.\n\n`itemContent` determines the content expression for the list items.\nIf you want the commands defined in this module to apply to your\nlist structure, it should have a shape like `\"paragraph block*\"` or\n`\"paragraph (ordered_list | bullet_list)*\"`. `listGroup` can be\ngiven to assign a group name to the list node types, for example\n`\"block\"`.\n*/\nfunction addListNodes(nodes, itemContent, listGroup) {\n return nodes.append({\n ordered_list: add(orderedList, { content: \"list_item+\", group: listGroup }),\n bullet_list: add(bulletList, { content: \"list_item+\", group: listGroup }),\n list_item: add(listItem, { content: itemContent })\n });\n}\n/**\nReturns a command function that wraps the selection in a list with\nthe given type an attributes. If `dispatch` is null, only return a\nvalue to indicate whether this is possible, but don't actually\nperform the change.\n*/\nfunction wrapInList(listType, attrs = null) {\n return function (state, dispatch) {\n let { $from, $to } = state.selection;\n let range = $from.blockRange($to), doJoin = false, outerRange = range;\n if (!range)\n return false;\n // This is at the top of an existing list item\n if (range.depth >= 2 && $from.node(range.depth - 1).type.compatibleContent(listType) && range.startIndex == 0) {\n // Don't do anything if this is the top of the list\n if ($from.index(range.depth - 1) == 0)\n return false;\n let $insert = state.doc.resolve(range.start - 2);\n outerRange = new NodeRange($insert, $insert, range.depth);\n if (range.endIndex < range.parent.childCount)\n range = new NodeRange($from, state.doc.resolve($to.end(range.depth)), range.depth);\n doJoin = true;\n }\n let wrap = findWrapping(outerRange, listType, attrs, range);\n if (!wrap)\n return false;\n if (dispatch)\n dispatch(doWrapInList(state.tr, range, wrap, doJoin, listType).scrollIntoView());\n return true;\n };\n}\nfunction doWrapInList(tr, range, wrappers, joinBefore, listType) {\n let content = Fragment.empty;\n for (let i = wrappers.length - 1; i >= 0; i--)\n content = Fragment.from(wrappers[i].type.create(wrappers[i].attrs, content));\n tr.step(new ReplaceAroundStep(range.start - (joinBefore ? 2 : 0), range.end, range.start, range.end, new Slice(content, 0, 0), wrappers.length, true));\n let found = 0;\n for (let i = 0; i < wrappers.length; i++)\n if (wrappers[i].type == listType)\n found = i + 1;\n let splitDepth = wrappers.length - found;\n let splitPos = range.start + wrappers.length - (joinBefore ? 2 : 0), parent = range.parent;\n for (let i = range.startIndex, e = range.endIndex, first = true; i < e; i++, first = false) {\n if (!first && canSplit(tr.doc, splitPos, splitDepth)) {\n tr.split(splitPos, splitDepth);\n splitPos += 2 * splitDepth;\n }\n splitPos += parent.child(i).nodeSize;\n }\n return tr;\n}\n/**\nBuild a command that splits a non-empty textblock at the top level\nof a list item by also splitting that list item.\n*/\nfunction splitListItem(itemType, itemAttrs) {\n return function (state, dispatch) {\n let { $from, $to, node } = state.selection;\n if ((node && node.isBlock) || $from.depth < 2 || !$from.sameParent($to))\n return false;\n let grandParent = $from.node(-1);\n if (grandParent.type != itemType)\n return false;\n if ($from.parent.content.size == 0 && $from.node(-1).childCount == $from.indexAfter(-1)) {\n // In an empty block. If this is a nested list, the wrapping\n // list item should be split. Otherwise, bail out and let next\n // command handle lifting.\n if ($from.depth == 3 || $from.node(-3).type != itemType ||\n $from.index(-2) != $from.node(-2).childCount - 1)\n return false;\n if (dispatch) {\n let wrap = Fragment.empty;\n let depthBefore = $from.index(-1) ? 1 : $from.index(-2) ? 2 : 3;\n // Build a fragment containing empty versions of the structure\n // from the outer list item to the parent node of the cursor\n for (let d = $from.depth - depthBefore; d >= $from.depth - 3; d--)\n wrap = Fragment.from($from.node(d).copy(wrap));\n let depthAfter = $from.indexAfter(-1) < $from.node(-2).childCount ? 1\n : $from.indexAfter(-2) < $from.node(-3).childCount ? 2 : 3;\n // Add a second list item with an empty default start node\n wrap = wrap.append(Fragment.from(itemType.createAndFill()));\n let start = $from.before($from.depth - (depthBefore - 1));\n let tr = state.tr.replace(start, $from.after(-depthAfter), new Slice(wrap, 4 - depthBefore, 0));\n let sel = -1;\n tr.doc.nodesBetween(start, tr.doc.content.size, (node, pos) => {\n if (sel > -1)\n return false;\n if (node.isTextblock && node.content.size == 0)\n sel = pos + 1;\n });\n if (sel > -1)\n tr.setSelection(Selection.near(tr.doc.resolve(sel)));\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n let nextType = $to.pos == $from.end() ? grandParent.contentMatchAt(0).defaultType : null;\n let tr = state.tr.delete($from.pos, $to.pos);\n let types = nextType ? [itemAttrs ? { type: itemType, attrs: itemAttrs } : null, { type: nextType }] : undefined;\n if (!canSplit(tr.doc, $from.pos, 2, types))\n return false;\n if (dispatch)\n dispatch(tr.split($from.pos, 2, types).scrollIntoView());\n return true;\n };\n}\n/**\nActs like [`splitListItem`](https://prosemirror.net/docs/ref/#schema-list.splitListItem), but\nwithout resetting the set of active marks at the cursor.\n*/\nfunction splitListItemKeepMarks(itemType, itemAttrs) {\n let split = splitListItem(itemType, itemAttrs);\n return (state, dispatch) => {\n return split(state, dispatch && (tr => {\n let marks = state.storedMarks || (state.selection.$to.parentOffset && state.selection.$from.marks());\n if (marks)\n tr.ensureMarks(marks);\n dispatch(tr);\n }));\n };\n}\n/**\nCreate a command to lift the list item around the selection up into\na wrapping list.\n*/\nfunction liftListItem(itemType) {\n return function (state, dispatch) {\n let { $from, $to } = state.selection;\n let range = $from.blockRange($to, node => node.childCount > 0 && node.firstChild.type == itemType);\n if (!range)\n return false;\n if (!dispatch)\n return true;\n if ($from.node(range.depth - 1).type == itemType) // Inside a parent list\n return liftToOuterList(state, dispatch, itemType, range);\n else // Outer list node\n return liftOutOfList(state, dispatch, range);\n };\n}\nfunction liftToOuterList(state, dispatch, itemType, range) {\n let tr = state.tr, end = range.end, endOfList = range.$to.end(range.depth);\n if (end < endOfList) {\n // There are siblings after the lifted items, which must become\n // children of the last item\n tr.step(new ReplaceAroundStep(end - 1, endOfList, end, endOfList, new Slice(Fragment.from(itemType.create(null, range.parent.copy())), 1, 0), 1, true));\n range = new NodeRange(tr.doc.resolve(range.$from.pos), tr.doc.resolve(endOfList), range.depth);\n }\n const target = liftTarget(range);\n if (target == null)\n return false;\n tr.lift(range, target);\n let after = tr.mapping.map(end, -1) - 1;\n if (canJoin(tr.doc, after))\n tr.join(after);\n dispatch(tr.scrollIntoView());\n return true;\n}\nfunction liftOutOfList(state, dispatch, range) {\n let tr = state.tr, list = range.parent;\n // Merge the list items into a single big item\n for (let pos = range.end, i = range.endIndex - 1, e = range.startIndex; i > e; i--) {\n pos -= list.child(i).nodeSize;\n tr.delete(pos - 1, pos + 1);\n }\n let $start = tr.doc.resolve(range.start), item = $start.nodeAfter;\n if (tr.mapping.map(range.end) != range.start + $start.nodeAfter.nodeSize)\n return false;\n let atStart = range.startIndex == 0, atEnd = range.endIndex == list.childCount;\n let parent = $start.node(-1), indexBefore = $start.index(-1);\n if (!parent.canReplace(indexBefore + (atStart ? 0 : 1), indexBefore + 1, item.content.append(atEnd ? Fragment.empty : Fragment.from(list))))\n return false;\n let start = $start.pos, end = start + item.nodeSize;\n // Strip off the surrounding list. At the sides where we're not at\n // the end of the list, the existing list is closed. At sides where\n // this is the end, it is overwritten to its end.\n tr.step(new ReplaceAroundStep(start - (atStart ? 1 : 0), end + (atEnd ? 1 : 0), start + 1, end - 1, new Slice((atStart ? Fragment.empty : Fragment.from(list.copy(Fragment.empty)))\n .append(atEnd ? Fragment.empty : Fragment.from(list.copy(Fragment.empty))), atStart ? 0 : 1, atEnd ? 0 : 1), atStart ? 0 : 1));\n dispatch(tr.scrollIntoView());\n return true;\n}\n/**\nCreate a command to sink the list item around the selection down\ninto an inner list.\n*/\nfunction sinkListItem(itemType) {\n return function (state, dispatch) {\n let { $from, $to } = state.selection;\n let range = $from.blockRange($to, node => node.childCount > 0 && node.firstChild.type == itemType);\n if (!range)\n return false;\n let startIndex = range.startIndex;\n if (startIndex == 0)\n return false;\n let parent = range.parent, nodeBefore = parent.child(startIndex - 1);\n if (nodeBefore.type != itemType)\n return false;\n if (dispatch) {\n let nestedBefore = nodeBefore.lastChild && nodeBefore.lastChild.type == parent.type;\n let inner = Fragment.from(nestedBefore ? itemType.create() : null);\n let slice = new Slice(Fragment.from(itemType.create(null, Fragment.from(parent.type.create(null, inner)))), nestedBefore ? 3 : 1, 0);\n let before = range.start, after = range.end;\n dispatch(state.tr.step(new ReplaceAroundStep(before - (nestedBefore ? 3 : 1), after, before, after, slice, 1, true))\n .scrollIntoView());\n }\n return true;\n };\n}\n\nexport { addListNodes, bulletList, liftListItem, listItem, orderedList, sinkListItem, splitListItem, splitListItemKeepMarks, wrapInList };\n","import { EditorState, Transaction } from '@tiptap/pm/state'\n\n/**\n * Takes a Transaction & Editor State and turns it into a chainable state object\n * @param config The transaction and state to create the chainable state from\n * @returns A chainable Editor state object\n */\nexport function createChainableState(config: {\n transaction: Transaction\n state: EditorState\n}): EditorState {\n const { state, transaction } = config\n let { selection } = transaction\n let { doc } = transaction\n let { storedMarks } = transaction\n\n return {\n ...state,\n apply: state.apply.bind(state),\n applyTransaction: state.applyTransaction.bind(state),\n plugins: state.plugins,\n schema: state.schema,\n reconfigure: state.reconfigure.bind(state),\n toJSON: state.toJSON.bind(state),\n get storedMarks() {\n return storedMarks\n },\n get selection() {\n return selection\n },\n get doc() {\n return doc\n },\n get tr() {\n selection = transaction.selection\n doc = transaction.doc\n storedMarks = transaction.storedMarks\n\n return transaction\n },\n }\n}\n","import { EditorState, Transaction } from '@tiptap/pm/state'\n\nimport { Editor } from './Editor.js'\nimport { createChainableState } from './helpers/createChainableState.js'\nimport {\n AnyCommands, CanCommands, ChainedCommands, CommandProps, SingleCommands,\n} from './types.js'\n\nexport class CommandManager {\n editor: Editor\n\n rawCommands: AnyCommands\n\n customState?: EditorState\n\n constructor(props: { editor: Editor; state?: EditorState }) {\n this.editor = props.editor\n this.rawCommands = this.editor.extensionManager.commands\n this.customState = props.state\n }\n\n get hasCustomState(): boolean {\n return !!this.customState\n }\n\n get state(): EditorState {\n return this.customState || this.editor.state\n }\n\n get commands(): SingleCommands {\n const { rawCommands, editor, state } = this\n const { view } = editor\n const { tr } = state\n const props = this.buildProps(tr)\n\n return Object.fromEntries(\n Object.entries(rawCommands).map(([name, command]) => {\n const method = (...args: any[]) => {\n const callback = command(...args)(props)\n\n if (!tr.getMeta('preventDispatch') && !this.hasCustomState) {\n view.dispatch(tr)\n }\n\n return callback\n }\n\n return [name, method]\n }),\n ) as unknown as SingleCommands\n }\n\n get chain(): () => ChainedCommands {\n return () => this.createChain()\n }\n\n get can(): () => CanCommands {\n return () => this.createCan()\n }\n\n public createChain(startTr?: Transaction, shouldDispatch = true): ChainedCommands {\n const { rawCommands, editor, state } = this\n const { view } = editor\n const callbacks: boolean[] = []\n const hasStartTransaction = !!startTr\n const tr = startTr || state.tr\n\n const run = () => {\n if (\n !hasStartTransaction\n && shouldDispatch\n && !tr.getMeta('preventDispatch')\n && !this.hasCustomState\n ) {\n view.dispatch(tr)\n }\n\n return callbacks.every(callback => callback === true)\n }\n\n const chain = {\n ...Object.fromEntries(\n Object.entries(rawCommands).map(([name, command]) => {\n const chainedCommand = (...args: never[]) => {\n const props = this.buildProps(tr, shouldDispatch)\n const callback = command(...args)(props)\n\n callbacks.push(callback)\n\n return chain\n }\n\n return [name, chainedCommand]\n }),\n ),\n run,\n } as unknown as ChainedCommands\n\n return chain\n }\n\n public createCan(startTr?: Transaction): CanCommands {\n const { rawCommands, state } = this\n const dispatch = false\n const tr = startTr || state.tr\n const props = this.buildProps(tr, dispatch)\n const formattedCommands = Object.fromEntries(\n Object.entries(rawCommands).map(([name, command]) => {\n return [name, (...args: never[]) => command(...args)({ ...props, dispatch: undefined })]\n }),\n ) as unknown as SingleCommands\n\n return {\n ...formattedCommands,\n chain: () => this.createChain(tr, dispatch),\n } as CanCommands\n }\n\n public buildProps(tr: Transaction, shouldDispatch = true): CommandProps {\n const { rawCommands, editor, state } = this\n const { view } = editor\n\n const props: CommandProps = {\n tr,\n editor,\n view,\n state: createChainableState({\n state,\n transaction: tr,\n }),\n dispatch: shouldDispatch ? () => undefined : undefined,\n chain: () => this.createChain(tr, shouldDispatch),\n can: () => this.createCan(tr),\n get commands() {\n return Object.fromEntries(\n Object.entries(rawCommands).map(([name, command]) => {\n return [name, (...args: never[]) => command(...args)(props)]\n }),\n ) as unknown as SingleCommands\n },\n }\n\n return props\n }\n}\n","type StringKeyOf = Extract\ntype CallbackType<\n T extends Record,\n EventName extends StringKeyOf,\n> = T[EventName] extends any[] ? T[EventName] : [T[EventName]]\ntype CallbackFunction<\n T extends Record,\n EventName extends StringKeyOf,\n> = (...props: CallbackType) => any\n\nexport class EventEmitter> {\n\n private callbacks: { [key: string]: Function[] } = {}\n\n public on>(event: EventName, fn: CallbackFunction): this {\n if (!this.callbacks[event]) {\n this.callbacks[event] = []\n }\n\n this.callbacks[event].push(fn)\n\n return this\n }\n\n protected emit>(event: EventName, ...args: CallbackType): this {\n const callbacks = this.callbacks[event]\n\n if (callbacks) {\n callbacks.forEach(callback => callback.apply(this, args))\n }\n\n return this\n }\n\n public off>(event: EventName, fn?: CallbackFunction): this {\n const callbacks = this.callbacks[event]\n\n if (callbacks) {\n if (fn) {\n this.callbacks[event] = callbacks.filter(callback => callback !== fn)\n } else {\n delete this.callbacks[event]\n }\n }\n\n return this\n }\n\n protected removeAllListeners(): void {\n this.callbacks = {}\n }\n}\n","import { AnyExtension, MaybeThisParameterType, RemoveThis } from '../types.js'\n\n/**\n * Returns a field from an extension\n * @param extension The Tiptap extension\n * @param field The field, for example `renderHTML` or `priority`\n * @param context The context object that should be passed as `this` into the function\n * @returns The field value\n */\nexport function getExtensionField(\n extension: AnyExtension,\n field: string,\n context?: Omit, 'parent'>,\n): RemoveThis {\n\n if (extension.config[field] === undefined && extension.parent) {\n return getExtensionField(extension.parent, field, context)\n }\n\n if (typeof extension.config[field] === 'function') {\n const value = extension.config[field].bind({\n ...context,\n parent: extension.parent\n ? getExtensionField(extension.parent, field, context)\n : null,\n })\n\n return value\n }\n\n return extension.config[field]\n}\n","import { Extension } from '../Extension.js'\nimport { Mark } from '../Mark.js'\nimport { Node } from '../Node.js'\nimport { Extensions } from '../types.js'\n\nexport function splitExtensions(extensions: Extensions) {\n const baseExtensions = extensions.filter(extension => extension.type === 'extension') as Extension[]\n const nodeExtensions = extensions.filter(extension => extension.type === 'node') as Node[]\n const markExtensions = extensions.filter(extension => extension.type === 'mark') as Mark[]\n\n return {\n baseExtensions,\n nodeExtensions,\n markExtensions,\n }\n}\n","import { MarkConfig, NodeConfig } from '../index.js'\nimport {\n AnyConfig,\n Attribute,\n Attributes,\n ExtensionAttribute,\n Extensions,\n GlobalAttributes,\n} from '../types.js'\nimport { getExtensionField } from './getExtensionField.js'\nimport { splitExtensions } from './splitExtensions.js'\n\n/**\n * Get a list of all extension attributes defined in `addAttribute` and `addGlobalAttribute`.\n * @param extensions List of extensions\n */\nexport function getAttributesFromExtensions(extensions: Extensions): ExtensionAttribute[] {\n const extensionAttributes: ExtensionAttribute[] = []\n const { nodeExtensions, markExtensions } = splitExtensions(extensions)\n const nodeAndMarkExtensions = [...nodeExtensions, ...markExtensions]\n const defaultAttribute: Required = {\n default: null,\n rendered: true,\n renderHTML: null,\n parseHTML: null,\n keepOnSplit: true,\n isRequired: false,\n }\n\n extensions.forEach(extension => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n }\n\n const addGlobalAttributes = getExtensionField(\n extension,\n 'addGlobalAttributes',\n context,\n )\n\n if (!addGlobalAttributes) {\n return\n }\n\n // TODO: remove `as GlobalAttributes`\n const globalAttributes = addGlobalAttributes() as GlobalAttributes\n\n globalAttributes.forEach(globalAttribute => {\n globalAttribute.types.forEach(type => {\n Object\n .entries(globalAttribute.attributes)\n .forEach(([name, attribute]) => {\n extensionAttributes.push({\n type,\n name,\n attribute: {\n ...defaultAttribute,\n ...attribute,\n },\n })\n })\n })\n })\n })\n\n nodeAndMarkExtensions.forEach(extension => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n }\n\n const addAttributes = getExtensionField(\n extension,\n 'addAttributes',\n context,\n )\n\n if (!addAttributes) {\n return\n }\n\n // TODO: remove `as Attributes`\n const attributes = addAttributes() as Attributes\n\n Object\n .entries(attributes)\n .forEach(([name, attribute]) => {\n const mergedAttr = {\n ...defaultAttribute,\n ...attribute,\n }\n\n if (typeof mergedAttr?.default === 'function') {\n mergedAttr.default = mergedAttr.default()\n }\n\n if (mergedAttr?.isRequired && mergedAttr?.default === undefined) {\n delete mergedAttr.default\n }\n\n extensionAttributes.push({\n type: extension.name,\n name,\n attribute: mergedAttr,\n })\n })\n })\n\n return extensionAttributes\n}\n","import { NodeType, Schema } from '@tiptap/pm/model'\n\nexport function getNodeType(nameOrType: string | NodeType, schema: Schema): NodeType {\n if (typeof nameOrType === 'string') {\n if (!schema.nodes[nameOrType]) {\n throw Error(\n `There is no node type named '${nameOrType}'. Maybe you forgot to add the extension?`,\n )\n }\n\n return schema.nodes[nameOrType]\n }\n\n return nameOrType\n}\n","export function mergeAttributes(...objects: Record[]): Record {\n return objects\n .filter(item => !!item)\n .reduce((items, item) => {\n const mergedAttributes = { ...items }\n\n Object.entries(item).forEach(([key, value]) => {\n const exists = mergedAttributes[key]\n\n if (!exists) {\n mergedAttributes[key] = value\n\n return\n }\n\n if (key === 'class') {\n const valueClasses: string[] = value ? value.split(' ') : []\n const existingClasses: string[] = mergedAttributes[key] ? mergedAttributes[key].split(' ') : []\n\n const insertClasses = valueClasses.filter(\n valueClass => !existingClasses.includes(valueClass),\n )\n\n mergedAttributes[key] = [...existingClasses, ...insertClasses].join(' ')\n } else if (key === 'style') {\n mergedAttributes[key] = [mergedAttributes[key], value].join('; ')\n } else {\n mergedAttributes[key] = value\n }\n })\n\n return mergedAttributes\n }, {})\n}\n","import { Mark, Node } from '@tiptap/pm/model'\n\nimport { ExtensionAttribute } from '../types.js'\nimport { mergeAttributes } from '../utilities/mergeAttributes.js'\n\nexport function getRenderedAttributes(\n nodeOrMark: Node | Mark,\n extensionAttributes: ExtensionAttribute[],\n): Record {\n return extensionAttributes\n .filter(item => item.attribute.rendered)\n .map(item => {\n if (!item.attribute.renderHTML) {\n return {\n [item.name]: nodeOrMark.attrs[item.name],\n }\n }\n\n return item.attribute.renderHTML(nodeOrMark.attrs) || {}\n })\n .reduce((attributes, attribute) => mergeAttributes(attributes, attribute), {})\n}\n","export function isFunction(value: any): value is Function {\n return typeof value === 'function'\n}\n","import { MaybeReturnType } from '../types.js'\nimport { isFunction } from './isFunction.js'\n\n/**\n * Optionally calls `value` as a function.\n * Otherwise it is returned directly.\n * @param value Function or any value.\n * @param context Optional context to bind to function.\n * @param props Optional props to pass to function.\n */\nexport function callOrReturn(value: T, context: any = undefined, ...props: any[]): MaybeReturnType {\n if (isFunction(value)) {\n if (context) {\n return value.bind(context)(...props)\n }\n\n return value(...props)\n }\n\n return value as MaybeReturnType\n}\n","export function isEmptyObject(value = {}): boolean {\n return Object.keys(value).length === 0 && value.constructor === Object\n}\n","export function fromString(value: any): any {\n if (typeof value !== 'string') {\n return value\n }\n\n if (value.match(/^[+-]?(?:\\d*\\.)?\\d+$/)) {\n return Number(value)\n }\n\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n return value\n}\n","import { ParseRule } from '@tiptap/pm/model'\n\nimport { ExtensionAttribute } from '../types.js'\nimport { fromString } from '../utilities/fromString.js'\n\n/**\n * This function merges extension attributes into parserule attributes (`attrs` or `getAttrs`).\n * Cancels when `getAttrs` returned `false`.\n * @param parseRule ProseMirror ParseRule\n * @param extensionAttributes List of attributes to inject\n */\nexport function injectExtensionAttributesToParseRule(\n parseRule: ParseRule,\n extensionAttributes: ExtensionAttribute[],\n): ParseRule {\n if (parseRule.style) {\n return parseRule\n }\n\n return {\n ...parseRule,\n getAttrs: node => {\n const oldAttributes = parseRule.getAttrs ? parseRule.getAttrs(node) : parseRule.attrs\n\n if (oldAttributes === false) {\n return false\n }\n\n const newAttributes = extensionAttributes.reduce((items, item) => {\n const value = item.attribute.parseHTML\n ? item.attribute.parseHTML(node as HTMLElement)\n : fromString((node as HTMLElement).getAttribute(item.name))\n\n if (value === null || value === undefined) {\n return items\n }\n\n return {\n ...items,\n [item.name]: value,\n }\n }, {})\n\n return { ...oldAttributes, ...newAttributes }\n },\n }\n}\n","import { MarkSpec, NodeSpec, Schema } from '@tiptap/pm/model'\n\nimport { Editor, MarkConfig, NodeConfig } from '../index.js'\nimport { AnyConfig, Extensions } from '../types.js'\nimport { callOrReturn } from '../utilities/callOrReturn.js'\nimport { isEmptyObject } from '../utilities/isEmptyObject.js'\nimport { getAttributesFromExtensions } from './getAttributesFromExtensions.js'\nimport { getExtensionField } from './getExtensionField.js'\nimport { getRenderedAttributes } from './getRenderedAttributes.js'\nimport { injectExtensionAttributesToParseRule } from './injectExtensionAttributesToParseRule.js'\nimport { splitExtensions } from './splitExtensions.js'\n\nfunction cleanUpSchemaItem(data: T) {\n return Object.fromEntries(\n // @ts-ignore\n Object.entries(data).filter(([key, value]) => {\n if (key === 'attrs' && isEmptyObject(value as {} | undefined)) {\n return false\n }\n\n return value !== null && value !== undefined\n }),\n ) as T\n}\n\n/**\n * Creates a new Prosemirror schema based on the given extensions.\n * @param extensions An array of Tiptap extensions\n * @param editor The editor instance\n * @returns A Prosemirror schema\n */\nexport function getSchemaByResolvedExtensions(extensions: Extensions, editor?: Editor): Schema {\n const allAttributes = getAttributesFromExtensions(extensions)\n const { nodeExtensions, markExtensions } = splitExtensions(extensions)\n const topNode = nodeExtensions.find(extension => getExtensionField(extension, 'topNode'))?.name\n\n const nodes = Object.fromEntries(\n nodeExtensions.map(extension => {\n const extensionAttributes = allAttributes.filter(\n attribute => attribute.type === extension.name,\n )\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor,\n }\n\n const extraNodeFields = extensions.reduce((fields, e) => {\n const extendNodeSchema = getExtensionField(\n e,\n 'extendNodeSchema',\n context,\n )\n\n return {\n ...fields,\n ...(extendNodeSchema ? extendNodeSchema(extension) : {}),\n }\n }, {})\n\n const schema: NodeSpec = cleanUpSchemaItem({\n ...extraNodeFields,\n content: callOrReturn(\n getExtensionField(extension, 'content', context),\n ),\n marks: callOrReturn(getExtensionField(extension, 'marks', context)),\n group: callOrReturn(getExtensionField(extension, 'group', context)),\n inline: callOrReturn(getExtensionField(extension, 'inline', context)),\n atom: callOrReturn(getExtensionField(extension, 'atom', context)),\n selectable: callOrReturn(\n getExtensionField(extension, 'selectable', context),\n ),\n draggable: callOrReturn(\n getExtensionField(extension, 'draggable', context),\n ),\n code: callOrReturn(getExtensionField(extension, 'code', context)),\n defining: callOrReturn(\n getExtensionField(extension, 'defining', context),\n ),\n isolating: callOrReturn(\n getExtensionField(extension, 'isolating', context),\n ),\n attrs: Object.fromEntries(\n extensionAttributes.map(extensionAttribute => {\n return [extensionAttribute.name, { default: extensionAttribute?.attribute?.default }]\n }),\n ),\n })\n\n const parseHTML = callOrReturn(\n getExtensionField(extension, 'parseHTML', context),\n )\n\n if (parseHTML) {\n schema.parseDOM = parseHTML.map(parseRule => injectExtensionAttributesToParseRule(parseRule, extensionAttributes))\n }\n\n const renderHTML = getExtensionField(\n extension,\n 'renderHTML',\n context,\n )\n\n if (renderHTML) {\n schema.toDOM = node => renderHTML({\n node,\n HTMLAttributes: getRenderedAttributes(node, extensionAttributes),\n })\n }\n\n const renderText = getExtensionField(\n extension,\n 'renderText',\n context,\n )\n\n if (renderText) {\n schema.toText = renderText\n }\n\n return [extension.name, schema]\n }),\n )\n\n const marks = Object.fromEntries(\n markExtensions.map(extension => {\n const extensionAttributes = allAttributes.filter(\n attribute => attribute.type === extension.name,\n )\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor,\n }\n\n const extraMarkFields = extensions.reduce((fields, e) => {\n const extendMarkSchema = getExtensionField(\n e,\n 'extendMarkSchema',\n context,\n )\n\n return {\n ...fields,\n ...(extendMarkSchema ? extendMarkSchema(extension) : {}),\n }\n }, {})\n\n const schema: MarkSpec = cleanUpSchemaItem({\n ...extraMarkFields,\n inclusive: callOrReturn(\n getExtensionField(extension, 'inclusive', context),\n ),\n excludes: callOrReturn(\n getExtensionField(extension, 'excludes', context),\n ),\n group: callOrReturn(getExtensionField(extension, 'group', context)),\n spanning: callOrReturn(\n getExtensionField(extension, 'spanning', context),\n ),\n code: callOrReturn(getExtensionField(extension, 'code', context)),\n attrs: Object.fromEntries(\n extensionAttributes.map(extensionAttribute => {\n return [extensionAttribute.name, { default: extensionAttribute?.attribute?.default }]\n }),\n ),\n })\n\n const parseHTML = callOrReturn(\n getExtensionField(extension, 'parseHTML', context),\n )\n\n if (parseHTML) {\n schema.parseDOM = parseHTML.map(parseRule => injectExtensionAttributesToParseRule(parseRule, extensionAttributes))\n }\n\n const renderHTML = getExtensionField(\n extension,\n 'renderHTML',\n context,\n )\n\n if (renderHTML) {\n schema.toDOM = mark => renderHTML({\n mark,\n HTMLAttributes: getRenderedAttributes(mark, extensionAttributes),\n })\n }\n\n return [extension.name, schema]\n }),\n )\n\n return new Schema({\n topNode,\n nodes,\n marks,\n })\n}\n","import { MarkType, NodeType, Schema } from '@tiptap/pm/model'\n\n/**\n * Tries to get a node or mark type by its name.\n * @param name The name of the node or mark type\n * @param schema The Prosemiror schema to search in\n * @returns The node or mark type, or null if it doesn't exist\n */\nexport function getSchemaTypeByName(name: string, schema: Schema): NodeType | MarkType | null {\n return schema.nodes[name] || schema.marks[name] || null\n}\n","import { AnyExtension, EnableRules } from '../types.js'\n\nexport function isExtensionRulesEnabled(extension: AnyExtension, enabled: EnableRules): boolean {\n if (Array.isArray(enabled)) {\n return enabled.some(enabledExtension => {\n const name = typeof enabledExtension === 'string'\n ? enabledExtension\n : enabledExtension.name\n\n return name === extension.name\n })\n }\n\n return enabled\n}\n","import { ResolvedPos } from '@tiptap/pm/model'\n\n/**\n * Returns the text content of a resolved prosemirror position\n * @param $from The resolved position to get the text content from\n * @param maxMatch The maximum number of characters to match\n * @returns The text content\n */\nexport const getTextContentFromNodes = ($from: ResolvedPos, maxMatch = 500) => {\n let textBefore = ''\n\n const sliceEndPos = $from.parentOffset\n\n $from.parent.nodesBetween(\n Math.max(0, sliceEndPos - maxMatch),\n sliceEndPos,\n (node, pos, parent, index) => {\n const chunk = node.type.spec.toText?.({\n node,\n pos,\n parent,\n index,\n })\n || node.textContent\n || '%leaf%'\n\n textBefore += chunk.slice(0, Math.max(0, sliceEndPos - pos))\n },\n )\n\n return textBefore\n}\n","export function isRegExp(value: any): value is RegExp {\n return Object.prototype.toString.call(value) === '[object RegExp]'\n}\n","import { EditorState, Plugin, TextSelection } from '@tiptap/pm/state'\n\nimport { CommandManager } from './CommandManager.js'\nimport { Editor } from './Editor.js'\nimport { createChainableState } from './helpers/createChainableState.js'\nimport { getTextContentFromNodes } from './helpers/getTextContentFromNodes.js'\nimport {\n CanCommands,\n ChainedCommands,\n ExtendedRegExpMatchArray,\n Range,\n SingleCommands,\n} from './types.js'\nimport { isRegExp } from './utilities/isRegExp.js'\n\nexport type InputRuleMatch = {\n index: number\n text: string\n replaceWith?: string\n match?: RegExpMatchArray\n data?: Record\n}\n\nexport type InputRuleFinder = RegExp | ((text: string) => InputRuleMatch | null)\n\nexport class InputRule {\n find: InputRuleFinder\n\n handler: (props: {\n state: EditorState\n range: Range\n match: ExtendedRegExpMatchArray\n commands: SingleCommands\n chain: () => ChainedCommands\n can: () => CanCommands\n }) => void | null\n\n constructor(config: {\n find: InputRuleFinder\n handler: (props: {\n state: EditorState\n range: Range\n match: ExtendedRegExpMatchArray\n commands: SingleCommands\n chain: () => ChainedCommands\n can: () => CanCommands\n }) => void | null\n }) {\n this.find = config.find\n this.handler = config.handler\n }\n}\n\nconst inputRuleMatcherHandler = (\n text: string,\n find: InputRuleFinder,\n): ExtendedRegExpMatchArray | null => {\n if (isRegExp(find)) {\n return find.exec(text)\n }\n\n const inputRuleMatch = find(text)\n\n if (!inputRuleMatch) {\n return null\n }\n\n const result: ExtendedRegExpMatchArray = [inputRuleMatch.text]\n\n result.index = inputRuleMatch.index\n result.input = text\n result.data = inputRuleMatch.data\n\n if (inputRuleMatch.replaceWith) {\n if (!inputRuleMatch.text.includes(inputRuleMatch.replaceWith)) {\n console.warn(\n '[tiptap warn]: \"inputRuleMatch.replaceWith\" must be part of \"inputRuleMatch.text\".',\n )\n }\n\n result.push(inputRuleMatch.replaceWith)\n }\n\n return result\n}\n\nfunction run(config: {\n editor: Editor\n from: number\n to: number\n text: string\n rules: InputRule[]\n plugin: Plugin\n}): boolean {\n const {\n editor, from, to, text, rules, plugin,\n } = config\n const { view } = editor\n\n if (view.composing) {\n return false\n }\n\n const $from = view.state.doc.resolve(from)\n\n if (\n // check for code node\n $from.parent.type.spec.code\n // check for code mark\n || !!($from.nodeBefore || $from.nodeAfter)?.marks.find(mark => mark.type.spec.code)\n ) {\n return false\n }\n\n let matched = false\n\n const textBefore = getTextContentFromNodes($from) + text\n\n rules.forEach(rule => {\n if (matched) {\n return\n }\n\n const match = inputRuleMatcherHandler(textBefore, rule.find)\n\n if (!match) {\n return\n }\n\n const tr = view.state.tr\n const state = createChainableState({\n state: view.state,\n transaction: tr,\n })\n const range = {\n from: from - (match[0].length - text.length),\n to,\n }\n\n const { commands, chain, can } = new CommandManager({\n editor,\n state,\n })\n\n const handler = rule.handler({\n state,\n range,\n match,\n commands,\n chain,\n can,\n })\n\n // stop if there are no changes\n if (handler === null || !tr.steps.length) {\n return\n }\n\n // store transform as meta data\n // so we can undo input rules within the `undoInputRules` command\n tr.setMeta(plugin, {\n transform: tr,\n from,\n to,\n text,\n })\n\n view.dispatch(tr)\n matched = true\n })\n\n return matched\n}\n\n/**\n * Create an input rules plugin. When enabled, it will cause text\n * input that matches any of the given rules to trigger the rule’s\n * action.\n */\nexport function inputRulesPlugin(props: { editor: Editor; rules: InputRule[] }): Plugin {\n const { editor, rules } = props\n const plugin = new Plugin({\n state: {\n init() {\n return null\n },\n apply(tr, prev) {\n const stored = tr.getMeta(plugin)\n\n if (stored) {\n return stored\n }\n\n // if InputRule is triggered by insertContent()\n const simulatedInputMeta = tr.getMeta('applyInputRules')\n const isSimulatedInput = !!simulatedInputMeta\n\n if (isSimulatedInput) {\n setTimeout(() => {\n const { from, text } = simulatedInputMeta\n const to = from + text.length\n\n run({\n editor,\n from,\n to,\n text,\n rules,\n plugin,\n })\n })\n }\n\n return tr.selectionSet || tr.docChanged ? null : prev\n },\n },\n\n props: {\n handleTextInput(view, from, to, text) {\n return run({\n editor,\n from,\n to,\n text,\n rules,\n plugin,\n })\n },\n\n handleDOMEvents: {\n compositionend: view => {\n setTimeout(() => {\n const { $cursor } = view.state.selection as TextSelection\n\n if ($cursor) {\n run({\n editor,\n from: $cursor.pos,\n to: $cursor.pos,\n text: '',\n rules,\n plugin,\n })\n }\n })\n\n return false\n },\n },\n\n // add support for input rules to trigger on enter\n // this is useful for example for code blocks\n handleKeyDown(view, event) {\n if (event.key !== 'Enter') {\n return false\n }\n\n const { $cursor } = view.state.selection as TextSelection\n\n if ($cursor) {\n return run({\n editor,\n from: $cursor.pos,\n to: $cursor.pos,\n text: '\\n',\n rules,\n plugin,\n })\n }\n\n return false\n },\n },\n\n // @ts-ignore\n isInputRules: true,\n }) as Plugin\n\n return plugin\n}\n","export function isNumber(value: any): value is number {\n return typeof value === 'number'\n}\n","import { EditorState, Plugin } from '@tiptap/pm/state'\n\nimport { CommandManager } from './CommandManager.js'\nimport { Editor } from './Editor.js'\nimport { createChainableState } from './helpers/createChainableState.js'\nimport {\n CanCommands,\n ChainedCommands,\n ExtendedRegExpMatchArray,\n Range,\n SingleCommands,\n} from './types.js'\nimport { isNumber } from './utilities/isNumber.js'\nimport { isRegExp } from './utilities/isRegExp.js'\n\nexport type PasteRuleMatch = {\n index: number\n text: string\n replaceWith?: string\n match?: RegExpMatchArray\n data?: Record\n}\n\nexport type PasteRuleFinder = RegExp | ((text: string, event?: ClipboardEvent | null) => PasteRuleMatch[] | null | undefined)\n\n/**\n * Paste rules are used to react to pasted content.\n * @see https://tiptap.dev/guide/custom-extensions/#paste-rules\n */\nexport class PasteRule {\n find: PasteRuleFinder\n\n handler: (props: {\n state: EditorState\n range: Range\n match: ExtendedRegExpMatchArray\n commands: SingleCommands\n chain: () => ChainedCommands\n can: () => CanCommands\n pasteEvent: ClipboardEvent | null\n dropEvent: DragEvent | null\n }) => void | null\n\n constructor(config: {\n find: PasteRuleFinder\n handler: (props: {\n can: () => CanCommands\n chain: () => ChainedCommands\n commands: SingleCommands\n dropEvent: DragEvent | null\n match: ExtendedRegExpMatchArray\n pasteEvent: ClipboardEvent | null\n range: Range\n state: EditorState\n }) => void | null\n }) {\n this.find = config.find\n this.handler = config.handler\n }\n}\n\nconst pasteRuleMatcherHandler = (\n text: string,\n find: PasteRuleFinder,\n event?: ClipboardEvent | null,\n): ExtendedRegExpMatchArray[] => {\n if (isRegExp(find)) {\n return [...text.matchAll(find)]\n }\n\n const matches = find(text, event)\n\n if (!matches) {\n return []\n }\n\n return matches.map(pasteRuleMatch => {\n const result: ExtendedRegExpMatchArray = [pasteRuleMatch.text]\n\n result.index = pasteRuleMatch.index\n result.input = text\n result.data = pasteRuleMatch.data\n\n if (pasteRuleMatch.replaceWith) {\n if (!pasteRuleMatch.text.includes(pasteRuleMatch.replaceWith)) {\n console.warn(\n '[tiptap warn]: \"pasteRuleMatch.replaceWith\" must be part of \"pasteRuleMatch.text\".',\n )\n }\n\n result.push(pasteRuleMatch.replaceWith)\n }\n\n return result\n })\n}\n\nfunction run(config: {\n editor: Editor\n state: EditorState\n from: number\n to: number\n rule: PasteRule\n pasteEvent: ClipboardEvent | null\n dropEvent: DragEvent | null\n}): boolean {\n const {\n editor, state, from, to, rule, pasteEvent, dropEvent,\n } = config\n\n const { commands, chain, can } = new CommandManager({\n editor,\n state,\n })\n\n const handlers: (void | null)[] = []\n\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (!node.isTextblock || node.type.spec.code) {\n return\n }\n\n const resolvedFrom = Math.max(from, pos)\n const resolvedTo = Math.min(to, pos + node.content.size)\n const textToMatch = node.textBetween(resolvedFrom - pos, resolvedTo - pos, undefined, '\\ufffc')\n\n const matches = pasteRuleMatcherHandler(textToMatch, rule.find, pasteEvent)\n\n matches.forEach(match => {\n if (match.index === undefined) {\n return\n }\n\n const start = resolvedFrom + match.index + 1\n const end = start + match[0].length\n const range = {\n from: state.tr.mapping.map(start),\n to: state.tr.mapping.map(end),\n }\n\n const handler = rule.handler({\n state,\n range,\n match,\n commands,\n chain,\n can,\n pasteEvent,\n dropEvent,\n })\n\n handlers.push(handler)\n })\n })\n\n const success = handlers.every(handler => handler !== null)\n\n return success\n}\n\nconst createClipboardPasteEvent = (text: string) => {\n const event = new ClipboardEvent('paste', {\n clipboardData: new DataTransfer(),\n })\n\n event.clipboardData?.setData('text/html', text)\n\n return event\n}\n\n/**\n * Create an paste rules plugin. When enabled, it will cause pasted\n * text that matches any of the given rules to trigger the rule’s\n * action.\n */\nexport function pasteRulesPlugin(props: { editor: Editor; rules: PasteRule[] }): Plugin[] {\n const { editor, rules } = props\n let dragSourceElement: Element | null = null\n let isPastedFromProseMirror = false\n let isDroppedFromProseMirror = false\n let pasteEvent = typeof ClipboardEvent !== 'undefined' ? new ClipboardEvent('paste') : null\n let dropEvent = typeof DragEvent !== 'undefined' ? new DragEvent('drop') : null\n\n const processEvent = ({\n state,\n from,\n to,\n rule,\n pasteEvt,\n }: {\n state: EditorState\n from: number\n to: { b: number }\n rule: PasteRule\n pasteEvt: ClipboardEvent | null\n }) => {\n const tr = state.tr\n const chainableState = createChainableState({\n state,\n transaction: tr,\n })\n\n const handler = run({\n editor,\n state: chainableState,\n from: Math.max(from - 1, 0),\n to: to.b - 1,\n rule,\n pasteEvent: pasteEvt,\n dropEvent,\n })\n\n if (!handler || !tr.steps.length) {\n return\n }\n\n dropEvent = typeof DragEvent !== 'undefined' ? new DragEvent('drop') : null\n pasteEvent = typeof ClipboardEvent !== 'undefined' ? new ClipboardEvent('paste') : null\n\n return tr\n }\n\n const plugins = rules.map(rule => {\n return new Plugin({\n // we register a global drag handler to track the current drag source element\n view(view) {\n const handleDragstart = (event: DragEvent) => {\n dragSourceElement = view.dom.parentElement?.contains(event.target as Element)\n ? view.dom.parentElement\n : null\n }\n\n window.addEventListener('dragstart', handleDragstart)\n\n return {\n destroy() {\n window.removeEventListener('dragstart', handleDragstart)\n },\n }\n },\n\n props: {\n handleDOMEvents: {\n drop: (view, event: Event) => {\n isDroppedFromProseMirror = dragSourceElement === view.dom.parentElement\n dropEvent = event as DragEvent\n\n return false\n },\n\n paste: (_view, event: Event) => {\n const html = (event as ClipboardEvent).clipboardData?.getData('text/html')\n\n pasteEvent = event as ClipboardEvent\n\n isPastedFromProseMirror = !!html?.includes('data-pm-slice')\n\n return false\n },\n },\n },\n\n appendTransaction: (transactions, oldState, state) => {\n const transaction = transactions[0]\n const isPaste = transaction.getMeta('uiEvent') === 'paste' && !isPastedFromProseMirror\n const isDrop = transaction.getMeta('uiEvent') === 'drop' && !isDroppedFromProseMirror\n\n // if PasteRule is triggered by insertContent()\n const simulatedPasteMeta = transaction.getMeta('applyPasteRules')\n const isSimulatedPaste = !!simulatedPasteMeta\n\n if (!isPaste && !isDrop && !isSimulatedPaste) {\n return\n }\n\n // Handle simulated paste\n if (isSimulatedPaste) {\n const { from, text } = simulatedPasteMeta\n const to = from + text.length\n const pasteEvt = createClipboardPasteEvent(text)\n\n return processEvent({\n rule,\n state,\n from,\n to: { b: to },\n pasteEvt,\n })\n }\n\n // handle actual paste/drop\n const from = oldState.doc.content.findDiffStart(state.doc.content)\n const to = oldState.doc.content.findDiffEnd(state.doc.content)\n\n // stop if there is no changed range\n if (!isNumber(from) || !to || from === to.b) {\n return\n }\n\n return processEvent({\n rule,\n state,\n from,\n to,\n pasteEvt: pasteEvent,\n })\n },\n })\n })\n\n return plugins\n}\n","export function findDuplicates(items: any[]): any[] {\n const filtered = items.filter((el, index) => items.indexOf(el) !== index)\n\n return [...new Set(filtered)]\n}\n","import { keymap } from '@tiptap/pm/keymap'\nimport { Node as ProsemirrorNode, Schema } from '@tiptap/pm/model'\nimport { Plugin } from '@tiptap/pm/state'\nimport { Decoration, EditorView } from '@tiptap/pm/view'\n\nimport { Editor } from './Editor.js'\nimport { getAttributesFromExtensions } from './helpers/getAttributesFromExtensions.js'\nimport { getExtensionField } from './helpers/getExtensionField.js'\nimport { getNodeType } from './helpers/getNodeType.js'\nimport { getRenderedAttributes } from './helpers/getRenderedAttributes.js'\nimport { getSchemaByResolvedExtensions } from './helpers/getSchemaByResolvedExtensions.js'\nimport { getSchemaTypeByName } from './helpers/getSchemaTypeByName.js'\nimport { isExtensionRulesEnabled } from './helpers/isExtensionRulesEnabled.js'\nimport { splitExtensions } from './helpers/splitExtensions.js'\nimport { Mark, NodeConfig } from './index.js'\nimport { InputRule, inputRulesPlugin } from './InputRule.js'\nimport { PasteRule, pasteRulesPlugin } from './PasteRule.js'\nimport { AnyConfig, Extensions, RawCommands } from './types.js'\nimport { callOrReturn } from './utilities/callOrReturn.js'\nimport { findDuplicates } from './utilities/findDuplicates.js'\n\nexport class ExtensionManager {\n editor: Editor\n\n schema: Schema\n\n extensions: Extensions\n\n splittableMarks: string[] = []\n\n constructor(extensions: Extensions, editor: Editor) {\n this.editor = editor\n this.extensions = ExtensionManager.resolve(extensions)\n this.schema = getSchemaByResolvedExtensions(this.extensions, editor)\n this.setupExtensions()\n }\n\n /**\n * Returns a flattened and sorted extension list while\n * also checking for duplicated extensions and warns the user.\n * @param extensions An array of Tiptap extensions\n * @returns An flattened and sorted array of Tiptap extensions\n */\n static resolve(extensions: Extensions): Extensions {\n const resolvedExtensions = ExtensionManager.sort(ExtensionManager.flatten(extensions))\n const duplicatedNames = findDuplicates(resolvedExtensions.map(extension => extension.name))\n\n if (duplicatedNames.length) {\n console.warn(\n `[tiptap warn]: Duplicate extension names found: [${duplicatedNames\n .map(item => `'${item}'`)\n .join(', ')}]. This can lead to issues.`,\n )\n }\n\n return resolvedExtensions\n }\n\n /**\n * Create a flattened array of extensions by traversing the `addExtensions` field.\n * @param extensions An array of Tiptap extensions\n * @returns A flattened array of Tiptap extensions\n */\n static flatten(extensions: Extensions): Extensions {\n return (\n extensions\n .map(extension => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n }\n\n const addExtensions = getExtensionField(\n extension,\n 'addExtensions',\n context,\n )\n\n if (addExtensions) {\n return [extension, ...this.flatten(addExtensions())]\n }\n\n return extension\n })\n // `Infinity` will break TypeScript so we set a number that is probably high enough\n .flat(10)\n )\n }\n\n /**\n * Sort extensions by priority.\n * @param extensions An array of Tiptap extensions\n * @returns A sorted array of Tiptap extensions by priority\n */\n static sort(extensions: Extensions): Extensions {\n const defaultPriority = 100\n\n return extensions.sort((a, b) => {\n const priorityA = getExtensionField(a, 'priority') || defaultPriority\n const priorityB = getExtensionField(b, 'priority') || defaultPriority\n\n if (priorityA > priorityB) {\n return -1\n }\n\n if (priorityA < priorityB) {\n return 1\n }\n\n return 0\n })\n }\n\n /**\n * Get all commands from the extensions.\n * @returns An object with all commands where the key is the command name and the value is the command function\n */\n get commands(): RawCommands {\n return this.extensions.reduce((commands, extension) => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor: this.editor,\n type: getSchemaTypeByName(extension.name, this.schema),\n }\n\n const addCommands = getExtensionField(\n extension,\n 'addCommands',\n context,\n )\n\n if (!addCommands) {\n return commands\n }\n\n return {\n ...commands,\n ...addCommands(),\n }\n }, {} as RawCommands)\n }\n\n /**\n * Get all registered Prosemirror plugins from the extensions.\n * @returns An array of Prosemirror plugins\n */\n get plugins(): Plugin[] {\n const { editor } = this\n\n // With ProseMirror, first plugins within an array are executed first.\n // In Tiptap, we provide the ability to override plugins,\n // so it feels more natural to run plugins at the end of an array first.\n // That’s why we have to reverse the `extensions` array and sort again\n // based on the `priority` option.\n const extensions = ExtensionManager.sort([...this.extensions].reverse())\n\n const inputRules: InputRule[] = []\n const pasteRules: PasteRule[] = []\n\n const allPlugins = extensions\n .map(extension => {\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor,\n type: getSchemaTypeByName(extension.name, this.schema),\n }\n\n const plugins: Plugin[] = []\n\n const addKeyboardShortcuts = getExtensionField(\n extension,\n 'addKeyboardShortcuts',\n context,\n )\n\n let defaultBindings: Record boolean> = {}\n\n // bind exit handling\n if (extension.type === 'mark' && extension.config.exitable) {\n defaultBindings.ArrowRight = () => Mark.handleExit({ editor, mark: extension as Mark })\n }\n\n if (addKeyboardShortcuts) {\n const bindings = Object.fromEntries(\n Object.entries(addKeyboardShortcuts()).map(([shortcut, method]) => {\n return [shortcut, () => method({ editor })]\n }),\n )\n\n defaultBindings = { ...defaultBindings, ...bindings }\n }\n\n const keyMapPlugin = keymap(defaultBindings)\n\n plugins.push(keyMapPlugin)\n\n const addInputRules = getExtensionField(\n extension,\n 'addInputRules',\n context,\n )\n\n if (isExtensionRulesEnabled(extension, editor.options.enableInputRules) && addInputRules) {\n inputRules.push(...addInputRules())\n }\n\n const addPasteRules = getExtensionField(\n extension,\n 'addPasteRules',\n context,\n )\n\n if (isExtensionRulesEnabled(extension, editor.options.enablePasteRules) && addPasteRules) {\n pasteRules.push(...addPasteRules())\n }\n\n const addProseMirrorPlugins = getExtensionField(\n extension,\n 'addProseMirrorPlugins',\n context,\n )\n\n if (addProseMirrorPlugins) {\n const proseMirrorPlugins = addProseMirrorPlugins()\n\n plugins.push(...proseMirrorPlugins)\n }\n\n return plugins\n })\n .flat()\n\n return [\n inputRulesPlugin({\n editor,\n rules: inputRules,\n }),\n ...pasteRulesPlugin({\n editor,\n rules: pasteRules,\n }),\n ...allPlugins,\n ]\n }\n\n /**\n * Get all attributes from the extensions.\n * @returns An array of attributes\n */\n get attributes() {\n return getAttributesFromExtensions(this.extensions)\n }\n\n /**\n * Get all node views from the extensions.\n * @returns An object with all node views where the key is the node name and the value is the node view function\n */\n get nodeViews() {\n const { editor } = this\n const { nodeExtensions } = splitExtensions(this.extensions)\n\n return Object.fromEntries(\n nodeExtensions\n .filter(extension => !!getExtensionField(extension, 'addNodeView'))\n .map(extension => {\n const extensionAttributes = this.attributes.filter(\n attribute => attribute.type === extension.name,\n )\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor,\n type: getNodeType(extension.name, this.schema),\n }\n const addNodeView = getExtensionField(\n extension,\n 'addNodeView',\n context,\n )\n\n if (!addNodeView) {\n return []\n }\n\n const nodeview = (\n node: ProsemirrorNode,\n view: EditorView,\n getPos: (() => number) | boolean,\n decorations: Decoration[],\n ) => {\n const HTMLAttributes = getRenderedAttributes(node, extensionAttributes)\n\n return addNodeView()({\n editor,\n node,\n getPos,\n decorations,\n HTMLAttributes,\n extension,\n })\n }\n\n return [extension.name, nodeview]\n }),\n )\n }\n\n /**\n * Go through all extensions, create extension storages & setup marks\n * & bind editor event listener.\n */\n private setupExtensions() {\n this.extensions.forEach(extension => {\n // store extension storage in editor\n this.editor.extensionStorage[extension.name] = extension.storage\n\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n editor: this.editor,\n type: getSchemaTypeByName(extension.name, this.schema),\n }\n\n if (extension.type === 'mark') {\n const keepOnSplit = callOrReturn(getExtensionField(extension, 'keepOnSplit', context)) ?? true\n\n if (keepOnSplit) {\n this.splittableMarks.push(extension.name)\n }\n }\n\n const onBeforeCreate = getExtensionField(\n extension,\n 'onBeforeCreate',\n context,\n )\n const onCreate = getExtensionField(extension, 'onCreate', context)\n const onUpdate = getExtensionField(extension, 'onUpdate', context)\n const onSelectionUpdate = getExtensionField(\n extension,\n 'onSelectionUpdate',\n context,\n )\n const onTransaction = getExtensionField(\n extension,\n 'onTransaction',\n context,\n )\n const onFocus = getExtensionField(extension, 'onFocus', context)\n const onBlur = getExtensionField(extension, 'onBlur', context)\n const onDestroy = getExtensionField(extension, 'onDestroy', context)\n\n if (onBeforeCreate) {\n this.editor.on('beforeCreate', onBeforeCreate)\n }\n\n if (onCreate) {\n this.editor.on('create', onCreate)\n }\n\n if (onUpdate) {\n this.editor.on('update', onUpdate)\n }\n\n if (onSelectionUpdate) {\n this.editor.on('selectionUpdate', onSelectionUpdate)\n }\n\n if (onTransaction) {\n this.editor.on('transaction', onTransaction)\n }\n\n if (onFocus) {\n this.editor.on('focus', onFocus)\n }\n\n if (onBlur) {\n this.editor.on('blur', onBlur)\n }\n\n if (onDestroy) {\n this.editor.on('destroy', onDestroy)\n }\n })\n }\n}\n","// see: https://github.com/mesqueeb/is-what/blob/88d6e4ca92fb2baab6003c54e02eedf4e729e5ab/src/index.ts\n\nfunction getType(value: any): string {\n return Object.prototype.toString.call(value).slice(8, -1)\n}\n\nexport function isPlainObject(value: any): value is Record {\n if (getType(value) !== 'Object') {\n return false\n }\n\n return value.constructor === Object && Object.getPrototypeOf(value) === Object.prototype\n}\n","import { isPlainObject } from './isPlainObject.js'\n\nexport function mergeDeep(target: Record, source: Record): Record {\n const output = { ...target }\n\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n if (isPlainObject(source[key])) {\n if (!(key in target)) {\n Object.assign(output, { [key]: source[key] })\n } else {\n output[key] = mergeDeep(target[key], source[key])\n }\n } else {\n Object.assign(output, { [key]: source[key] })\n }\n })\n }\n\n return output\n}\n","import { Plugin, Transaction } from '@tiptap/pm/state'\n\nimport { Editor } from './Editor.js'\nimport { getExtensionField } from './helpers/getExtensionField.js'\nimport { ExtensionConfig } from './index.js'\nimport { InputRule } from './InputRule.js'\nimport { Mark } from './Mark.js'\nimport { Node } from './Node.js'\nimport { PasteRule } from './PasteRule.js'\nimport {\n AnyConfig,\n Extensions,\n GlobalAttributes,\n KeyboardShortcutCommand,\n ParentConfig,\n RawCommands,\n} from './types.js'\nimport { callOrReturn } from './utilities/callOrReturn.js'\nimport { mergeDeep } from './utilities/mergeDeep.js'\n\ndeclare module '@tiptap/core' {\n interface ExtensionConfig {\n [key: string]: any\n\n /**\n * The extension name - this must be unique.\n * It will be used to identify the extension.\n *\n * @example 'myExtension'\n */\n name: string\n\n /**\n * The priority of your extension. The higher, the later it will be called\n * and will take precedence over other extensions with a lower priority.\n * @default 1000\n * @example 1001\n */\n priority?: number\n\n /**\n * The default options for this extension.\n * @example\n * defaultOptions: {\n * myOption: 'foo',\n * myOtherOption: 10,\n * }\n */\n defaultOptions?: Options\n\n /**\n * This method will add options to this extension\n * @see https://tiptap.dev/guide/custom-extensions#settings\n * @example\n * addOptions() {\n * return {\n * myOption: 'foo',\n * myOtherOption: 10,\n * }\n */\n addOptions?: (this: {\n name: string\n parent: Exclude>['addOptions'], undefined>\n }) => Options\n\n /**\n * The default storage this extension can save data to.\n * @see https://tiptap.dev/guide/custom-extensions#storage\n * @example\n * defaultStorage: {\n * prefetchedUsers: [],\n * loading: false,\n * }\n */\n addStorage?: (this: {\n name: string\n options: Options\n parent: Exclude>['addStorage'], undefined>\n }) => Storage\n\n /**\n * This function adds globalAttributes to specific nodes.\n * @see https://tiptap.dev/guide/custom-extensions#global-attributes\n * @example\n * addGlobalAttributes() {\n * return [\n * {\n // Extend the following extensions\n * types: [\n * 'heading',\n * 'paragraph',\n * ],\n * // … with those attributes\n * attributes: {\n * textAlign: {\n * default: 'left',\n * renderHTML: attributes => ({\n * style: `text-align: ${attributes.textAlign}`,\n * }),\n * parseHTML: element => element.style.textAlign || 'left',\n * },\n * },\n * },\n * ]\n * }\n */\n addGlobalAttributes?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addGlobalAttributes']\n }) => GlobalAttributes | {}\n\n /**\n * This function adds commands to the editor\n * @see https://tiptap.dev/guide/custom-extensions#keyboard-shortcuts\n * @example\n * addCommands() {\n * return {\n * myCommand: () => ({ chain }) => chain().setMark('type', 'foo').run(),\n * }\n * }\n */\n addCommands?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['addCommands']\n }) => Partial\n\n /**\n * This function registers keyboard shortcuts.\n * @see https://tiptap.dev/guide/custom-extensions#keyboard-shortcuts\n * @example\n * addKeyboardShortcuts() {\n * return {\n * 'Mod-l': () => this.editor.commands.toggleBulletList(),\n * }\n * },\n */\n addKeyboardShortcuts?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['addKeyboardShortcuts']\n }) => {\n [key: string]: KeyboardShortcutCommand\n }\n\n /**\n * This function adds input rules to the editor.\n * @see https://tiptap.dev/guide/custom-extensions#input-rules\n * @example\n * addInputRules() {\n * return [\n * markInputRule({\n * find: inputRegex,\n * type: this.type,\n * }),\n * ]\n * },\n */\n addInputRules?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['addInputRules']\n }) => InputRule[]\n\n /**\n * This function adds paste rules to the editor.\n * @see https://tiptap.dev/guide/custom-extensions#paste-rules\n * @example\n * addPasteRules() {\n * return [\n * markPasteRule({\n * find: pasteRegex,\n * type: this.type,\n * }),\n * ]\n * },\n */\n addPasteRules?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['addPasteRules']\n }) => PasteRule[]\n\n /**\n * This function adds Prosemirror plugins to the editor\n * @see https://tiptap.dev/guide/custom-extensions#prosemirror-plugins\n * @example\n * addProseMirrorPlugins() {\n * return [\n * customPlugin(),\n * ]\n * }\n */\n addProseMirrorPlugins?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['addProseMirrorPlugins']\n }) => Plugin[]\n\n /**\n * This function adds additional extensions to the editor. This is useful for\n * building extension kits.\n * @example\n * addExtensions() {\n * return [\n * BulletList,\n * OrderedList,\n * ListItem\n * ]\n * }\n */\n addExtensions?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addExtensions']\n }) => Extensions\n\n /**\n * This function extends the schema of the node.\n * @example\n * extendNodeSchema() {\n * return {\n * group: 'inline',\n * selectable: false,\n * }\n * }\n */\n extendNodeSchema?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['extendNodeSchema']\n },\n extension: Node,\n ) => Record)\n | null\n\n /**\n * This function extends the schema of the mark.\n * @example\n * extendMarkSchema() {\n * return {\n * group: 'inline',\n * selectable: false,\n * }\n * }\n */\n extendMarkSchema?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['extendMarkSchema']\n },\n extension: Mark,\n ) => Record)\n | null\n\n /**\n * The editor is not ready yet.\n */\n onBeforeCreate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onBeforeCreate']\n }) => void)\n | null\n\n /**\n * The editor is ready.\n */\n onCreate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onCreate']\n }) => void)\n | null\n\n /**\n * The content has changed.\n */\n onUpdate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onUpdate']\n }) => void)\n | null\n\n /**\n * The selection has changed.\n */\n onSelectionUpdate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onSelectionUpdate']\n }) => void)\n | null\n\n /**\n * The editor state has changed.\n */\n onTransaction?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onTransaction']\n },\n props: {\n transaction: Transaction\n },\n ) => void)\n | null\n\n /**\n * The editor is focused.\n */\n onFocus?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onFocus']\n },\n props: {\n event: FocusEvent\n },\n ) => void)\n | null\n\n /**\n * The editor isn’t focused anymore.\n */\n onBlur?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onBlur']\n },\n props: {\n event: FocusEvent\n },\n ) => void)\n | null\n\n /**\n * The editor is destroyed.\n */\n onDestroy?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n parent: ParentConfig>['onDestroy']\n }) => void)\n | null\n }\n}\n\n/**\n * The Extension class is the base class for all extensions.\n * @see https://tiptap.dev/api/extensions#create-a-new-extension\n */\nexport class Extension {\n type = 'extension'\n\n name = 'extension'\n\n parent: Extension | null = null\n\n child: Extension | null = null\n\n options: Options\n\n storage: Storage\n\n config: ExtensionConfig = {\n name: this.name,\n defaultOptions: {},\n }\n\n constructor(config: Partial> = {}) {\n this.config = {\n ...this.config,\n ...config,\n }\n\n this.name = this.config.name\n\n if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {\n console.warn(\n `[tiptap warn]: BREAKING CHANGE: \"defaultOptions\" is deprecated. Please use \"addOptions\" instead. Found in extension: \"${this.name}\".`,\n )\n }\n\n // TODO: remove `addOptions` fallback\n this.options = this.config.defaultOptions\n\n if (this.config.addOptions) {\n this.options = callOrReturn(\n getExtensionField(this, 'addOptions', {\n name: this.name,\n }),\n )\n }\n\n this.storage = callOrReturn(\n getExtensionField(this, 'addStorage', {\n name: this.name,\n options: this.options,\n }),\n ) || {}\n }\n\n static create(config: Partial> = {}) {\n return new Extension(config)\n }\n\n configure(options: Partial = {}) {\n // return a new instance so we can use the same extension\n // with different calls of `configure`\n const extension = this.extend()\n\n extension.parent = this.parent\n extension.options = mergeDeep(this.options as Record, options) as Options\n\n extension.storage = callOrReturn(\n getExtensionField(extension, 'addStorage', {\n name: extension.name,\n options: extension.options,\n }),\n )\n\n return extension\n }\n\n extend(\n extendedConfig: Partial> = {},\n ) {\n const extension = new Extension({ ...this.config, ...extendedConfig })\n\n extension.parent = this\n\n this.child = extension\n\n extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name\n\n if (extendedConfig.defaultOptions) {\n console.warn(\n `[tiptap warn]: BREAKING CHANGE: \"defaultOptions\" is deprecated. Please use \"addOptions\" instead. Found in extension: \"${extension.name}\".`,\n )\n }\n\n extension.options = callOrReturn(\n getExtensionField(extension, 'addOptions', {\n name: extension.name,\n }),\n )\n\n extension.storage = callOrReturn(\n getExtensionField(extension, 'addStorage', {\n name: extension.name,\n options: extension.options,\n }),\n )\n\n return extension\n }\n}\n","import { Node as ProseMirrorNode } from '@tiptap/pm/model'\n\nimport { Range, TextSerializer } from '../types.js'\n\n/**\n * Gets the text between two positions in a Prosemirror node\n * and serializes it using the given text serializers and block separator (see getText)\n * @param startNode The Prosemirror node to start from\n * @param range The range of the text to get\n * @param options Options for the text serializer & block separator\n * @returns The text between the two positions\n */\nexport function getTextBetween(\n startNode: ProseMirrorNode,\n range: Range,\n options?: {\n blockSeparator?: string\n textSerializers?: Record\n },\n): string {\n const { from, to } = range\n const { blockSeparator = '\\n\\n', textSerializers = {} } = options || {}\n let text = ''\n\n startNode.nodesBetween(from, to, (node, pos, parent, index) => {\n if (node.isBlock && pos > from) {\n text += blockSeparator\n }\n\n const textSerializer = textSerializers?.[node.type.name]\n\n if (textSerializer) {\n if (parent) {\n text += textSerializer({\n node,\n pos,\n parent,\n index,\n range,\n })\n }\n // do not descend into child nodes when there exists a serializer\n return false\n }\n\n if (node.isText) {\n text += node?.text?.slice(Math.max(from, pos) - pos, to - pos) // eslint-disable-line\n }\n })\n\n return text\n}\n","import { Schema } from '@tiptap/pm/model'\n\nimport { TextSerializer } from '../types.js'\n\n/**\n * Find text serializers `toText` in a Prosemirror schema\n * @param schema The Prosemirror schema to search in\n * @returns A record of text serializers by node name\n */\nexport function getTextSerializersFromSchema(schema: Schema): Record {\n return Object.fromEntries(\n Object.entries(schema.nodes)\n .filter(([, node]) => node.spec.toText)\n .map(([name, node]) => [name, node.spec.toText]),\n )\n}\n","import { Plugin, PluginKey } from '@tiptap/pm/state'\n\nimport { Extension } from '../Extension.js'\nimport { getTextBetween } from '../helpers/getTextBetween.js'\nimport { getTextSerializersFromSchema } from '../helpers/getTextSerializersFromSchema.js'\n\nexport type ClipboardTextSerializerOptions = {\n blockSeparator?: string,\n}\n\nexport const ClipboardTextSerializer = Extension.create({\n name: 'clipboardTextSerializer',\n\n addOptions() {\n return {\n blockSeparator: undefined,\n }\n },\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n key: new PluginKey('clipboardTextSerializer'),\n props: {\n clipboardTextSerializer: () => {\n const { editor } = this\n const { state, schema } = editor\n const { doc, selection } = state\n const { ranges } = selection\n const from = Math.min(...ranges.map(range => range.$from.pos))\n const to = Math.max(...ranges.map(range => range.$to.pos))\n const textSerializers = getTextSerializersFromSchema(schema)\n const range = { from, to }\n\n return getTextBetween(doc, range, {\n ...(this.options.blockSeparator !== undefined\n ? { blockSeparator: this.options.blockSeparator }\n : {}),\n textSerializers,\n })\n },\n },\n }),\n ]\n },\n})\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n blur: {\n /**\n * Removes focus from the editor.\n * @example editor.commands.blur()\n */\n blur: () => ReturnType,\n }\n }\n}\n\nexport const blur: RawCommands['blur'] = () => ({ editor, view }) => {\n requestAnimationFrame(() => {\n if (!editor.isDestroyed) {\n (view.dom as HTMLElement).blur()\n\n // Browsers should remove the caret on blur but safari does not.\n // See: https://github.com/ueberdosis/tiptap/issues/2405\n window?.getSelection()?.removeAllRanges()\n }\n })\n\n return true\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n clearContent: {\n /**\n * Clear the whole document.\n * @param emitUpdate Whether to emit an update event.\n * @example editor.commands.clearContent()\n */\n clearContent: (emitUpdate?: boolean) => ReturnType,\n }\n }\n}\n\nexport const clearContent: RawCommands['clearContent'] = (emitUpdate = false) => ({ commands }) => {\n return commands.setContent('', emitUpdate)\n}\n","import { liftTarget } from '@tiptap/pm/transform'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n clearNodes: {\n /**\n * Normalize nodes to a simple paragraph.\n * @example editor.commands.clearNodes()\n */\n clearNodes: () => ReturnType,\n }\n }\n}\n\nexport const clearNodes: RawCommands['clearNodes'] = () => ({ state, tr, dispatch }) => {\n const { selection } = tr\n const { ranges } = selection\n\n if (!dispatch) {\n return true\n }\n\n ranges.forEach(({ $from, $to }) => {\n state.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {\n if (node.type.isText) {\n return\n }\n\n const { doc, mapping } = tr\n const $mappedFrom = doc.resolve(mapping.map(pos))\n const $mappedTo = doc.resolve(mapping.map(pos + node.nodeSize))\n const nodeRange = $mappedFrom.blockRange($mappedTo)\n\n if (!nodeRange) {\n return\n }\n\n const targetLiftDepth = liftTarget(nodeRange)\n\n if (node.type.isTextblock) {\n const { defaultType } = $mappedFrom.parent.contentMatchAt($mappedFrom.index())\n\n tr.setNodeMarkup(nodeRange.start, defaultType)\n }\n\n if (targetLiftDepth || targetLiftDepth === 0) {\n tr.lift(nodeRange, targetLiftDepth)\n }\n })\n })\n\n return true\n}\n","import { Command, RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n command: {\n /**\n * Define a command inline.\n * @param fn The command function.\n * @example\n * editor.commands.command(({ tr, state }) => {\n * ...\n * return true\n * })\n */\n command: (fn: (props: Parameters[0]) => boolean) => ReturnType,\n }\n }\n}\n\nexport const command: RawCommands['command'] = fn => props => {\n return fn(props)\n}\n","import { createParagraphNear as originalCreateParagraphNear } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n createParagraphNear: {\n /**\n * Create a paragraph nearby.\n * @example editor.commands.createParagraphNear()\n */\n createParagraphNear: () => ReturnType\n }\n }\n}\n\nexport const createParagraphNear: RawCommands['createParagraphNear'] = () => ({ state, dispatch }) => {\n return originalCreateParagraphNear(state, dispatch)\n}\n","import { TextSelection } from '@tiptap/pm/state'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n cut: {\n /**\n * Cuts content from a range and inserts it at a given position.\n * @param range The range to cut.\n * @param range.from The start position of the range.\n * @param range.to The end position of the range.\n * @param targetPos The position to insert the content at.\n * @example editor.commands.cut({ from: 1, to: 3 }, 5)\n */\n cut: ({ from, to }: { from: number, to: number }, targetPos: number) => ReturnType,\n }\n }\n}\n\nexport const cut: RawCommands['cut'] = (originRange, targetPos) => ({ editor, tr }) => {\n const { state } = editor\n\n const contentSlice = state.doc.slice(originRange.from, originRange.to)\n\n tr.deleteRange(originRange.from, originRange.to)\n const newPos = tr.mapping.map(targetPos)\n\n tr.insert(newPos, contentSlice.content)\n\n tr.setSelection(new TextSelection(tr.doc.resolve(newPos - 1)))\n\n return true\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n deleteCurrentNode: {\n /**\n * Delete the node that currently has the selection anchor.\n * @example editor.commands.deleteCurrentNode()\n */\n deleteCurrentNode: () => ReturnType,\n }\n }\n}\n\nexport const deleteCurrentNode: RawCommands['deleteCurrentNode'] = () => ({ tr, dispatch }) => {\n const { selection } = tr\n const currentNode = selection.$anchor.node()\n\n // if there is content inside the current node, break out of this command\n if (currentNode.content.size > 0) {\n return false\n }\n\n const $pos = tr.selection.$anchor\n\n for (let depth = $pos.depth; depth > 0; depth -= 1) {\n const node = $pos.node(depth)\n\n if (node.type === currentNode.type) {\n if (dispatch) {\n const from = $pos.before(depth)\n const to = $pos.after(depth)\n\n tr.delete(from, to).scrollIntoView()\n }\n\n return true\n }\n }\n\n return false\n}\n","import { NodeType } from '@tiptap/pm/model'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n deleteNode: {\n /**\n * Delete a node with a given type or name.\n * @param typeOrName The type or name of the node.\n * @example editor.commands.deleteNode('paragraph')\n */\n deleteNode: (typeOrName: string | NodeType) => ReturnType,\n }\n }\n}\n\nexport const deleteNode: RawCommands['deleteNode'] = typeOrName => ({ tr, state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema)\n const $pos = tr.selection.$anchor\n\n for (let depth = $pos.depth; depth > 0; depth -= 1) {\n const node = $pos.node(depth)\n\n if (node.type === type) {\n if (dispatch) {\n const from = $pos.before(depth)\n const to = $pos.after(depth)\n\n tr.delete(from, to).scrollIntoView()\n }\n\n return true\n }\n }\n\n return false\n}\n","import { Range, RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n deleteRange: {\n /**\n * Delete a given range.\n * @param range The range to delete.\n * @example editor.commands.deleteRange({ from: 1, to: 3 })\n */\n deleteRange: (range: Range) => ReturnType,\n }\n }\n}\n\nexport const deleteRange: RawCommands['deleteRange'] = range => ({ tr, dispatch }) => {\n const { from, to } = range\n\n if (dispatch) {\n tr.delete(from, to)\n }\n\n return true\n}\n","import { deleteSelection as originalDeleteSelection } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n deleteSelection: {\n /**\n * Delete the selection, if there is one.\n * @example editor.commands.deleteSelection()\n */\n deleteSelection: () => ReturnType\n }\n }\n}\n\nexport const deleteSelection: RawCommands['deleteSelection'] = () => ({ state, dispatch }) => {\n return originalDeleteSelection(state, dispatch)\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n enter: {\n /**\n * Trigger enter.\n * @example editor.commands.enter()\n */\n enter: () => ReturnType,\n }\n }\n}\n\nexport const enter: RawCommands['enter'] = () => ({ commands }) => {\n return commands.keyboardShortcut('Enter')\n}\n","import { exitCode as originalExitCode } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n exitCode: {\n /**\n * Exit from a code block.\n * @example editor.commands.exitCode()\n */\n exitCode: () => ReturnType\n }\n }\n}\n\nexport const exitCode: RawCommands['exitCode'] = () => ({ state, dispatch }) => {\n return originalExitCode(state, dispatch)\n}\n","import { isRegExp } from './isRegExp.js'\n\n/**\n * Check if object1 includes object2\n * @param object1 Object\n * @param object2 Object\n */\nexport function objectIncludes(\n object1: Record,\n object2: Record,\n options: { strict: boolean } = { strict: true },\n): boolean {\n const keys = Object.keys(object2)\n\n if (!keys.length) {\n return true\n }\n\n return keys.every(key => {\n if (options.strict) {\n return object2[key] === object1[key]\n }\n\n if (isRegExp(object2[key])) {\n return object2[key].test(object1[key])\n }\n\n return object2[key] === object1[key]\n })\n}\n","import { Mark as ProseMirrorMark, MarkType, ResolvedPos } from '@tiptap/pm/model'\n\nimport { Range } from '../types.js'\nimport { objectIncludes } from '../utilities/objectIncludes.js'\n\nfunction findMarkInSet(\n marks: ProseMirrorMark[],\n type: MarkType,\n attributes: Record = {},\n): ProseMirrorMark | undefined {\n return marks.find(item => {\n return item.type === type && objectIncludes(item.attrs, attributes)\n })\n}\n\nfunction isMarkInSet(\n marks: ProseMirrorMark[],\n type: MarkType,\n attributes: Record = {},\n): boolean {\n return !!findMarkInSet(marks, type, attributes)\n}\n\nexport function getMarkRange(\n $pos: ResolvedPos,\n type: MarkType,\n attributes: Record = {},\n): Range | void {\n if (!$pos || !type) {\n return\n }\n\n let start = $pos.parent.childAfter($pos.parentOffset)\n\n if ($pos.parentOffset === start.offset && start.offset !== 0) {\n start = $pos.parent.childBefore($pos.parentOffset)\n }\n\n if (!start.node) {\n return\n }\n\n const mark = findMarkInSet([...start.node.marks], type, attributes)\n\n if (!mark) {\n return\n }\n\n let startIndex = start.index\n let startPos = $pos.start() + start.offset\n let endIndex = startIndex + 1\n let endPos = startPos + start.node.nodeSize\n\n findMarkInSet([...start.node.marks], type, attributes)\n\n while (startIndex > 0 && mark.isInSet($pos.parent.child(startIndex - 1).marks)) {\n startIndex -= 1\n startPos -= $pos.parent.child(startIndex).nodeSize\n }\n\n while (\n endIndex < $pos.parent.childCount\n && isMarkInSet([...$pos.parent.child(endIndex).marks], type, attributes)\n ) {\n endPos += $pos.parent.child(endIndex).nodeSize\n endIndex += 1\n }\n\n return {\n from: startPos,\n to: endPos,\n }\n}\n","import { MarkType, Schema } from '@tiptap/pm/model'\n\nexport function getMarkType(nameOrType: string | MarkType, schema: Schema): MarkType {\n if (typeof nameOrType === 'string') {\n if (!schema.marks[nameOrType]) {\n throw Error(\n `There is no mark type named '${nameOrType}'. Maybe you forgot to add the extension?`,\n )\n }\n\n return schema.marks[nameOrType]\n }\n\n return nameOrType\n}\n","import { MarkType } from '@tiptap/pm/model'\nimport { TextSelection } from '@tiptap/pm/state'\n\nimport { getMarkRange } from '../helpers/getMarkRange.js'\nimport { getMarkType } from '../helpers/getMarkType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n extendMarkRange: {\n /**\n * Extends the text selection to the current mark by type or name.\n * @param typeOrName The type or name of the mark.\n * @param attributes The attributes of the mark.\n * @example editor.commands.extendMarkRange('bold')\n * @example editor.commands.extendMarkRange('mention', { userId: \"1\" })\n */\n extendMarkRange: (\n /**\n * The type or name of the mark.\n */\n typeOrName: string | MarkType,\n\n /**\n * The attributes of the mark.\n */\n attributes?: Record,\n ) => ReturnType\n }\n }\n}\n\nexport const extendMarkRange: RawCommands['extendMarkRange'] = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n const type = getMarkType(typeOrName, state.schema)\n const { doc, selection } = tr\n const { $from, from, to } = selection\n\n if (dispatch) {\n const range = getMarkRange($from, type, attributes)\n\n if (range && range.from <= from && range.to >= to) {\n const newSelection = TextSelection.create(doc, range.from, range.to)\n\n tr.setSelection(newSelection)\n }\n }\n\n return true\n}\n","import { Command, CommandProps, RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n first: {\n /**\n * Runs one command after the other and stops at the first which returns true.\n * @param commands The commands to run.\n * @example editor.commands.first([command1, command2])\n */\n first: (commands: Command[] | ((props: CommandProps) => Command[])) => ReturnType,\n }\n }\n}\n\nexport const first: RawCommands['first'] = commands => props => {\n const items = typeof commands === 'function'\n ? commands(props)\n : commands\n\n for (let i = 0; i < items.length; i += 1) {\n if (items[i](props)) {\n return true\n }\n }\n\n return false\n}\n","import { TextSelection } from '@tiptap/pm/state'\n\nexport function isTextSelection(value: unknown): value is TextSelection {\n return value instanceof TextSelection\n}\n","export function minMax(value = 0, min = 0, max = 0): number {\n return Math.min(Math.max(value, min), max)\n}\n","import { Node as ProseMirrorNode } from '@tiptap/pm/model'\nimport { Selection, TextSelection } from '@tiptap/pm/state'\n\nimport { FocusPosition } from '../types.js'\nimport { minMax } from '../utilities/minMax.js'\n\nexport function resolveFocusPosition(\n doc: ProseMirrorNode,\n position: FocusPosition = null,\n): Selection | null {\n if (!position) {\n return null\n }\n\n const selectionAtStart = Selection.atStart(doc)\n const selectionAtEnd = Selection.atEnd(doc)\n\n if (position === 'start' || position === true) {\n return selectionAtStart\n }\n\n if (position === 'end') {\n return selectionAtEnd\n }\n\n const minPos = selectionAtStart.from\n const maxPos = selectionAtEnd.to\n\n if (position === 'all') {\n return TextSelection.create(\n doc,\n minMax(0, minPos, maxPos),\n minMax(doc.content.size, minPos, maxPos),\n )\n }\n\n return TextSelection.create(\n doc,\n minMax(position, minPos, maxPos),\n minMax(position, minPos, maxPos),\n )\n}\n","export function isiOS(): boolean {\n return [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod',\n ].includes(navigator.platform)\n // iPad on iOS 13 detection\n || (navigator.userAgent.includes('Mac') && 'ontouchend' in document)\n}\n","import { isTextSelection } from '../helpers/isTextSelection.js'\nimport { resolveFocusPosition } from '../helpers/resolveFocusPosition.js'\nimport { FocusPosition, RawCommands } from '../types.js'\nimport { isiOS } from '../utilities/isiOS.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n focus: {\n /**\n * Focus the editor at the given position.\n * @param position The position to focus at.\n * @param options.scrollIntoView Scroll the focused position into view after focusing\n * @example editor.commands.focus()\n * @example editor.commands.focus(32, { scrollIntoView: false })\n */\n focus: (\n /**\n * The position to focus at.\n */\n position?: FocusPosition,\n\n /**\n * Optional options\n * @default { scrollIntoView: true }\n */\n options?: {\n scrollIntoView?: boolean,\n },\n ) => ReturnType,\n }\n }\n}\n\nexport const focus: RawCommands['focus'] = (position = null, options = {}) => ({\n editor,\n view,\n tr,\n dispatch,\n}) => {\n options = {\n scrollIntoView: true,\n ...options,\n }\n\n const delayedFocus = () => {\n // focus within `requestAnimationFrame` breaks focus on iOS\n // so we have to call this\n if (isiOS()) {\n (view.dom as HTMLElement).focus()\n }\n\n // For React we have to focus asynchronously. Otherwise wild things happen.\n // see: https://github.com/ueberdosis/tiptap/issues/1520\n requestAnimationFrame(() => {\n if (!editor.isDestroyed) {\n view.focus()\n\n if (options?.scrollIntoView) {\n editor.commands.scrollIntoView()\n }\n }\n })\n }\n\n if ((view.hasFocus() && position === null) || position === false) {\n return true\n }\n\n // we don’t try to resolve a NodeSelection or CellSelection\n if (dispatch && position === null && !isTextSelection(editor.state.selection)) {\n delayedFocus()\n return true\n }\n\n // pass through tr.doc instead of editor.state.doc\n // since transactions could change the editors state before this command has been run\n const selection = resolveFocusPosition(tr.doc, position) || editor.state.selection\n const isSameSelection = editor.state.selection.eq(selection)\n\n if (dispatch) {\n if (!isSameSelection) {\n tr.setSelection(selection)\n }\n\n // `tr.setSelection` resets the stored marks\n // so we’ll restore them if the selection is the same as before\n if (isSameSelection && tr.storedMarks) {\n tr.setStoredMarks(tr.storedMarks)\n }\n\n delayedFocus()\n }\n\n return true\n}\n","import { CommandProps, RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n forEach: {\n /**\n * Loop through an array of items.\n */\n forEach: (\n items: T[],\n fn: (\n item: T,\n props: CommandProps & {\n index: number,\n },\n ) => boolean,\n ) => ReturnType,\n }\n }\n}\n\nexport const forEach: RawCommands['forEach'] = (items, fn) => props => {\n return items.every((item, index) => fn(item, { ...props, index }))\n}\n","import { ParseOptions } from '@tiptap/pm/model'\n\nimport { Content, RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n insertContent: {\n /**\n * Insert a node or string of HTML at the current position.\n * @example editor.commands.insertContent('

      Example

      ')\n * @example editor.commands.insertContent('

      Example

      ', { updateSelection: false })\n */\n insertContent: (\n /**\n * The ProseMirror content to insert.\n */\n value: Content,\n\n /**\n * Optional options\n */\n options?: {\n /**\n * Options for parsing the content.\n */\n parseOptions?: ParseOptions\n\n /**\n * Whether to update the selection after inserting the content.\n */\n updateSelection?: boolean\n applyInputRules?: boolean\n applyPasteRules?: boolean\n },\n ) => ReturnType\n }\n }\n}\n\nexport const insertContent: RawCommands['insertContent'] = (value, options) => ({ tr, commands }) => {\n return commands.insertContentAt(\n { from: tr.selection.from, to: tr.selection.to },\n value,\n options,\n )\n}\n","const removeWhitespaces = (node: HTMLElement) => {\n const children = node.childNodes\n\n for (let i = children.length - 1; i >= 0; i -= 1) {\n const child = children[i]\n\n if (child.nodeType === 3 && child.nodeValue && /^(\\n\\s\\s|\\n)$/.test(child.nodeValue)) {\n node.removeChild(child)\n } else if (child.nodeType === 1) {\n removeWhitespaces(child as HTMLElement)\n }\n }\n\n return node\n}\n\nexport function elementFromString(value: string): HTMLElement {\n // add a wrapper to preserve leading and trailing whitespace\n const wrappedValue = `${value}`\n\n const html = new window.DOMParser().parseFromString(wrappedValue, 'text/html').body\n\n return removeWhitespaces(html)\n}\n","import {\n DOMParser,\n Fragment,\n Node as ProseMirrorNode,\n ParseOptions,\n Schema,\n} from '@tiptap/pm/model'\n\nimport { Content } from '../types.js'\nimport { elementFromString } from '../utilities/elementFromString.js'\n\nexport type CreateNodeFromContentOptions = {\n slice?: boolean\n parseOptions?: ParseOptions\n}\n\n/**\n * Takes a JSON or HTML content and creates a Prosemirror node or fragment from it.\n * @param content The JSON or HTML content to create the node from\n * @param schema The Prosemirror schema to use for the node\n * @param options Options for the parser\n * @returns The created Prosemirror node or fragment\n */\nexport function createNodeFromContent(\n content: Content,\n schema: Schema,\n options?: CreateNodeFromContentOptions,\n): ProseMirrorNode | Fragment {\n options = {\n slice: true,\n parseOptions: {},\n ...options,\n }\n\n const isJSONContent = typeof content === 'object' && content !== null\n const isTextContent = typeof content === 'string'\n\n if (isJSONContent) {\n try {\n const isArrayContent = Array.isArray(content) && content.length > 0\n\n // if the JSON Content is an array of nodes, create a fragment for each node\n if (isArrayContent) {\n return Fragment.fromArray(content.map(item => schema.nodeFromJSON(item)))\n }\n\n return schema.nodeFromJSON(content)\n } catch (error) {\n console.warn('[tiptap warn]: Invalid content.', 'Passed value:', content, 'Error:', error)\n\n return createNodeFromContent('', schema, options)\n }\n }\n\n if (isTextContent) {\n const parser = DOMParser.fromSchema(schema)\n\n return options.slice\n ? parser.parseSlice(elementFromString(content), options.parseOptions).content\n : parser.parse(elementFromString(content), options.parseOptions)\n }\n\n return createNodeFromContent('', schema, options)\n}\n","import { Selection, Transaction } from '@tiptap/pm/state'\nimport { ReplaceAroundStep, ReplaceStep } from '@tiptap/pm/transform'\n\n// source: https://github.com/ProseMirror/prosemirror-state/blob/master/src/selection.js#L466\nexport function selectionToInsertionEnd(tr: Transaction, startLen: number, bias: number) {\n const last = tr.steps.length - 1\n\n if (last < startLen) {\n return\n }\n\n const step = tr.steps[last]\n\n if (!(step instanceof ReplaceStep || step instanceof ReplaceAroundStep)) {\n return\n }\n\n const map = tr.mapping.maps[last]\n let end = 0\n\n map.forEach((_from, _to, _newFrom, newTo) => {\n if (end === 0) {\n end = newTo\n }\n })\n\n tr.setSelection(Selection.near(tr.doc.resolve(end), bias))\n}\n","import { Fragment, Node as ProseMirrorNode, ParseOptions } from '@tiptap/pm/model'\n\nimport { createNodeFromContent } from '../helpers/createNodeFromContent.js'\nimport { selectionToInsertionEnd } from '../helpers/selectionToInsertionEnd.js'\nimport { Content, Range, RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n insertContentAt: {\n /**\n * Insert a node or string of HTML at a specific position.\n * @example editor.commands.insertContentAt(0, '

      Example

      ')\n */\n insertContentAt: (\n /**\n * The position to insert the content at.\n */\n position: number | Range,\n\n /**\n * The ProseMirror content to insert.\n */\n value: Content,\n\n /**\n * Optional options\n */\n options?: {\n /**\n * Options for parsing the content.\n */\n parseOptions?: ParseOptions\n\n /**\n * Whether to update the selection after inserting the content.\n */\n updateSelection?: boolean\n applyInputRules?: boolean\n applyPasteRules?: boolean\n },\n ) => ReturnType\n }\n }\n}\n\nconst isFragment = (nodeOrFragment: ProseMirrorNode | Fragment): nodeOrFragment is Fragment => {\n return nodeOrFragment.toString().startsWith('<')\n}\n\nexport const insertContentAt: RawCommands['insertContentAt'] = (position, value, options) => ({ tr, dispatch, editor }) => {\n if (dispatch) {\n options = {\n parseOptions: {},\n updateSelection: true,\n applyInputRules: false,\n applyPasteRules: false,\n ...options,\n }\n\n const content = createNodeFromContent(value, editor.schema, {\n parseOptions: {\n preserveWhitespace: 'full',\n ...options.parseOptions,\n },\n })\n\n // don’t dispatch an empty fragment because this can lead to strange errors\n if (content.toString() === '<>') {\n return true\n }\n\n let { from, to } = typeof position === 'number' ? { from: position, to: position } : { from: position.from, to: position.to }\n\n let isOnlyTextContent = true\n let isOnlyBlockContent = true\n const nodes = isFragment(content) ? content : [content]\n\n nodes.forEach(node => {\n // check if added node is valid\n node.check()\n\n isOnlyTextContent = isOnlyTextContent ? node.isText && node.marks.length === 0 : false\n\n isOnlyBlockContent = isOnlyBlockContent ? node.isBlock : false\n })\n\n // check if we can replace the wrapping node by\n // the newly inserted content\n // example:\n // replace an empty paragraph by an inserted image\n // instead of inserting the image below the paragraph\n if (from === to && isOnlyBlockContent) {\n const { parent } = tr.doc.resolve(from)\n const isEmptyTextBlock = parent.isTextblock && !parent.type.spec.code && !parent.childCount\n\n if (isEmptyTextBlock) {\n from -= 1\n to += 1\n }\n }\n\n let newContent\n\n // if there is only plain text we have to use `insertText`\n // because this will keep the current marks\n if (isOnlyTextContent) {\n // if value is string, we can use it directly\n // otherwise if it is an array, we have to join it\n if (Array.isArray(value)) {\n newContent = value.map(v => v.text || '').join('')\n } else if (typeof value === 'object' && !!value && !!value.text) {\n newContent = value.text\n } else {\n newContent = value as string\n }\n\n tr.insertText(newContent, from, to)\n } else {\n newContent = content\n\n tr.replaceWith(from, to, newContent)\n }\n\n // set cursor at end of inserted content\n if (options.updateSelection) {\n selectionToInsertionEnd(tr, tr.steps.length - 1, -1)\n }\n\n if (options.applyInputRules) {\n tr.setMeta('applyInputRules', { from, text: newContent })\n }\n\n if (options.applyPasteRules) {\n tr.setMeta('applyPasteRules', { from, text: newContent })\n }\n }\n\n return true\n}\n","import {\n joinBackward as originalJoinBackward,\n joinDown as originalJoinDown,\n joinForward as originalJoinForward,\n joinUp as originalJoinUp,\n} from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n joinUp: {\n /**\n * Join the selected block or, if there is a text selection, the closest ancestor block of the selection that can be joined, with the sibling above it.\n * @example editor.commands.joinUp()\n */\n joinUp: () => ReturnType\n }\n joinDown: {\n /**\n * Join the selected block, or the closest ancestor of the selection that can be joined, with the sibling after it.\n * @example editor.commands.joinDown()\n */\n joinDown: () => ReturnType\n }\n joinBackward: {\n /**\n * If the selection is empty and at the start of a textblock, try to reduce the distance between that block and the one before it—if there's a block directly before it that can be joined, join them.\n * If not, try to move the selected block closer to the next one in the document structure by lifting it out of its\n * parent or moving it into a parent of the previous block. Will use the view for accurate (bidi-aware) start-of-textblock detection if given.\n * @example editor.commands.joinBackward()\n */\n joinBackward: () => ReturnType\n }\n joinForward: {\n /**\n * If the selection is empty and the cursor is at the end of a textblock, try to reduce or remove the boundary between that block and the one after it,\n * either by joining them or by moving the other block closer to this one in the tree structure.\n * Will use the view for accurate start-of-textblock detection if given.\n * @example editor.commands.joinForward()\n */\n joinForward: () => ReturnType\n }\n }\n}\n\nexport const joinUp: RawCommands['joinUp'] = () => ({ state, dispatch }) => {\n return originalJoinUp(state, dispatch)\n}\n\nexport const joinDown: RawCommands['joinDown'] = () => ({ state, dispatch }) => {\n return originalJoinDown(state, dispatch)\n}\n\nexport const joinBackward: RawCommands['joinBackward'] = () => ({ state, dispatch }) => {\n return originalJoinBackward(state, dispatch)\n}\n\nexport const joinForward: RawCommands['joinForward'] = () => ({ state, dispatch }) => {\n return originalJoinForward(state, dispatch)\n}\n","import { joinPoint } from '@tiptap/pm/transform'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n joinItemBackward: {\n /**\n * Join two items backward.\n * @example editor.commands.joinItemBackward()\n */\n joinItemBackward: () => ReturnType\n }\n }\n}\n\nexport const joinItemBackward: RawCommands['joinItemBackward'] = () => ({\n tr, state, dispatch,\n}) => {\n try {\n const point = joinPoint(state.doc, state.selection.$from.pos, -1)\n\n if (point === null || point === undefined) {\n return false\n }\n\n tr.join(point, 2)\n\n if (dispatch) {\n dispatch(tr)\n }\n\n return true\n } catch {\n return false\n }\n}\n","import { joinPoint } from '@tiptap/pm/transform'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n joinItemForward: {\n /**\n * Join two items Forwards.\n * @example editor.commands.joinItemForward()\n */\n joinItemForward: () => ReturnType\n }\n }\n}\n\nexport const joinItemForward: RawCommands['joinItemForward'] = () => ({\n state,\n dispatch,\n tr,\n}) => {\n try {\n const point = joinPoint(state.doc, state.selection.$from.pos, +1)\n\n if (point === null || point === undefined) {\n return false\n }\n\n tr.join(point, 2)\n\n if (dispatch) {\n dispatch(tr)\n }\n\n return true\n } catch (e) {\n return false\n }\n}\n","import { joinTextblockBackward as originalCommand } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n joinTextblockBackward: {\n /**\n * A more limited form of joinBackward that only tries to join the current textblock to the one before it, if the cursor is at the start of a textblock.\n */\n joinTextblockBackward: () => ReturnType\n }\n }\n}\n\nexport const joinTextblockBackward: RawCommands['joinTextblockBackward'] = () => ({ state, dispatch }) => {\n return originalCommand(state, dispatch)\n}\n","import { joinTextblockForward as originalCommand } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n joinTextblockForward: {\n /**\n * A more limited form of joinForward that only tries to join the current textblock to the one after it, if the cursor is at the end of a textblock.\n */\n joinTextblockForward: () => ReturnType\n }\n }\n}\n\nexport const joinTextblockForward: RawCommands['joinTextblockForward'] = () => ({ state, dispatch }) => {\n return originalCommand(state, dispatch)\n}\n","export function isMacOS(): boolean {\n return typeof navigator !== 'undefined'\n ? /Mac/.test(navigator.platform)\n : false\n}\n","import { RawCommands } from '../types.js'\nimport { isiOS } from '../utilities/isiOS.js'\nimport { isMacOS } from '../utilities/isMacOS.js'\n\nfunction normalizeKeyName(name: string) {\n const parts = name.split(/-(?!$)/)\n let result = parts[parts.length - 1]\n\n if (result === 'Space') {\n result = ' '\n }\n\n let alt\n let ctrl\n let shift\n let meta\n\n for (let i = 0; i < parts.length - 1; i += 1) {\n const mod = parts[i]\n\n if (/^(cmd|meta|m)$/i.test(mod)) {\n meta = true\n } else if (/^a(lt)?$/i.test(mod)) {\n alt = true\n } else if (/^(c|ctrl|control)$/i.test(mod)) {\n ctrl = true\n } else if (/^s(hift)?$/i.test(mod)) {\n shift = true\n } else if (/^mod$/i.test(mod)) {\n if (isiOS() || isMacOS()) {\n meta = true\n } else {\n ctrl = true\n }\n } else {\n throw new Error(`Unrecognized modifier name: ${mod}`)\n }\n }\n\n if (alt) {\n result = `Alt-${result}`\n }\n\n if (ctrl) {\n result = `Ctrl-${result}`\n }\n\n if (meta) {\n result = `Meta-${result}`\n }\n\n if (shift) {\n result = `Shift-${result}`\n }\n\n return result\n}\n\ndeclare module '@tiptap/core' {\n interface Commands {\n keyboardShortcut: {\n /**\n * Trigger a keyboard shortcut.\n * @param name The name of the keyboard shortcut.\n * @example editor.commands.keyboardShortcut('Mod-b')\n */\n keyboardShortcut: (name: string) => ReturnType,\n }\n }\n}\n\nexport const keyboardShortcut: RawCommands['keyboardShortcut'] = name => ({\n editor,\n view,\n tr,\n dispatch,\n}) => {\n const keys = normalizeKeyName(name).split(/-(?!$)/)\n const key = keys.find(item => !['Alt', 'Ctrl', 'Meta', 'Shift'].includes(item))\n const event = new KeyboardEvent('keydown', {\n key: key === 'Space'\n ? ' '\n : key,\n altKey: keys.includes('Alt'),\n ctrlKey: keys.includes('Ctrl'),\n metaKey: keys.includes('Meta'),\n shiftKey: keys.includes('Shift'),\n bubbles: true,\n cancelable: true,\n })\n\n const capturedTransaction = editor.captureTransaction(() => {\n view.someProp('handleKeyDown', f => f(view, event))\n })\n\n capturedTransaction?.steps.forEach(step => {\n const newStep = step.map(tr.mapping)\n\n if (newStep && dispatch) {\n tr.maybeStep(newStep)\n }\n })\n\n return true\n}\n","import { NodeType } from '@tiptap/pm/model'\nimport { EditorState } from '@tiptap/pm/state'\n\nimport { NodeRange } from '../types.js'\nimport { objectIncludes } from '../utilities/objectIncludes.js'\nimport { getNodeType } from './getNodeType.js'\n\nexport function isNodeActive(\n state: EditorState,\n typeOrName: NodeType | string | null,\n attributes: Record = {},\n): boolean {\n const { from, to, empty } = state.selection\n const type = typeOrName ? getNodeType(typeOrName, state.schema) : null\n\n const nodeRanges: NodeRange[] = []\n\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (node.isText) {\n return\n }\n\n const relativeFrom = Math.max(from, pos)\n const relativeTo = Math.min(to, pos + node.nodeSize)\n\n nodeRanges.push({\n node,\n from: relativeFrom,\n to: relativeTo,\n })\n })\n\n const selectionRange = to - from\n const matchedNodeRanges = nodeRanges\n .filter(nodeRange => {\n if (!type) {\n return true\n }\n\n return type.name === nodeRange.node.type.name\n })\n .filter(nodeRange => objectIncludes(nodeRange.node.attrs, attributes, { strict: false }))\n\n if (empty) {\n return !!matchedNodeRanges.length\n }\n\n const range = matchedNodeRanges.reduce((sum, nodeRange) => sum + nodeRange.to - nodeRange.from, 0)\n\n return range >= selectionRange\n}\n","import { lift as originalLift } from '@tiptap/pm/commands'\nimport { NodeType } from '@tiptap/pm/model'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { isNodeActive } from '../helpers/isNodeActive.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n lift: {\n /**\n * Removes an existing wrap if possible lifting the node out of it\n * @param typeOrName The type or name of the node.\n * @param attributes The attributes of the node.\n * @example editor.commands.lift('paragraph')\n * @example editor.commands.lift('heading', { level: 1 })\n */\n lift: (typeOrName: string | NodeType, attributes?: Record) => ReturnType\n }\n }\n}\n\nexport const lift: RawCommands['lift'] = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema)\n const isActive = isNodeActive(state, type, attributes)\n\n if (!isActive) {\n return false\n }\n\n return originalLift(state, dispatch)\n}\n","import { liftEmptyBlock as originalLiftEmptyBlock } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n liftEmptyBlock: {\n /**\n * If the cursor is in an empty textblock that can be lifted, lift the block.\n * @example editor.commands.liftEmptyBlock()\n */\n liftEmptyBlock: () => ReturnType,\n }\n }\n}\n\nexport const liftEmptyBlock: RawCommands['liftEmptyBlock'] = () => ({ state, dispatch }) => {\n return originalLiftEmptyBlock(state, dispatch)\n}\n","import { NodeType } from '@tiptap/pm/model'\nimport { liftListItem as originalLiftListItem } from '@tiptap/pm/schema-list'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n liftListItem: {\n /**\n * Create a command to lift the list item around the selection up into a wrapping list.\n * @param typeOrName The type or name of the node.\n * @example editor.commands.liftListItem('listItem')\n */\n liftListItem: (typeOrName: string | NodeType) => ReturnType\n }\n }\n}\n\nexport const liftListItem: RawCommands['liftListItem'] = typeOrName => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema)\n\n return originalLiftListItem(type)(state, dispatch)\n}\n","import { newlineInCode as originalNewlineInCode } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n newlineInCode: {\n /**\n * Add a newline character in code.\n * @example editor.commands.newlineInCode()\n */\n newlineInCode: () => ReturnType\n }\n }\n}\n\nexport const newlineInCode: RawCommands['newlineInCode'] = () => ({ state, dispatch }) => {\n return originalNewlineInCode(state, dispatch)\n}\n","import { Schema } from '@tiptap/pm/model'\n\n/**\n * Get the type of a schema item by its name.\n * @param name The name of the schema item\n * @param schema The Prosemiror schema to search in\n * @returns The type of the schema item (`node` or `mark`), or null if it doesn't exist\n */\nexport function getSchemaTypeNameByName(name: string, schema: Schema): 'node' | 'mark' | null {\n if (schema.nodes[name]) {\n return 'node'\n }\n\n if (schema.marks[name]) {\n return 'mark'\n }\n\n return null\n}\n","/**\n * Remove a property or an array of properties from an object\n * @param obj Object\n * @param key Key to remove\n */\nexport function deleteProps(obj: Record, propOrProps: string | string[]): Record {\n const props = typeof propOrProps === 'string'\n ? [propOrProps]\n : propOrProps\n\n return Object\n .keys(obj)\n .reduce((newObj: Record, prop) => {\n if (!props.includes(prop)) {\n newObj[prop] = obj[prop]\n }\n\n return newObj\n }, {})\n}\n","import { MarkType, NodeType } from '@tiptap/pm/model'\n\nimport { getMarkType } from '../helpers/getMarkType.js'\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { getSchemaTypeNameByName } from '../helpers/getSchemaTypeNameByName.js'\nimport { RawCommands } from '../types.js'\nimport { deleteProps } from '../utilities/deleteProps.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n resetAttributes: {\n /**\n * Resets some node attributes to the default value.\n * @param typeOrName The type or name of the node.\n * @param attributes The attributes of the node to reset.\n * @example editor.commands.resetAttributes('heading', 'level')\n */\n resetAttributes: (\n typeOrName: string | NodeType | MarkType,\n attributes: string | string[],\n ) => ReturnType\n }\n }\n}\n\nexport const resetAttributes: RawCommands['resetAttributes'] = (typeOrName, attributes) => ({ tr, state, dispatch }) => {\n let nodeType: NodeType | null = null\n let markType: MarkType | null = null\n\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === 'string' ? typeOrName : typeOrName.name,\n state.schema,\n )\n\n if (!schemaType) {\n return false\n }\n\n if (schemaType === 'node') {\n nodeType = getNodeType(typeOrName as NodeType, state.schema)\n }\n\n if (schemaType === 'mark') {\n markType = getMarkType(typeOrName as MarkType, state.schema)\n }\n\n if (dispatch) {\n tr.selection.ranges.forEach(range => {\n state.doc.nodesBetween(range.$from.pos, range.$to.pos, (node, pos) => {\n if (nodeType && nodeType === node.type) {\n tr.setNodeMarkup(pos, undefined, deleteProps(node.attrs, attributes))\n }\n\n if (markType && node.marks.length) {\n node.marks.forEach(mark => {\n if (markType === mark.type) {\n tr.addMark(\n pos,\n pos + node.nodeSize,\n markType.create(deleteProps(mark.attrs, attributes)),\n )\n }\n })\n }\n })\n })\n }\n\n return true\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n scrollIntoView: {\n /**\n * Scroll the selection into view.\n * @example editor.commands.scrollIntoView()\n */\n scrollIntoView: () => ReturnType,\n }\n }\n}\n\nexport const scrollIntoView: RawCommands['scrollIntoView'] = () => ({ tr, dispatch }) => {\n if (dispatch) {\n tr.scrollIntoView()\n }\n\n return true\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n selectAll: {\n /**\n * Select the whole document.\n * @example editor.commands.selectAll()\n */\n selectAll: () => ReturnType,\n }\n }\n}\n\nexport const selectAll: RawCommands['selectAll'] = () => ({ tr, commands }) => {\n return commands.setTextSelection({\n from: 0,\n to: tr.doc.content.size,\n })\n}\n","import { selectNodeBackward as originalSelectNodeBackward } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n selectNodeBackward: {\n /**\n * Select a node backward.\n * @example editor.commands.selectNodeBackward()\n */\n selectNodeBackward: () => ReturnType\n }\n }\n}\n\nexport const selectNodeBackward: RawCommands['selectNodeBackward'] = () => ({ state, dispatch }) => {\n return originalSelectNodeBackward(state, dispatch)\n}\n","import { selectNodeForward as originalSelectNodeForward } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n selectNodeForward: {\n /**\n * Select a node forward.\n * @example editor.commands.selectNodeForward()\n */\n selectNodeForward: () => ReturnType\n }\n }\n}\n\nexport const selectNodeForward: RawCommands['selectNodeForward'] = () => ({ state, dispatch }) => {\n return originalSelectNodeForward(state, dispatch)\n}\n","import { selectParentNode as originalSelectParentNode } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n selectParentNode: {\n /**\n * Select the parent node.\n * @example editor.commands.selectParentNode()\n */\n selectParentNode: () => ReturnType\n }\n }\n}\n\nexport const selectParentNode: RawCommands['selectParentNode'] = () => ({ state, dispatch }) => {\n return originalSelectParentNode(state, dispatch)\n}\n","// @ts-ignore\n// TODO: add types to @types/prosemirror-commands\nimport { selectTextblockEnd as originalSelectTextblockEnd } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n selectTextblockEnd: {\n /**\n * Moves the cursor to the end of current text block.\n * @example editor.commands.selectTextblockEnd()\n */\n selectTextblockEnd: () => ReturnType\n }\n }\n}\n\nexport const selectTextblockEnd: RawCommands['selectTextblockEnd'] = () => ({ state, dispatch }) => {\n return originalSelectTextblockEnd(state, dispatch)\n}\n","// @ts-ignore\n// TODO: add types to @types/prosemirror-commands\nimport { selectTextblockStart as originalSelectTextblockStart } from '@tiptap/pm/commands'\n\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n selectTextblockStart: {\n /**\n * Moves the cursor to the start of current text block.\n * @example editor.commands.selectTextblockStart()\n */\n selectTextblockStart: () => ReturnType\n }\n }\n}\n\nexport const selectTextblockStart: RawCommands['selectTextblockStart'] = () => ({ state, dispatch }) => {\n return originalSelectTextblockStart(state, dispatch)\n}\n","import { Node as ProseMirrorNode, ParseOptions, Schema } from '@tiptap/pm/model'\n\nimport { Content } from '../types.js'\nimport { createNodeFromContent } from './createNodeFromContent.js'\n\n/**\n * Create a new Prosemirror document node from content.\n * @param content The JSON or HTML content to create the document from\n * @param schema The Prosemirror schema to use for the document\n * @param parseOptions Options for the parser\n * @returns The created Prosemirror document node\n */\nexport function createDocument(\n content: Content,\n schema: Schema,\n parseOptions: ParseOptions = {},\n): ProseMirrorNode {\n return createNodeFromContent(content, schema, { slice: false, parseOptions }) as ProseMirrorNode\n}\n","import { ParseOptions } from '@tiptap/pm/model'\n\nimport { createDocument } from '../helpers/createDocument.js'\nimport { Content, RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n setContent: {\n /**\n * Replace the whole document with new content.\n * @param content The new content.\n * @param emitUpdate Whether to emit an update event.\n * @param parseOptions Options for parsing the content.\n * @example editor.commands.setContent('

      Example text

      ')\n */\n setContent: (\n /**\n * The new content.\n */\n content: Content,\n\n /**\n * Whether to emit an update event.\n * @default false\n */\n emitUpdate?: boolean,\n\n /**\n * Options for parsing the content.\n * @default {}\n */\n parseOptions?: ParseOptions,\n ) => ReturnType\n }\n }\n}\n\nexport const setContent: RawCommands['setContent'] = (content, emitUpdate = false, parseOptions = {}) => ({ tr, editor, dispatch }) => {\n const { doc } = tr\n const document = createDocument(content, editor.schema, parseOptions)\n\n if (dispatch) {\n tr.replaceWith(0, doc.content.size, document).setMeta('preventUpdate', !emitUpdate)\n }\n\n return true\n}\n","import { Mark, MarkType } from '@tiptap/pm/model'\nimport { EditorState } from '@tiptap/pm/state'\n\nimport { getMarkType } from './getMarkType.js'\n\nexport function getMarkAttributes(\n state: EditorState,\n typeOrName: string | MarkType,\n): Record {\n const type = getMarkType(typeOrName, state.schema)\n const { from, to, empty } = state.selection\n const marks: Mark[] = []\n\n if (empty) {\n if (state.storedMarks) {\n marks.push(...state.storedMarks)\n }\n\n marks.push(...state.selection.$head.marks())\n } else {\n state.doc.nodesBetween(from, to, node => {\n marks.push(...node.marks)\n })\n }\n\n const mark = marks.find(markItem => markItem.type.name === type.name)\n\n if (!mark) {\n return {}\n }\n\n return { ...mark.attrs }\n}\n","import { Node as ProseMirrorNode } from '@tiptap/pm/model'\nimport { Transaction } from '@tiptap/pm/state'\nimport { Transform } from '@tiptap/pm/transform'\n\n/**\n * Returns a new `Transform` based on all steps of the passed transactions.\n * @param oldDoc The Prosemirror node to start from\n * @param transactions The transactions to combine\n * @returns A new `Transform` with all steps of the passed transactions\n */\nexport function combineTransactionSteps(\n oldDoc: ProseMirrorNode,\n transactions: Transaction[],\n): Transform {\n const transform = new Transform(oldDoc)\n\n transactions.forEach(transaction => {\n transaction.steps.forEach(step => {\n transform.step(step)\n })\n })\n\n return transform\n}\n","import { ContentMatch, NodeType } from '@tiptap/pm/model'\n\n/**\n * Gets the default block type at a given match\n * @param match The content match to get the default block type from\n * @returns The default block type or null\n */\nexport function defaultBlockAt(match: ContentMatch): NodeType | null {\n for (let i = 0; i < match.edgeCount; i += 1) {\n const { type } = match.edge(i)\n\n if (type.isTextblock && !type.hasRequiredAttrs()) {\n return type\n }\n }\n\n return null\n}\n","import { Node as ProseMirrorNode } from '@tiptap/pm/model'\n\nimport { NodeWithPos, Predicate, Range } from '../types.js'\n\n/**\n * Same as `findChildren` but searches only within a `range`.\n * @param node The Prosemirror node to search in\n * @param range The range to search in\n * @param predicate The predicate to match\n * @returns An array of nodes with their positions\n */\nexport function findChildrenInRange(\n node: ProseMirrorNode,\n range: Range,\n predicate: Predicate,\n): NodeWithPos[] {\n const nodesWithPos: NodeWithPos[] = []\n\n // if (range.from === range.to) {\n // const nodeAt = node.nodeAt(range.from)\n\n // if (nodeAt) {\n // nodesWithPos.push({\n // node: nodeAt,\n // pos: range.from,\n // })\n // }\n // }\n\n node.nodesBetween(range.from, range.to, (child, pos) => {\n if (predicate(child)) {\n nodesWithPos.push({\n node: child,\n pos,\n })\n }\n })\n\n return nodesWithPos\n}\n","import { Node as ProseMirrorNode, ResolvedPos } from '@tiptap/pm/model'\n\nimport { Predicate } from '../types.js'\n\n/**\n * Finds the closest parent node to a resolved position that matches a predicate.\n * @param $pos The resolved position to search from\n * @param predicate The predicate to match\n * @returns The closest parent node to the resolved position that matches the predicate\n * @example ```js\n * findParentNodeClosestToPos($from, node => node.type.name === 'paragraph')\n * ```\n */\nexport function findParentNodeClosestToPos(\n $pos: ResolvedPos,\n predicate: Predicate,\n):\n | {\n pos: number\n start: number\n depth: number\n node: ProseMirrorNode\n }\n | undefined {\n for (let i = $pos.depth; i > 0; i -= 1) {\n const node = $pos.node(i)\n\n if (predicate(node)) {\n return {\n pos: i > 0 ? $pos.before(i) : 0,\n start: $pos.start(i),\n depth: i,\n node,\n }\n }\n }\n}\n","import { Selection } from '@tiptap/pm/state'\n\nimport { Predicate } from '../types.js'\nimport { findParentNodeClosestToPos } from './findParentNodeClosestToPos.js'\n\n/**\n * Finds the closest parent node to the current selection that matches a predicate.\n * @param predicate The predicate to match\n * @returns A command that finds the closest parent node to the current selection that matches the predicate\n * @example ```js\n * findParentNode(node => node.type.name === 'paragraph')\n * ```\n */\nexport function findParentNode(predicate: Predicate) {\n return (selection: Selection) => findParentNodeClosestToPos(selection.$from, predicate)\n}\n","import { DOMSerializer, Fragment, Schema } from '@tiptap/pm/model'\n\nexport function getHTMLFromFragment(fragment: Fragment, schema: Schema): string {\n const documentFragment = DOMSerializer.fromSchema(schema).serializeFragment(fragment)\n\n const temporaryDocument = document.implementation.createHTMLDocument()\n const container = temporaryDocument.createElement('div')\n\n container.appendChild(documentFragment)\n\n return container.innerHTML\n}\n","import { Node as ProseMirrorNode } from '@tiptap/pm/model'\n\nimport { TextSerializer } from '../types.js'\nimport { getTextBetween } from './getTextBetween.js'\n\n/**\n * Gets the text of a Prosemirror node\n * @param node The Prosemirror node\n * @param options Options for the text serializer & block separator\n * @returns The text of the node\n * @example ```js\n * const text = getText(node, { blockSeparator: '\\n' })\n * ```\n */\nexport function getText(\n node: ProseMirrorNode,\n options?: {\n blockSeparator?: string\n textSerializers?: Record\n },\n) {\n const range = {\n from: 0,\n to: node.content.size,\n }\n\n return getTextBetween(node, range, options)\n}\n","import { Node, NodeType } from '@tiptap/pm/model'\nimport { EditorState } from '@tiptap/pm/state'\n\nimport { getNodeType } from './getNodeType.js'\n\nexport function getNodeAttributes(\n state: EditorState,\n typeOrName: string | NodeType,\n): Record {\n const type = getNodeType(typeOrName, state.schema)\n const { from, to } = state.selection\n const nodes: Node[] = []\n\n state.doc.nodesBetween(from, to, node => {\n nodes.push(node)\n })\n\n const node = nodes.reverse().find(nodeItem => nodeItem.type.name === type.name)\n\n if (!node) {\n return {}\n }\n\n return { ...node.attrs }\n}\n","import { MarkType, NodeType } from '@tiptap/pm/model'\nimport { EditorState } from '@tiptap/pm/state'\n\nimport { getMarkAttributes } from './getMarkAttributes.js'\nimport { getNodeAttributes } from './getNodeAttributes.js'\nimport { getSchemaTypeNameByName } from './getSchemaTypeNameByName.js'\n\n/**\n * Get node or mark attributes by type or name on the current editor state\n * @param state The current editor state\n * @param typeOrName The node or mark type or name\n * @returns The attributes of the node or mark or an empty object\n */\nexport function getAttributes(\n state: EditorState,\n typeOrName: string | NodeType | MarkType,\n): Record {\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === 'string' ? typeOrName : typeOrName.name,\n state.schema,\n )\n\n if (schemaType === 'node') {\n return getNodeAttributes(state, typeOrName as NodeType)\n }\n\n if (schemaType === 'mark') {\n return getMarkAttributes(state, typeOrName as MarkType)\n }\n\n return {}\n}\n","/**\n * Removes duplicated values within an array.\n * Supports numbers, strings and objects.\n */\nexport function removeDuplicates(array: T[], by = JSON.stringify): T[] {\n const seen: Record = {}\n\n return array.filter(item => {\n const key = by(item)\n\n return Object.prototype.hasOwnProperty.call(seen, key)\n ? false\n : (seen[key] = true)\n })\n}\n","import { Step, Transform } from '@tiptap/pm/transform'\n\nimport { Range } from '../types.js'\nimport { removeDuplicates } from '../utilities/removeDuplicates.js'\n\nexport type ChangedRange = {\n oldRange: Range,\n newRange: Range,\n}\n\n/**\n * Removes duplicated ranges and ranges that are\n * fully captured by other ranges.\n */\nfunction simplifyChangedRanges(changes: ChangedRange[]): ChangedRange[] {\n const uniqueChanges = removeDuplicates(changes)\n\n return uniqueChanges.length === 1\n ? uniqueChanges\n : uniqueChanges.filter((change, index) => {\n const rest = uniqueChanges.filter((_, i) => i !== index)\n\n return !rest.some(otherChange => {\n return change.oldRange.from >= otherChange.oldRange.from\n && change.oldRange.to <= otherChange.oldRange.to\n && change.newRange.from >= otherChange.newRange.from\n && change.newRange.to <= otherChange.newRange.to\n })\n })\n}\n\n/**\n * Returns a list of changed ranges\n * based on the first and last state of all steps.\n */\nexport function getChangedRanges(transform: Transform): ChangedRange[] {\n const { mapping, steps } = transform\n const changes: ChangedRange[] = []\n\n mapping.maps.forEach((stepMap, index) => {\n const ranges: Range[] = []\n\n // This accounts for step changes where no range was actually altered\n // e.g. when setting a mark, node attribute, etc.\n // @ts-ignore\n if (!stepMap.ranges.length) {\n const { from, to } = steps[index] as Step & {\n from?: number,\n to?: number,\n }\n\n if (from === undefined || to === undefined) {\n return\n }\n\n ranges.push({ from, to })\n } else {\n stepMap.forEach((from, to) => {\n ranges.push({ from, to })\n })\n }\n\n ranges.forEach(({ from, to }) => {\n const newStart = mapping.slice(index).map(from, -1)\n const newEnd = mapping.slice(index).map(to)\n const oldStart = mapping.invert().map(newStart, -1)\n const oldEnd = mapping.invert().map(newEnd)\n\n changes.push({\n oldRange: {\n from: oldStart,\n to: oldEnd,\n },\n newRange: {\n from: newStart,\n to: newEnd,\n },\n })\n })\n })\n\n return simplifyChangedRanges(changes)\n}\n","import { Node as ProseMirrorNode } from '@tiptap/pm/model'\n\nimport { MarkRange } from '../types.js'\nimport { getMarkRange } from './getMarkRange.js'\n\nexport function getMarksBetween(from: number, to: number, doc: ProseMirrorNode): MarkRange[] {\n const marks: MarkRange[] = []\n\n // get all inclusive marks on empty selection\n if (from === to) {\n doc\n .resolve(from)\n .marks()\n .forEach(mark => {\n const $pos = doc.resolve(from - 1)\n const range = getMarkRange($pos, mark.type)\n\n if (!range) {\n return\n }\n\n marks.push({\n mark,\n ...range,\n })\n })\n } else {\n doc.nodesBetween(from, to, (node, pos) => {\n if (!node || node?.nodeSize === undefined) {\n return\n }\n\n marks.push(\n ...node.marks.map(mark => ({\n from: pos,\n to: pos + node.nodeSize,\n mark,\n })),\n )\n })\n }\n\n return marks\n}\n","import { ExtensionAttribute } from '../types.js'\n\n/**\n * Return attributes of an extension that should be splitted by keepOnSplit flag\n * @param extensionAttributes Array of extension attributes\n * @param typeName The type of the extension\n * @param attributes The attributes of the extension\n * @returns The splitted attributes\n */\nexport function getSplittedAttributes(\n extensionAttributes: ExtensionAttribute[],\n typeName: string,\n attributes: Record,\n): Record {\n return Object.fromEntries(Object\n .entries(attributes)\n .filter(([name]) => {\n const extensionAttribute = extensionAttributes.find(item => {\n return item.type === typeName && item.name === name\n })\n\n if (!extensionAttribute) {\n return false\n }\n\n return extensionAttribute.attribute.keepOnSplit\n }))\n}\n","import { MarkType } from '@tiptap/pm/model'\nimport { EditorState } from '@tiptap/pm/state'\n\nimport { MarkRange } from '../types.js'\nimport { objectIncludes } from '../utilities/objectIncludes.js'\nimport { getMarkType } from './getMarkType.js'\n\nexport function isMarkActive(\n state: EditorState,\n typeOrName: MarkType | string | null,\n attributes: Record = {},\n): boolean {\n const { empty, ranges } = state.selection\n const type = typeOrName ? getMarkType(typeOrName, state.schema) : null\n\n if (empty) {\n return !!(state.storedMarks || state.selection.$from.marks())\n .filter(mark => {\n if (!type) {\n return true\n }\n\n return type.name === mark.type.name\n })\n .find(mark => objectIncludes(mark.attrs, attributes, { strict: false }))\n }\n\n let selectionRange = 0\n const markRanges: MarkRange[] = []\n\n ranges.forEach(({ $from, $to }) => {\n const from = $from.pos\n const to = $to.pos\n\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (!node.isText && !node.marks.length) {\n return\n }\n\n const relativeFrom = Math.max(from, pos)\n const relativeTo = Math.min(to, pos + node.nodeSize)\n const range = relativeTo - relativeFrom\n\n selectionRange += range\n\n markRanges.push(\n ...node.marks.map(mark => ({\n mark,\n from: relativeFrom,\n to: relativeTo,\n })),\n )\n })\n })\n\n if (selectionRange === 0) {\n return false\n }\n\n // calculate range of matched mark\n const matchedRange = markRanges\n .filter(markRange => {\n if (!type) {\n return true\n }\n\n return type.name === markRange.mark.type.name\n })\n .filter(markRange => objectIncludes(markRange.mark.attrs, attributes, { strict: false }))\n .reduce((sum, markRange) => sum + markRange.to - markRange.from, 0)\n\n // calculate range of marks that excludes the searched mark\n // for example `code` doesn’t allow any other marks\n const excludedRange = markRanges\n .filter(markRange => {\n if (!type) {\n return true\n }\n\n return markRange.mark.type !== type && markRange.mark.type.excludes(type)\n })\n .reduce((sum, markRange) => sum + markRange.to - markRange.from, 0)\n\n // we only include the result of `excludedRange`\n // if there is a match at all\n const range = matchedRange > 0 ? matchedRange + excludedRange : matchedRange\n\n return range >= selectionRange\n}\n","import { EditorState } from '@tiptap/pm/state'\n\nimport { getSchemaTypeNameByName } from './getSchemaTypeNameByName.js'\nimport { isMarkActive } from './isMarkActive.js'\nimport { isNodeActive } from './isNodeActive.js'\n\nexport function isActive(\n state: EditorState,\n name: string | null,\n attributes: Record = {},\n): boolean {\n if (!name) {\n return isNodeActive(state, null, attributes) || isMarkActive(state, null, attributes)\n }\n\n const schemaType = getSchemaTypeNameByName(name, state.schema)\n\n if (schemaType === 'node') {\n return isNodeActive(state, name, attributes)\n }\n\n if (schemaType === 'mark') {\n return isMarkActive(state, name, attributes)\n }\n\n return false\n}\n","import { getExtensionField } from '../helpers/getExtensionField.js'\nimport { NodeConfig } from '../index.js'\nimport { Extensions } from '../types.js'\nimport { callOrReturn } from '../utilities/callOrReturn.js'\nimport { splitExtensions } from './splitExtensions.js'\n\nexport function isList(name: string, extensions: Extensions): boolean {\n const { nodeExtensions } = splitExtensions(extensions)\n const extension = nodeExtensions.find(item => item.name === name)\n\n if (!extension) {\n return false\n }\n\n const context = {\n name: extension.name,\n options: extension.options,\n storage: extension.storage,\n }\n const group = callOrReturn(getExtensionField(extension, 'group', context))\n\n if (typeof group !== 'string') {\n return false\n }\n\n return group.split(' ').includes('list')\n}\n","import { Node as ProseMirrorNode } from '@tiptap/pm/model'\n\nexport function isNodeEmpty(node: ProseMirrorNode): boolean {\n const defaultContent = node.type.createAndFill()?.toJSON()\n const content = node.toJSON()\n\n return JSON.stringify(defaultContent) === JSON.stringify(content)\n}\n","import { NodeSelection } from '@tiptap/pm/state'\n\nexport function isNodeSelection(value: unknown): value is NodeSelection {\n return value instanceof NodeSelection\n}\n","import { EditorView } from '@tiptap/pm/view'\n\nimport { minMax } from '../utilities/minMax.js'\n\nexport function posToDOMRect(view: EditorView, from: number, to: number): DOMRect {\n const minPos = 0\n const maxPos = view.state.doc.content.size\n const resolvedFrom = minMax(from, minPos, maxPos)\n const resolvedEnd = minMax(to, minPos, maxPos)\n const start = view.coordsAtPos(resolvedFrom)\n const end = view.coordsAtPos(resolvedEnd, -1)\n const top = Math.min(start.top, end.top)\n const bottom = Math.max(start.bottom, end.bottom)\n const left = Math.min(start.left, end.left)\n const right = Math.max(start.right, end.right)\n const width = right - left\n const height = bottom - top\n const x = left\n const y = top\n const data = {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x,\n y,\n }\n\n return {\n ...data,\n toJSON: () => data,\n }\n}\n","import { MarkType, ResolvedPos } from '@tiptap/pm/model'\nimport { EditorState, Transaction } from '@tiptap/pm/state'\n\nimport { getMarkAttributes } from '../helpers/getMarkAttributes.js'\nimport { getMarkType } from '../helpers/getMarkType.js'\nimport { isTextSelection } from '../helpers/index.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n setMark: {\n /**\n * Add a mark with new attributes.\n * @param typeOrName The mark type or name.\n * @example editor.commands.setMark('bold', { level: 1 })\n */\n setMark: (typeOrName: string | MarkType, attributes?: Record) => ReturnType\n }\n }\n}\n\nfunction canSetMark(state: EditorState, tr: Transaction, newMarkType: MarkType) {\n const { selection } = tr\n let cursor: ResolvedPos | null = null\n\n if (isTextSelection(selection)) {\n cursor = selection.$cursor\n }\n\n if (cursor) {\n const currentMarks = state.storedMarks ?? cursor.marks()\n\n // There can be no current marks that exclude the new mark\n return (\n !!newMarkType.isInSet(currentMarks)\n || !currentMarks.some(mark => mark.type.excludes(newMarkType))\n )\n }\n\n const { ranges } = selection\n\n return ranges.some(({ $from, $to }) => {\n let someNodeSupportsMark = $from.depth === 0\n ? state.doc.inlineContent && state.doc.type.allowsMarkType(newMarkType)\n : false\n\n state.doc.nodesBetween($from.pos, $to.pos, (node, _pos, parent) => {\n // If we already found a mark that we can enable, return false to bypass the remaining search\n if (someNodeSupportsMark) {\n return false\n }\n\n if (node.isInline) {\n const parentAllowsMarkType = !parent || parent.type.allowsMarkType(newMarkType)\n const currentMarksAllowMarkType = !!newMarkType.isInSet(node.marks)\n || !node.marks.some(otherMark => otherMark.type.excludes(newMarkType))\n\n someNodeSupportsMark = parentAllowsMarkType && currentMarksAllowMarkType\n }\n return !someNodeSupportsMark\n })\n\n return someNodeSupportsMark\n })\n}\nexport const setMark: RawCommands['setMark'] = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n const { selection } = tr\n const { empty, ranges } = selection\n const type = getMarkType(typeOrName, state.schema)\n\n if (dispatch) {\n if (empty) {\n const oldAttributes = getMarkAttributes(state, type)\n\n tr.addStoredMark(\n type.create({\n ...oldAttributes,\n ...attributes,\n }),\n )\n } else {\n ranges.forEach(range => {\n const from = range.$from.pos\n const to = range.$to.pos\n\n state.doc.nodesBetween(from, to, (node, pos) => {\n const trimmedFrom = Math.max(pos, from)\n const trimmedTo = Math.min(pos + node.nodeSize, to)\n const someHasMark = node.marks.find(mark => mark.type === type)\n\n // if there is already a mark of this type\n // we know that we have to merge its attributes\n // otherwise we add a fresh new mark\n if (someHasMark) {\n node.marks.forEach(mark => {\n if (type === mark.type) {\n tr.addMark(\n trimmedFrom,\n trimmedTo,\n type.create({\n ...mark.attrs,\n ...attributes,\n }),\n )\n }\n })\n } else {\n tr.addMark(trimmedFrom, trimmedTo, type.create(attributes))\n }\n })\n })\n }\n }\n\n return canSetMark(state, tr, type)\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n setMeta: {\n /**\n * Store a metadata property in the current transaction.\n * @param key The key of the metadata property.\n * @param value The value to store.\n * @example editor.commands.setMeta('foo', 'bar')\n */\n setMeta: (key: string, value: any) => ReturnType,\n }\n }\n}\n\nexport const setMeta: RawCommands['setMeta'] = (key, value) => ({ tr }) => {\n tr.setMeta(key, value)\n\n return true\n}\n","import { setBlockType } from '@tiptap/pm/commands'\nimport { NodeType } from '@tiptap/pm/model'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n setNode: {\n /**\n * Replace a given range with a node.\n * @param typeOrName The type or name of the node\n * @param attributes The attributes of the node\n * @example editor.commands.setNode('paragraph')\n */\n setNode: (typeOrName: string | NodeType, attributes?: Record) => ReturnType\n }\n }\n}\n\nexport const setNode: RawCommands['setNode'] = (typeOrName, attributes = {}) => ({ state, dispatch, chain }) => {\n const type = getNodeType(typeOrName, state.schema)\n\n // TODO: use a fallback like insertContent?\n if (!type.isTextblock) {\n console.warn('[tiptap warn]: Currently \"setNode()\" only supports text block nodes.')\n\n return false\n }\n\n return (\n chain()\n // try to convert node to default node if needed\n .command(({ commands }) => {\n const canSetBlock = setBlockType(type, attributes)(state)\n\n if (canSetBlock) {\n return true\n }\n\n return commands.clearNodes()\n })\n .command(({ state: updatedState }) => {\n return setBlockType(type, attributes)(updatedState, dispatch)\n })\n .run()\n )\n}\n","import { NodeSelection } from '@tiptap/pm/state'\n\nimport { RawCommands } from '../types.js'\nimport { minMax } from '../utilities/minMax.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n setNodeSelection: {\n /**\n * Creates a NodeSelection.\n * @param position - Position of the node.\n * @example editor.commands.setNodeSelection(10)\n */\n setNodeSelection: (position: number) => ReturnType\n }\n }\n}\n\nexport const setNodeSelection: RawCommands['setNodeSelection'] = position => ({ tr, dispatch }) => {\n if (dispatch) {\n const { doc } = tr\n const from = minMax(position, 0, doc.content.size)\n const selection = NodeSelection.create(doc, from)\n\n tr.setSelection(selection)\n }\n\n return true\n}\n","import { TextSelection } from '@tiptap/pm/state'\n\nimport { Range, RawCommands } from '../types.js'\nimport { minMax } from '../utilities/minMax.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n setTextSelection: {\n /**\n * Creates a TextSelection.\n * @param position The position of the selection.\n * @example editor.commands.setTextSelection(10)\n */\n setTextSelection: (position: number | Range) => ReturnType\n }\n }\n}\n\nexport const setTextSelection: RawCommands['setTextSelection'] = position => ({ tr, dispatch }) => {\n if (dispatch) {\n const { doc } = tr\n const { from, to } = typeof position === 'number' ? { from: position, to: position } : position\n const minPos = TextSelection.atStart(doc).from\n const maxPos = TextSelection.atEnd(doc).to\n const resolvedFrom = minMax(from, minPos, maxPos)\n const resolvedEnd = minMax(to, minPos, maxPos)\n const selection = TextSelection.create(doc, resolvedFrom, resolvedEnd)\n\n tr.setSelection(selection)\n }\n\n return true\n}\n","import { NodeType } from '@tiptap/pm/model'\nimport { sinkListItem as originalSinkListItem } from '@tiptap/pm/schema-list'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n sinkListItem: {\n /**\n * Sink the list item down into an inner list.\n * @param typeOrName The type or name of the node.\n * @example editor.commands.sinkListItem('listItem')\n */\n sinkListItem: (typeOrName: string | NodeType) => ReturnType\n }\n }\n}\n\nexport const sinkListItem: RawCommands['sinkListItem'] = typeOrName => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema)\n\n return originalSinkListItem(type)(state, dispatch)\n}\n","import { EditorState, NodeSelection, TextSelection } from '@tiptap/pm/state'\nimport { canSplit } from '@tiptap/pm/transform'\n\nimport { defaultBlockAt } from '../helpers/defaultBlockAt.js'\nimport { getSplittedAttributes } from '../helpers/getSplittedAttributes.js'\nimport { RawCommands } from '../types.js'\n\nfunction ensureMarks(state: EditorState, splittableMarks?: string[]) {\n const marks = state.storedMarks || (state.selection.$to.parentOffset && state.selection.$from.marks())\n\n if (marks) {\n const filteredMarks = marks.filter(mark => splittableMarks?.includes(mark.type.name))\n\n state.tr.ensureMarks(filteredMarks)\n }\n}\n\ndeclare module '@tiptap/core' {\n interface Commands {\n splitBlock: {\n /**\n * Forks a new node from an existing node.\n * @param options.keepMarks Keep marks from the previous node.\n * @example editor.commands.splitBlock()\n * @example editor.commands.splitBlock({ keepMarks: true })\n */\n splitBlock: (options?: { keepMarks?: boolean }) => ReturnType\n }\n }\n}\n\nexport const splitBlock: RawCommands['splitBlock'] = ({ keepMarks = true } = {}) => ({\n tr, state, dispatch, editor,\n}) => {\n const { selection, doc } = tr\n const { $from, $to } = selection\n const extensionAttributes = editor.extensionManager.attributes\n const newAttributes = getSplittedAttributes(\n extensionAttributes,\n $from.node().type.name,\n $from.node().attrs,\n )\n\n if (selection instanceof NodeSelection && selection.node.isBlock) {\n if (!$from.parentOffset || !canSplit(doc, $from.pos)) {\n return false\n }\n\n if (dispatch) {\n if (keepMarks) {\n ensureMarks(state, editor.extensionManager.splittableMarks)\n }\n\n tr.split($from.pos).scrollIntoView()\n }\n\n return true\n }\n\n if (!$from.parent.isBlock) {\n return false\n }\n\n if (dispatch) {\n const atEnd = $to.parentOffset === $to.parent.content.size\n\n if (selection instanceof TextSelection) {\n tr.deleteSelection()\n }\n\n const deflt = $from.depth === 0\n ? undefined\n : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)))\n\n let types = atEnd && deflt\n ? [\n {\n type: deflt,\n attrs: newAttributes,\n },\n ]\n : undefined\n\n let can = canSplit(tr.doc, tr.mapping.map($from.pos), 1, types)\n\n if (\n !types\n && !can\n && canSplit(tr.doc, tr.mapping.map($from.pos), 1, deflt ? [{ type: deflt }] : undefined)\n ) {\n can = true\n types = deflt\n ? [\n {\n type: deflt,\n attrs: newAttributes,\n },\n ]\n : undefined\n }\n\n if (can) {\n tr.split(tr.mapping.map($from.pos), 1, types)\n\n if (deflt && !atEnd && !$from.parentOffset && $from.parent.type !== deflt) {\n const first = tr.mapping.map($from.before())\n const $first = tr.doc.resolve(first)\n\n if ($from.node(-1).canReplaceWith($first.index(), $first.index() + 1, deflt)) {\n tr.setNodeMarkup(tr.mapping.map($from.before()), deflt)\n }\n }\n }\n\n if (keepMarks) {\n ensureMarks(state, editor.extensionManager.splittableMarks)\n }\n\n tr.scrollIntoView()\n }\n\n return true\n}\n","import {\n Fragment, Node as ProseMirrorNode, NodeType, Slice,\n} from '@tiptap/pm/model'\nimport { TextSelection } from '@tiptap/pm/state'\nimport { canSplit } from '@tiptap/pm/transform'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { getSplittedAttributes } from '../helpers/getSplittedAttributes.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n splitListItem: {\n /**\n * Splits one list item into two list items.\n * @param typeOrName The type or name of the node.\n * @example editor.commands.splitListItem('listItem')\n */\n splitListItem: (typeOrName: string | NodeType) => ReturnType\n }\n }\n}\n\nexport const splitListItem: RawCommands['splitListItem'] = typeOrName => ({\n tr, state, dispatch, editor,\n}) => {\n const type = getNodeType(typeOrName, state.schema)\n const { $from, $to } = state.selection\n\n // @ts-ignore\n // eslint-disable-next-line\n const node: ProseMirrorNode = state.selection.node\n\n if ((node && node.isBlock) || $from.depth < 2 || !$from.sameParent($to)) {\n return false\n }\n\n const grandParent = $from.node(-1)\n\n if (grandParent.type !== type) {\n return false\n }\n\n const extensionAttributes = editor.extensionManager.attributes\n\n if ($from.parent.content.size === 0 && $from.node(-1).childCount === $from.indexAfter(-1)) {\n // In an empty block. If this is a nested list, the wrapping\n // list item should be split. Otherwise, bail out and let next\n // command handle lifting.\n if (\n $from.depth === 2\n || $from.node(-3).type !== type\n || $from.index(-2) !== $from.node(-2).childCount - 1\n ) {\n return false\n }\n\n if (dispatch) {\n let wrap = Fragment.empty\n // eslint-disable-next-line\n const depthBefore = $from.index(-1) ? 1 : $from.index(-2) ? 2 : 3\n\n // Build a fragment containing empty versions of the structure\n // from the outer list item to the parent node of the cursor\n for (let d = $from.depth - depthBefore; d >= $from.depth - 3; d -= 1) {\n wrap = Fragment.from($from.node(d).copy(wrap))\n }\n\n // eslint-disable-next-line\n const depthAfter = $from.indexAfter(-1) < $from.node(-2).childCount ? 1 : $from.indexAfter(-2) < $from.node(-3).childCount ? 2 : 3\n\n // Add a second list item with an empty default start node\n const newNextTypeAttributes = getSplittedAttributes(\n extensionAttributes,\n $from.node().type.name,\n $from.node().attrs,\n )\n const nextType = type.contentMatch.defaultType?.createAndFill(newNextTypeAttributes) || undefined\n\n wrap = wrap.append(Fragment.from(type.createAndFill(null, nextType) || undefined))\n\n const start = $from.before($from.depth - (depthBefore - 1))\n\n tr.replace(start, $from.after(-depthAfter), new Slice(wrap, 4 - depthBefore, 0))\n\n let sel = -1\n\n tr.doc.nodesBetween(start, tr.doc.content.size, (n, pos) => {\n if (sel > -1) {\n return false\n }\n\n if (n.isTextblock && n.content.size === 0) {\n sel = pos + 1\n }\n })\n\n if (sel > -1) {\n tr.setSelection(TextSelection.near(tr.doc.resolve(sel)))\n }\n\n tr.scrollIntoView()\n }\n\n return true\n }\n\n const nextType = $to.pos === $from.end() ? grandParent.contentMatchAt(0).defaultType : null\n\n const newTypeAttributes = getSplittedAttributes(\n extensionAttributes,\n grandParent.type.name,\n grandParent.attrs,\n )\n const newNextTypeAttributes = getSplittedAttributes(\n extensionAttributes,\n $from.node().type.name,\n $from.node().attrs,\n )\n\n tr.delete($from.pos, $to.pos)\n\n const types = nextType\n ? [\n { type, attrs: newTypeAttributes },\n { type: nextType, attrs: newNextTypeAttributes },\n ]\n : [{ type, attrs: newTypeAttributes }]\n\n if (!canSplit(tr.doc, $from.pos, 2)) {\n return false\n }\n\n if (dispatch) {\n const { selection, storedMarks } = state\n const { splittableMarks } = editor.extensionManager\n const marks = storedMarks || (selection.$to.parentOffset && selection.$from.marks())\n\n tr.split($from.pos, 2, types).scrollIntoView()\n\n if (!marks || !dispatch) {\n return true\n }\n\n const filteredMarks = marks.filter(mark => splittableMarks.includes(mark.type.name))\n\n tr.ensureMarks(filteredMarks)\n }\n\n return true\n}\n","import { NodeType } from '@tiptap/pm/model'\nimport { Transaction } from '@tiptap/pm/state'\nimport { canJoin } from '@tiptap/pm/transform'\n\nimport { findParentNode } from '../helpers/findParentNode.js'\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { isList } from '../helpers/isList.js'\nimport { RawCommands } from '../types.js'\n\nconst joinListBackwards = (tr: Transaction, listType: NodeType): boolean => {\n const list = findParentNode(node => node.type === listType)(tr.selection)\n\n if (!list) {\n return true\n }\n\n const before = tr.doc.resolve(Math.max(0, list.pos - 1)).before(list.depth)\n\n if (before === undefined) {\n return true\n }\n\n const nodeBefore = tr.doc.nodeAt(before)\n const canJoinBackwards = list.node.type === nodeBefore?.type && canJoin(tr.doc, list.pos)\n\n if (!canJoinBackwards) {\n return true\n }\n\n tr.join(list.pos)\n\n return true\n}\n\nconst joinListForwards = (tr: Transaction, listType: NodeType): boolean => {\n const list = findParentNode(node => node.type === listType)(tr.selection)\n\n if (!list) {\n return true\n }\n\n const after = tr.doc.resolve(list.start).after(list.depth)\n\n if (after === undefined) {\n return true\n }\n\n const nodeAfter = tr.doc.nodeAt(after)\n const canJoinForwards = list.node.type === nodeAfter?.type && canJoin(tr.doc, after)\n\n if (!canJoinForwards) {\n return true\n }\n\n tr.join(after)\n\n return true\n}\n\ndeclare module '@tiptap/core' {\n interface Commands {\n toggleList: {\n /**\n * Toggle between different list types.\n * @param listTypeOrName The type or name of the list.\n * @param itemTypeOrName The type or name of the list item.\n * @param keepMarks Keep marks when toggling.\n * @param attributes Attributes for the new list.\n * @example editor.commands.toggleList('bulletList', 'listItem')\n */\n toggleList: (listTypeOrName: string | NodeType, itemTypeOrName: string | NodeType, keepMarks?: boolean, attributes?: Record) => ReturnType;\n }\n }\n}\n\nexport const toggleList: RawCommands['toggleList'] = (listTypeOrName, itemTypeOrName, keepMarks, attributes = {}) => ({\n editor, tr, state, dispatch, chain, commands, can,\n}) => {\n const { extensions, splittableMarks } = editor.extensionManager\n const listType = getNodeType(listTypeOrName, state.schema)\n const itemType = getNodeType(itemTypeOrName, state.schema)\n const { selection, storedMarks } = state\n const { $from, $to } = selection\n const range = $from.blockRange($to)\n\n const marks = storedMarks || (selection.$to.parentOffset && selection.$from.marks())\n\n if (!range) {\n return false\n }\n\n const parentList = findParentNode(node => isList(node.type.name, extensions))(selection)\n\n if (range.depth >= 1 && parentList && range.depth - parentList.depth <= 1) {\n // remove list\n if (parentList.node.type === listType) {\n return commands.liftListItem(itemType)\n }\n\n // change list type\n if (\n isList(parentList.node.type.name, extensions)\n && listType.validContent(parentList.node.content)\n && dispatch\n ) {\n return chain()\n .command(() => {\n tr.setNodeMarkup(parentList.pos, listType)\n\n return true\n })\n .command(() => joinListBackwards(tr, listType))\n .command(() => joinListForwards(tr, listType))\n .run()\n }\n }\n if (!keepMarks || !marks || !dispatch) {\n\n return chain()\n // try to convert node to default node if needed\n .command(() => {\n const canWrapInList = can().wrapInList(listType, attributes)\n\n if (canWrapInList) {\n return true\n }\n\n return commands.clearNodes()\n })\n .wrapInList(listType, attributes)\n .command(() => joinListBackwards(tr, listType))\n .command(() => joinListForwards(tr, listType))\n .run()\n }\n\n return (\n chain()\n // try to convert node to default node if needed\n .command(() => {\n const canWrapInList = can().wrapInList(listType, attributes)\n\n const filteredMarks = marks.filter(mark => splittableMarks.includes(mark.type.name))\n\n tr.ensureMarks(filteredMarks)\n\n if (canWrapInList) {\n return true\n }\n\n return commands.clearNodes()\n })\n .wrapInList(listType, attributes)\n .command(() => joinListBackwards(tr, listType))\n .command(() => joinListForwards(tr, listType))\n .run()\n )\n}\n","import { MarkType } from '@tiptap/pm/model'\n\nimport { getMarkType } from '../helpers/getMarkType.js'\nimport { isMarkActive } from '../helpers/isMarkActive.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n toggleMark: {\n /**\n * Toggle a mark on and off.\n * @param typeOrName The mark type or name.\n * @param attributes The attributes of the mark.\n * @param options.extendEmptyMarkRange Removes the mark even across the current selection. Defaults to `false`.\n * @example editor.commands.toggleMark('bold')\n */\n toggleMark: (\n /**\n * The mark type or name.\n */\n typeOrName: string | MarkType,\n\n /**\n * The attributes of the mark.\n */\n attributes?: Record,\n\n options?: {\n /**\n * Removes the mark even across the current selection. Defaults to `false`.\n */\n extendEmptyMarkRange?: boolean\n },\n ) => ReturnType\n }\n }\n}\n\nexport const toggleMark: RawCommands['toggleMark'] = (typeOrName, attributes = {}, options = {}) => ({ state, commands }) => {\n const { extendEmptyMarkRange = false } = options\n const type = getMarkType(typeOrName, state.schema)\n const isActive = isMarkActive(state, type, attributes)\n\n if (isActive) {\n return commands.unsetMark(type, { extendEmptyMarkRange })\n }\n\n return commands.setMark(type, attributes)\n}\n","import { NodeType } from '@tiptap/pm/model'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { isNodeActive } from '../helpers/isNodeActive.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n toggleNode: {\n /**\n * Toggle a node with another node.\n * @param typeOrName The type or name of the node.\n * @param toggleTypeOrName The type or name of the node to toggle.\n * @param attributes The attributes of the node.\n * @example editor.commands.toggleNode('heading', 'paragraph')\n */\n toggleNode: (\n typeOrName: string | NodeType,\n toggleTypeOrName: string | NodeType,\n attributes?: Record,\n ) => ReturnType\n }\n }\n}\n\nexport const toggleNode: RawCommands['toggleNode'] = (typeOrName, toggleTypeOrName, attributes = {}) => ({ state, commands }) => {\n const type = getNodeType(typeOrName, state.schema)\n const toggleType = getNodeType(toggleTypeOrName, state.schema)\n const isActive = isNodeActive(state, type, attributes)\n\n if (isActive) {\n return commands.setNode(toggleType)\n }\n\n return commands.setNode(type, attributes)\n}\n","import { NodeType } from '@tiptap/pm/model'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { isNodeActive } from '../helpers/isNodeActive.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n toggleWrap: {\n /**\n * Wraps nodes in another node, or removes an existing wrap.\n * @param typeOrName The type or name of the node.\n * @param attributes The attributes of the node.\n * @example editor.commands.toggleWrap('blockquote')\n */\n toggleWrap: (typeOrName: string | NodeType, attributes?: Record) => ReturnType\n }\n }\n}\n\nexport const toggleWrap: RawCommands['toggleWrap'] = (typeOrName, attributes = {}) => ({ state, commands }) => {\n const type = getNodeType(typeOrName, state.schema)\n const isActive = isNodeActive(state, type, attributes)\n\n if (isActive) {\n return commands.lift(type)\n }\n\n return commands.wrapIn(type, attributes)\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n undoInputRule: {\n /**\n * Undo an input rule.\n * @example editor.commands.undoInputRule()\n */\n undoInputRule: () => ReturnType,\n }\n }\n}\n\nexport const undoInputRule: RawCommands['undoInputRule'] = () => ({ state, dispatch }) => {\n const plugins = state.plugins\n\n for (let i = 0; i < plugins.length; i += 1) {\n const plugin = plugins[i]\n let undoable\n\n // @ts-ignore\n // eslint-disable-next-line\n if (plugin.spec.isInputRules && (undoable = plugin.getState(state))) {\n if (dispatch) {\n const tr = state.tr\n const toUndo = undoable.transform\n\n for (let j = toUndo.steps.length - 1; j >= 0; j -= 1) {\n tr.step(toUndo.steps[j].invert(toUndo.docs[j]))\n }\n\n if (undoable.text) {\n const marks = tr.doc.resolve(undoable.from).marks()\n\n tr.replaceWith(undoable.from, undoable.to, state.schema.text(undoable.text, marks))\n } else {\n tr.delete(undoable.from, undoable.to)\n }\n }\n\n return true\n }\n }\n\n return false\n}\n","import { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n unsetAllMarks: {\n /**\n * Remove all marks in the current selection.\n * @example editor.commands.unsetAllMarks()\n */\n unsetAllMarks: () => ReturnType,\n }\n }\n}\n\nexport const unsetAllMarks: RawCommands['unsetAllMarks'] = () => ({ tr, dispatch }) => {\n const { selection } = tr\n const { empty, ranges } = selection\n\n if (empty) {\n return true\n }\n\n if (dispatch) {\n ranges.forEach(range => {\n tr.removeMark(range.$from.pos, range.$to.pos)\n })\n }\n\n return true\n}\n","import { MarkType } from '@tiptap/pm/model'\n\nimport { getMarkRange } from '../helpers/getMarkRange.js'\nimport { getMarkType } from '../helpers/getMarkType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n unsetMark: {\n /**\n * Remove all marks in the current selection.\n * @param typeOrName The mark type or name.\n * @param options.extendEmptyMarkRange Removes the mark even across the current selection. Defaults to `false`.\n * @example editor.commands.unsetMark('bold')\n */\n unsetMark: (\n /**\n * The mark type or name.\n */\n typeOrName: string | MarkType,\n\n options?: {\n /**\n * Removes the mark even across the current selection. Defaults to `false`.\n */\n extendEmptyMarkRange?: boolean\n },\n ) => ReturnType\n }\n }\n}\n\nexport const unsetMark: RawCommands['unsetMark'] = (typeOrName, options = {}) => ({ tr, state, dispatch }) => {\n const { extendEmptyMarkRange = false } = options\n const { selection } = tr\n const type = getMarkType(typeOrName, state.schema)\n const { $from, empty, ranges } = selection\n\n if (!dispatch) {\n return true\n }\n\n if (empty && extendEmptyMarkRange) {\n let { from, to } = selection\n const attrs = $from.marks().find(mark => mark.type === type)?.attrs\n const range = getMarkRange($from, type, attrs)\n\n if (range) {\n from = range.from\n to = range.to\n }\n\n tr.removeMark(from, to, type)\n } else {\n ranges.forEach(range => {\n tr.removeMark(range.$from.pos, range.$to.pos, type)\n })\n }\n\n tr.removeStoredMark(type)\n\n return true\n}\n","import { MarkType, NodeType } from '@tiptap/pm/model'\n\nimport { getMarkType } from '../helpers/getMarkType.js'\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { getSchemaTypeNameByName } from '../helpers/getSchemaTypeNameByName.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n updateAttributes: {\n /**\n * Update attributes of a node or mark.\n * @param typeOrName The type or name of the node or mark.\n * @param attributes The attributes of the node or mark.\n * @example editor.commands.updateAttributes('mention', { userId: \"2\" })\n */\n updateAttributes: (\n /**\n * The type or name of the node or mark.\n */\n typeOrName: string | NodeType | MarkType,\n\n /**\n * The attributes of the node or mark.\n */\n attributes: Record,\n ) => ReturnType\n }\n }\n}\n\nexport const updateAttributes: RawCommands['updateAttributes'] = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {\n let nodeType: NodeType | null = null\n let markType: MarkType | null = null\n\n const schemaType = getSchemaTypeNameByName(\n typeof typeOrName === 'string' ? typeOrName : typeOrName.name,\n state.schema,\n )\n\n if (!schemaType) {\n return false\n }\n\n if (schemaType === 'node') {\n nodeType = getNodeType(typeOrName as NodeType, state.schema)\n }\n\n if (schemaType === 'mark') {\n markType = getMarkType(typeOrName as MarkType, state.schema)\n }\n\n if (dispatch) {\n tr.selection.ranges.forEach(range => {\n const from = range.$from.pos\n const to = range.$to.pos\n\n state.doc.nodesBetween(from, to, (node, pos) => {\n if (nodeType && nodeType === node.type) {\n tr.setNodeMarkup(pos, undefined, {\n ...node.attrs,\n ...attributes,\n })\n }\n\n if (markType && node.marks.length) {\n node.marks.forEach(mark => {\n if (markType === mark.type) {\n const trimmedFrom = Math.max(pos, from)\n const trimmedTo = Math.min(pos + node.nodeSize, to)\n\n tr.addMark(\n trimmedFrom,\n trimmedTo,\n markType.create({\n ...mark.attrs,\n ...attributes,\n }),\n )\n }\n })\n }\n })\n })\n }\n\n return true\n}\n","import { wrapIn as originalWrapIn } from '@tiptap/pm/commands'\nimport { NodeType } from '@tiptap/pm/model'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n wrapIn: {\n /**\n * Wraps nodes in another node.\n * @param typeOrName The type or name of the node.\n * @param attributes The attributes of the node.\n * @example editor.commands.wrapIn('blockquote')\n */\n wrapIn: (typeOrName: string | NodeType, attributes?: Record) => ReturnType\n }\n }\n}\n\nexport const wrapIn: RawCommands['wrapIn'] = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema)\n\n return originalWrapIn(type, attributes)(state, dispatch)\n}\n","import { NodeType } from '@tiptap/pm/model'\nimport { wrapInList as originalWrapInList } from '@tiptap/pm/schema-list'\n\nimport { getNodeType } from '../helpers/getNodeType.js'\nimport { RawCommands } from '../types.js'\n\ndeclare module '@tiptap/core' {\n interface Commands {\n wrapInList: {\n /**\n * Wrap a node in a list.\n * @param typeOrName The type or name of the node.\n * @param attributes The attributes of the node.\n * @example editor.commands.wrapInList('bulletList')\n */\n wrapInList: (typeOrName: string | NodeType, attributes?: Record) => ReturnType\n }\n }\n}\n\nexport const wrapInList: RawCommands['wrapInList'] = (typeOrName, attributes = {}) => ({ state, dispatch }) => {\n const type = getNodeType(typeOrName, state.schema)\n\n return originalWrapInList(type, attributes)(state, dispatch)\n}\n","import * as commands from '../commands/index.js'\nimport { Extension } from '../Extension.js'\n\nexport * from '../commands/index.js'\n\nexport const Commands = Extension.create({\n name: 'commands',\n\n addCommands() {\n return {\n ...commands,\n }\n },\n})\n","import { Plugin, PluginKey } from '@tiptap/pm/state'\n\nimport { Extension } from '../Extension.js'\n\nexport const Editable = Extension.create({\n name: 'editable',\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n key: new PluginKey('editable'),\n props: {\n editable: () => this.editor.options.editable,\n },\n }),\n ]\n },\n})\n","import { Plugin, PluginKey } from '@tiptap/pm/state'\n\nimport { Extension } from '../Extension.js'\n\nexport const FocusEvents = Extension.create({\n name: 'focusEvents',\n\n addProseMirrorPlugins() {\n const { editor } = this\n\n return [\n new Plugin({\n key: new PluginKey('focusEvents'),\n props: {\n handleDOMEvents: {\n focus: (view, event: Event) => {\n editor.isFocused = true\n\n const transaction = editor.state.tr\n .setMeta('focus', { event })\n .setMeta('addToHistory', false)\n\n view.dispatch(transaction)\n\n return false\n },\n blur: (view, event: Event) => {\n editor.isFocused = false\n\n const transaction = editor.state.tr\n .setMeta('blur', { event })\n .setMeta('addToHistory', false)\n\n view.dispatch(transaction)\n\n return false\n },\n },\n },\n }),\n ]\n },\n})\n","import { Plugin, PluginKey, Selection } from '@tiptap/pm/state'\n\nimport { CommandManager } from '../CommandManager.js'\nimport { Extension } from '../Extension.js'\nimport { createChainableState } from '../helpers/createChainableState.js'\nimport { isiOS } from '../utilities/isiOS.js'\nimport { isMacOS } from '../utilities/isMacOS.js'\n\nexport const Keymap = Extension.create({\n name: 'keymap',\n\n addKeyboardShortcuts() {\n const handleBackspace = () => this.editor.commands.first(({ commands }) => [\n () => commands.undoInputRule(),\n\n // maybe convert first text block node to default node\n () => commands.command(({ tr }) => {\n const { selection, doc } = tr\n const { empty, $anchor } = selection\n const { pos, parent } = $anchor\n const $parentPos = $anchor.parent.isTextblock && pos > 0 ? tr.doc.resolve(pos - 1) : $anchor\n const parentIsIsolating = $parentPos.parent.type.spec.isolating\n\n const parentPos = $anchor.pos - $anchor.parentOffset\n\n const isAtStart = (parentIsIsolating && $parentPos.parent.childCount === 1)\n ? parentPos === $anchor.pos\n : Selection.atStart(doc).from === pos\n\n if (\n !empty\n || !parent.type.isTextblock\n || parent.textContent.length\n || !isAtStart\n || (isAtStart && $anchor.parent.type.name === 'paragraph') // prevent clearNodes when no nodes to clear, otherwise history stack is appended\n ) {\n return false\n }\n\n return commands.clearNodes()\n }),\n\n () => commands.deleteSelection(),\n () => commands.joinBackward(),\n () => commands.selectNodeBackward(),\n ])\n\n const handleDelete = () => this.editor.commands.first(({ commands }) => [\n () => commands.deleteSelection(),\n () => commands.deleteCurrentNode(),\n () => commands.joinForward(),\n () => commands.selectNodeForward(),\n ])\n\n const handleEnter = () => this.editor.commands.first(({ commands }) => [\n () => commands.newlineInCode(),\n () => commands.createParagraphNear(),\n () => commands.liftEmptyBlock(),\n () => commands.splitBlock(),\n ])\n\n const baseKeymap = {\n Enter: handleEnter,\n 'Mod-Enter': () => this.editor.commands.exitCode(),\n Backspace: handleBackspace,\n 'Mod-Backspace': handleBackspace,\n 'Shift-Backspace': handleBackspace,\n Delete: handleDelete,\n 'Mod-Delete': handleDelete,\n 'Mod-a': () => this.editor.commands.selectAll(),\n }\n\n const pcKeymap = {\n ...baseKeymap,\n }\n\n const macKeymap = {\n ...baseKeymap,\n 'Ctrl-h': handleBackspace,\n 'Alt-Backspace': handleBackspace,\n 'Ctrl-d': handleDelete,\n 'Ctrl-Alt-Backspace': handleDelete,\n 'Alt-Delete': handleDelete,\n 'Alt-d': handleDelete,\n 'Ctrl-a': () => this.editor.commands.selectTextblockStart(),\n 'Ctrl-e': () => this.editor.commands.selectTextblockEnd(),\n }\n\n if (isiOS() || isMacOS()) {\n return macKeymap\n }\n\n return pcKeymap\n },\n\n addProseMirrorPlugins() {\n return [\n // With this plugin we check if the whole document was selected and deleted.\n // In this case we will additionally call `clearNodes()` to convert e.g. a heading\n // to a paragraph if necessary.\n // This is an alternative to ProseMirror's `AllSelection`, which doesn’t work well\n // with many other commands.\n new Plugin({\n key: new PluginKey('clearDocument'),\n appendTransaction: (transactions, oldState, newState) => {\n const docChanges = transactions.some(transaction => transaction.docChanged)\n && !oldState.doc.eq(newState.doc)\n\n if (!docChanges) {\n return\n }\n\n const { empty, from, to } = oldState.selection\n const allFrom = Selection.atStart(oldState.doc).from\n const allEnd = Selection.atEnd(oldState.doc).to\n const allWasSelected = from === allFrom && to === allEnd\n\n if (empty || !allWasSelected) {\n return\n }\n\n const isEmpty = newState.doc.textBetween(0, newState.doc.content.size, ' ', ' ').length === 0\n\n if (!isEmpty) {\n return\n }\n\n const tr = newState.tr\n const state = createChainableState({\n state: newState,\n transaction: tr,\n })\n const { commands } = new CommandManager({\n editor: this.editor,\n state,\n })\n\n commands.clearNodes()\n\n if (!tr.steps.length) {\n return\n }\n\n return tr\n },\n }),\n ]\n },\n})\n","import { Plugin, PluginKey } from '@tiptap/pm/state'\n\nimport { Extension } from '../Extension.js'\n\nexport const Tabindex = Extension.create({\n name: 'tabindex',\n\n addProseMirrorPlugins() {\n return [\n new Plugin({\n key: new PluginKey('tabindex'),\n props: {\n attributes: this.editor.isEditable ? { tabindex: '0' } : {},\n },\n }),\n ]\n },\n})\n","import {\n Fragment, Node, ResolvedPos,\n} from '@tiptap/pm/model'\n\nimport { Editor } from './Editor.js'\nimport { Content, Range } from './types.js'\n\nexport class NodePos {\n private resolvedPos: ResolvedPos\n\n private isBlock: boolean\n\n private editor: Editor\n\n private get name(): string {\n return this.node.type.name\n }\n\n constructor(pos: ResolvedPos, editor: Editor, isBlock = false, node: Node | null = null) {\n this.isBlock = isBlock\n this.resolvedPos = pos\n this.editor = editor\n this.currentNode = node\n }\n\n private currentNode: Node | null = null\n\n get node(): Node {\n return this.currentNode || this.resolvedPos.node()\n }\n\n get element(): HTMLElement {\n return this.editor.view.domAtPos(this.pos).node as HTMLElement\n }\n\n public actualDepth: number | null = null\n\n get depth(): number {\n return this.actualDepth ?? this.resolvedPos.depth\n }\n\n get pos(): number {\n return this.resolvedPos.pos\n }\n\n get content(): Fragment {\n return this.node.content\n }\n\n set content(content: Content) {\n let from = this.from\n let to = this.to\n\n if (this.isBlock) {\n if (this.content.size === 0) {\n console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`)\n return\n }\n\n from = this.from + 1\n to = this.to - 1\n }\n\n this.editor.commands.insertContentAt({ from, to }, content)\n }\n\n get attributes(): { [key: string]: any } {\n return this.node.attrs\n }\n\n get textContent(): string {\n return this.node.textContent\n }\n\n get size(): number {\n return this.node.nodeSize\n }\n\n get from(): number {\n if (this.isBlock) {\n return this.pos\n }\n\n return this.resolvedPos.start(this.resolvedPos.depth)\n }\n\n get range(): Range {\n return {\n from: this.from,\n to: this.to,\n }\n }\n\n get to(): number {\n if (this.isBlock) {\n return this.pos + this.size\n }\n\n return this.resolvedPos.end(this.resolvedPos.depth) + (this.node.isText ? 0 : 1)\n }\n\n get parent(): NodePos | null {\n if (this.depth === 0) {\n return null\n }\n\n const parentPos = this.resolvedPos.start(this.resolvedPos.depth - 1)\n const $pos = this.resolvedPos.doc.resolve(parentPos)\n\n return new NodePos($pos, this.editor)\n }\n\n get before(): NodePos | null {\n let $pos = this.resolvedPos.doc.resolve(this.from - (this.isBlock ? 1 : 2))\n\n if ($pos.depth !== this.depth) {\n $pos = this.resolvedPos.doc.resolve(this.from - 3)\n }\n\n return new NodePos($pos, this.editor)\n }\n\n get after(): NodePos | null {\n let $pos = this.resolvedPos.doc.resolve(this.to + (this.isBlock ? 2 : 1))\n\n if ($pos.depth !== this.depth) {\n $pos = this.resolvedPos.doc.resolve(this.to + 3)\n }\n\n return new NodePos($pos, this.editor)\n }\n\n get children(): NodePos[] {\n const children: NodePos[] = []\n\n this.node.content.forEach((node, offset) => {\n const isBlock = node.isBlock && !node.isTextblock\n\n const targetPos = this.pos + offset + 1\n const $pos = this.resolvedPos.doc.resolve(targetPos)\n\n if (!isBlock && $pos.depth <= this.depth) {\n return\n }\n\n const childNodePos = new NodePos($pos, this.editor, isBlock, isBlock ? node : null)\n\n if (isBlock) {\n childNodePos.actualDepth = this.depth + 1\n }\n\n children.push(new NodePos($pos, this.editor, isBlock, isBlock ? node : null))\n })\n\n return children\n }\n\n get firstChild(): NodePos | null {\n return this.children[0] || null\n }\n\n get lastChild(): NodePos | null {\n const children = this.children\n\n return children[children.length - 1] || null\n }\n\n closest(selector: string, attributes: { [key: string]: any } = {}): NodePos | null {\n let node: NodePos | null = null\n let currentNode = this.parent\n\n while (currentNode && !node) {\n if (currentNode.node.type.name === selector) {\n if (Object.keys(attributes).length > 0) {\n const nodeAttributes = currentNode.node.attrs\n const attrKeys = Object.keys(attributes)\n\n for (let index = 0; index < attrKeys.length; index += 1) {\n const key = attrKeys[index]\n\n if (nodeAttributes[key] !== attributes[key]) {\n break\n }\n }\n } else {\n node = currentNode\n }\n }\n\n currentNode = currentNode.parent\n }\n\n return node\n }\n\n querySelector(selector: string, attributes: { [key: string]: any } = {}): NodePos | null {\n return this.querySelectorAll(selector, attributes, true)[0] || null\n }\n\n querySelectorAll(selector: string, attributes: { [key: string]: any } = {}, firstItemOnly = false): NodePos[] {\n let nodes: NodePos[] = []\n\n if (!this.children || this.children.length === 0) {\n return nodes\n }\n const attrKeys = Object.keys(attributes)\n\n /**\n * Finds all children recursively that match the selector and attributes\n * If firstItemOnly is true, it will return the first item found\n */\n this.children.forEach(childPos => {\n // If we already found a node and we only want the first item, we dont need to keep going\n if (firstItemOnly && nodes.length > 0) {\n return\n }\n\n if (childPos.node.type.name === selector) {\n const doesAllAttributesMatch = attrKeys.every(key => attributes[key] === childPos.node.attrs[key])\n\n if (doesAllAttributesMatch) {\n nodes.push(childPos)\n }\n }\n\n // If we already found a node and we only want the first item, we can stop here and skip the recursion\n if (firstItemOnly && nodes.length > 0) {\n return\n }\n\n nodes = nodes.concat(childPos.querySelectorAll(selector, attributes, firstItemOnly))\n })\n\n return nodes\n }\n\n setAttribute(attributes: { [key: string]: any }) {\n const oldSelection = this.editor.state.selection\n\n this.editor.chain().setTextSelection(this.from).updateAttributes(this.node.type.name, attributes).setTextSelection(oldSelection.from)\n .run()\n }\n}\n","export const style = `.ProseMirror {\n position: relative;\n}\n\n.ProseMirror {\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\n.ProseMirror [contenteditable=\"false\"] {\n white-space: normal;\n}\n\n.ProseMirror [contenteditable=\"false\"] [contenteditable=\"true\"] {\n white-space: pre-wrap;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\nimg.ProseMirror-separator {\n display: inline !important;\n border: none !important;\n margin: 0 !important;\n width: 1px !important;\n height: 1px !important;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n margin: 0;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-hideselection *::selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n}\n\n.ProseMirror-hideselection * {\n caret-color: transparent;\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.tippy-box[data-animation=fade][data-state=hidden] {\n opacity: 0\n}`\n","export function createStyleTag(style: string, nonce?: string, suffix?: string): HTMLStyleElement {\n const tiptapStyleTag = (document.querySelector(`style[data-tiptap-style${suffix ? `-${suffix}` : ''}]`))\n\n if (tiptapStyleTag !== null) {\n return tiptapStyleTag\n }\n\n const styleNode = document.createElement('style')\n\n if (nonce) {\n styleNode.setAttribute('nonce', nonce)\n }\n\n styleNode.setAttribute(`data-tiptap-style${suffix ? `-${suffix}` : ''}`, '')\n styleNode.innerHTML = style\n document.getElementsByTagName('head')[0].appendChild(styleNode)\n\n return styleNode\n}\n","import {\n MarkType, NodeType, Schema,\n} from '@tiptap/pm/model'\nimport {\n EditorState, Plugin, PluginKey, Transaction,\n} from '@tiptap/pm/state'\nimport { EditorView } from '@tiptap/pm/view'\n\nimport { CommandManager } from './CommandManager.js'\nimport { EventEmitter } from './EventEmitter.js'\nimport { ExtensionManager } from './ExtensionManager.js'\nimport {\n ClipboardTextSerializer, Commands, Editable, FocusEvents, Keymap, Tabindex,\n} from './extensions/index.js'\nimport { createDocument } from './helpers/createDocument.js'\nimport { getAttributes } from './helpers/getAttributes.js'\nimport { getHTMLFromFragment } from './helpers/getHTMLFromFragment.js'\nimport { getText } from './helpers/getText.js'\nimport { getTextSerializersFromSchema } from './helpers/getTextSerializersFromSchema.js'\nimport { isActive } from './helpers/isActive.js'\nimport { isNodeEmpty } from './helpers/isNodeEmpty.js'\nimport { resolveFocusPosition } from './helpers/resolveFocusPosition.js'\nimport { NodePos } from './NodePos.js'\nimport { style } from './style.js'\nimport {\n CanCommands,\n ChainedCommands,\n EditorEvents,\n EditorOptions,\n JSONContent,\n SingleCommands,\n TextSerializer,\n} from './types.js'\nimport { createStyleTag } from './utilities/createStyleTag.js'\nimport { isFunction } from './utilities/isFunction.js'\n\nexport * as extensions from './extensions/index.js'\n\nexport interface HTMLElement {\n editor?: Editor\n}\n\nexport class Editor extends EventEmitter {\n private commandManager!: CommandManager\n\n public extensionManager!: ExtensionManager\n\n private css!: HTMLStyleElement\n\n public schema!: Schema\n\n public view!: EditorView\n\n public isFocused = false\n\n public extensionStorage: Record = {}\n\n public options: EditorOptions = {\n element: document.createElement('div'),\n content: '',\n injectCSS: true,\n injectNonce: undefined,\n extensions: [],\n autofocus: false,\n editable: true,\n editorProps: {},\n parseOptions: {},\n coreExtensionOptions: {},\n enableInputRules: true,\n enablePasteRules: true,\n enableCoreExtensions: true,\n onBeforeCreate: () => null,\n onCreate: () => null,\n onUpdate: () => null,\n onSelectionUpdate: () => null,\n onTransaction: () => null,\n onFocus: () => null,\n onBlur: () => null,\n onDestroy: () => null,\n }\n\n constructor(options: Partial = {}) {\n super()\n this.setOptions(options)\n this.createExtensionManager()\n this.createCommandManager()\n this.createSchema()\n this.on('beforeCreate', this.options.onBeforeCreate)\n this.emit('beforeCreate', { editor: this })\n this.createView()\n this.injectCSS()\n this.on('create', this.options.onCreate)\n this.on('update', this.options.onUpdate)\n this.on('selectionUpdate', this.options.onSelectionUpdate)\n this.on('transaction', this.options.onTransaction)\n this.on('focus', this.options.onFocus)\n this.on('blur', this.options.onBlur)\n this.on('destroy', this.options.onDestroy)\n\n window.setTimeout(() => {\n if (this.isDestroyed) {\n return\n }\n\n this.commands.focus(this.options.autofocus)\n this.emit('create', { editor: this })\n }, 0)\n }\n\n /**\n * Returns the editor storage.\n */\n public get storage(): Record {\n return this.extensionStorage\n }\n\n /**\n * An object of all registered commands.\n */\n public get commands(): SingleCommands {\n return this.commandManager.commands\n }\n\n /**\n * Create a command chain to call multiple commands at once.\n */\n public chain(): ChainedCommands {\n return this.commandManager.chain()\n }\n\n /**\n * Check if a command or a command chain can be executed. Without executing it.\n */\n public can(): CanCommands {\n return this.commandManager.can()\n }\n\n /**\n * Inject CSS styles.\n */\n private injectCSS(): void {\n if (this.options.injectCSS && document) {\n this.css = createStyleTag(style, this.options.injectNonce)\n }\n }\n\n /**\n * Update editor options.\n *\n * @param options A list of options\n */\n public setOptions(options: Partial = {}): void {\n this.options = {\n ...this.options,\n ...options,\n }\n\n if (!this.view || !this.state || this.isDestroyed) {\n return\n }\n\n if (this.options.editorProps) {\n this.view.setProps(this.options.editorProps)\n }\n\n this.view.updateState(this.state)\n }\n\n /**\n * Update editable state of the editor.\n */\n public setEditable(editable: boolean, emitUpdate = true): void {\n this.setOptions({ editable })\n\n if (emitUpdate) {\n this.emit('update', { editor: this, transaction: this.state.tr })\n }\n }\n\n /**\n * Returns whether the editor is editable.\n */\n public get isEditable(): boolean {\n // since plugins are applied after creating the view\n // `editable` is always `true` for one tick.\n // that’s why we also have to check for `options.editable`\n return this.options.editable && this.view && this.view.editable\n }\n\n /**\n * Returns the editor state.\n */\n public get state(): EditorState {\n return this.view.state\n }\n\n /**\n * Register a ProseMirror plugin.\n *\n * @param plugin A ProseMirror plugin\n * @param handlePlugins Control how to merge the plugin into the existing plugins.\n */\n public registerPlugin(\n plugin: Plugin,\n handlePlugins?: (newPlugin: Plugin, plugins: Plugin[]) => Plugin[],\n ): void {\n const plugins = isFunction(handlePlugins)\n ? handlePlugins(plugin, [...this.state.plugins])\n : [...this.state.plugins, plugin]\n\n const state = this.state.reconfigure({ plugins })\n\n this.view.updateState(state)\n }\n\n /**\n * Unregister a ProseMirror plugin.\n *\n * @param nameOrPluginKey The plugins name\n */\n public unregisterPlugin(nameOrPluginKey: string | PluginKey): void {\n if (this.isDestroyed) {\n return\n }\n\n // @ts-ignore\n const name = typeof nameOrPluginKey === 'string' ? `${nameOrPluginKey}$` : nameOrPluginKey.key\n\n const state = this.state.reconfigure({\n // @ts-ignore\n plugins: this.state.plugins.filter(plugin => !plugin.key.startsWith(name)),\n })\n\n this.view.updateState(state)\n }\n\n /**\n * Creates an extension manager.\n */\n private createExtensionManager(): void {\n\n const coreExtensions = this.options.enableCoreExtensions ? [\n Editable,\n ClipboardTextSerializer.configure({\n blockSeparator: this.options.coreExtensionOptions?.clipboardTextSerializer?.blockSeparator,\n }),\n Commands,\n FocusEvents,\n Keymap,\n Tabindex,\n ] : []\n const allExtensions = [...coreExtensions, ...this.options.extensions].filter(extension => {\n return ['extension', 'node', 'mark'].includes(extension?.type)\n })\n\n this.extensionManager = new ExtensionManager(allExtensions, this)\n }\n\n /**\n * Creates an command manager.\n */\n private createCommandManager(): void {\n this.commandManager = new CommandManager({\n editor: this,\n })\n }\n\n /**\n * Creates a ProseMirror schema.\n */\n private createSchema(): void {\n this.schema = this.extensionManager.schema\n }\n\n /**\n * Creates a ProseMirror view.\n */\n private createView(): void {\n const doc = createDocument(this.options.content, this.schema, this.options.parseOptions)\n const selection = resolveFocusPosition(doc, this.options.autofocus)\n\n this.view = new EditorView(this.options.element, {\n ...this.options.editorProps,\n dispatchTransaction: this.dispatchTransaction.bind(this),\n state: EditorState.create({\n doc,\n selection: selection || undefined,\n }),\n })\n\n // `editor.view` is not yet available at this time.\n // Therefore we will add all plugins and node views directly afterwards.\n const newState = this.state.reconfigure({\n plugins: this.extensionManager.plugins,\n })\n\n this.view.updateState(newState)\n\n this.createNodeViews()\n this.prependClass()\n\n // Let’s store the editor instance in the DOM element.\n // So we’ll have access to it for tests.\n const dom = this.view.dom as HTMLElement\n\n dom.editor = this\n }\n\n /**\n * Creates all node views.\n */\n public createNodeViews(): void {\n this.view.setProps({\n nodeViews: this.extensionManager.nodeViews,\n })\n }\n\n /**\n * Prepend class name to element.\n */\n public prependClass(): void {\n this.view.dom.className = `tiptap ${this.view.dom.className}`\n }\n\n public isCapturingTransaction = false\n\n private capturedTransaction: Transaction | null = null\n\n public captureTransaction(fn: Function) {\n this.isCapturingTransaction = true\n fn()\n this.isCapturingTransaction = false\n\n const tr = this.capturedTransaction\n\n this.capturedTransaction = null\n\n return tr\n }\n\n /**\n * The callback over which to send transactions (state updates) produced by the view.\n *\n * @param transaction An editor state transaction\n */\n private dispatchTransaction(transaction: Transaction): void {\n // if the editor / the view of the editor was destroyed\n // the transaction should not be dispatched as there is no view anymore.\n if (this.view.isDestroyed) {\n return\n }\n\n if (this.isCapturingTransaction) {\n if (!this.capturedTransaction) {\n this.capturedTransaction = transaction\n\n return\n }\n\n transaction.steps.forEach(step => this.capturedTransaction?.step(step))\n\n return\n }\n\n const state = this.state.apply(transaction)\n const selectionHasChanged = !this.state.selection.eq(state.selection)\n\n this.view.updateState(state)\n this.emit('transaction', {\n editor: this,\n transaction,\n })\n\n if (selectionHasChanged) {\n this.emit('selectionUpdate', {\n editor: this,\n transaction,\n })\n }\n\n const focus = transaction.getMeta('focus')\n const blur = transaction.getMeta('blur')\n\n if (focus) {\n this.emit('focus', {\n editor: this,\n event: focus.event,\n transaction,\n })\n }\n\n if (blur) {\n this.emit('blur', {\n editor: this,\n event: blur.event,\n transaction,\n })\n }\n\n if (!transaction.docChanged || transaction.getMeta('preventUpdate')) {\n return\n }\n\n this.emit('update', {\n editor: this,\n transaction,\n })\n }\n\n /**\n * Get attributes of the currently selected node or mark.\n */\n public getAttributes(nameOrType: string | NodeType | MarkType): Record {\n return getAttributes(this.state, nameOrType)\n }\n\n /**\n * Returns if the currently selected node or mark is active.\n *\n * @param name Name of the node or mark\n * @param attributes Attributes of the node or mark\n */\n public isActive(name: string, attributes?: {}): boolean\n public isActive(attributes: {}): boolean\n public isActive(nameOrAttributes: string, attributesOrUndefined?: {}): boolean {\n const name = typeof nameOrAttributes === 'string' ? nameOrAttributes : null\n\n const attributes = typeof nameOrAttributes === 'string' ? attributesOrUndefined : nameOrAttributes\n\n return isActive(this.state, name, attributes)\n }\n\n /**\n * Get the document as JSON.\n */\n public getJSON(): JSONContent {\n return this.state.doc.toJSON()\n }\n\n /**\n * Get the document as HTML.\n */\n public getHTML(): string {\n return getHTMLFromFragment(this.state.doc.content, this.schema)\n }\n\n /**\n * Get the document as text.\n */\n public getText(options?: {\n blockSeparator?: string\n textSerializers?: Record\n }): string {\n const { blockSeparator = '\\n\\n', textSerializers = {} } = options || {}\n\n return getText(this.state.doc, {\n blockSeparator,\n textSerializers: {\n ...getTextSerializersFromSchema(this.schema),\n ...textSerializers,\n },\n })\n }\n\n /**\n * Check if there is no content.\n */\n public get isEmpty(): boolean {\n return isNodeEmpty(this.state.doc)\n }\n\n /**\n * Get the number of characters for the current document.\n *\n * @deprecated\n */\n public getCharacterCount(): number {\n console.warn(\n '[tiptap warn]: \"editor.getCharacterCount()\" is deprecated. Please use \"editor.storage.characterCount.characters()\" instead.',\n )\n\n return this.state.doc.content.size - 2\n }\n\n /**\n * Destroy the editor.\n */\n public destroy(): void {\n this.emit('destroy')\n\n if (this.view) {\n this.view.destroy()\n }\n\n this.removeAllListeners()\n }\n\n /**\n * Check if the editor is already destroyed.\n */\n public get isDestroyed(): boolean {\n // @ts-ignore\n return !this.view?.docView\n }\n\n public $node(selector: string, attributes?: { [key: string]: any }): NodePos | null {\n return this.$doc?.querySelector(selector, attributes) || null\n }\n\n public $nodes(selector: string, attributes?: { [key: string]: any }): NodePos[] | null {\n return this.$doc?.querySelectorAll(selector, attributes) || null\n }\n\n public $pos(pos: number) {\n const $pos = this.state.doc.resolve(pos)\n\n return new NodePos($pos, this)\n }\n\n get $doc() {\n return this.$pos(0)\n }\n}\n","import { MarkType } from '@tiptap/pm/model'\n\nimport { getMarksBetween } from '../helpers/getMarksBetween.js'\nimport { InputRule, InputRuleFinder } from '../InputRule.js'\nimport { ExtendedRegExpMatchArray } from '../types.js'\nimport { callOrReturn } from '../utilities/callOrReturn.js'\n\n/**\n * Build an input rule that adds a mark when the\n * matched text is typed into it.\n * @see https://tiptap.dev/guide/custom-extensions/#input-rules\n */\nexport function markInputRule(config: {\n find: InputRuleFinder\n type: MarkType\n getAttributes?:\n | Record\n | ((match: ExtendedRegExpMatchArray) => Record)\n | false\n | null\n}) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const attributes = callOrReturn(config.getAttributes, undefined, match)\n\n if (attributes === false || attributes === null) {\n return null\n }\n\n const { tr } = state\n const captureGroup = match[match.length - 1]\n const fullMatch = match[0]\n\n if (captureGroup) {\n const startSpaces = fullMatch.search(/\\S/)\n const textStart = range.from + fullMatch.indexOf(captureGroup)\n const textEnd = textStart + captureGroup.length\n\n const excludedMarks = getMarksBetween(range.from, range.to, state.doc)\n .filter(item => {\n // @ts-ignore\n const excluded = item.mark.type.excluded as MarkType[]\n\n return excluded.find(type => type === config.type && type !== item.mark.type)\n })\n .filter(item => item.to > textStart)\n\n if (excludedMarks.length) {\n return null\n }\n\n if (textEnd < range.to) {\n tr.delete(textEnd, range.to)\n }\n\n if (textStart > range.from) {\n tr.delete(range.from + startSpaces, textStart)\n }\n\n const markEnd = range.from + startSpaces + captureGroup.length\n\n tr.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}))\n\n tr.removeStoredMark(config.type)\n }\n },\n })\n}\n","import { NodeType } from '@tiptap/pm/model'\n\nimport { InputRule, InputRuleFinder } from '../InputRule.js'\nimport { ExtendedRegExpMatchArray } from '../types.js'\nimport { callOrReturn } from '../utilities/callOrReturn.js'\n\n/**\n * Build an input rule that adds a node when the\n * matched text is typed into it.\n * @see https://tiptap.dev/guide/custom-extensions/#input-rules\n */\nexport function nodeInputRule(config: {\n /**\n * The regex to match.\n */\n find: InputRuleFinder\n\n /**\n * The node type to add.\n */\n type: NodeType\n\n /**\n * A function that returns the attributes for the node\n * can also be an object of attributes\n */\n getAttributes?:\n | Record\n | ((match: ExtendedRegExpMatchArray) => Record)\n | false\n | null\n}) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const attributes = callOrReturn(config.getAttributes, undefined, match) || {}\n const { tr } = state\n const start = range.from\n let end = range.to\n\n const newNode = config.type.create(attributes)\n\n if (match[1]) {\n const offset = match[0].lastIndexOf(match[1])\n let matchStart = start + offset\n\n if (matchStart > end) {\n matchStart = end\n } else {\n end = matchStart + match[1].length\n }\n\n // insert last typed character\n const lastChar = match[0][match[0].length - 1]\n\n tr.insertText(lastChar, start + match[0].length - 1)\n\n // insert node from input rule\n tr.replaceWith(matchStart, end, newNode)\n } else if (match[0]) {\n tr.insert(start - 1, config.type.create(attributes)).delete(\n tr.mapping.map(start),\n tr.mapping.map(end),\n )\n }\n\n tr.scrollIntoView()\n },\n })\n}\n","import { NodeType } from '@tiptap/pm/model'\n\nimport { InputRule, InputRuleFinder } from '../InputRule.js'\nimport { ExtendedRegExpMatchArray } from '../types.js'\nimport { callOrReturn } from '../utilities/callOrReturn.js'\n\n/**\n * Build an input rule that changes the type of a textblock when the\n * matched text is typed into it. When using a regular expresion you’ll\n * probably want the regexp to start with `^`, so that the pattern can\n * only occur at the start of a textblock.\n * @see https://tiptap.dev/guide/custom-extensions/#input-rules\n */\nexport function textblockTypeInputRule(config: {\n find: InputRuleFinder\n type: NodeType\n getAttributes?:\n | Record\n | ((match: ExtendedRegExpMatchArray) => Record)\n | false\n | null\n}) {\n return new InputRule({\n find: config.find,\n handler: ({ state, range, match }) => {\n const $start = state.doc.resolve(range.from)\n const attributes = callOrReturn(config.getAttributes, undefined, match) || {}\n\n if (!$start.node(-1).canReplaceWith($start.index(-1), $start.indexAfter(-1), config.type)) {\n return null\n }\n\n state.tr\n .delete(range.from, range.to)\n .setBlockType(range.from, range.from, config.type, attributes)\n },\n })\n}\n","import { Node as ProseMirrorNode, NodeType } from '@tiptap/pm/model'\nimport { canJoin, findWrapping } from '@tiptap/pm/transform'\n\nimport { Editor } from '../Editor.js'\nimport { InputRule, InputRuleFinder } from '../InputRule.js'\nimport { ExtendedRegExpMatchArray } from '../types.js'\nimport { callOrReturn } from '../utilities/callOrReturn.js'\n\n/**\n * Build an input rule for automatically wrapping a textblock when a\n * given string is typed. When using a regular expresion you’ll\n * probably want the regexp to start with `^`, so that the pattern can\n * only occur at the start of a textblock.\n *\n * `type` is the type of node to wrap in.\n *\n * By default, if there’s a node with the same type above the newly\n * wrapped node, the rule will try to join those\n * two nodes. You can pass a join predicate, which takes a regular\n * expression match and the node before the wrapped node, and can\n * return a boolean to indicate whether a join should happen.\n * @see https://tiptap.dev/guide/custom-extensions/#input-rules\n */\nexport function wrappingInputRule(config: {\n find: InputRuleFinder,\n type: NodeType,\n keepMarks?: boolean,\n keepAttributes?: boolean,\n editor?: Editor\n getAttributes?:\n | Record\n | ((match: ExtendedRegExpMatchArray) => Record)\n | false\n | null\n ,\n joinPredicate?: (match: ExtendedRegExpMatchArray, node: ProseMirrorNode) => boolean,\n}) {\n return new InputRule({\n find: config.find,\n handler: ({\n state, range, match, chain,\n }) => {\n const attributes = callOrReturn(config.getAttributes, undefined, match) || {}\n const tr = state.tr.delete(range.from, range.to)\n const $start = tr.doc.resolve(range.from)\n const blockRange = $start.blockRange()\n const wrapping = blockRange && findWrapping(blockRange, config.type, attributes)\n\n if (!wrapping) {\n return null\n }\n\n tr.wrap(blockRange, wrapping)\n\n if (config.keepMarks && config.editor) {\n const { selection, storedMarks } = state\n const { splittableMarks } = config.editor.extensionManager\n const marks = storedMarks || (selection.$to.parentOffset && selection.$from.marks())\n\n if (marks) {\n const filteredMarks = marks.filter(mark => splittableMarks.includes(mark.type.name))\n\n tr.ensureMarks(filteredMarks)\n }\n }\n if (config.keepAttributes) {\n /** If the nodeType is `bulletList` or `orderedList` set the `nodeType` as `listItem` */\n const nodeType = config.type.name === 'bulletList' || config.type.name === 'orderedList' ? 'listItem' : 'taskList'\n\n chain().updateAttributes(nodeType, attributes).run()\n }\n\n const before = tr.doc.resolve(range.from - 1).nodeBefore\n\n if (\n before\n && before.type === config.type\n && canJoin(tr.doc, range.from - 1)\n && (!config.joinPredicate || config.joinPredicate(match, before))\n ) {\n tr.join(range.from - 1)\n }\n },\n })\n}\n","import {\n DOMOutputSpec, Mark as ProseMirrorMark, MarkSpec, MarkType,\n} from '@tiptap/pm/model'\nimport { Plugin, Transaction } from '@tiptap/pm/state'\n\nimport { Editor } from './Editor.js'\nimport { getExtensionField } from './helpers/getExtensionField.js'\nimport { MarkConfig } from './index.js'\nimport { InputRule } from './InputRule.js'\nimport { Node } from './Node.js'\nimport { PasteRule } from './PasteRule.js'\nimport {\n AnyConfig,\n Attributes,\n Extensions,\n GlobalAttributes,\n KeyboardShortcutCommand,\n ParentConfig,\n RawCommands,\n} from './types.js'\nimport { callOrReturn } from './utilities/callOrReturn.js'\nimport { mergeDeep } from './utilities/mergeDeep.js'\n\ndeclare module '@tiptap/core' {\n export interface MarkConfig {\n [key: string]: any\n\n /**\n * The extension name - this must be unique.\n * It will be used to identify the extension.\n *\n * @example 'myExtension'\n */\n name: string\n\n /**\n * The priority of your extension. The higher, the later it will be called\n * and will take precedence over other extensions with a lower priority.\n * @default 1000\n * @example 1001\n */\n priority?: number\n\n /**\n * The default options for this extension.\n * @example\n * defaultOptions: {\n * myOption: 'foo',\n * myOtherOption: 10,\n * }\n */\n defaultOptions?: Options\n\n /**\n * This method will add options to this extension\n * @see https://tiptap.dev/guide/custom-extensions#settings\n * @example\n * addOptions() {\n * return {\n * myOption: 'foo',\n * myOtherOption: 10,\n * }\n */\n addOptions?: (this: {\n name: string\n parent: Exclude>['addOptions'], undefined>\n }) => Options\n\n /**\n * The default storage this extension can save data to.\n * @see https://tiptap.dev/guide/custom-extensions#storage\n * @example\n * defaultStorage: {\n * prefetchedUsers: [],\n * loading: false,\n * }\n */\n addStorage?: (this: {\n name: string\n options: Options\n parent: Exclude>['addStorage'], undefined>\n }) => Storage\n\n /**\n * This function adds globalAttributes to specific nodes.\n * @see https://tiptap.dev/guide/custom-extensions#global-attributes\n * @example\n * addGlobalAttributes() {\n * return [\n * {\n // Extend the following extensions\n * types: [\n * 'heading',\n * 'paragraph',\n * ],\n * // … with those attributes\n * attributes: {\n * textAlign: {\n * default: 'left',\n * renderHTML: attributes => ({\n * style: `text-align: ${attributes.textAlign}`,\n * }),\n * parseHTML: element => element.style.textAlign || 'left',\n * },\n * },\n * },\n * ]\n * }\n */\n addGlobalAttributes?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addGlobalAttributes']\n }) => GlobalAttributes | {}\n\n /**\n * This function adds commands to the editor\n * @see https://tiptap.dev/guide/custom-extensions#keyboard-shortcuts\n * @example\n * addCommands() {\n * return {\n * myCommand: () => ({ chain }) => chain().setMark('type', 'foo').run(),\n * }\n * }\n */\n addCommands?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['addCommands']\n }) => Partial\n\n /**\n * This function registers keyboard shortcuts.\n * @see https://tiptap.dev/guide/custom-extensions#keyboard-shortcuts\n * @example\n * addKeyboardShortcuts() {\n * return {\n * 'Mod-l': () => this.editor.commands.toggleBulletList(),\n * }\n * },\n */\n addKeyboardShortcuts?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['addKeyboardShortcuts']\n }) => {\n [key: string]: KeyboardShortcutCommand\n }\n\n /**\n * This function adds input rules to the editor.\n * @see https://tiptap.dev/guide/custom-extensions#input-rules\n * @example\n * addInputRules() {\n * return [\n * markInputRule({\n * find: inputRegex,\n * type: this.type,\n * }),\n * ]\n * },\n */\n addInputRules?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['addInputRules']\n }) => InputRule[]\n\n /**\n * This function adds paste rules to the editor.\n * @see https://tiptap.dev/guide/custom-extensions#paste-rules\n * @example\n * addPasteRules() {\n * return [\n * markPasteRule({\n * find: pasteRegex,\n * type: this.type,\n * }),\n * ]\n * },\n */\n addPasteRules?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['addPasteRules']\n }) => PasteRule[]\n\n /**\n * This function adds Prosemirror plugins to the editor\n * @see https://tiptap.dev/guide/custom-extensions#prosemirror-plugins\n * @example\n * addProseMirrorPlugins() {\n * return [\n * customPlugin(),\n * ]\n * }\n */\n addProseMirrorPlugins?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['addProseMirrorPlugins']\n }) => Plugin[]\n\n /**\n * This function adds additional extensions to the editor. This is useful for\n * building extension kits.\n * @example\n * addExtensions() {\n * return [\n * BulletList,\n * OrderedList,\n * ListItem\n * ]\n * }\n */\n addExtensions?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addExtensions']\n }) => Extensions\n\n /**\n * This function extends the schema of the node.\n * @example\n * extendNodeSchema() {\n * return {\n * group: 'inline',\n * selectable: false,\n * }\n * }\n */\n extendNodeSchema?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['extendNodeSchema']\n },\n extension: Node,\n ) => Record)\n | null\n\n /**\n * This function extends the schema of the mark.\n * @example\n * extendMarkSchema() {\n * return {\n * group: 'inline',\n * selectable: false,\n * }\n * }\n */\n extendMarkSchema?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['extendMarkSchema']\n },\n extension: Mark,\n ) => Record)\n | null\n\n /**\n * The editor is not ready yet.\n */\n onBeforeCreate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onBeforeCreate']\n }) => void)\n | null\n\n /**\n * The editor is ready.\n */\n onCreate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onCreate']\n }) => void)\n | null\n\n /**\n * The content has changed.\n */\n onUpdate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onUpdate']\n }) => void)\n | null\n\n /**\n * The selection has changed.\n */\n onSelectionUpdate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onSelectionUpdate']\n }) => void)\n | null\n\n /**\n * The editor state has changed.\n */\n onTransaction?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onTransaction']\n },\n props: {\n transaction: Transaction\n },\n ) => void)\n | null\n\n /**\n * The editor is focused.\n */\n onFocus?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onFocus']\n },\n props: {\n event: FocusEvent\n },\n ) => void)\n | null\n\n /**\n * The editor isn’t focused anymore.\n */\n onBlur?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onBlur']\n },\n props: {\n event: FocusEvent\n },\n ) => void)\n | null\n\n /**\n * The editor is destroyed.\n */\n onDestroy?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: MarkType\n parent: ParentConfig>['onDestroy']\n }) => void)\n | null\n\n /**\n * Keep mark after split node\n */\n keepOnSplit?: boolean | (() => boolean)\n\n /**\n * Inclusive\n */\n inclusive?:\n | MarkSpec['inclusive']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['inclusive']\n editor?: Editor\n }) => MarkSpec['inclusive'])\n\n /**\n * Excludes\n */\n excludes?:\n | MarkSpec['excludes']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['excludes']\n editor?: Editor\n }) => MarkSpec['excludes'])\n\n /**\n * Marks this Mark as exitable\n */\n exitable?: boolean | (() => boolean)\n\n /**\n * Group\n */\n group?:\n | MarkSpec['group']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['group']\n editor?: Editor\n }) => MarkSpec['group'])\n\n /**\n * Spanning\n */\n spanning?:\n | MarkSpec['spanning']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['spanning']\n editor?: Editor\n }) => MarkSpec['spanning'])\n\n /**\n * Code\n */\n code?:\n | boolean\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['code']\n editor?: Editor\n }) => boolean)\n\n /**\n * Parse HTML\n */\n parseHTML?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['parseHTML']\n editor?: Editor\n }) => MarkSpec['parseDOM']\n\n /**\n * Render HTML\n */\n renderHTML?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['renderHTML']\n editor?: Editor\n },\n props: {\n mark: ProseMirrorMark\n HTMLAttributes: Record\n },\n ) => DOMOutputSpec)\n | null\n\n /**\n * Attributes\n */\n addAttributes?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addAttributes']\n editor?: Editor\n }) => Attributes | {}\n }\n}\n\n/**\n * The Mark class is used to create custom mark extensions.\n * @see https://tiptap.dev/api/extensions#create-a-new-extension\n */\nexport class Mark {\n type = 'mark'\n\n name = 'mark'\n\n parent: Mark | null = null\n\n child: Mark | null = null\n\n options: Options\n\n storage: Storage\n\n config: MarkConfig = {\n name: this.name,\n defaultOptions: {},\n }\n\n constructor(config: Partial> = {}) {\n this.config = {\n ...this.config,\n ...config,\n }\n\n this.name = this.config.name\n\n if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {\n console.warn(\n `[tiptap warn]: BREAKING CHANGE: \"defaultOptions\" is deprecated. Please use \"addOptions\" instead. Found in extension: \"${this.name}\".`,\n )\n }\n\n // TODO: remove `addOptions` fallback\n this.options = this.config.defaultOptions\n\n if (this.config.addOptions) {\n this.options = callOrReturn(\n getExtensionField(this, 'addOptions', {\n name: this.name,\n }),\n )\n }\n\n this.storage = callOrReturn(\n getExtensionField(this, 'addStorage', {\n name: this.name,\n options: this.options,\n }),\n ) || {}\n }\n\n static create(config: Partial> = {}) {\n return new Mark(config)\n }\n\n configure(options: Partial = {}) {\n // return a new instance so we can use the same extension\n // with different calls of `configure`\n const extension = this.extend()\n\n extension.options = mergeDeep(this.options as Record, options) as Options\n\n extension.storage = callOrReturn(\n getExtensionField(extension, 'addStorage', {\n name: extension.name,\n options: extension.options,\n }),\n )\n\n return extension\n }\n\n extend(\n extendedConfig: Partial> = {},\n ) {\n const extension = new Mark({ ...this.config, ...extendedConfig })\n\n extension.parent = this\n\n this.child = extension\n\n extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name\n\n if (extendedConfig.defaultOptions) {\n console.warn(\n `[tiptap warn]: BREAKING CHANGE: \"defaultOptions\" is deprecated. Please use \"addOptions\" instead. Found in extension: \"${extension.name}\".`,\n )\n }\n\n extension.options = callOrReturn(\n getExtensionField(extension, 'addOptions', {\n name: extension.name,\n }),\n )\n\n extension.storage = callOrReturn(\n getExtensionField(extension, 'addStorage', {\n name: extension.name,\n options: extension.options,\n }),\n )\n\n return extension\n }\n\n static handleExit({ editor, mark }: { editor: Editor; mark: Mark }) {\n const { tr } = editor.state\n const currentPos = editor.state.selection.$from\n const isAtEnd = currentPos.pos === currentPos.end()\n\n if (isAtEnd) {\n const currentMarks = currentPos.marks()\n const isInMark = !!currentMarks.find(m => m?.type.name === mark.name)\n\n if (!isInMark) {\n return false\n }\n\n const removeMark = currentMarks.find(m => m?.type.name === mark.name)\n\n if (removeMark) {\n tr.removeStoredMark(removeMark)\n }\n tr.insertText(' ', currentPos.pos)\n\n editor.view.dispatch(tr)\n\n return true\n }\n\n return false\n }\n}\n","import {\n DOMOutputSpec, Node as ProseMirrorNode, NodeSpec, NodeType,\n} from '@tiptap/pm/model'\nimport { Plugin, Transaction } from '@tiptap/pm/state'\n\nimport { Editor } from './Editor.js'\nimport { getExtensionField } from './helpers/getExtensionField.js'\nimport { NodeConfig } from './index.js'\nimport { InputRule } from './InputRule.js'\nimport { PasteRule } from './PasteRule.js'\nimport {\n AnyConfig,\n Attributes,\n Extensions,\n GlobalAttributes,\n KeyboardShortcutCommand,\n NodeViewRenderer,\n ParentConfig,\n RawCommands,\n} from './types.js'\nimport { callOrReturn } from './utilities/callOrReturn.js'\nimport { mergeDeep } from './utilities/mergeDeep.js'\n\ndeclare module '@tiptap/core' {\n interface NodeConfig {\n [key: string]: any\n\n /**\n * The extension name - this must be unique.\n * It will be used to identify the extension.\n *\n * @example 'myExtension'\n */\n name: string\n\n /**\n * The priority of your extension. The higher, the later it will be called\n * and will take precedence over other extensions with a lower priority.\n * @default 1000\n * @example 1001\n */\n priority?: number\n\n /**\n * The default options for this extension.\n * @example\n * defaultOptions: {\n * myOption: 'foo',\n * myOtherOption: 10,\n * }\n */\n defaultOptions?: Options\n\n /**\n * This method will add options to this extension\n * @see https://tiptap.dev/guide/custom-extensions#settings\n * @example\n * addOptions() {\n * return {\n * myOption: 'foo',\n * myOtherOption: 10,\n * }\n */\n addOptions?: (this: {\n name: string\n parent: Exclude>['addOptions'], undefined>\n }) => Options\n\n /**\n * The default storage this extension can save data to.\n * @see https://tiptap.dev/guide/custom-extensions#storage\n * @example\n * defaultStorage: {\n * prefetchedUsers: [],\n * loading: false,\n * }\n */\n addStorage?: (this: {\n name: string\n options: Options\n parent: Exclude>['addStorage'], undefined>\n }) => Storage\n\n /**\n * This function adds globalAttributes to specific nodes.\n * @see https://tiptap.dev/guide/custom-extensions#global-attributes\n * @example\n * addGlobalAttributes() {\n * return [\n * {\n // Extend the following extensions\n * types: [\n * 'heading',\n * 'paragraph',\n * ],\n * // … with those attributes\n * attributes: {\n * textAlign: {\n * default: 'left',\n * renderHTML: attributes => ({\n * style: `text-align: ${attributes.textAlign}`,\n * }),\n * parseHTML: element => element.style.textAlign || 'left',\n * },\n * },\n * },\n * ]\n * }\n */\n addGlobalAttributes?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addGlobalAttributes']\n }) => GlobalAttributes | {}\n\n /**\n * This function adds commands to the editor\n * @see https://tiptap.dev/guide/custom-extensions#keyboard-shortcuts\n * @example\n * addCommands() {\n * return {\n * myCommand: () => ({ chain }) => chain().setMark('type', 'foo').run(),\n * }\n * }\n */\n addCommands?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['addCommands']\n }) => Partial\n\n /**\n * This function registers keyboard shortcuts.\n * @see https://tiptap.dev/guide/custom-extensions#keyboard-shortcuts\n * @example\n * addKeyboardShortcuts() {\n * return {\n * 'Mod-l': () => this.editor.commands.toggleBulletList(),\n * }\n * },\n */\n addKeyboardShortcuts?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['addKeyboardShortcuts']\n }) => {\n [key: string]: KeyboardShortcutCommand\n }\n\n /**\n * This function adds input rules to the editor.\n * @see https://tiptap.dev/guide/custom-extensions#input-rules\n * @example\n * addInputRules() {\n * return [\n * markInputRule({\n * find: inputRegex,\n * type: this.type,\n * }),\n * ]\n * },\n */\n addInputRules?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['addInputRules']\n }) => InputRule[]\n\n /**\n * This function adds paste rules to the editor.\n * @see https://tiptap.dev/guide/custom-extensions#paste-rules\n * @example\n * addPasteRules() {\n * return [\n * markPasteRule({\n * find: pasteRegex,\n * type: this.type,\n * }),\n * ]\n * },\n */\n addPasteRules?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['addPasteRules']\n }) => PasteRule[]\n\n /**\n * This function adds Prosemirror plugins to the editor\n * @see https://tiptap.dev/guide/custom-extensions#prosemirror-plugins\n * @example\n * addProseMirrorPlugins() {\n * return [\n * customPlugin(),\n * ]\n * }\n */\n addProseMirrorPlugins?: (this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['addProseMirrorPlugins']\n }) => Plugin[]\n\n /**\n * This function adds additional extensions to the editor. This is useful for\n * building extension kits.\n * @example\n * addExtensions() {\n * return [\n * BulletList,\n * OrderedList,\n * ListItem\n * ]\n * }\n */\n addExtensions?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addExtensions']\n }) => Extensions\n\n /**\n * This function extends the schema of the node.\n * @example\n * extendNodeSchema() {\n * return {\n * group: 'inline',\n * selectable: false,\n * }\n * }\n */\n extendNodeSchema?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['extendNodeSchema']\n },\n extension: Node,\n ) => Record)\n | null\n\n /**\n * This function extends the schema of the mark.\n * @example\n * extendMarkSchema() {\n * return {\n * group: 'inline',\n * selectable: false,\n * }\n * }\n */\n extendMarkSchema?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['extendMarkSchema']\n editor?: Editor\n },\n extension: Node,\n ) => Record)\n | null\n\n /**\n * The editor is not ready yet.\n */\n onBeforeCreate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onBeforeCreate']\n }) => void)\n | null\n\n /**\n * The editor is ready.\n */\n onCreate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onCreate']\n }) => void)\n | null\n\n /**\n * The content has changed.\n */\n onUpdate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onUpdate']\n }) => void)\n | null\n\n /**\n * The selection has changed.\n */\n onSelectionUpdate?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onSelectionUpdate']\n }) => void)\n | null\n\n /**\n * The editor state has changed.\n */\n onTransaction?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onTransaction']\n },\n props: {\n transaction: Transaction\n },\n ) => void)\n | null\n\n /**\n * The editor is focused.\n */\n onFocus?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onFocus']\n },\n props: {\n event: FocusEvent\n },\n ) => void)\n | null\n\n /**\n * The editor isn’t focused anymore.\n */\n onBlur?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onBlur']\n },\n props: {\n event: FocusEvent\n },\n ) => void)\n | null\n\n /**\n * The editor is destroyed.\n */\n onDestroy?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['onDestroy']\n }) => void)\n | null\n\n /**\n * Node View\n */\n addNodeView?:\n | ((this: {\n name: string\n options: Options\n storage: Storage\n editor: Editor\n type: NodeType\n parent: ParentConfig>['addNodeView']\n }) => NodeViewRenderer)\n | null\n\n /**\n * Defines if this node should be a top level node (doc)\n * @default false\n * @example true\n */\n topNode?: boolean\n\n /**\n * The content expression for this node, as described in the [schema\n * guide](/docs/guide/#schema.content_expressions). When not given,\n * the node does not allow any content.\n *\n * You can read more about it on the Prosemirror documentation here\n * @see https://prosemirror.net/docs/guide/#schema.content_expressions\n * @default undefined\n * @example content: 'block+'\n * @example content: 'headline paragraph block*'\n */\n content?:\n | NodeSpec['content']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['content']\n editor?: Editor\n }) => NodeSpec['content'])\n\n /**\n * The marks that are allowed inside of this node. May be a\n * space-separated string referring to mark names or groups, `\"_\"`\n * to explicitly allow all marks, or `\"\"` to disallow marks. When\n * not given, nodes with inline content default to allowing all\n * marks, other nodes default to not allowing marks.\n *\n * @example marks: 'strong em'\n */\n marks?:\n | NodeSpec['marks']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['marks']\n editor?: Editor\n }) => NodeSpec['marks'])\n\n /**\n * The group or space-separated groups to which this node belongs,\n * which can be referred to in the content expressions for the\n * schema.\n *\n * By default Tiptap uses the groups 'block' and 'inline' for nodes. You\n * can also use custom groups if you want to group specific nodes together\n * and handle them in your schema.\n * @example group: 'block'\n * @example group: 'inline'\n * @example group: 'customBlock' // this uses a custom group\n */\n group?:\n | NodeSpec['group']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['group']\n editor?: Editor\n }) => NodeSpec['group'])\n\n /**\n * Should be set to true for inline nodes. (Implied for text nodes.)\n */\n inline?:\n | NodeSpec['inline']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['inline']\n editor?: Editor\n }) => NodeSpec['inline'])\n\n /**\n * Can be set to true to indicate that, though this isn't a [leaf\n * node](https://prosemirror.net/docs/ref/#model.NodeType.isLeaf), it doesn't have directly editable\n * content and should be treated as a single unit in the view.\n *\n * @example atom: true\n */\n atom?:\n | NodeSpec['atom']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['atom']\n editor?: Editor\n }) => NodeSpec['atom'])\n\n /**\n * Controls whether nodes of this type can be selected as a [node\n * selection](https://prosemirror.net/docs/ref/#state.NodeSelection). Defaults to true for non-text\n * nodes.\n *\n * @default true\n * @example selectable: false\n */\n selectable?:\n | NodeSpec['selectable']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['selectable']\n editor?: Editor\n }) => NodeSpec['selectable'])\n\n /**\n * Determines whether nodes of this type can be dragged without\n * being selected. Defaults to false.\n *\n * @default: false\n * @example: draggable: true\n */\n draggable?:\n | NodeSpec['draggable']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['draggable']\n editor?: Editor\n }) => NodeSpec['draggable'])\n\n /**\n * Can be used to indicate that this node contains code, which\n * causes some commands to behave differently.\n */\n code?:\n | NodeSpec['code']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['code']\n editor?: Editor\n }) => NodeSpec['code'])\n\n /**\n * Controls way whitespace in this a node is parsed. The default is\n * `\"normal\"`, which causes the [DOM parser](https://prosemirror.net/docs/ref/#model.DOMParser) to\n * collapse whitespace in normal mode, and normalize it (replacing\n * newlines and such with spaces) otherwise. `\"pre\"` causes the\n * parser to preserve spaces inside the node. When this option isn't\n * given, but [`code`](https://prosemirror.net/docs/ref/#model.NodeSpec.code) is true, `whitespace`\n * will default to `\"pre\"`. Note that this option doesn't influence\n * the way the node is rendered—that should be handled by `toDOM`\n * and/or styling.\n */\n whitespace?:\n | NodeSpec['whitespace']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['whitespace']\n editor?: Editor\n }) => NodeSpec['whitespace'])\n\n /**\n * When enabled, enables both\n * [`definingAsContext`](https://prosemirror.net/docs/ref/#model.NodeSpec.definingAsContext) and\n * [`definingForContent`](https://prosemirror.net/docs/ref/#model.NodeSpec.definingForContent).\n *\n * @default false\n * @example isolating: true\n */\n defining?:\n | NodeSpec['defining']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['defining']\n editor?: Editor\n }) => NodeSpec['defining'])\n\n /**\n * When enabled (default is false), the sides of nodes of this type\n * count as boundaries that regular editing operations, like\n * backspacing or lifting, won't cross. An example of a node that\n * should probably have this enabled is a table cell.\n */\n isolating?:\n | NodeSpec['isolating']\n | ((this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['isolating']\n editor?: Editor\n }) => NodeSpec['isolating'])\n\n /**\n * Associates DOM parser information with this node, which can be\n * used by [`DOMParser.fromSchema`](https://prosemirror.net/docs/ref/#model.DOMParser^fromSchema) to\n * automatically derive a parser. The `node` field in the rules is\n * implied (the name of this node will be filled in automatically).\n * If you supply your own parser, you do not need to also specify\n * parsing rules in your schema.\n *\n * @example parseHTML: [{ tag: 'div', attrs: { 'data-id': 'my-block' } }]\n */\n parseHTML?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['parseHTML']\n editor?: Editor\n }) => NodeSpec['parseDOM']\n\n /**\n * A description of a DOM structure. Can be either a string, which is\n * interpreted as a text node, a DOM node, which is interpreted as\n * itself, a `{dom, contentDOM}` object, or an array.\n *\n * An array describes a DOM element. The first value in the array\n * should be a string—the name of the DOM element, optionally prefixed\n * by a namespace URL and a space. If the second element is plain\n * object, it is interpreted as a set of attributes for the element.\n * Any elements after that (including the 2nd if it's not an attribute\n * object) are interpreted as children of the DOM elements, and must\n * either be valid `DOMOutputSpec` values, or the number zero.\n *\n * The number zero (pronounced “hole”) is used to indicate the place\n * where a node's child nodes should be inserted. If it occurs in an\n * output spec, it should be the only child element in its parent\n * node.\n *\n * @example toDOM: ['div[data-id=\"my-block\"]', { class: 'my-block' }, 0]\n */\n renderHTML?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['renderHTML']\n editor?: Editor\n },\n props: {\n node: ProseMirrorNode\n HTMLAttributes: Record\n },\n ) => DOMOutputSpec)\n | null\n\n /**\n * renders the node as text\n * @example renderText: () => 'foo\n */\n renderText?:\n | ((\n this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['renderText']\n editor?: Editor\n },\n props: {\n node: ProseMirrorNode\n pos: number\n parent: ProseMirrorNode\n index: number\n },\n ) => string)\n | null\n\n /**\n * Add attributes to the node\n * @example addAttributes: () => ({ class: 'foo' })\n */\n addAttributes?: (this: {\n name: string\n options: Options\n storage: Storage\n parent: ParentConfig>['addAttributes']\n editor?: Editor\n }) => Attributes | {}\n }\n}\n\n/**\n * The Node class is used to create custom node extensions.\n * @see https://tiptap.dev/api/extensions#create-a-new-extension\n */\nexport class Node {\n type = 'node'\n\n name = 'node'\n\n parent: Node | null = null\n\n child: Node | null = null\n\n options: Options\n\n storage: Storage\n\n config: NodeConfig = {\n name: this.name,\n defaultOptions: {},\n }\n\n constructor(config: Partial> = {}) {\n this.config = {\n ...this.config,\n ...config,\n }\n\n this.name = this.config.name\n\n if (config.defaultOptions && Object.keys(config.defaultOptions).length > 0) {\n console.warn(\n `[tiptap warn]: BREAKING CHANGE: \"defaultOptions\" is deprecated. Please use \"addOptions\" instead. Found in extension: \"${this.name}\".`,\n )\n }\n\n // TODO: remove `addOptions` fallback\n this.options = this.config.defaultOptions\n\n if (this.config.addOptions) {\n this.options = callOrReturn(\n getExtensionField(this, 'addOptions', {\n name: this.name,\n }),\n )\n }\n\n this.storage = callOrReturn(\n getExtensionField(this, 'addStorage', {\n name: this.name,\n options: this.options,\n }),\n ) || {}\n }\n\n static create(config: Partial> = {}) {\n return new Node(config)\n }\n\n configure(options: Partial = {}) {\n // return a new instance so we can use the same extension\n // with different calls of `configure`\n const extension = this.extend()\n\n extension.options = mergeDeep(this.options as Record, options) as Options\n\n extension.storage = callOrReturn(\n getExtensionField(extension, 'addStorage', {\n name: extension.name,\n options: extension.options,\n }),\n )\n\n return extension\n }\n\n extend(\n extendedConfig: Partial> = {},\n ) {\n const extension = new Node({ ...this.config, ...extendedConfig })\n\n extension.parent = this\n\n this.child = extension\n\n extension.name = extendedConfig.name ? extendedConfig.name : extension.parent.name\n\n if (extendedConfig.defaultOptions) {\n console.warn(\n `[tiptap warn]: BREAKING CHANGE: \"defaultOptions\" is deprecated. Please use \"addOptions\" instead. Found in extension: \"${extension.name}\".`,\n )\n }\n\n extension.options = callOrReturn(\n getExtensionField(extension, 'addOptions', {\n name: extension.name,\n }),\n )\n\n extension.storage = callOrReturn(\n getExtensionField(extension, 'addStorage', {\n name: extension.name,\n options: extension.options,\n }),\n )\n\n return extension\n }\n}\n","import { MarkType } from '@tiptap/pm/model'\n\nimport { getMarksBetween } from '../helpers/getMarksBetween.js'\nimport { PasteRule, PasteRuleFinder } from '../PasteRule.js'\nimport { ExtendedRegExpMatchArray } from '../types.js'\nimport { callOrReturn } from '../utilities/callOrReturn.js'\n\n/**\n * Build an paste rule that adds a mark when the\n * matched text is pasted into it.\n * @see https://tiptap.dev/guide/custom-extensions/#paste-rules\n */\nexport function markPasteRule(config: {\n find: PasteRuleFinder\n type: MarkType\n getAttributes?:\n | Record\n | ((match: ExtendedRegExpMatchArray, event: ClipboardEvent) => Record)\n | false\n | null\n}) {\n return new PasteRule({\n find: config.find,\n handler: ({\n state, range, match, pasteEvent,\n }) => {\n const attributes = callOrReturn(config.getAttributes, undefined, match, pasteEvent)\n\n if (attributes === false || attributes === null) {\n return null\n }\n\n const { tr } = state\n const captureGroup = match[match.length - 1]\n const fullMatch = match[0]\n let markEnd = range.to\n\n if (captureGroup) {\n const startSpaces = fullMatch.search(/\\S/)\n const textStart = range.from + fullMatch.indexOf(captureGroup)\n const textEnd = textStart + captureGroup.length\n\n const excludedMarks = getMarksBetween(range.from, range.to, state.doc)\n .filter(item => {\n // @ts-ignore\n const excluded = item.mark.type.excluded as MarkType[]\n\n return excluded.find(type => type === config.type && type !== item.mark.type)\n })\n .filter(item => item.to > textStart)\n\n if (excludedMarks.length) {\n return null\n }\n\n if (textEnd < range.to) {\n tr.delete(textEnd, range.to)\n }\n\n if (textStart > range.from) {\n tr.delete(range.from + startSpaces, textStart)\n }\n\n markEnd = range.from + startSpaces + captureGroup.length\n\n tr.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}))\n\n tr.removeStoredMark(config.type)\n }\n },\n })\n}\n","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","export const ROUND_ARROW =\n '';\n\nexport const BOX_CLASS = `__NAMESPACE_PREFIX__-box`;\nexport const CONTENT_CLASS = `__NAMESPACE_PREFIX__-content`;\nexport const BACKDROP_CLASS = `__NAMESPACE_PREFIX__-backdrop`;\nexport const ARROW_CLASS = `__NAMESPACE_PREFIX__-arrow`;\nexport const SVG_ARROW_CLASS = `__NAMESPACE_PREFIX__-svg-arrow`;\n\nexport const TOUCH_OPTIONS = {passive: true, capture: true};\n\nexport const TIPPY_DEFAULT_APPEND_TO = () => document.body;\n","import {BasePlacement, Placement} from './types';\n\nexport function hasOwnProperty(\n obj: Record,\n key: string\n): boolean {\n return {}.hasOwnProperty.call(obj, key);\n}\n\nexport function getValueAtIndexOrReturn(\n value: T | [T | null, T | null],\n index: number,\n defaultValue: T | [T, T]\n): T {\n if (Array.isArray(value)) {\n const v = value[index];\n return v == null\n ? Array.isArray(defaultValue)\n ? defaultValue[index]\n : defaultValue\n : v;\n }\n\n return value;\n}\n\nexport function isType(value: any, type: string): boolean {\n const str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(`${type}]`) > -1;\n}\n\nexport function invokeWithArgsOrReturn(value: any, args: any[]): any {\n return typeof value === 'function' ? value(...args) : value;\n}\n\nexport function debounce(\n fn: (arg: T) => void,\n ms: number\n): (arg: T) => void {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n let timeout: any;\n\n return (arg): void => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(arg);\n }, ms);\n };\n}\n\nexport function removeProperties(obj: T, keys: string[]): Partial {\n const clone = {...obj};\n keys.forEach((key) => {\n delete (clone as any)[key];\n });\n return clone;\n}\n\nexport function splitBySpaces(value: string): string[] {\n return value.split(/\\s+/).filter(Boolean);\n}\n\nexport function normalizeToArray(value: T | T[]): T[] {\n return ([] as T[]).concat(value);\n}\n\nexport function pushIfUnique(arr: T[], value: T): void {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\n\nexport function appendPxIfNumber(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function unique(arr: T[]): T[] {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n}\n\nexport function getNumber(value: string | number): number {\n return typeof value === 'number' ? value : parseFloat(value);\n}\n\nexport function getBasePlacement(placement: Placement): BasePlacement {\n return placement.split('-')[0] as BasePlacement;\n}\n\nexport function arrayFrom(value: ArrayLike): any[] {\n return [].slice.call(value);\n}\n\nexport function removeUndefinedProps(\n obj: Record\n): Partial> {\n return Object.keys(obj).reduce((acc, key) => {\n if (obj[key] !== undefined) {\n (acc as any)[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n","import {ReferenceElement, Targets} from './types';\nimport {PopperTreeData} from './types-internal';\nimport {arrayFrom, isType, normalizeToArray, getBasePlacement} from './utils';\n\nexport function div(): HTMLDivElement {\n return document.createElement('div');\n}\n\nexport function isElement(value: unknown): value is Element | DocumentFragment {\n return ['Element', 'Fragment'].some((type) => isType(value, type));\n}\n\nexport function isNodeList(value: unknown): value is NodeList {\n return isType(value, 'NodeList');\n}\n\nexport function isMouseEvent(value: unknown): value is MouseEvent {\n return isType(value, 'MouseEvent');\n}\n\nexport function isReferenceElement(value: any): value is ReferenceElement {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\n\nexport function getArrayOfElements(value: Targets): Element[] {\n if (isElement(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\n\nexport function setTransitionDuration(\n els: (HTMLDivElement | null)[],\n value: number\n): void {\n els.forEach((el) => {\n if (el) {\n el.style.transitionDuration = `${value}ms`;\n }\n });\n}\n\nexport function setVisibilityState(\n els: (HTMLDivElement | null)[],\n state: 'visible' | 'hidden'\n): void {\n els.forEach((el) => {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\n\nexport function getOwnerDocument(\n elementOrElements: Element | Element[]\n): Document {\n const [element] = normalizeToArray(elementOrElements);\n\n // Elements created via a