diff --git a/Web/package-lock.json b/Web/package-lock.json index e4d43ec..2376180 100644 --- a/Web/package-lock.json +++ b/Web/package-lock.json @@ -1,10357 +1,10357 @@ -{ - "name": "web", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "web", - "version": "0.0.0", - "dependencies": { - "@angular/animations": "^20.0.4", - "@angular/cdk": "^20.0.3", - "@angular/common": "^20.0.4", - "@angular/compiler": "^20.0.4", - "@angular/core": "^20.0.4", - "@angular/forms": "^20.0.4", - "@angular/material": "^20.0.3", - "@angular/platform-browser": "^20.0.4", - "@angular/platform-browser-dynamic": "^20.0.4", - "@angular/router": "^20.0.4", - "@ng-matero/extensions": "^20.1.0", - "@ngx-translate/core": "^16.0.4", - "@ngx-translate/http-loader": "^16.0.1", - "angular-calendar": "^0.31.1", - "angular-oauth2-oidc": "^20.0.2", - "angular-tabler-icons": "^3.26.0", - "apexcharts": "^4.7.0", - "chance": "^1.1.13", - "date-fns": "^4.1.0", - "highlight.js": "^11.11.1", - "ng-apexcharts": "^1.16.0", - "ng2-search-filter": "^0.5.1", - "ngx-dropzone": "^3.1.0", - "ngx-editor": "^19.0.0-beta.1", - "ngx-highlightjs": "^14.0.1", - "ngx-owl-carousel-o": "^20.0.0", - "ngx-pagination": "^6.0.3", - "ngx-permissions": "^19.0.0", - "ngx-scrollbar": "^18.0.0", - "ngx-toastr": "^19.0.0", - "rxjs": "~7.8.2", - "sass": "^1.89.2", - "tslib": "^2.8.1", - "zone.js": "~0.15.1" - }, - "devDependencies": { - "@angular/build": "^20.0.3", - "@angular/cli": "~20.3.6", - "@angular/compiler-cli": "^20.0.4", - "@types/chance": "^1.1.6", - "@types/date-fns": "^2.6.3", - "@types/jasmine": "~5.1.8", - "jasmine-core": "~5.8.0", - "karma": "~6.4.4", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.1", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.8.3" - } - }, - "node_modules/@algolia/abtesting": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", - "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-abtesting": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", - "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", - "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-common": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", - "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-insights": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", - "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", - "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-query-suggestions": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", - "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/client-search": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", - "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/ingestion": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", - "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/monitoring": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", - "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/recommend": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", - "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", - "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-fetch": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", - "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/@algolia/requester-node-http": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", - "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/client-common": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "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, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-devkit/architect": { - "version": "0.2003.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.6.tgz", - "integrity": "sha512-VtXxfJzrBZ8MQN83shXNaTUaLSOIwa+4/3LD5drxSnHuYJrz+d3FIApWAxcA9QzucsTDZwXyFxaWZN/e5XVm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "20.3.6", - "rxjs": "7.8.2" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.6.tgz", - "integrity": "sha512-uLRk3865Iz/EO9Zm/mrFfdyoZinJBihXE6HVDYRYjAqsgW14LsD8pkpWy9+LYlOwcH96Ndnev+msxaTJaNXtPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.3", - "rxjs": "7.8.2", - "source-map": "0.7.6" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^4.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/schematics": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.6.tgz", - "integrity": "sha512-QD7QS1oR0XcZ9ZI4D1c4JjKmSn2up/ocOU2FS1mMO7S5RtAZMsPv4J3r+6ywHA2ev2sRySOQ0D8OYBcEuYX9Jw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "20.3.6", - "jsonc-parser": "3.3.1", - "magic-string": "0.30.17", - "ora": "8.2.0", - "rxjs": "7.8.2" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/animations": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.6.tgz", - "integrity": "sha512-qNaVvEOKvigoCQMg0ABnq44HhiHqKD4WN3KoUcXneklcMYCzFE5nuQxKylfWzCRiI5XqiJ9pqiL1m2D7o+Vdiw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/core": "20.3.6" - } - }, - "node_modules/@angular/build": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.6.tgz", - "integrity": "sha512-O5qyxCCe77tu1zy9XudKxqFqi5zih0ZI8J8Anra/ZZdtTKbLMprXMGFzMYzwCqvcIzzbmOumkSJKoXbFazHaaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2003.6", - "@babel/core": "7.28.3", - "@babel/helper-annotate-as-pure": "7.27.3", - "@babel/helper-split-export-declaration": "7.24.7", - "@inquirer/confirm": "5.1.14", - "@vitejs/plugin-basic-ssl": "2.1.0", - "beasties": "0.3.5", - "browserslist": "^4.23.0", - "esbuild": "0.25.9", - "https-proxy-agent": "7.0.6", - "istanbul-lib-instrument": "6.0.3", - "jsonc-parser": "3.3.1", - "listr2": "9.0.1", - "magic-string": "0.30.17", - "mrmime": "2.0.1", - "parse5-html-rewriting-stream": "8.0.0", - "picomatch": "4.0.3", - "piscina": "5.1.3", - "rollup": "4.52.3", - "sass": "1.90.0", - "semver": "7.7.2", - "source-map-support": "0.5.21", - "tinyglobby": "0.2.14", - "vite": "7.1.5", - "watchpack": "2.4.4" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "lmdb": "3.4.2" - }, - "peerDependencies": { - "@angular/compiler": "^20.0.0", - "@angular/compiler-cli": "^20.0.0", - "@angular/core": "^20.0.0", - "@angular/localize": "^20.0.0", - "@angular/platform-browser": "^20.0.0", - "@angular/platform-server": "^20.0.0", - "@angular/service-worker": "^20.0.0", - "@angular/ssr": "^20.3.6", - "karma": "^6.4.0", - "less": "^4.2.0", - "ng-packagr": "^20.0.0", - "postcss": "^8.4.0", - "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "tslib": "^2.3.0", - "typescript": ">=5.8 <6.0", - "vitest": "^3.1.1" - }, - "peerDependenciesMeta": { - "@angular/core": { - "optional": true - }, - "@angular/localize": { - "optional": true - }, - "@angular/platform-browser": { - "optional": true - }, - "@angular/platform-server": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "@angular/ssr": { - "optional": true - }, - "karma": { - "optional": true - }, - "less": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tailwindcss": { - "optional": true - }, - "vitest": { - "optional": true - } - } - }, - "node_modules/@angular/build/node_modules/sass": { - "version": "1.90.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", - "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/@angular/cdk": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.2.9.tgz", - "integrity": "sha512-rbY1AMz9389WJI29iAjWp4o0QKRQHCrQQUuP0ctNQzh1tgWpwiRLx8N4yabdVdsCA846vPsyKJtBlSNwKMsjJA==", - "license": "MIT", - "dependencies": { - "parse5": "^8.0.0", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": "^20.0.0 || ^21.0.0", - "@angular/core": "^20.0.0 || ^21.0.0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/cli": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.6.tgz", - "integrity": "sha512-1RozAub7Gcl5ES3vBYatIgoMDgujlvySwHARoYT+1VhbYvM0RTt4sn2aDhHxqG0GcyiXR5zISkzJvldaY2nQCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/architect": "0.2003.6", - "@angular-devkit/core": "20.3.6", - "@angular-devkit/schematics": "20.3.6", - "@inquirer/prompts": "7.8.2", - "@listr2/prompt-adapter-inquirer": "3.0.1", - "@modelcontextprotocol/sdk": "1.17.3", - "@schematics/angular": "20.3.6", - "@yarnpkg/lockfile": "1.1.0", - "algoliasearch": "5.35.0", - "ini": "5.0.0", - "jsonc-parser": "3.3.1", - "listr2": "9.0.1", - "npm-package-arg": "13.0.0", - "pacote": "21.0.0", - "resolve": "1.22.10", - "semver": "7.7.2", - "yargs": "18.0.0", - "zod": "3.25.76" - }, - "bin": { - "ng": "bin/ng.js" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/common": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.6.tgz", - "integrity": "sha512-+gHMuFe0wz4f+vfGZ2q+fSQSYaY7KlN7QdDrFqLnA7H2sythzhXvRbXEtp4DkPjihh9gupXg2MeLh1ROy5AfSw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/core": "20.3.6", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/compiler": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.6.tgz", - "integrity": "sha512-OdjXBsAsnn7qiW6fSHClwn9XwjVxhtO9+RbDc6Mf+YPCnJq0s8T78H2fc8VdJFp/Rs+tMZcwwjd9VZPm8+2XWA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - } - }, - "node_modules/@angular/compiler-cli": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.6.tgz", - "integrity": "sha512-VOFRBx9fBt2jW9I8qD23fwGeKxBI8JssJBAMqnFPl3k59VJWHQi6LlXZCLCBNdfwflTJdKeRvdgT51Q0k6tnFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "7.28.3", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^4.0.0", - "convert-source-map": "^1.5.1", - "reflect-metadata": "^0.2.0", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^18.0.0" - }, - "bin": { - "ng-xi18n": "bundles/src/bin/ng_xi18n.js", - "ngc": "bundles/src/bin/ngc.js" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/compiler": "20.3.6", - "typescript": ">=5.8 <6.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@angular/core": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.6.tgz", - "integrity": "sha512-sDURQWnjwE4Y750u/5qwkZEYMoI4CrKghnx4aKulxCnohR3//C78wvz6p8MtCuqYfzGkdQZDYFg8tgAz17qgPw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/compiler": "20.3.6", - "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.15.0" - }, - "peerDependenciesMeta": { - "@angular/compiler": { - "optional": true - }, - "zone.js": { - "optional": true - } - } - }, - "node_modules/@angular/forms": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.6.tgz", - "integrity": "sha512-tBGo/LBtCtSrClMY4DTm/3UiSjqLLMEYXS/4E0nW1mFDv7ulKnaAQB+KbfBmmTHYxlKLs+SxjKv6GoydMPSurA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/common": "20.3.6", - "@angular/core": "20.3.6", - "@angular/platform-browser": "20.3.6", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/material": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-20.2.9.tgz", - "integrity": "sha512-xo/ozyRXCoJMi89XLTJI6fdPKBv2wBngWMiCrtTg23+pHbuyA/kDbk3v62eJkDD1xdhC4auXaIHu4Ddf5zTgSA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/cdk": "20.2.9", - "@angular/common": "^20.0.0 || ^21.0.0", - "@angular/core": "^20.0.0 || ^21.0.0", - "@angular/forms": "^20.0.0 || ^21.0.0", - "@angular/platform-browser": "^20.0.0 || ^21.0.0", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/platform-browser": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.6.tgz", - "integrity": "sha512-gFp1yd+HtRN8XdpMatRLO5w6FLIzsnF31lD2Duo4BUTCoMAMdfaNT6FtcvNdKu7ANo27Ke26fxEEE2bh6FU98A==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/animations": "20.3.6", - "@angular/common": "20.3.6", - "@angular/core": "20.3.6" - }, - "peerDependenciesMeta": { - "@angular/animations": { - "optional": true - } - } - }, - "node_modules/@angular/platform-browser-dynamic": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.6.tgz", - "integrity": "sha512-teO8tBygk6vD1waiLmHGXtXPF/9a9Bw2XI+s550KtJlQqRpr7IUWOFPPQik/uGkppv5Jrv6fP+8mh9QX9zoWnQ==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/common": "20.3.6", - "@angular/compiler": "20.3.6", - "@angular/core": "20.3.6", - "@angular/platform-browser": "20.3.6" - } - }, - "node_modules/@angular/router": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.6.tgz", - "integrity": "sha512-fSAYOR9nKpH5PoBYFNdII3nAFl2maUrYiISU33CnGwb7J7Q0s09k231c/P5tVN4URi+jdADVwiBI8cIYk8SVrg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/common": "20.3.6", - "@angular/core": "20.3.6", - "@angular/platform-browser": "20.3.6", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", - "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", - "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.3", - "@babel/parser": "^7.28.3", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.3", - "@babel/types": "^7.28.2", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/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, - "license": "MIT" - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.3" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@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==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.4" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@ctrl/tinycolor": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", - "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", - "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", - "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", - "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", - "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", - "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", - "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", - "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", - "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", - "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", - "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", - "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", - "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", - "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", - "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", - "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", - "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", - "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", - "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", - "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", - "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", - "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", - "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", - "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", - "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", - "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", - "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", - "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", - "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", - "license": "MIT" - }, - "node_modules/@inquirer/ansi": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.1.tgz", - "integrity": "sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/checkbox": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.0.tgz", - "integrity": "sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/ansi": "^1.0.1", - "@inquirer/core": "^10.3.0", - "@inquirer/figures": "^1.0.14", - "@inquirer/type": "^3.0.9", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/confirm": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz", - "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.1.15", - "@inquirer/type": "^3.0.8" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/core": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.0.tgz", - "integrity": "sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/ansi": "^1.0.1", - "@inquirer/figures": "^1.0.14", - "@inquirer/type": "^3.0.9", - "cli-width": "^4.1.0", - "mute-stream": "^2.0.0", - "signal-exit": "^4.1.0", - "wrap-ansi": "^6.2.0", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/editor": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.21.tgz", - "integrity": "sha512-MjtjOGjr0Kh4BciaFShYpZ1s9400idOdvQ5D7u7lE6VztPFoyLcVNE5dXBmEEIQq5zi4B9h2kU+q7AVBxJMAkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.3.0", - "@inquirer/external-editor": "^1.0.2", - "@inquirer/type": "^3.0.9" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/expand": { - "version": "4.0.21", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.21.tgz", - "integrity": "sha512-+mScLhIcbPFmuvU3tAGBed78XvYHSvCl6dBiYMlzCLhpr0bzGzd8tfivMMeqND6XZiaZ1tgusbUHJEfc6YzOdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.3.0", - "@inquirer/type": "^3.0.9", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/external-editor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz", - "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chardet": "^2.1.0", - "iconv-lite": "^0.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/figures": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.14.tgz", - "integrity": "sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/input": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.5.tgz", - "integrity": "sha512-7GoWev7P6s7t0oJbenH0eQ0ThNdDJbEAEtVt9vsrYZ9FulIokvd823yLyhQlWHJPGce1wzP53ttfdCZmonMHyA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.3.0", - "@inquirer/type": "^3.0.9" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/number": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.21.tgz", - "integrity": "sha512-5QWs0KGaNMlhbdhOSCFfKsW+/dcAVC2g4wT/z2MCiZM47uLgatC5N20kpkDQf7dHx+XFct/MJvvNGy6aYJn4Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.3.0", - "@inquirer/type": "^3.0.9" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/password": { - "version": "4.0.21", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.21.tgz", - "integrity": "sha512-xxeW1V5SbNFNig2pLfetsDb0svWlKuhmr7MPJZMYuDnCTkpVBI+X/doudg4pznc1/U+yYmWFFOi4hNvGgUo7EA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/ansi": "^1.0.1", - "@inquirer/core": "^10.3.0", - "@inquirer/type": "^3.0.9" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/prompts": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz", - "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/checkbox": "^4.2.1", - "@inquirer/confirm": "^5.1.14", - "@inquirer/editor": "^4.2.17", - "@inquirer/expand": "^4.0.17", - "@inquirer/input": "^4.2.1", - "@inquirer/number": "^3.0.17", - "@inquirer/password": "^4.0.17", - "@inquirer/rawlist": "^4.1.5", - "@inquirer/search": "^3.1.0", - "@inquirer/select": "^4.3.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/rawlist": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.9.tgz", - "integrity": "sha512-AWpxB7MuJrRiSfTKGJ7Y68imYt8P9N3Gaa7ySdkFj1iWjr6WfbGAhdZvw/UnhFXTHITJzxGUI9k8IX7akAEBCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.3.0", - "@inquirer/type": "^3.0.9", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/search": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.0.tgz", - "integrity": "sha512-a5SzB/qrXafDX1Z4AZW3CsVoiNxcIYCzYP7r9RzrfMpaLpB+yWi5U8BWagZyLmwR0pKbbL5umnGRd0RzGVI8bQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/core": "^10.3.0", - "@inquirer/figures": "^1.0.14", - "@inquirer/type": "^3.0.9", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/select": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.0.tgz", - "integrity": "sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/ansi": "^1.0.1", - "@inquirer/core": "^10.3.0", - "@inquirer/figures": "^1.0.14", - "@inquirer/type": "^3.0.9", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/type": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.9.tgz", - "integrity": "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@isaacs/balanced-match": "^4.0.1" - }, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "license": "ISC", - "dependencies": { - "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" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@listr2/prompt-adapter-inquirer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", - "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/type": "^3.0.7" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "@inquirer/prompts": ">= 3 < 8", - "listr2": "9.0.1" - } - }, - "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", - "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", - "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", - "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", - "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", - "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-win32-arm64": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", - "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", - "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@mattlewis92/dom-autoscroller": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@mattlewis92/dom-autoscroller/-/dom-autoscroller-2.4.2.tgz", - "integrity": "sha512-YbrUWREPGEjE/FU6foXcAT1YbVwqD/jkYnY1dFb0o4AxtP3s4xKBthlELjndZih8uwsDWgQZx1eNskRNe2BgZQ==", - "license": "MIT" - }, - "node_modules/@modelcontextprotocol/sdk": { - "version": "1.17.3", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz", - "integrity": "sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.6", - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.5", - "eventsource": "^3.0.2", - "eventsource-parser": "^3.0.0", - "express": "^5.0.1", - "express-rate-limit": "^7.5.0", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.23.8", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@modelcontextprotocol/sdk/node_modules/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, - "license": "MIT" - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", - "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@napi-rs/nice": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", - "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "optionalDependencies": { - "@napi-rs/nice-android-arm-eabi": "1.1.1", - "@napi-rs/nice-android-arm64": "1.1.1", - "@napi-rs/nice-darwin-arm64": "1.1.1", - "@napi-rs/nice-darwin-x64": "1.1.1", - "@napi-rs/nice-freebsd-x64": "1.1.1", - "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", - "@napi-rs/nice-linux-arm64-gnu": "1.1.1", - "@napi-rs/nice-linux-arm64-musl": "1.1.1", - "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", - "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", - "@napi-rs/nice-linux-s390x-gnu": "1.1.1", - "@napi-rs/nice-linux-x64-gnu": "1.1.1", - "@napi-rs/nice-linux-x64-musl": "1.1.1", - "@napi-rs/nice-openharmony-arm64": "1.1.1", - "@napi-rs/nice-win32-arm64-msvc": "1.1.1", - "@napi-rs/nice-win32-ia32-msvc": "1.1.1", - "@napi-rs/nice-win32-x64-msvc": "1.1.1" - } - }, - "node_modules/@napi-rs/nice-android-arm-eabi": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", - "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-android-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", - "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-darwin-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", - "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-darwin-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", - "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-freebsd-x64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", - "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", - "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-arm64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", - "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-arm64-musl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", - "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-ppc64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", - "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-riscv64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", - "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-s390x-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", - "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-x64-gnu": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", - "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-x64-musl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", - "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-openharmony-arm64": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", - "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-win32-arm64-msvc": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", - "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-win32-ia32-msvc": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", - "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-win32-x64-msvc": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", - "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ng-matero/extensions": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@ng-matero/extensions/-/extensions-20.3.1.tgz", - "integrity": "sha512-eR0A88Yj+CSjCgrV/m+rHPtGwThPWTWjUxdZL9T8dz+j9FmrLBjJGbm4QVw47tu69ZHl0epBFjpHEXmxqaZTdA==", - "license": "MIT", - "dependencies": { - "@ng-select/ng-select": "^20.0.0", - "ngx-color": "^10.0.0", - "photoviewer": "^3.10.0", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "@angular/cdk": ">=20.1.0", - "@angular/common": ">=20.1.0", - "@angular/core": ">=20.1.0", - "@angular/material": ">=20.1.0" - } - }, - "node_modules/@ng-select/ng-select": { - "version": "20.3.5", - "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-20.3.5.tgz", - "integrity": "sha512-fVPoLv/FFBdmr9fbqRsZ0RPXCEQ8mm5xxl4isfSHzuohkdPr/DpoQ9NNfQ+5H/PlFLTg3hocDblMIlEikP5avg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.8.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" - }, - "peerDependencies": { - "@angular/common": "^20.0.0", - "@angular/core": "^20.0.0", - "@angular/forms": "^20.0.0" - } - }, - "node_modules/@ngx-translate/core": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-16.0.4.tgz", - "integrity": "sha512-s8llTL2SJvROhqttxvEs7Cg+6qSf4kvZPFYO+cTOY1d8DWTjlutRkWAleZcPPoeX927Dm7ALfL07G7oYDJ7z6w==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": ">=16", - "@angular/core": ">=16" - } - }, - "node_modules/@ngx-translate/http-loader": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-16.0.1.tgz", - "integrity": "sha512-xJEOUpvs6Zfc8G4cmQmegFOEpfYSoplTHHoisPNrATXjRBjpaKsBaPOXlZsuFUW2XV00s16gIyI4+9z1XkO5bw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": ">=16", - "@angular/core": ">=16" - } - }, - "node_modules/@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/git": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", - "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^8.0.0", - "ini": "^5.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^10.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/git/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", - "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-bundled": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - }, - "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", - "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/package-json": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", - "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^6.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", - "proc-log": "^5.0.0", - "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "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": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/package-json/node_modules/hosted-git-info": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", - "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/promise-spawn": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.3.tgz", - "integrity": "sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg==", - "dev": true, - "license": "ISC", - "dependencies": { - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/redact": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", - "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/run-script": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", - "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "node-gyp": "^11.0.0", - "proc-log": "^5.0.0", - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "license": "Apache-2.0", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "license": "MIT", - "optional": true - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", - "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", - "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", - "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", - "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", - "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", - "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", - "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", - "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", - "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", - "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", - "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", - "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", - "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", - "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", - "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", - "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", - "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", - "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", - "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", - "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", - "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", - "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@scarf/scarf": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", - "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", - "hasInstallScript": true, - "license": "Apache-2.0" - }, - "node_modules/@schematics/angular": { - "version": "20.3.6", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.6.tgz", - "integrity": "sha512-YPIEyKPBOyJYlda5fA49kMThzZ4WidomEMDghshux8xidbjDaPWBZdyVPQj3IXyW0teGlUM/TH0TH2weumMZrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "20.3.6", - "@angular-devkit/schematics": "20.3.6", - "jsonc-parser": "3.3.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@sigstore/bundle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", - "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.4.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", - "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", - "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/sign": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", - "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "make-fetch-happen": "^14.0.2", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/tuf": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", - "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/protobuf-specs": "^0.4.1", - "tuf-js": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/verify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", - "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@svgdotjs/svg.draggable.js": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@svgdotjs/svg.draggable.js/-/svg.draggable.js-3.0.6.tgz", - "integrity": "sha512-7iJFm9lL3C40HQcqzEfezK2l+dW2CpoVY3b77KQGqc8GXWa6LhhmX5Ckv7alQfUXBuZbjpICZ+Dvq1czlGx7gA==", - "license": "MIT", - "peerDependencies": { - "@svgdotjs/svg.js": "^3.2.4" - } - }, - "node_modules/@svgdotjs/svg.filter.js": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/@svgdotjs/svg.filter.js/-/svg.filter.js-3.0.9.tgz", - "integrity": "sha512-/69XMRCDoam2HgC4ldHIaDgeQf1ViHIsa0Ld4uWgiXtZ+E24DWHe/9Ib6kbNiZ7WRIdlVokUDR1Fg0kjIpkfbw==", - "license": "MIT", - "dependencies": { - "@svgdotjs/svg.js": "^3.2.4" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/@svgdotjs/svg.js": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@svgdotjs/svg.js/-/svg.js-3.2.5.tgz", - "integrity": "sha512-/VNHWYhNu+BS7ktbYoVGrCmsXDh+chFMaONMwGNdIBcFHrWqk2jY8fNyr3DLdtQUIalvkPfM554ZSFa3dm3nxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Fuzzyma" - } - }, - "node_modules/@svgdotjs/svg.resize.js": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@svgdotjs/svg.resize.js/-/svg.resize.js-2.0.5.tgz", - "integrity": "sha512-4heRW4B1QrJeENfi7326lUPYBCevj78FJs8kfeDxn5st0IYPIRXoTtOSYvTzFWgaWWXd3YCDE6ao4fmv91RthA==", - "license": "MIT", - "engines": { - "node": ">= 14.18" - }, - "peerDependencies": { - "@svgdotjs/svg.js": "^3.2.4", - "@svgdotjs/svg.select.js": "^4.0.1" - } - }, - "node_modules/@svgdotjs/svg.select.js": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@svgdotjs/svg.select.js/-/svg.select.js-4.0.3.tgz", - "integrity": "sha512-qkMgso1sd2hXKd1FZ1weO7ANq12sNmQJeGDjs46QwDVsxSRcHmvWKL2NDF7Yimpwf3sl5esOLkPqtV2bQ3v/Jg==", - "license": "MIT", - "engines": { - "node": ">= 14.18" - }, - "peerDependencies": { - "@svgdotjs/svg.js": "^3.2.4" - } - }, - "node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@tufjs/models": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", - "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@types/chance": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@types/chance/-/chance-1.1.7.tgz", - "integrity": "sha512-40you9610GTQPJyvjMBgmj9wiDO6qXhbfjizNYod/fmvLSfUUxURAJMTD8tjmbcZSsyYE5iEUox61AAcCjW/wQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/cors": { - "version": "2.8.19", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", - "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/date-fns": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/@types/date-fns/-/date-fns-2.6.3.tgz", - "integrity": "sha512-Ke1lw2Ni1t/wMUoLtKFmSNCLozcTBd6vmMqFP4hRzXn6qzkNt97bPAX0x5Y/c15DP43kKvwW1ycStD5+43jVQA==", - "deprecated": "This is a stub types definition. date-fns provides its own type definitions, so you do not need this installed.", - "dev": true, - "license": "MIT", - "dependencies": { - "date-fns": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/jasmine": { - "version": "5.1.12", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.12.tgz", - "integrity": "sha512-1BzPxNsFDLDfj9InVR3IeY0ZVf4o9XV+4mDqoCfyPkbsA7dYyKAPAb2co6wLFlHcvxPlt1wShm7zQdV7uTfLGA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "24.8.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.8.1.tgz", - "integrity": "sha512-alv65KGRadQVfVcG69MuB4IzdYVpRwMG/mq8KWOaoOdyY617P5ivaDiMCGOFDWD2sAn5Q0mR3mRtUOgm99hL9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.14.0" - } - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT" - }, - "node_modules/@vitejs/plugin-basic-ssl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", - "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "peerDependencies": { - "vite": "^6.0.0 || ^7.0.0" - } - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/@yr/monotone-cubic-spline": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", - "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==", - "license": "MIT" - }, - "node_modules/abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/algoliasearch": { - "version": "5.35.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", - "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@algolia/abtesting": "1.1.0", - "@algolia/client-abtesting": "5.35.0", - "@algolia/client-analytics": "5.35.0", - "@algolia/client-common": "5.35.0", - "@algolia/client-insights": "5.35.0", - "@algolia/client-personalization": "5.35.0", - "@algolia/client-query-suggestions": "5.35.0", - "@algolia/client-search": "5.35.0", - "@algolia/ingestion": "1.35.0", - "@algolia/monitoring": "1.35.0", - "@algolia/recommend": "5.35.0", - "@algolia/requester-browser-xhr": "5.35.0", - "@algolia/requester-fetch": "5.35.0", - "@algolia/requester-node-http": "5.35.0" - }, - "engines": { - "node": ">= 14.0.0" - } - }, - "node_modules/angular-calendar": { - "version": "0.31.1", - "resolved": "https://registry.npmjs.org/angular-calendar/-/angular-calendar-0.31.1.tgz", - "integrity": "sha512-pjSIpoAaUzS/gx+14eOr4hPZhlQ8HxpiZypCSGqJNptq5PD+vOdVQ3h/Aaqnk86GraVcAQPXqfu64MtdKwTVNw==", - "license": "MIT", - "dependencies": { - "@scarf/scarf": "^1.1.1", - "angular-draggable-droppable": "^8.0.0", - "angular-resizable-element": "^7.0.0", - "calendar-utils": "^0.10.4", - "positioning": "^2.0.1", - "tslib": "^2.4.1" - }, - "funding": { - "url": "https://github.com/sponsors/mattlewis92" - }, - "peerDependencies": { - "@angular/core": ">=15.0.0" - } - }, - "node_modules/angular-draggable-droppable": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/angular-draggable-droppable/-/angular-draggable-droppable-8.0.0.tgz", - "integrity": "sha512-+gpSNBbygjV1pxTxsM3UPJKcXHXJabYoTtKcgQe74rGnb1umKc07XCBD1qDzvlG/kocthvhQ12qfYOYzHnE3ZA==", - "license": "MIT", - "dependencies": { - "@mattlewis92/dom-autoscroller": "^2.4.2", - "tslib": "^2.4.1" - }, - "peerDependencies": { - "@angular/core": ">=15.0.0" - } - }, - "node_modules/angular-oauth2-oidc": { - "version": "20.0.2", - "resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-20.0.2.tgz", - "integrity": "sha512-bMSXEQIuvgq8yqnsIatZggAvCJvY+pm7G8MK0tWCHR93UpFuNN+L5B6pY9CzRg8Ys+VVhkLIBx4zEHbJnv9icg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.5.2" - }, - "peerDependencies": { - "@angular/common": ">=20.0.0", - "@angular/core": ">=20.0.0" - } - }, - "node_modules/angular-resizable-element": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/angular-resizable-element/-/angular-resizable-element-7.0.2.tgz", - "integrity": "sha512-/BGuNiA38n9klexHO1xgnsA3VYigj9v+jUGjKtBRgfB26bCxZKsNWParSu2k3EqbATrfAJC4Nl8f7cORpJFf4w==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/core": ">=15.0.0" - } - }, - "node_modules/angular-tabler-icons": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/angular-tabler-icons/-/angular-tabler-icons-3.26.0.tgz", - "integrity": "sha512-gOvELHvz9TgOXAVq1YDqPQ8Z+0kII4IETzKn95x//zdZ5//3RekpeAJE2go3zczXaxoy44frmea7i7mr40BDTw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.8.1" - }, - "peerDependencies": { - "@angular/common": "17 - 19", - "@angular/core": "17 - 19" - } - }, - "node_modules/ansi-escapes": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", - "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "environment": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", - "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", - "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/apexcharts": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-4.7.0.tgz", - "integrity": "sha512-iZSrrBGvVlL+nt2B1NpqfDuBZ9jX61X9I2+XV0hlYXHtTwhwLTHDKGXjNXAgFBDLuvSYCB/rq2nPWVPRv2DrGA==", - "license": "MIT", - "dependencies": { - "@svgdotjs/svg.draggable.js": "^3.0.4", - "@svgdotjs/svg.filter.js": "^3.0.8", - "@svgdotjs/svg.js": "^3.2.4", - "@svgdotjs/svg.resize.js": "^2.0.2", - "@svgdotjs/svg.select.js": "^4.0.1", - "@yr/monotone-cubic-spline": "^1.0.3" - } - }, - "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==", - "dev": true, - "license": "MIT" - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.18", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.18.tgz", - "integrity": "sha512-UYmTpOBwgPScZpS4A+YbapwWuBwasxvO/2IOHArSsAhL/+ZdmATBXTex3t+l2hXwLVYK382ibr/nKoY9GKe86w==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/beasties": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", - "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "css-select": "^6.0.0", - "css-what": "^7.0.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "htmlparser2": "^10.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.49", - "postcss-media-query-parser": "^0.2.3" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/body-parser/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.26.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", - "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.8.9", - "caniuse-lite": "^1.0.30001746", - "electron-to-chromium": "^1.5.227", - "node-releases": "^2.0.21", - "update-browserslist-db": "^1.1.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", - "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "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": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/tar": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", - "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/calendar-utils": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.10.4.tgz", - "integrity": "sha512-gBK4xCJ42yjaUKwuUha6cZOfxAmGzvSgbdAaX3xLRioeKbYoOK1x1qeD6dch72rsMZlTgATPbBBx42bnkStqgQ==", - "license": "MIT" - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001751", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", - "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chance": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.13.tgz", - "integrity": "sha512-V6lQCljcLznE7tUYUM9EOAnnKXbctE6j/rdQkYOHIWbfGQbrzTsAXNW9CdU5XCo4ArXQCj/rb6HgxPlmGJcaUg==", - "license": "MIT" - }, - "node_modules/chardet": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", - "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 12" - } - }, - "node_modules/cliui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", - "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/connect/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/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, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-select": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", - "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^7.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.2", - "nth-check": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", - "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kossnocorp" - } - }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true, - "license": "MIT" - }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domq.js": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/domq.js/-/domq.js-0.7.1.tgz", - "integrity": "sha512-SQjubdV+FsTa8pRPrhygohvraS6NS5XdH2wK0V8nzg3vQW5+h3+LDn5XCE5RYejbtZE4aAUz2UTxE1B9oSl55w==", - "license": "MIT" - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/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==", - "dev": true, - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.237", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz", - "integrity": "sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/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==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", - "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "punycode": "^1.4.1", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", - "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.9", - "@esbuild/android-arm": "0.25.9", - "@esbuild/android-arm64": "0.25.9", - "@esbuild/android-x64": "0.25.9", - "@esbuild/darwin-arm64": "0.25.9", - "@esbuild/darwin-x64": "0.25.9", - "@esbuild/freebsd-arm64": "0.25.9", - "@esbuild/freebsd-x64": "0.25.9", - "@esbuild/linux-arm": "0.25.9", - "@esbuild/linux-arm64": "0.25.9", - "@esbuild/linux-ia32": "0.25.9", - "@esbuild/linux-loong64": "0.25.9", - "@esbuild/linux-mips64el": "0.25.9", - "@esbuild/linux-ppc64": "0.25.9", - "@esbuild/linux-riscv64": "0.25.9", - "@esbuild/linux-s390x": "0.25.9", - "@esbuild/linux-x64": "0.25.9", - "@esbuild/netbsd-arm64": "0.25.9", - "@esbuild/netbsd-x64": "0.25.9", - "@esbuild/openbsd-arm64": "0.25.9", - "@esbuild/openbsd-x64": "0.25.9", - "@esbuild/openharmony-arm64": "0.25.9", - "@esbuild/sunos-x64": "0.25.9", - "@esbuild/win32-arm64": "0.25.9", - "@esbuild/win32-ia32": "0.25.9", - "@esbuild/win32-x64": "0.25.9" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/eventsource": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventsource-parser": "^3.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/eventsource-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/exponential-backoff": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", - "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.0", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express-rate-limit": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", - "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": ">= 4.11" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "license": "MIT" - }, - "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, - "license": "MIT" - }, - "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, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "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, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/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==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", - "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "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, - "license": "ISC", - "dependencies": { - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/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, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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, - "license": "BSD-2-Clause" - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "license": "ISC" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/highlight.js": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", - "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/hosted-git-info": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", - "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^11.1.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", - "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", - "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/ignore-walk": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", - "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", - "dev": true, - "license": "ISC", - "dependencies": { - "minimatch": "^10.0.3" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", - "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/immutable": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", - "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", - "license": "MIT" - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.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, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", - "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/ip-address": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", - "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "license": "MIT", - "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", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/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, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", - "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jasmine-core": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.8.0.tgz", - "integrity": "sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==", - "dev": true, - "license": "MIT" - }, - "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, - "license": "MIT" - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", - "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/karma": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", - "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.7.2", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", - "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "which": "^1.2.1" - } - }, - "node_modules/karma-chrome-launcher/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/karma-coverage": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", - "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.0.5", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma-coverage/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/karma-jasmine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", - "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "jasmine-core": "^4.1.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "karma": "^6.0.0" - } - }, - "node_modules/karma-jasmine-html-reporter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", - "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "jasmine-core": "^4.0.0 || ^5.0.0", - "karma": "^6.0.0", - "karma-jasmine": "^5.0.0" - } - }, - "node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", - "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/karma/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/karma/node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dev": true, - "license": "MIT", - "dependencies": { - "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.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/karma/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.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" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/karma/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/karma/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/karma/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/karma/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/karma/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/karma/node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/karma/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/karma/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, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/karma/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/listr2": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", - "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true, - "license": "MIT" - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/lmdb": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz", - "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "msgpackr": "^1.11.2", - "node-addon-api": "^6.1.0", - "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.5.3", - "weak-lru-cache": "^1.2.2" - }, - "bin": { - "download-lmdb-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.4.2", - "@lmdb/lmdb-darwin-x64": "3.4.2", - "@lmdb/lmdb-linux-arm": "3.4.2", - "@lmdb/lmdb-linux-arm64": "3.4.2", - "@lmdb/lmdb-linux-x64": "3.4.2", - "@lmdb/lmdb-win32-arm64": "3.4.2", - "@lmdb/lmdb-win32-x64": "3.4.2" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", - "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^5.3.0", - "is-unicode-supported": "^1.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", - "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-east-asian-width": "^1.3.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.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, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/material-colors": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==", - "license": "ISC" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "optional": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush/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, - "license": "ISC" - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/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, - "license": "ISC" - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/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, - "license": "ISC" - }, - "node_modules/minizlib": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", - "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/msgpackr": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz", - "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==", - "dev": true, - "license": "MIT", - "optional": true, - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" - } - }, - "node_modules/msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "node-gyp-build-optional-packages": "5.2.2" - }, - "bin": { - "download-msgpackr-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" - } - }, - "node_modules/mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ng-apexcharts": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.17.1.tgz", - "integrity": "sha512-4CqkO0IPZD6lDMMDRZ5cm7HXGGDEQZVRQvRDMSrNFKWJStAV01WvUPT90Tkf8eVr/rs3hPKvTR+p8Pnvd+hubQ==", - "dependencies": { - "tslib": "^2.8.1" - }, - "peerDependencies": { - "@angular/common": "^20.0.0", - "@angular/core": "^20.0.0", - "apexcharts": "^5.3.2", - "rxjs": "^7.8.2" - } - }, - "node_modules/ng2-search-filter": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/ng2-search-filter/-/ng2-search-filter-0.5.1.tgz", - "integrity": "sha512-noN8R+Gyxo5ZuboEOvq+u0zKio6pEf1IVYQTCZfAfXm6ONmzWu/M2xK0di9oVUprDbPBQXCGUuvD5i2GD+35HA==", - "license": "MIT" - }, - "node_modules/ngx-color": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ngx-color/-/ngx-color-10.1.0.tgz", - "integrity": "sha512-yuxlE1LfN+PABIO4hv0Gw5ksq8g9XkMJKrGPn2SWbrre/gsH+kkyyn3rwSCurinnLCnw7czqenwQUtnBJm8yww==", - "license": "MIT", - "dependencies": { - "@ctrl/tinycolor": "^4.1.0", - "material-colors": "^1.2.6", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": ">=19.0.0-0", - "@angular/core": ">=19.0.0-0" - } - }, - "node_modules/ngx-dropzone": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ngx-dropzone/-/ngx-dropzone-3.1.0.tgz", - "integrity": "sha512-5RBaEl07QUcY6sv/BBPyIxN6nbWY/KqTGheEKgbuGS0N1QPFY7NJUo8+X3fYUwQgLS+wjJeqPiR37dd0YNDtWA==", - "deprecated": "This package is deprecated and will no longer receive any updates. Please take a look at the official successor repo at hackingharold/ngx-dropzone", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - } - }, - "node_modules/ngx-editor": { - "version": "19.0.0-beta.1", - "resolved": "https://registry.npmjs.org/ngx-editor/-/ngx-editor-19.0.0-beta.1.tgz", - "integrity": "sha512-yNYdsD5v67fHc9D6moK0CXHGlv367jCYSW9s9JyU/AkRz+C7ICSN2agI2kUPxr6UG4gcyV8Lh3bJPIQlrvjiug==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.6.9", - "@floating-ui/dom": "^1.6.13", - "@types/trusted-types": "~2.0.7", - "prosemirror-commands": "^1.7.1", - "prosemirror-history": "^1.4.1", - "prosemirror-inputrules": "^1.5.0", - "prosemirror-keymap": "^1.2.2", - "prosemirror-model": "^1.25.0", - "prosemirror-schema-list": "^1.5.1", - "prosemirror-state": "^1.4.3", - "prosemirror-view": "^1.39.1", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": ">=19.2.0", - "@angular/core": ">=19.2.0", - "@angular/forms": ">=19.2.0", - "@angular/platform-browser": ">=19.2.0", - "rxjs": ">=7.8.0" - } - }, - "node_modules/ngx-highlightjs": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/ngx-highlightjs/-/ngx-highlightjs-14.0.1.tgz", - "integrity": "sha512-pa4YPChIho+Qs6P036oMvTt8pmTlMwberz/kGBojKVMEHSj9t4PT1YzBplM+RMK0VWgLK4zRbJbxivQrLPr1fQ==", - "license": "MIT", - "dependencies": { - "highlight.js": "^11.11.1", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/cdk": ">=19.0.0", - "@angular/common": ">=19.0.0", - "@angular/core": ">=19.0.0", - "rxjs": ">=7.0.0" - } - }, - "node_modules/ngx-owl-carousel-o": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/ngx-owl-carousel-o/-/ngx-owl-carousel-o-20.0.1.tgz", - "integrity": "sha512-4mDWyN2gAWPcbFkvVc+Tw4Ha11ltDWnKGKfS4VTrebzBqucY2VuPugEmcKETpv1ytkyu6Qsg8Z6il/0L0l9aBA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": " ^20.0.0-rc.0 || ^20.0.0", - "@angular/core": "^20.0.0-rc.0 || ^20.0.0", - "rxjs": "^6.0.1 || ^7.0.0" - } - }, - "node_modules/ngx-pagination": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ngx-pagination/-/ngx-pagination-6.0.3.tgz", - "integrity": "sha512-lONjTQ7hFPh1SyhwDrRd5ZwM4NMGQ7bNR6vLrs6mrU0Z8Q1zCcWbf/pvyp4DOlGyd9uyZxRy2wUsSZLeIPjbAw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": ">=13.0.0", - "@angular/core": ">=13.0.0" - } - }, - "node_modules/ngx-permissions": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/ngx-permissions/-/ngx-permissions-19.0.0.tgz", - "integrity": "sha512-az/A1R8C7tmZ3XwOglYsF63M/9RMMKdF8opg9or57f6V94EmKoYff/OLOYxAft5j6C/jib+7rR89XZEpGAVGEg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/core": ">=13 || >25", - "@angular/router": ">=13 || >25", - "rxjs": ">=7 || >11" - } - }, - "node_modules/ngx-scrollbar": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/ngx-scrollbar/-/ngx-scrollbar-18.0.0.tgz", - "integrity": "sha512-+ykmY491x+nzXvnecJvZHvDz0YWuX1r7SYMxNG4RVHXm5Z68P/8kd/3ryLD6DXdNWmJawd4NGvqq2ZkUKb/g3A==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/cdk": ">=19.0.0", - "@angular/common": ">=19.0.0", - "@angular/core": ">=19.0.0", - "rxjs": ">=7.0.0" - } - }, - "node_modules/ngx-toastr": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-19.1.0.tgz", - "integrity": "sha512-Qa7Kg7QzGKNtp1v04hu3poPKKx8BGBD/Onkhm6CdH5F0vSMdq+BdR/f8DTpZnGFksW891tAFufpiWb9UZX+3vg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": ">=16.0.0-0", - "@angular/core": ">=16.0.0-0", - "@angular/platform-browser": ">=16.0.0-0" - } - }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/node-gyp": { - "version": "11.5.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.5.0.tgz", - "integrity": "sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/node-gyp-build-optional-packages": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", - "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.1" - }, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" - } - }, - "node_modules/node-gyp/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/node-gyp/node_modules/tar": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", - "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", - "dev": true, - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/node-gyp/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, - "node_modules/node-releases": { - "version": "2.0.25", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.25.tgz", - "integrity": "sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-bundled": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", - "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-normalize-package-bin": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-install-checks": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz", - "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", - "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-package-arg": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", - "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^9.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/npm-packlist": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.2.tgz", - "integrity": "sha512-DrIWNiWT0FTdDRjGOYfEEZUNe1IzaSZ+up7qBTKnrQDySpdmuOQvytrqQlpK5QrCA4IThMvL4wTumqaa1ZvVIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "ignore-walk": "^8.0.0", - "proc-log": "^5.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/npm-pick-manifest": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", - "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "npm-install-checks": "^7.1.0", - "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", - "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-pick-manifest/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", - "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-registry-fetch": { - "version": "18.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", - "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", - "proc-log": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", - "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", - "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/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, - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "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, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", - "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^5.3.0", - "cli-cursor": "^5.0.0", - "cli-spinners": "^2.9.2", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^2.0.0", - "log-symbols": "^6.0.0", - "stdin-discarder": "^0.2.2", - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ordered-binary": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", - "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/orderedmap": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", - "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", - "license": "MIT" - }, - "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/pacote": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", - "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^10.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/pacote/node_modules/hosted-git-info": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", - "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/pacote/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/pacote/node_modules/npm-package-arg": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", - "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", - "license": "MIT", - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-html-rewriting-stream": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", - "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "entities": "^6.0.0", - "parse5": "^8.0.0", - "parse5-sax-parser": "^8.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-html-rewriting-stream/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/parse5-sax-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", - "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parse5": "^8.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/photoviewer": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/photoviewer/-/photoviewer-3.10.3.tgz", - "integrity": "sha512-6RqhMOiPVMsgfMTP/j/lQLGGj2glzBWIDnrTpx2rcACOcO8ig+bnBAfofEPXBmLOgKxsu+HIiLQudVtloS9GEA==", - "license": "MIT", - "dependencies": { - "domq.js": "^0.7.0" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/piscina": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz", - "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20.x" - }, - "optionalDependencies": { - "@napi-rs/nice": "^1.0.4" - } - }, - "node_modules/pkce-challenge": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/positioning": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/positioning/-/positioning-2.0.1.tgz", - "integrity": "sha512-DsAgM42kV/ObuwlRpAzDTjH9E8fGKkMDJHWFX+kfNXSxh7UCCQxEmdjv/Ws5Ft1XDnt3JT8fIDYeKNSE2TbttA==", - "license": "MIT" - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true, - "license": "MIT" - }, - "node_modules/proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/prosemirror-commands": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz", - "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.10.2" - } - }, - "node_modules/prosemirror-history": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz", - "integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.2.2", - "prosemirror-transform": "^1.0.0", - "prosemirror-view": "^1.31.0", - "rope-sequence": "^1.3.0" - } - }, - "node_modules/prosemirror-inputrules": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.1.tgz", - "integrity": "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-keymap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz", - "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.0.0", - "w3c-keyname": "^2.2.0" - } - }, - "node_modules/prosemirror-model": { - "version": "1.25.3", - "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.3.tgz", - "integrity": "sha512-dY2HdaNXlARknJbrManZ1WyUtos+AP97AmvqdOQtWtrrC5g4mohVX5DTi9rXNFSk09eczLq9GuNTtq3EfMeMGA==", - "license": "MIT", - "dependencies": { - "orderedmap": "^2.0.0" - } - }, - "node_modules/prosemirror-schema-list": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz", - "integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.7.3" - } - }, - "node_modules/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==", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0", - "prosemirror-view": "^1.27.0" - } - }, - "node_modules/prosemirror-transform": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.4.tgz", - "integrity": "sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.21.0" - } - }, - "node_modules/prosemirror-view": { - "version": "1.41.3", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.3.tgz", - "integrity": "sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.20.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.9" - } - }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", - "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.7.0", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/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, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "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, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.52.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", - "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.3", - "@rollup/rollup-android-arm64": "4.52.3", - "@rollup/rollup-darwin-arm64": "4.52.3", - "@rollup/rollup-darwin-x64": "4.52.3", - "@rollup/rollup-freebsd-arm64": "4.52.3", - "@rollup/rollup-freebsd-x64": "4.52.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", - "@rollup/rollup-linux-arm-musleabihf": "4.52.3", - "@rollup/rollup-linux-arm64-gnu": "4.52.3", - "@rollup/rollup-linux-arm64-musl": "4.52.3", - "@rollup/rollup-linux-loong64-gnu": "4.52.3", - "@rollup/rollup-linux-ppc64-gnu": "4.52.3", - "@rollup/rollup-linux-riscv64-gnu": "4.52.3", - "@rollup/rollup-linux-riscv64-musl": "4.52.3", - "@rollup/rollup-linux-s390x-gnu": "4.52.3", - "@rollup/rollup-linux-x64-gnu": "4.52.3", - "@rollup/rollup-linux-x64-musl": "4.52.3", - "@rollup/rollup-openharmony-arm64": "4.52.3", - "@rollup/rollup-win32-arm64-msvc": "4.52.3", - "@rollup/rollup-win32-ia32-msvc": "4.52.3", - "@rollup/rollup-win32-x64-gnu": "4.52.3", - "@rollup/rollup-win32-x64-msvc": "4.52.3", - "fsevents": "~2.3.2" - } - }, - "node_modules/rope-sequence": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", - "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", - "license": "MIT" - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "license": "Apache-2.0", - "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", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "license": "MIT" - }, - "node_modules/sass": { - "version": "1.93.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz", - "integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==", - "license": "MIT", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, - "license": "ISC" - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sigstore": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", - "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "@sigstore/sign": "^3.1.0", - "@sigstore/tuf": "^3.1.0", - "@sigstore/verify": "^2.1.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socket.io": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", - "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "~4.3.4", - "ws": "~8.17.1" - } - }, - "node_modules/socket.io-adapter/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socks": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", - "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ip-address": "^10.0.1", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 12" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.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, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/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, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "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, - "license": "CC-BY-3.0" - }, - "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, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.22", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", - "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/stdin-discarder": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", - "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/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, - "license": "ISC" - }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.14" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tuf-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz", - "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tufjs/models": "3.0.1", - "debug": "^4.4.1", - "make-fetch-happen": "^14.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "dev": true, - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.41", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", - "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/undici-types": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz", - "integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==", - "dev": true, - "license": "MIT" - }, - "node_modules/unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/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==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", - "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", - "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/w3c-keyname": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", - "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", - "license": "MIT" - }, - "node_modules/watchpack": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", - "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "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==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/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==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^9.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "string-width": "^7.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^22.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, - "node_modules/yargs-parser": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", - "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, - "node_modules/yoctocolors-cjs": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", - "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.24.6", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", - "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", - "dev": true, - "license": "ISC", - "peerDependencies": { - "zod": "^3.24.1" - } - }, - "node_modules/zone.js": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", - "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", - "license": "MIT" - } - } -} +{ + "name": "web", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "web", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^20.0.4", + "@angular/cdk": "^20.0.3", + "@angular/common": "^20.0.4", + "@angular/compiler": "^20.0.4", + "@angular/core": "^20.0.4", + "@angular/forms": "^20.0.4", + "@angular/material": "^20.0.3", + "@angular/platform-browser": "^20.0.4", + "@angular/platform-browser-dynamic": "^20.0.4", + "@angular/router": "^20.0.4", + "@ng-matero/extensions": "^20.1.0", + "@ngx-translate/core": "^16.0.4", + "@ngx-translate/http-loader": "^16.0.1", + "angular-calendar": "^0.31.1", + "angular-oauth2-oidc": "^20.0.2", + "angular-tabler-icons": "^3.26.0", + "apexcharts": "^4.7.0", + "chance": "^1.1.13", + "date-fns": "^4.1.0", + "highlight.js": "^11.11.1", + "ng-apexcharts": "^1.16.0", + "ng2-search-filter": "^0.5.1", + "ngx-dropzone": "^3.1.0", + "ngx-editor": "^19.0.0-beta.1", + "ngx-highlightjs": "^14.0.1", + "ngx-owl-carousel-o": "^20.0.0", + "ngx-pagination": "^6.0.3", + "ngx-permissions": "^19.0.0", + "ngx-scrollbar": "^18.0.0", + "ngx-toastr": "^19.0.0", + "rxjs": "~7.8.2", + "sass": "^1.89.2", + "tslib": "^2.8.1", + "zone.js": "~0.15.1" + }, + "devDependencies": { + "@angular/build": "^20.0.3", + "@angular/cli": "~20.3.6", + "@angular/compiler-cli": "^20.0.4", + "@types/chance": "^1.1.6", + "@types/date-fns": "^2.6.3", + "@types/jasmine": "~5.1.8", + "jasmine-core": "~5.8.0", + "karma": "~6.4.4", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.1", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.3" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "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, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.2003.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.6.tgz", + "integrity": "sha512-VtXxfJzrBZ8MQN83shXNaTUaLSOIwa+4/3LD5drxSnHuYJrz+d3FIApWAxcA9QzucsTDZwXyFxaWZN/e5XVm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.6", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.6.tgz", + "integrity": "sha512-uLRk3865Iz/EO9Zm/mrFfdyoZinJBihXE6HVDYRYjAqsgW14LsD8pkpWy9+LYlOwcH96Ndnev+msxaTJaNXtPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.6.tgz", + "integrity": "sha512-QD7QS1oR0XcZ9ZI4D1c4JjKmSn2up/ocOU2FS1mMO7S5RtAZMsPv4J3r+6ywHA2ev2sRySOQ0D8OYBcEuYX9Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.6", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/animations": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.6.tgz", + "integrity": "sha512-qNaVvEOKvigoCQMg0ABnq44HhiHqKD4WN3KoUcXneklcMYCzFE5nuQxKylfWzCRiI5XqiJ9pqiL1m2D7o+Vdiw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.3.6" + } + }, + "node_modules/@angular/build": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.6.tgz", + "integrity": "sha512-O5qyxCCe77tu1zy9XudKxqFqi5zih0ZI8J8Anra/ZZdtTKbLMprXMGFzMYzwCqvcIzzbmOumkSJKoXbFazHaaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2003.6", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rollup": "4.52.3", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.5", + "watchpack": "2.4.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.4.2" + }, + "peerDependencies": { + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.3.6", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@angular/build/node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/@angular/cdk": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.2.9.tgz", + "integrity": "sha512-rbY1AMz9389WJI29iAjWp4o0QKRQHCrQQUuP0ctNQzh1tgWpwiRLx8N4yabdVdsCA846vPsyKJtBlSNwKMsjJA==", + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^20.0.0 || ^21.0.0", + "@angular/core": "^20.0.0 || ^21.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cli": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.6.tgz", + "integrity": "sha512-1RozAub7Gcl5ES3vBYatIgoMDgujlvySwHARoYT+1VhbYvM0RTt4sn2aDhHxqG0GcyiXR5zISkzJvldaY2nQCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2003.6", + "@angular-devkit/core": "20.3.6", + "@angular-devkit/schematics": "20.3.6", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.17.3", + "@schematics/angular": "20.3.6", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.0", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "3.25.76" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.6.tgz", + "integrity": "sha512-+gHMuFe0wz4f+vfGZ2q+fSQSYaY7KlN7QdDrFqLnA7H2sythzhXvRbXEtp4DkPjihh9gupXg2MeLh1ROy5AfSw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.3.6", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.6.tgz", + "integrity": "sha512-OdjXBsAsnn7qiW6fSHClwn9XwjVxhtO9+RbDc6Mf+YPCnJq0s8T78H2fc8VdJFp/Rs+tMZcwwjd9VZPm8+2XWA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.6.tgz", + "integrity": "sha512-VOFRBx9fBt2jW9I8qD23fwGeKxBI8JssJBAMqnFPl3k59VJWHQi6LlXZCLCBNdfwflTJdKeRvdgT51Q0k6tnFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "7.28.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^4.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.3.6", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.6.tgz", + "integrity": "sha512-sDURQWnjwE4Y750u/5qwkZEYMoI4CrKghnx4aKulxCnohR3//C78wvz6p8MtCuqYfzGkdQZDYFg8tgAz17qgPw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.3.6", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } + } + }, + "node_modules/@angular/forms": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.6.tgz", + "integrity": "sha512-tBGo/LBtCtSrClMY4DTm/3UiSjqLLMEYXS/4E0nW1mFDv7ulKnaAQB+KbfBmmTHYxlKLs+SxjKv6GoydMPSurA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.3.6", + "@angular/core": "20.3.6", + "@angular/platform-browser": "20.3.6", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/material": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-20.2.9.tgz", + "integrity": "sha512-xo/ozyRXCoJMi89XLTJI6fdPKBv2wBngWMiCrtTg23+pHbuyA/kDbk3v62eJkDD1xdhC4auXaIHu4Ddf5zTgSA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": "20.2.9", + "@angular/common": "^20.0.0 || ^21.0.0", + "@angular/core": "^20.0.0 || ^21.0.0", + "@angular/forms": "^20.0.0 || ^21.0.0", + "@angular/platform-browser": "^20.0.0 || ^21.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.6.tgz", + "integrity": "sha512-gFp1yd+HtRN8XdpMatRLO5w6FLIzsnF31lD2Duo4BUTCoMAMdfaNT6FtcvNdKu7ANo27Ke26fxEEE2bh6FU98A==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "20.3.6", + "@angular/common": "20.3.6", + "@angular/core": "20.3.6" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.6.tgz", + "integrity": "sha512-teO8tBygk6vD1waiLmHGXtXPF/9a9Bw2XI+s550KtJlQqRpr7IUWOFPPQik/uGkppv5Jrv6fP+8mh9QX9zoWnQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.3.6", + "@angular/compiler": "20.3.6", + "@angular/core": "20.3.6", + "@angular/platform-browser": "20.3.6" + } + }, + "node_modules/@angular/router": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.6.tgz", + "integrity": "sha512-fSAYOR9nKpH5PoBYFNdII3nAFl2maUrYiISU33CnGwb7J7Q0s09k231c/P5tVN4URi+jdADVwiBI8cIYk8SVrg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.3.6", + "@angular/core": "20.3.6", + "@angular/platform-browser": "20.3.6", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.1.tgz", + "integrity": "sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.0.tgz", + "integrity": "sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.1", + "@inquirer/core": "^10.3.0", + "@inquirer/figures": "^1.0.14", + "@inquirer/type": "^3.0.9", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.0.tgz", + "integrity": "sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.1", + "@inquirer/figures": "^1.0.14", + "@inquirer/type": "^3.0.9", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.21", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.21.tgz", + "integrity": "sha512-MjtjOGjr0Kh4BciaFShYpZ1s9400idOdvQ5D7u7lE6VztPFoyLcVNE5dXBmEEIQq5zi4B9h2kU+q7AVBxJMAkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.0", + "@inquirer/external-editor": "^1.0.2", + "@inquirer/type": "^3.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.21", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.21.tgz", + "integrity": "sha512-+mScLhIcbPFmuvU3tAGBed78XvYHSvCl6dBiYMlzCLhpr0bzGzd8tfivMMeqND6XZiaZ1tgusbUHJEfc6YzOdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.0", + "@inquirer/type": "^3.0.9", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz", + "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.0", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.14.tgz", + "integrity": "sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.5.tgz", + "integrity": "sha512-7GoWev7P6s7t0oJbenH0eQ0ThNdDJbEAEtVt9vsrYZ9FulIokvd823yLyhQlWHJPGce1wzP53ttfdCZmonMHyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.0", + "@inquirer/type": "^3.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.21", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.21.tgz", + "integrity": "sha512-5QWs0KGaNMlhbdhOSCFfKsW+/dcAVC2g4wT/z2MCiZM47uLgatC5N20kpkDQf7dHx+XFct/MJvvNGy6aYJn4Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.0", + "@inquirer/type": "^3.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.21", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.21.tgz", + "integrity": "sha512-xxeW1V5SbNFNig2pLfetsDb0svWlKuhmr7MPJZMYuDnCTkpVBI+X/doudg4pznc1/U+yYmWFFOi4hNvGgUo7EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.1", + "@inquirer/core": "^10.3.0", + "@inquirer/type": "^3.0.9" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.9.tgz", + "integrity": "sha512-AWpxB7MuJrRiSfTKGJ7Y68imYt8P9N3Gaa7ySdkFj1iWjr6WfbGAhdZvw/UnhFXTHITJzxGUI9k8IX7akAEBCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.0", + "@inquirer/type": "^3.0.9", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.0.tgz", + "integrity": "sha512-a5SzB/qrXafDX1Z4AZW3CsVoiNxcIYCzYP7r9RzrfMpaLpB+yWi5U8BWagZyLmwR0pKbbL5umnGRd0RzGVI8bQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.3.0", + "@inquirer/figures": "^1.0.14", + "@inquirer/type": "^3.0.9", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.0.tgz", + "integrity": "sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.1", + "@inquirer/core": "^10.3.0", + "@inquirer/figures": "^1.0.14", + "@inquirer/type": "^3.0.9", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.9.tgz", + "integrity": "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "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" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@mattlewis92/dom-autoscroller": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@mattlewis92/dom-autoscroller/-/dom-autoscroller-2.4.2.tgz", + "integrity": "sha512-YbrUWREPGEjE/FU6foXcAT1YbVwqD/jkYnY1dFb0o4AxtP3s4xKBthlELjndZih8uwsDWgQZx1eNskRNe2BgZQ==", + "license": "MIT" + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz", + "integrity": "sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.6", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/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, + "license": "MIT" + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ng-matero/extensions": { + "version": "20.3.1", + "resolved": "https://registry.npmjs.org/@ng-matero/extensions/-/extensions-20.3.1.tgz", + "integrity": "sha512-eR0A88Yj+CSjCgrV/m+rHPtGwThPWTWjUxdZL9T8dz+j9FmrLBjJGbm4QVw47tu69ZHl0epBFjpHEXmxqaZTdA==", + "license": "MIT", + "dependencies": { + "@ng-select/ng-select": "^20.0.0", + "ngx-color": "^10.0.0", + "photoviewer": "^3.10.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@angular/cdk": ">=20.1.0", + "@angular/common": ">=20.1.0", + "@angular/core": ">=20.1.0", + "@angular/material": ">=20.1.0" + } + }, + "node_modules/@ng-select/ng-select": { + "version": "20.3.5", + "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-20.3.5.tgz", + "integrity": "sha512-fVPoLv/FFBdmr9fbqRsZ0RPXCEQ8mm5xxl4isfSHzuohkdPr/DpoQ9NNfQ+5H/PlFLTg3hocDblMIlEikP5avg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/forms": "^20.0.0" + } + }, + "node_modules/@ngx-translate/core": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-16.0.4.tgz", + "integrity": "sha512-s8llTL2SJvROhqttxvEs7Cg+6qSf4kvZPFYO+cTOY1d8DWTjlutRkWAleZcPPoeX927Dm7ALfL07G7oYDJ7z6w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=16", + "@angular/core": ">=16" + } + }, + "node_modules/@ngx-translate/http-loader": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-16.0.1.tgz", + "integrity": "sha512-xJEOUpvs6Zfc8G4cmQmegFOEpfYSoplTHHoisPNrATXjRBjpaKsBaPOXlZsuFUW2XV00s16gIyI4+9z1XkO5bw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=16", + "@angular/core": ">=16" + } + }, + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", + "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", + "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "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": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.3.tgz", + "integrity": "sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", + "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", + "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", + "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", + "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", + "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", + "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", + "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", + "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", + "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", + "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", + "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", + "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", + "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", + "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", + "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", + "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", + "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", + "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", + "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", + "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", + "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", + "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", + "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", + "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@scarf/scarf": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@scarf/scarf/-/scarf-1.4.0.tgz", + "integrity": "sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==", + "hasInstallScript": true, + "license": "Apache-2.0" + }, + "node_modules/@schematics/angular": { + "version": "20.3.6", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.6.tgz", + "integrity": "sha512-YPIEyKPBOyJYlda5fA49kMThzZ4WidomEMDghshux8xidbjDaPWBZdyVPQj3IXyW0teGlUM/TH0TH2weumMZrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.3.6", + "@angular-devkit/schematics": "20.3.6", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", + "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", + "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", + "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", + "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", + "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@svgdotjs/svg.draggable.js": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@svgdotjs/svg.draggable.js/-/svg.draggable.js-3.0.6.tgz", + "integrity": "sha512-7iJFm9lL3C40HQcqzEfezK2l+dW2CpoVY3b77KQGqc8GXWa6LhhmX5Ckv7alQfUXBuZbjpICZ+Dvq1czlGx7gA==", + "license": "MIT", + "peerDependencies": { + "@svgdotjs/svg.js": "^3.2.4" + } + }, + "node_modules/@svgdotjs/svg.filter.js": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@svgdotjs/svg.filter.js/-/svg.filter.js-3.0.9.tgz", + "integrity": "sha512-/69XMRCDoam2HgC4ldHIaDgeQf1ViHIsa0Ld4uWgiXtZ+E24DWHe/9Ib6kbNiZ7WRIdlVokUDR1Fg0kjIpkfbw==", + "license": "MIT", + "dependencies": { + "@svgdotjs/svg.js": "^3.2.4" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/@svgdotjs/svg.js": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@svgdotjs/svg.js/-/svg.js-3.2.5.tgz", + "integrity": "sha512-/VNHWYhNu+BS7ktbYoVGrCmsXDh+chFMaONMwGNdIBcFHrWqk2jY8fNyr3DLdtQUIalvkPfM554ZSFa3dm3nxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Fuzzyma" + } + }, + "node_modules/@svgdotjs/svg.resize.js": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@svgdotjs/svg.resize.js/-/svg.resize.js-2.0.5.tgz", + "integrity": "sha512-4heRW4B1QrJeENfi7326lUPYBCevj78FJs8kfeDxn5st0IYPIRXoTtOSYvTzFWgaWWXd3YCDE6ao4fmv91RthA==", + "license": "MIT", + "engines": { + "node": ">= 14.18" + }, + "peerDependencies": { + "@svgdotjs/svg.js": "^3.2.4", + "@svgdotjs/svg.select.js": "^4.0.1" + } + }, + "node_modules/@svgdotjs/svg.select.js": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@svgdotjs/svg.select.js/-/svg.select.js-4.0.3.tgz", + "integrity": "sha512-qkMgso1sd2hXKd1FZ1weO7ANq12sNmQJeGDjs46QwDVsxSRcHmvWKL2NDF7Yimpwf3sl5esOLkPqtV2bQ3v/Jg==", + "license": "MIT", + "engines": { + "node": ">= 14.18" + }, + "peerDependencies": { + "@svgdotjs/svg.js": "^3.2.4" + } + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", + "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/chance": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@types/chance/-/chance-1.1.7.tgz", + "integrity": "sha512-40you9610GTQPJyvjMBgmj9wiDO6qXhbfjizNYod/fmvLSfUUxURAJMTD8tjmbcZSsyYE5iEUox61AAcCjW/wQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/date-fns": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/@types/date-fns/-/date-fns-2.6.3.tgz", + "integrity": "sha512-Ke1lw2Ni1t/wMUoLtKFmSNCLozcTBd6vmMqFP4hRzXn6qzkNt97bPAX0x5Y/c15DP43kKvwW1ycStD5+43jVQA==", + "deprecated": "This is a stub types definition. date-fns provides its own type definitions, so you do not need this installed.", + "dev": true, + "license": "MIT", + "dependencies": { + "date-fns": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jasmine": { + "version": "5.1.12", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.12.tgz", + "integrity": "sha512-1BzPxNsFDLDfj9InVR3IeY0ZVf4o9XV+4mDqoCfyPkbsA7dYyKAPAb2co6wLFlHcvxPlt1wShm7zQdV7uTfLGA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.8.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.8.1.tgz", + "integrity": "sha512-alv65KGRadQVfVcG69MuB4IzdYVpRwMG/mq8KWOaoOdyY617P5ivaDiMCGOFDWD2sAn5Q0mR3mRtUOgm99hL9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.14.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/@yr/monotone-cubic-spline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz", + "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==", + "license": "MIT" + }, + "node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/angular-calendar": { + "version": "0.31.1", + "resolved": "https://registry.npmjs.org/angular-calendar/-/angular-calendar-0.31.1.tgz", + "integrity": "sha512-pjSIpoAaUzS/gx+14eOr4hPZhlQ8HxpiZypCSGqJNptq5PD+vOdVQ3h/Aaqnk86GraVcAQPXqfu64MtdKwTVNw==", + "license": "MIT", + "dependencies": { + "@scarf/scarf": "^1.1.1", + "angular-draggable-droppable": "^8.0.0", + "angular-resizable-element": "^7.0.0", + "calendar-utils": "^0.10.4", + "positioning": "^2.0.1", + "tslib": "^2.4.1" + }, + "funding": { + "url": "https://github.com/sponsors/mattlewis92" + }, + "peerDependencies": { + "@angular/core": ">=15.0.0" + } + }, + "node_modules/angular-draggable-droppable": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/angular-draggable-droppable/-/angular-draggable-droppable-8.0.0.tgz", + "integrity": "sha512-+gpSNBbygjV1pxTxsM3UPJKcXHXJabYoTtKcgQe74rGnb1umKc07XCBD1qDzvlG/kocthvhQ12qfYOYzHnE3ZA==", + "license": "MIT", + "dependencies": { + "@mattlewis92/dom-autoscroller": "^2.4.2", + "tslib": "^2.4.1" + }, + "peerDependencies": { + "@angular/core": ">=15.0.0" + } + }, + "node_modules/angular-oauth2-oidc": { + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-20.0.2.tgz", + "integrity": "sha512-bMSXEQIuvgq8yqnsIatZggAvCJvY+pm7G8MK0tWCHR93UpFuNN+L5B6pY9CzRg8Ys+VVhkLIBx4zEHbJnv9icg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.5.2" + }, + "peerDependencies": { + "@angular/common": ">=20.0.0", + "@angular/core": ">=20.0.0" + } + }, + "node_modules/angular-resizable-element": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/angular-resizable-element/-/angular-resizable-element-7.0.2.tgz", + "integrity": "sha512-/BGuNiA38n9klexHO1xgnsA3VYigj9v+jUGjKtBRgfB26bCxZKsNWParSu2k3EqbATrfAJC4Nl8f7cORpJFf4w==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/core": ">=15.0.0" + } + }, + "node_modules/angular-tabler-icons": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/angular-tabler-icons/-/angular-tabler-icons-3.26.0.tgz", + "integrity": "sha512-gOvELHvz9TgOXAVq1YDqPQ8Z+0kII4IETzKn95x//zdZ5//3RekpeAJE2go3zczXaxoy44frmea7i7mr40BDTw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/common": "17 - 19", + "@angular/core": "17 - 19" + } + }, + "node_modules/ansi-escapes": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", + "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/apexcharts": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-4.7.0.tgz", + "integrity": "sha512-iZSrrBGvVlL+nt2B1NpqfDuBZ9jX61X9I2+XV0hlYXHtTwhwLTHDKGXjNXAgFBDLuvSYCB/rq2nPWVPRv2DrGA==", + "license": "MIT", + "dependencies": { + "@svgdotjs/svg.draggable.js": "^3.0.4", + "@svgdotjs/svg.filter.js": "^3.0.8", + "@svgdotjs/svg.js": "^3.2.4", + "@svgdotjs/svg.resize.js": "^2.0.2", + "@svgdotjs/svg.select.js": "^4.0.1", + "@yr/monotone-cubic-spline": "^1.0.3" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.18", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.18.tgz", + "integrity": "sha512-UYmTpOBwgPScZpS4A+YbapwWuBwasxvO/2IOHArSsAhL/+ZdmATBXTex3t+l2hXwLVYK382ibr/nKoY9GKe86w==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/beasties": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/body-parser/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.26.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", + "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.8.9", + "caniuse-lite": "^1.0.30001746", + "electron-to-chromium": "^1.5.227", + "node-releases": "^2.0.21", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "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": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/tar": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/calendar-utils": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.10.4.tgz", + "integrity": "sha512-gBK4xCJ42yjaUKwuUha6cZOfxAmGzvSgbdAaX3xLRioeKbYoOK1x1qeD6dch72rsMZlTgATPbBBx42bnkStqgQ==", + "license": "MIT" + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001751", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chance": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.13.tgz", + "integrity": "sha512-V6lQCljcLznE7tUYUM9EOAnnKXbctE6j/rdQkYOHIWbfGQbrzTsAXNW9CdU5XCo4ArXQCj/rb6HgxPlmGJcaUg==", + "license": "MIT" + }, + "node_modules/chardet": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/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, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domq.js": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/domq.js/-/domq.js-0.7.1.tgz", + "integrity": "sha512-SQjubdV+FsTa8pRPrhygohvraS6NS5XdH2wK0V8nzg3vQW5+h3+LDn5XCE5RYejbtZE4aAUz2UTxE1B9oSl55w==", + "license": "MIT" + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.237", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.237.tgz", + "integrity": "sha512-icUt1NvfhGLar5lSWH3tHNzablaA5js3HVHacQimfP8ViEBOQv+L7DKEuHdbTZ0SKCO1ogTJTIL1Gwk9S6Qvcg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/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==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", + "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/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==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", + "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "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, + "license": "ISC", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/highlight.js": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz", + "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/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, + "license": "MIT" + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.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, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "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", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/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, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/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, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", + "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "license": "MIT", + "dependencies": { + "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.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/karma/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/karma/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/karma/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/karma/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, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/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==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.3.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.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, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==", + "license": "ISC" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/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, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/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, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/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, + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz", + "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ng-apexcharts": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.17.1.tgz", + "integrity": "sha512-4CqkO0IPZD6lDMMDRZ5cm7HXGGDEQZVRQvRDMSrNFKWJStAV01WvUPT90Tkf8eVr/rs3hPKvTR+p8Pnvd+hubQ==", + "dependencies": { + "tslib": "^2.8.1" + }, + "peerDependencies": { + "@angular/common": "^20.0.0", + "@angular/core": "^20.0.0", + "apexcharts": "^5.3.2", + "rxjs": "^7.8.2" + } + }, + "node_modules/ng2-search-filter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/ng2-search-filter/-/ng2-search-filter-0.5.1.tgz", + "integrity": "sha512-noN8R+Gyxo5ZuboEOvq+u0zKio6pEf1IVYQTCZfAfXm6ONmzWu/M2xK0di9oVUprDbPBQXCGUuvD5i2GD+35HA==", + "license": "MIT" + }, + "node_modules/ngx-color": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ngx-color/-/ngx-color-10.1.0.tgz", + "integrity": "sha512-yuxlE1LfN+PABIO4hv0Gw5ksq8g9XkMJKrGPn2SWbrre/gsH+kkyyn3rwSCurinnLCnw7czqenwQUtnBJm8yww==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.1.0", + "material-colors": "^1.2.6", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=19.0.0-0", + "@angular/core": ">=19.0.0-0" + } + }, + "node_modules/ngx-dropzone": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ngx-dropzone/-/ngx-dropzone-3.1.0.tgz", + "integrity": "sha512-5RBaEl07QUcY6sv/BBPyIxN6nbWY/KqTGheEKgbuGS0N1QPFY7NJUo8+X3fYUwQgLS+wjJeqPiR37dd0YNDtWA==", + "deprecated": "This package is deprecated and will no longer receive any updates. Please take a look at the official successor repo at hackingharold/ngx-dropzone", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + } + }, + "node_modules/ngx-editor": { + "version": "19.0.0-beta.1", + "resolved": "https://registry.npmjs.org/ngx-editor/-/ngx-editor-19.0.0-beta.1.tgz", + "integrity": "sha512-yNYdsD5v67fHc9D6moK0CXHGlv367jCYSW9s9JyU/AkRz+C7ICSN2agI2kUPxr6UG4gcyV8Lh3bJPIQlrvjiug==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.9", + "@floating-ui/dom": "^1.6.13", + "@types/trusted-types": "~2.0.7", + "prosemirror-commands": "^1.7.1", + "prosemirror-history": "^1.4.1", + "prosemirror-inputrules": "^1.5.0", + "prosemirror-keymap": "^1.2.2", + "prosemirror-model": "^1.25.0", + "prosemirror-schema-list": "^1.5.1", + "prosemirror-state": "^1.4.3", + "prosemirror-view": "^1.39.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=19.2.0", + "@angular/core": ">=19.2.0", + "@angular/forms": ">=19.2.0", + "@angular/platform-browser": ">=19.2.0", + "rxjs": ">=7.8.0" + } + }, + "node_modules/ngx-highlightjs": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/ngx-highlightjs/-/ngx-highlightjs-14.0.1.tgz", + "integrity": "sha512-pa4YPChIho+Qs6P036oMvTt8pmTlMwberz/kGBojKVMEHSj9t4PT1YzBplM+RMK0VWgLK4zRbJbxivQrLPr1fQ==", + "license": "MIT", + "dependencies": { + "highlight.js": "^11.11.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": ">=19.0.0", + "@angular/common": ">=19.0.0", + "@angular/core": ">=19.0.0", + "rxjs": ">=7.0.0" + } + }, + "node_modules/ngx-owl-carousel-o": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/ngx-owl-carousel-o/-/ngx-owl-carousel-o-20.0.1.tgz", + "integrity": "sha512-4mDWyN2gAWPcbFkvVc+Tw4Ha11ltDWnKGKfS4VTrebzBqucY2VuPugEmcKETpv1ytkyu6Qsg8Z6il/0L0l9aBA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": " ^20.0.0-rc.0 || ^20.0.0", + "@angular/core": "^20.0.0-rc.0 || ^20.0.0", + "rxjs": "^6.0.1 || ^7.0.0" + } + }, + "node_modules/ngx-pagination": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ngx-pagination/-/ngx-pagination-6.0.3.tgz", + "integrity": "sha512-lONjTQ7hFPh1SyhwDrRd5ZwM4NMGQ7bNR6vLrs6mrU0Z8Q1zCcWbf/pvyp4DOlGyd9uyZxRy2wUsSZLeIPjbAw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@angular/core": ">=13.0.0" + } + }, + "node_modules/ngx-permissions": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/ngx-permissions/-/ngx-permissions-19.0.0.tgz", + "integrity": "sha512-az/A1R8C7tmZ3XwOglYsF63M/9RMMKdF8opg9or57f6V94EmKoYff/OLOYxAft5j6C/jib+7rR89XZEpGAVGEg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/core": ">=13 || >25", + "@angular/router": ">=13 || >25", + "rxjs": ">=7 || >11" + } + }, + "node_modules/ngx-scrollbar": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/ngx-scrollbar/-/ngx-scrollbar-18.0.0.tgz", + "integrity": "sha512-+ykmY491x+nzXvnecJvZHvDz0YWuX1r7SYMxNG4RVHXm5Z68P/8kd/3ryLD6DXdNWmJawd4NGvqq2ZkUKb/g3A==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": ">=19.0.0", + "@angular/common": ">=19.0.0", + "@angular/core": ">=19.0.0", + "rxjs": ">=7.0.0" + } + }, + "node_modules/ngx-toastr": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-19.1.0.tgz", + "integrity": "sha512-Qa7Kg7QzGKNtp1v04hu3poPKKx8BGBD/Onkhm6CdH5F0vSMdq+BdR/f8DTpZnGFksW891tAFufpiWb9UZX+3vg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=16.0.0-0", + "@angular/core": ">=16.0.0-0", + "@angular/platform-browser": ">=16.0.0-0" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-gyp": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.5.0.tgz", + "integrity": "sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/tar": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-releases": { + "version": "2.0.25", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.25.tgz", + "integrity": "sha512-4auku8B/vw5psvTiiN9j1dAOsXvMoGqJuKJcR+dTdqiXEK20mMTk1UEo3HS16LeGQsVG6+qKTPM9u/qQ2LqATA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-install-checks": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz", + "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.2.tgz", + "integrity": "sha512-DrIWNiWT0FTdDRjGOYfEEZUNe1IzaSZ+up7qBTKnrQDySpdmuOQvytrqQlpK5QrCA4IThMvL4wTumqaa1ZvVIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", + "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/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, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "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, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", + "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/orderedmap": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==", + "license": "MIT" + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/pacote": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", + "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/pacote/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/photoviewer": { + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/photoviewer/-/photoviewer-3.10.3.tgz", + "integrity": "sha512-6RqhMOiPVMsgfMTP/j/lQLGGj2glzBWIDnrTpx2rcACOcO8ig+bnBAfofEPXBmLOgKxsu+HIiLQudVtloS9GEA==", + "license": "MIT", + "dependencies": { + "domq.js": "^0.7.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", + "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/positioning": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/positioning/-/positioning-2.0.1.tgz", + "integrity": "sha512-DsAgM42kV/ObuwlRpAzDTjH9E8fGKkMDJHWFX+kfNXSxh7UCCQxEmdjv/Ws5Ft1XDnt3JT8fIDYeKNSE2TbttA==", + "license": "MIT" + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prosemirror-commands": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz", + "integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.10.2" + } + }, + "node_modules/prosemirror-history": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz", + "integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==", + "license": "MIT", + "dependencies": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", + "rope-sequence": "^1.3.0" + } + }, + "node_modules/prosemirror-inputrules": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.1.tgz", + "integrity": "sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==", + "license": "MIT", + "dependencies": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-keymap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz", + "integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==", + "license": "MIT", + "dependencies": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "node_modules/prosemirror-model": { + "version": "1.25.3", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.3.tgz", + "integrity": "sha512-dY2HdaNXlARknJbrManZ1WyUtos+AP97AmvqdOQtWtrrC5g4mohVX5DTi9rXNFSk09eczLq9GuNTtq3EfMeMGA==", + "license": "MIT", + "dependencies": { + "orderedmap": "^2.0.0" + } + }, + "node_modules/prosemirror-schema-list": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz", + "integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.7.3" + } + }, + "node_modules/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==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "node_modules/prosemirror-transform": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.4.tgz", + "integrity": "sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.21.0" + } + }, + "node_modules/prosemirror-view": { + "version": "1.41.3", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.3.tgz", + "integrity": "sha512-SqMiYMUQNNBP9kfPhLO8WXEk/fon47vc52FQsUiJzTBuyjKgEcoAwMyF04eQ4WZ2ArMn7+ReypYL60aKngbACQ==", + "license": "MIT", + "dependencies": { + "prosemirror-model": "^1.20.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", + "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.7.0", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "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, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", + "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.52.3", + "@rollup/rollup-android-arm64": "4.52.3", + "@rollup/rollup-darwin-arm64": "4.52.3", + "@rollup/rollup-darwin-x64": "4.52.3", + "@rollup/rollup-freebsd-arm64": "4.52.3", + "@rollup/rollup-freebsd-x64": "4.52.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", + "@rollup/rollup-linux-arm-musleabihf": "4.52.3", + "@rollup/rollup-linux-arm64-gnu": "4.52.3", + "@rollup/rollup-linux-arm64-musl": "4.52.3", + "@rollup/rollup-linux-loong64-gnu": "4.52.3", + "@rollup/rollup-linux-ppc64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-musl": "4.52.3", + "@rollup/rollup-linux-s390x-gnu": "4.52.3", + "@rollup/rollup-linux-x64-gnu": "4.52.3", + "@rollup/rollup-linux-x64-musl": "4.52.3", + "@rollup/rollup-openharmony-arm64": "4.52.3", + "@rollup/rollup-win32-arm64-msvc": "4.52.3", + "@rollup/rollup-win32-ia32-msvc": "4.52.3", + "@rollup/rollup-win32-x64-gnu": "4.52.3", + "@rollup/rollup-win32-x64-msvc": "4.52.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/rope-sequence": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==", + "license": "MIT" + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "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", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz", + "integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", + "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.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, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/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, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "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, + "license": "CC-BY-3.0" + }, + "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, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/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, + "license": "ISC" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tuf-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz", + "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.4.1", + "make-fetch-happen": "^14.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz", + "integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/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==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", + "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "license": "MIT" + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } + }, + "node_modules/zone.js": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", + "license": "MIT" + } + } +} diff --git a/Web/package.json b/Web/package.json index 80deb46..d3912bc 100755 --- a/Web/package.json +++ b/Web/package.json @@ -1,73 +1,73 @@ -{ - "name": "web", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve --host 0.0.0.0", - "build": "ng build --configuration=production", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "prettier": { - "overrides": [ - { - "files": "*.html", - "options": { - "parser": "angular" - } - } - ] - }, - "private": true, - "dependencies": { - "@angular/animations": "^20.0.4", - "@angular/cdk": "^20.0.3", - "@angular/common": "^20.0.4", - "@angular/compiler": "^20.0.4", - "@angular/core": "^20.0.4", - "@angular/forms": "^20.0.4", - "@angular/material": "^20.0.3", - "@angular/platform-browser": "^20.0.4", - "@angular/platform-browser-dynamic": "^20.0.4", - "@angular/router": "^20.0.4", - "@ng-matero/extensions": "^20.1.0", - "@ngx-translate/core": "^16.0.4", - "@ngx-translate/http-loader": "^16.0.1", - "angular-calendar": "^0.31.1", - "angular-tabler-icons": "^3.26.0", - "apexcharts": "^4.7.0", - "chance": "^1.1.13", - "date-fns": "^4.1.0", - "highlight.js": "^11.11.1", - "ng-apexcharts": "^1.16.0", - "ng2-search-filter": "^0.5.1", - "ngx-dropzone": "^3.1.0", - "ngx-editor": "^19.0.0-beta.1", - "ngx-highlightjs": "^14.0.1", - "ngx-owl-carousel-o": "^20.0.0", - "ngx-pagination": "^6.0.3", - "ngx-permissions": "^19.0.0", - "ngx-scrollbar": "^18.0.0", - "angular-oauth2-oidc": "^20.0.2", - "ngx-toastr": "^19.0.0", - "rxjs": "~7.8.2", - "sass": "^1.89.2", - "tslib": "^2.8.1", - "zone.js": "~0.15.1" - }, - "devDependencies": { - "@angular/build": "^20.0.3", - "@angular/cli": "~20.3.6", - "@angular/compiler-cli": "^20.0.4", - "@types/chance": "^1.1.6", - "@types/date-fns": "^2.6.3", - "@types/jasmine": "~5.1.8", - "jasmine-core": "~5.8.0", - "karma": "~6.4.4", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.1", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.8.3" - } +{ + "name": "web", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve --host 0.0.0.0", + "build": "ng build --configuration=production", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "prettier": { + "overrides": [ + { + "files": "*.html", + "options": { + "parser": "angular" + } + } + ] + }, + "private": true, + "dependencies": { + "@angular/animations": "^20.0.4", + "@angular/cdk": "^20.0.3", + "@angular/common": "^20.0.4", + "@angular/compiler": "^20.0.4", + "@angular/core": "^20.0.4", + "@angular/forms": "^20.0.4", + "@angular/material": "^20.0.3", + "@angular/platform-browser": "^20.0.4", + "@angular/platform-browser-dynamic": "^20.0.4", + "@angular/router": "^20.0.4", + "@ng-matero/extensions": "^20.1.0", + "@ngx-translate/core": "^16.0.4", + "@ngx-translate/http-loader": "^16.0.1", + "angular-calendar": "^0.31.1", + "angular-tabler-icons": "^3.26.0", + "apexcharts": "^4.7.0", + "chance": "^1.1.13", + "date-fns": "^4.1.0", + "highlight.js": "^11.11.1", + "ng-apexcharts": "^1.16.0", + "ng2-search-filter": "^0.5.1", + "ngx-dropzone": "^3.1.0", + "ngx-editor": "^19.0.0-beta.1", + "ngx-highlightjs": "^14.0.1", + "ngx-owl-carousel-o": "^20.0.0", + "ngx-pagination": "^6.0.3", + "ngx-permissions": "^19.0.0", + "ngx-scrollbar": "^18.0.0", + "angular-oauth2-oidc": "^20.0.2", + "ngx-toastr": "^19.0.0", + "rxjs": "~7.8.2", + "sass": "^1.89.2", + "tslib": "^2.8.1", + "zone.js": "~0.15.1" + }, + "devDependencies": { + "@angular/build": "^20.0.3", + "@angular/cli": "~20.3.6", + "@angular/compiler-cli": "^20.0.4", + "@types/chance": "^1.1.6", + "@types/date-fns": "^2.6.3", + "@types/jasmine": "~5.1.8", + "jasmine-core": "~5.8.0", + "karma": "~6.4.4", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.1", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.3" + } } \ No newline at end of file diff --git a/Web/public/apple-touch-icon.png b/Web/public/apple-touch-icon.png new file mode 100644 index 0000000..020380e Binary files /dev/null and b/Web/public/apple-touch-icon.png differ diff --git a/Web/public/favicon-96x96.png b/Web/public/favicon-96x96.png new file mode 100644 index 0000000..5822dc8 Binary files /dev/null and b/Web/public/favicon-96x96.png differ diff --git a/Web/public/favicon.ico b/Web/public/favicon.ico index 57614f9..9ae44e0 100755 Binary files a/Web/public/favicon.ico and b/Web/public/favicon.ico differ diff --git a/Web/public/favicon.svg b/Web/public/favicon.svg new file mode 100644 index 0000000..2636764 --- /dev/null +++ b/Web/public/favicon.svg @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/Web/public/images/backgrounds/errorimg.svg b/Web/public/images/backgrounds/errorimg.svg index 1f523c4..178f6b1 100755 --- a/Web/public/images/backgrounds/errorimg.svg +++ b/Web/public/images/backgrounds/errorimg.svg @@ -1,44 +1,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/backgrounds/maintenance.svg b/Web/public/images/backgrounds/maintenance.svg index 71eccf6..f4e39c1 100755 --- a/Web/public/images/backgrounds/maintenance.svg +++ b/Web/public/images/backgrounds/maintenance.svg @@ -1,54 +1,54 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/backgrounds/maintenance2.svg b/Web/public/images/backgrounds/maintenance2.svg index 260f07f..ab81275 100755 --- a/Web/public/images/backgrounds/maintenance2.svg +++ b/Web/public/images/backgrounds/maintenance2.svg @@ -1,57 +1,57 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/chat/icon-adobe.svg b/Web/public/images/chat/icon-adobe.svg index 138a8e4..1a9a798 100755 --- a/Web/public/images/chat/icon-adobe.svg +++ b/Web/public/images/chat/icon-adobe.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Web/public/images/chat/icon-chrome.svg b/Web/public/images/chat/icon-chrome.svg index 2d430e2..137149b 100755 --- a/Web/public/images/chat/icon-chrome.svg +++ b/Web/public/images/chat/icon-chrome.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Web/public/images/chat/icon-figma.svg b/Web/public/images/chat/icon-figma.svg index acfb5bc..4af30a0 100755 --- a/Web/public/images/chat/icon-figma.svg +++ b/Web/public/images/chat/icon-figma.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Web/public/images/chat/icon-javascript.svg b/Web/public/images/chat/icon-javascript.svg index d8d1812..1b94f93 100755 --- a/Web/public/images/chat/icon-javascript.svg +++ b/Web/public/images/chat/icon-javascript.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Web/public/images/chat/icon-zip-folder.svg b/Web/public/images/chat/icon-zip-folder.svg index 32ea4af..b0c714a 100755 --- a/Web/public/images/chat/icon-zip-folder.svg +++ b/Web/public/images/chat/icon-zip-folder.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/flag/icon-flag-de.svg b/Web/public/images/flag/icon-flag-de.svg index efec2cb..a1a7acb 100755 --- a/Web/public/images/flag/icon-flag-de.svg +++ b/Web/public/images/flag/icon-flag-de.svg @@ -1,10 +1,10 @@ - - - ic_flag_cn - - - - - - + + + ic_flag_cn + + + + + + \ No newline at end of file diff --git a/Web/public/images/flag/icon-flag-es.svg b/Web/public/images/flag/icon-flag-es.svg index 8b517ff..4b5c2e6 100755 --- a/Web/public/images/flag/icon-flag-es.svg +++ b/Web/public/images/flag/icon-flag-es.svg @@ -1,10 +1,10 @@ - - - ic_flag_sa - - - - - - + + + ic_flag_sa + + + + + + \ No newline at end of file diff --git a/Web/public/images/front-pages/banner-top-left.svg b/Web/public/images/front-pages/banner-top-left.svg index 0b5d123..02298fa 100755 --- a/Web/public/images/front-pages/banner-top-left.svg +++ b/Web/public/images/front-pages/banner-top-left.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/banner-top-right.svg b/Web/public/images/front-pages/banner-top-right.svg index ce2deff..a2dab5d 100755 --- a/Web/public/images/front-pages/banner-top-right.svg +++ b/Web/public/images/front-pages/banner-top-right.svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/bottom-part.svg b/Web/public/images/front-pages/bottom-part.svg index 0a9f8f9..224ed91 100755 --- a/Web/public/images/front-pages/bottom-part.svg +++ b/Web/public/images/front-pages/bottom-part.svg @@ -1,143 +1,143 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-american-express.svg b/Web/public/images/front-pages/icon-american-express.svg index 0cc1e3c..a85d2c1 100755 --- a/Web/public/images/front-pages/icon-american-express.svg +++ b/Web/public/images/front-pages/icon-american-express.svg @@ -1,31 +1,31 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-chart.svg b/Web/public/images/front-pages/icon-chart.svg index fa45961..eba41cf 100755 --- a/Web/public/images/front-pages/icon-chart.svg +++ b/Web/public/images/front-pages/icon-chart.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-circle-check.svg b/Web/public/images/front-pages/icon-circle-check.svg index 458ffdb..99a1a14 100755 --- a/Web/public/images/front-pages/icon-circle-check.svg +++ b/Web/public/images/front-pages/icon-circle-check.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-circle-x.svg b/Web/public/images/front-pages/icon-circle-x.svg index 41b5593..32e0a89 100755 --- a/Web/public/images/front-pages/icon-circle-x.svg +++ b/Web/public/images/front-pages/icon-circle-x.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-color.svg b/Web/public/images/front-pages/icon-color.svg index 14d5f1a..54f3e3f 100755 --- a/Web/public/images/front-pages/icon-color.svg +++ b/Web/public/images/front-pages/icon-color.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-components.svg b/Web/public/images/front-pages/icon-components.svg index a14b4e4..fea1eb6 100755 --- a/Web/public/images/front-pages/icon-components.svg +++ b/Web/public/images/front-pages/icon-components.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-customize.svg b/Web/public/images/front-pages/icon-customize.svg index 300ee35..d8e22cd 100755 --- a/Web/public/images/front-pages/icon-customize.svg +++ b/Web/public/images/front-pages/icon-customize.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-diners.svg b/Web/public/images/front-pages/icon-diners.svg index 4ea5609..b8ed54a 100755 --- a/Web/public/images/front-pages/icon-diners.svg +++ b/Web/public/images/front-pages/icon-diners.svg @@ -1,87 +1,87 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-discover.svg b/Web/public/images/front-pages/icon-discover.svg index 12eebd5..bc7f2a8 100755 --- a/Web/public/images/front-pages/icon-discover.svg +++ b/Web/public/images/front-pages/icon-discover.svg @@ -1,38 +1,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-facebook.svg b/Web/public/images/front-pages/icon-facebook.svg index d0cfd8a..5b6e0bf 100755 --- a/Web/public/images/front-pages/icon-facebook.svg +++ b/Web/public/images/front-pages/icon-facebook.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-framework.svg b/Web/public/images/front-pages/icon-framework.svg index 2718d0c..56b7149 100755 --- a/Web/public/images/front-pages/icon-framework.svg +++ b/Web/public/images/front-pages/icon-framework.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-icons.svg b/Web/public/images/front-pages/icon-icons.svg index 87d1ae4..fd291f7 100755 --- a/Web/public/images/front-pages/icon-icons.svg +++ b/Web/public/images/front-pages/icon-icons.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-instagram.svg b/Web/public/images/front-pages/icon-instagram.svg index 6a73bf9..8233691 100755 --- a/Web/public/images/front-pages/icon-instagram.svg +++ b/Web/public/images/front-pages/icon-instagram.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-jcb.svg b/Web/public/images/front-pages/icon-jcb.svg index b71e935..1acd146 100755 --- a/Web/public/images/front-pages/icon-jcb.svg +++ b/Web/public/images/front-pages/icon-jcb.svg @@ -1,46 +1,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-masetro.svg b/Web/public/images/front-pages/icon-masetro.svg index 5a84358..05cad42 100755 --- a/Web/public/images/front-pages/icon-masetro.svg +++ b/Web/public/images/front-pages/icon-masetro.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-mastercard.svg b/Web/public/images/front-pages/icon-mastercard.svg index da591ae..da003c7 100755 --- a/Web/public/images/front-pages/icon-mastercard.svg +++ b/Web/public/images/front-pages/icon-mastercard.svg @@ -1,33 +1,33 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-pages.svg b/Web/public/images/front-pages/icon-pages.svg index ac7ca4b..a4a6c9d 100755 --- a/Web/public/images/front-pages/icon-pages.svg +++ b/Web/public/images/front-pages/icon-pages.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-paypal.svg b/Web/public/images/front-pages/icon-paypal.svg index 7f8de85..031e9ba 100755 --- a/Web/public/images/front-pages/icon-paypal.svg +++ b/Web/public/images/front-pages/icon-paypal.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-responsive.svg b/Web/public/images/front-pages/icon-responsive.svg index fc57366..91c6a1e 100755 --- a/Web/public/images/front-pages/icon-responsive.svg +++ b/Web/public/images/front-pages/icon-responsive.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-sass.svg b/Web/public/images/front-pages/icon-sass.svg index 5751e1a..01b04cf 100755 --- a/Web/public/images/front-pages/icon-sass.svg +++ b/Web/public/images/front-pages/icon-sass.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-sidebar.svg b/Web/public/images/front-pages/icon-sidebar.svg index 1a0ca63..0c75fe3 100755 --- a/Web/public/images/front-pages/icon-sidebar.svg +++ b/Web/public/images/front-pages/icon-sidebar.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-support.svg b/Web/public/images/front-pages/icon-support.svg index 6aa77a3..d490163 100755 --- a/Web/public/images/front-pages/icon-support.svg +++ b/Web/public/images/front-pages/icon-support.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-table.svg b/Web/public/images/front-pages/icon-table.svg index 3fd98d7..c62ca1c 100755 --- a/Web/public/images/front-pages/icon-table.svg +++ b/Web/public/images/front-pages/icon-table.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-twitter.svg b/Web/public/images/front-pages/icon-twitter.svg index e0b7780..3c75e8d 100755 --- a/Web/public/images/front-pages/icon-twitter.svg +++ b/Web/public/images/front-pages/icon-twitter.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Web/public/images/front-pages/icon-update.svg b/Web/public/images/front-pages/icon-update.svg index 94b5ed9..8174bbc 100755 --- a/Web/public/images/front-pages/icon-update.svg +++ b/Web/public/images/front-pages/icon-update.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/front-pages/icon-visa.svg b/Web/public/images/front-pages/icon-visa.svg index 7a06b63..8c23323 100755 --- a/Web/public/images/front-pages/icon-visa.svg +++ b/Web/public/images/front-pages/icon-visa.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Web/public/images/front-pages/logoIcon.svg b/Web/public/images/front-pages/logoIcon.svg index 90fdce0..5807d7e 100755 --- a/Web/public/images/front-pages/logoIcon.svg +++ b/Web/public/images/front-pages/logoIcon.svg @@ -1,11 +1,11 @@ - - logoIcon - - - - - + + logoIcon + + + + + \ No newline at end of file diff --git a/Web/public/images/landingpage/bannerimg1.svg b/Web/public/images/landingpage/bannerimg1.svg index 5ba13b7..bf71033 100755 --- a/Web/public/images/landingpage/bannerimg1.svg +++ b/Web/public/images/landingpage/bannerimg1.svg @@ -1,162 +1,162 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/landingpage/bannerimg2.svg b/Web/public/images/landingpage/bannerimg2.svg index 01ced56..f3f5b55 100755 --- a/Web/public/images/landingpage/bannerimg2.svg +++ b/Web/public/images/landingpage/bannerimg2.svg @@ -1,118 +1,118 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Web/public/images/landingpage/frameworks/angular.svg b/Web/public/images/landingpage/frameworks/angular.svg index bf081ac..96301ef 100755 --- a/Web/public/images/landingpage/frameworks/angular.svg +++ b/Web/public/images/landingpage/frameworks/angular.svg @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Web/public/images/landingpage/frameworks/icon-tabler.svg b/Web/public/images/landingpage/frameworks/icon-tabler.svg index 6e6810e..b8c0316 100755 --- a/Web/public/images/landingpage/frameworks/icon-tabler.svg +++ b/Web/public/images/landingpage/frameworks/icon-tabler.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Web/public/images/landingpage/frameworks/logo-apex.svg b/Web/public/images/landingpage/frameworks/logo-apex.svg index b3e00c4..e26155e 100755 --- a/Web/public/images/landingpage/frameworks/logo-apex.svg +++ b/Web/public/images/landingpage/frameworks/logo-apex.svg @@ -1,9 +1,9 @@ - - New Project - - - - - + + New Project + + + + + \ No newline at end of file diff --git a/Web/public/images/landingpage/frameworks/logo-figma.svg b/Web/public/images/landingpage/frameworks/logo-figma.svg index 6f1faf6..bd2fa74 100755 --- a/Web/public/images/landingpage/frameworks/logo-figma.svg +++ b/Web/public/images/landingpage/frameworks/logo-figma.svg @@ -1,9 +1,9 @@ - - New Project - - - - - + + New Project + + + + + \ No newline at end of file diff --git a/Web/public/images/landingpage/frameworks/logo-js.svg b/Web/public/images/landingpage/frameworks/logo-js.svg index 04065d3..4962da9 100755 --- a/Web/public/images/landingpage/frameworks/logo-js.svg +++ b/Web/public/images/landingpage/frameworks/logo-js.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Web/public/images/landingpage/frameworks/logo-mui.svg b/Web/public/images/landingpage/frameworks/logo-mui.svg index 2a99e21..a3af858 100755 --- a/Web/public/images/landingpage/frameworks/logo-mui.svg +++ b/Web/public/images/landingpage/frameworks/logo-mui.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Web/public/images/landingpage/frameworks/logo-react.svg b/Web/public/images/landingpage/frameworks/logo-react.svg index a4bff17..2979308 100755 --- a/Web/public/images/landingpage/frameworks/logo-react.svg +++ b/Web/public/images/landingpage/frameworks/logo-react.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Web/public/images/landingpage/frameworks/logo-redux.svg b/Web/public/images/landingpage/frameworks/logo-redux.svg index b89147b..674e961 100755 --- a/Web/public/images/landingpage/frameworks/logo-redux.svg +++ b/Web/public/images/landingpage/frameworks/logo-redux.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Web/public/images/landingpage/frameworks/logo-ts.svg b/Web/public/images/landingpage/frameworks/logo-ts.svg index 5b7da07..7c0a72c 100755 --- a/Web/public/images/landingpage/frameworks/logo-ts.svg +++ b/Web/public/images/landingpage/frameworks/logo-ts.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Web/public/images/landingpage/shape/badge.svg b/Web/public/images/landingpage/shape/badge.svg index cb69f54..7618272 100755 --- a/Web/public/images/landingpage/shape/badge.svg +++ b/Web/public/images/landingpage/shape/badge.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Web/public/images/landingpage/shape/line-bg-2.svg b/Web/public/images/landingpage/shape/line-bg-2.svg index df28d75..31f3168 100755 --- a/Web/public/images/landingpage/shape/line-bg-2.svg +++ b/Web/public/images/landingpage/shape/line-bg-2.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Web/public/images/landingpage/shape/line-bg.svg b/Web/public/images/landingpage/shape/line-bg.svg index dbb849b..01025a1 100755 --- a/Web/public/images/landingpage/shape/line-bg.svg +++ b/Web/public/images/landingpage/shape/line-bg.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Web/public/images/landingpage/shape/shape-1.svg b/Web/public/images/landingpage/shape/shape-1.svg index 30463fb..cc8ccf0 100755 --- a/Web/public/images/landingpage/shape/shape-1.svg +++ b/Web/public/images/landingpage/shape/shape-1.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Web/public/images/landingpage/shape/shape-2.svg b/Web/public/images/landingpage/shape/shape-2.svg index 4130b24..c55bce0 100755 --- a/Web/public/images/landingpage/shape/shape-2.svg +++ b/Web/public/images/landingpage/shape/shape-2.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Web/public/images/logos/dark-logo.svg b/Web/public/images/logos/dark-logo.svg index c0e674b..f7cdd12 100755 --- a/Web/public/images/logos/dark-logo.svg +++ b/Web/public/images/logos/dark-logo.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Web/public/images/logos/dark-rtl-logo.svg b/Web/public/images/logos/dark-rtl-logo.svg index afa324d..f7d0102 100755 --- a/Web/public/images/logos/dark-rtl-logo.svg +++ b/Web/public/images/logos/dark-rtl-logo.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Web/public/images/logos/light-logo-rtl.svg b/Web/public/images/logos/light-logo-rtl.svg index 1b3c4a6..b6e8f0c 100755 --- a/Web/public/images/logos/light-logo-rtl.svg +++ b/Web/public/images/logos/light-logo-rtl.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Web/public/images/logos/light-logo.svg b/Web/public/images/logos/light-logo.svg index 0eb8718..adf4ecb 100755 --- a/Web/public/images/logos/light-logo.svg +++ b/Web/public/images/logos/light-logo.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Web/public/images/products/payment.svg b/Web/public/images/products/payment.svg index 39a39f3..1304019 100755 --- a/Web/public/images/products/payment.svg +++ b/Web/public/images/products/payment.svg @@ -1,1085 +1,1085 @@ - \ No newline at end of file diff --git a/Web/public/images/shapes/shape-1.svg b/Web/public/images/shapes/shape-1.svg index 30463fb..cc8ccf0 100755 --- a/Web/public/images/shapes/shape-1.svg +++ b/Web/public/images/shapes/shape-1.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Web/public/images/shapes/shape-2.svg b/Web/public/images/shapes/shape-2.svg index 4130b24..c55bce0 100755 --- a/Web/public/images/shapes/shape-2.svg +++ b/Web/public/images/shapes/shape-2.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Web/public/images/svgs/google-icon.svg b/Web/public/images/svgs/google-icon.svg index 1307b69..4675691 100755 --- a/Web/public/images/svgs/google-icon.svg +++ b/Web/public/images/svgs/google-icon.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Web/public/images/svgs/icon-account.svg b/Web/public/images/svgs/icon-account.svg index da8f1a1..4ab551a 100755 --- a/Web/public/images/svgs/icon-account.svg +++ b/Web/public/images/svgs/icon-account.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-dd-application.svg b/Web/public/images/svgs/icon-dd-application.svg index 6adaa3c..57ecf88 100755 --- a/Web/public/images/svgs/icon-dd-application.svg +++ b/Web/public/images/svgs/icon-dd-application.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Web/public/images/svgs/icon-dd-cart.svg b/Web/public/images/svgs/icon-dd-cart.svg index 00b79fe..16a44b6 100755 --- a/Web/public/images/svgs/icon-dd-cart.svg +++ b/Web/public/images/svgs/icon-dd-cart.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Web/public/images/svgs/icon-dd-chat.svg b/Web/public/images/svgs/icon-dd-chat.svg index fdb1ad0..77a31cd 100755 --- a/Web/public/images/svgs/icon-dd-chat.svg +++ b/Web/public/images/svgs/icon-dd-chat.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-dd-date.svg b/Web/public/images/svgs/icon-dd-date.svg index f56859c..be64c30 100755 --- a/Web/public/images/svgs/icon-dd-date.svg +++ b/Web/public/images/svgs/icon-dd-date.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-dd-invoice.svg b/Web/public/images/svgs/icon-dd-invoice.svg index 035cebf..9bec7ae 100755 --- a/Web/public/images/svgs/icon-dd-invoice.svg +++ b/Web/public/images/svgs/icon-dd-invoice.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Web/public/images/svgs/icon-dd-lifebuoy.svg b/Web/public/images/svgs/icon-dd-lifebuoy.svg index 9d464e1..37e24dd 100755 --- a/Web/public/images/svgs/icon-dd-lifebuoy.svg +++ b/Web/public/images/svgs/icon-dd-lifebuoy.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-dd-message-box.svg b/Web/public/images/svgs/icon-dd-message-box.svg index f2d4d07..98ed5fc 100755 --- a/Web/public/images/svgs/icon-dd-message-box.svg +++ b/Web/public/images/svgs/icon-dd-message-box.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-dd-mobile.svg b/Web/public/images/svgs/icon-dd-mobile.svg index 66c22f0..e43bd42 100755 --- a/Web/public/images/svgs/icon-dd-mobile.svg +++ b/Web/public/images/svgs/icon-dd-mobile.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-inbox.svg b/Web/public/images/svgs/icon-inbox.svg index ebcb4ec..889187b 100755 --- a/Web/public/images/svgs/icon-inbox.svg +++ b/Web/public/images/svgs/icon-inbox.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-master-card-2.svg b/Web/public/images/svgs/icon-master-card-2.svg index 4adbf06..cc90255 100755 --- a/Web/public/images/svgs/icon-master-card-2.svg +++ b/Web/public/images/svgs/icon-master-card-2.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-master-card.svg b/Web/public/images/svgs/icon-master-card.svg index 2ceeaad..8eee2da 100755 --- a/Web/public/images/svgs/icon-master-card.svg +++ b/Web/public/images/svgs/icon-master-card.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-office-bag-2.svg b/Web/public/images/svgs/icon-office-bag-2.svg index 8b7cbe1..06b24c8 100755 --- a/Web/public/images/svgs/icon-office-bag-2.svg +++ b/Web/public/images/svgs/icon-office-bag-2.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Web/public/images/svgs/icon-office-bag.svg b/Web/public/images/svgs/icon-office-bag.svg index a7dedaa..470a34d 100755 --- a/Web/public/images/svgs/icon-office-bag.svg +++ b/Web/public/images/svgs/icon-office-bag.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Web/public/images/svgs/icon-paypal.svg b/Web/public/images/svgs/icon-paypal.svg index c17ed7f..1828703 100755 --- a/Web/public/images/svgs/icon-paypal.svg +++ b/Web/public/images/svgs/icon-paypal.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Web/public/images/svgs/icon-pie.svg b/Web/public/images/svgs/icon-pie.svg index 01d5297..f79ca56 100755 --- a/Web/public/images/svgs/icon-pie.svg +++ b/Web/public/images/svgs/icon-pie.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Web/public/images/svgs/icon-tasks.svg b/Web/public/images/svgs/icon-tasks.svg index a6c280f..d645cdd 100755 --- a/Web/public/images/svgs/icon-tasks.svg +++ b/Web/public/images/svgs/icon-tasks.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Web/public/scss/_container.scss b/Web/public/scss/_container.scss index 730c06f..96163f3 100755 --- a/Web/public/scss/_container.scss +++ b/Web/public/scss/_container.scss @@ -1,154 +1,154 @@ -@use "variables" as *; - -*, -:after, -:before { - box-sizing: border-box; -} - -body { - font-family: $font-family; - line-height: 1.334rem; - overflow-x: hidden; - color: var(--mat-sys-on-background); -} - -.mainWrapper { - display: flex; - min-height: 100vh; - width: 100%; - flex: 1; - height: 100%; -} - -.container { - max-width: 1200px; - padding-left: 24px; - padding-right: 24px; - margin: 0 auto; - - &.full-width { - display: flex; - align-items: center; - width: 100%; - } -} - -.pageWrapper { - padding: 24px; - min-height: calc(100vh - 70px); - - margin: 0 auto; - - &.maxWidth { - max-width: $boxedWidth; - } -} - -.w-100 { - width: 100%; -} - -.h-100 { - height: 100%; -} - -.shadow-none { - box-shadow: none !important; -} - -.rounded { - border-radius: $border-radius !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: 25px !important; -} - -.overflow-hidden { - overflow: hidden; -} - -.text-decoration-none { - text-decoration: none; -} - -.position-relative { - position: relative; -} - -.table-responsive { - overflow-x: auto; - - td, - mat-cell { - white-space: nowrap; - padding: 16px; - } -} - -.op-5 { - opacity: 0.5; -} - -.cursor-pointer { - cursor: pointer; -} - -.avatar-group { - img { - border: 2px solid $white; - margin-right: -5px; - - &:last-child { - margin-right: 0; - } - } -} - -a { - color: var(--mat-sys-on-background); - - &:hover { - color: $primary; - } -} - -.filter-sidebar { - width: 290px; - position: fixed; - right: -290px; - top: 0; - z-index: 10; - height: 100%; - transition: all 0.3s ease-in-out; - box-shadow: var(--mat-sys-level3); - background-color: var(--mat-sys-background); - - &.open { - right: 0; - } -} - -pre { - margin: 0; - white-space: nowrap; -} - -td.hljs-ln-line.hljs-ln-numbers { - padding-right: 10px; -} - -@media (min-width: 768px) { - html .flex-sm-row { - flex-direction: row !important; - } -} - -.mat-drawer[style*="visibility: hidden"] { - display: none; +@use "variables" as *; + +*, +:after, +:before { + box-sizing: border-box; +} + +body { + font-family: $font-family; + line-height: 1.334rem; + overflow-x: hidden; + color: var(--mat-sys-on-background); +} + +.mainWrapper { + display: flex; + min-height: 100vh; + width: 100%; + flex: 1; + height: 100%; +} + +.container { + max-width: 1200px; + padding-left: 24px; + padding-right: 24px; + margin: 0 auto; + + &.full-width { + display: flex; + align-items: center; + width: 100%; + } +} + +.pageWrapper { + padding: 24px; + min-height: calc(100vh - 70px); + + margin: 0 auto; + + &.maxWidth { + max-width: $boxedWidth; + } +} + +.w-100 { + width: 100%; +} + +.h-100 { + height: 100%; +} + +.shadow-none { + box-shadow: none !important; +} + +.rounded { + border-radius: $border-radius !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 25px !important; +} + +.overflow-hidden { + overflow: hidden; +} + +.text-decoration-none { + text-decoration: none; +} + +.position-relative { + position: relative; +} + +.table-responsive { + overflow-x: auto; + + td, + mat-cell { + white-space: nowrap; + padding: 16px; + } +} + +.op-5 { + opacity: 0.5; +} + +.cursor-pointer { + cursor: pointer; +} + +.avatar-group { + img { + border: 2px solid $white; + margin-right: -5px; + + &:last-child { + margin-right: 0; + } + } +} + +a { + color: var(--mat-sys-on-background); + + &:hover { + color: $primary; + } +} + +.filter-sidebar { + width: 290px; + position: fixed; + right: -290px; + top: 0; + z-index: 10; + height: 100%; + transition: all 0.3s ease-in-out; + box-shadow: var(--mat-sys-level3); + background-color: var(--mat-sys-background); + + &.open { + right: 0; + } +} + +pre { + margin: 0; + white-space: nowrap; +} + +td.hljs-ln-line.hljs-ln-numbers { + padding-right: 10px; +} + +@media (min-width: 768px) { + html .flex-sm-row { + flex-direction: row !important; + } +} + +.mat-drawer[style*="visibility: hidden"] { + display: none; } \ No newline at end of file diff --git a/Web/public/scss/_variables.scss b/Web/public/scss/_variables.scss index c06babd..af1d42b 100755 --- a/Web/public/scss/_variables.scss +++ b/Web/public/scss/_variables.scss @@ -1,43 +1,43 @@ -@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap"); - -// font -$font-family: "Plus Jakarta Sans", sans-serif; - -// light color variable - -// Sidenav -$sidenav-desktop: 270px !default; -$sidenav-mini: 80px !default; -$header-height: 70px !default; - -//BorderColor -$borderColor: var(--mat-sys-outline-variant); -$borderformColor: var(--mat-sys-outline-variant); - -// custom -$primary: var(--mat-sys-primary); -$secondary: var(--mat-sys-secondary); -$accent: var(--mat-sys-secondary); -$error: var(--mat-sys-error); -$warning: #ffae1f; -$success: #13deb9; -$white: #ffffff; - -$light: var(--mat-sys-surface-bright); -$light-primary: var(--mat-sys-primary-fixed-dim); -$light-secondary: var(--mat-sys-secondary-fixed-dim); -$light-accent: var(--mat-sys-secondary-fixed-dim); -$light-error: var(--mat-sys-error-fixed-dim); -$light-warning: #ffad1f40; -$light-success: #13deb940; - -// layout -$boxedWidth: 1200px; -$border-radius: 7px; - -$card-spacer: 24px; - -$text-color: var(--mat-sys-on-background); - -$dark-text-secondary: rgba(255, 255, 255, 0.67); -$dark-body-bg: #141a21; +@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap"); + +// font +$font-family: "Plus Jakarta Sans", sans-serif; + +// light color variable + +// Sidenav +$sidenav-desktop: 270px !default; +$sidenav-mini: 80px !default; +$header-height: 70px !default; + +//BorderColor +$borderColor: var(--mat-sys-outline-variant); +$borderformColor: var(--mat-sys-outline-variant); + +// custom +$primary: var(--mat-sys-primary); +$secondary: var(--mat-sys-secondary); +$accent: var(--mat-sys-secondary); +$error: var(--mat-sys-error); +$warning: #ffae1f; +$success: #13deb9; +$white: #ffffff; + +$light: var(--mat-sys-surface-bright); +$light-primary: var(--mat-sys-primary-fixed-dim); +$light-secondary: var(--mat-sys-secondary-fixed-dim); +$light-accent: var(--mat-sys-secondary-fixed-dim); +$light-error: var(--mat-sys-error-fixed-dim); +$light-warning: #ffad1f40; +$light-success: #13deb940; + +// layout +$boxedWidth: 1200px; +$border-radius: 7px; + +$card-spacer: 24px; + +$text-color: var(--mat-sys-on-background); + +$dark-text-secondary: rgba(255, 255, 255, 0.67); +$dark-body-bg: #141a21; diff --git a/Web/public/scss/apps/_blogs.scss b/Web/public/scss/apps/_blogs.scss index efffaac..a60a9d0 100755 --- a/Web/public/scss/apps/_blogs.scss +++ b/Web/public/scss/apps/_blogs.scss @@ -1,46 +1,46 @@ -.card-overlay { - position: absolute; - top: 0; - width: 100%; - height: 225px; -} - -.user-category { - margin-top: -45px; - z-index: 1; - position: relative; -} - -.featured-card { - height: 400px; - &:before { - content: ""; - position: absolute; - background: rgba(33, 33, 33, 0.6); - top: 0; - width: 100%; - height: 100%; - z-index: 1; - } - .featured-overlay { - position: absolute; - z-index: 2; - top: 0; - width: 100%; - height: 100%; - } -} - -.detail-card-overlay { - position: absolute; - top: 0; - width: 100%; - height: 440px; -} - -@media (min-width: 1200px) { - .blog-title { - font-size: 36px; - line-height: 40px; - } -} +.card-overlay { + position: absolute; + top: 0; + width: 100%; + height: 225px; +} + +.user-category { + margin-top: -45px; + z-index: 1; + position: relative; +} + +.featured-card { + height: 400px; + &:before { + content: ""; + position: absolute; + background: rgba(33, 33, 33, 0.6); + top: 0; + width: 100%; + height: 100%; + z-index: 1; + } + .featured-overlay { + position: absolute; + z-index: 2; + top: 0; + width: 100%; + height: 100%; + } +} + +.detail-card-overlay { + position: absolute; + top: 0; + width: 100%; + height: 440px; +} + +@media (min-width: 1200px) { + .blog-title { + font-size: 36px; + line-height: 40px; + } +} diff --git a/Web/public/scss/apps/_calendar.scss b/Web/public/scss/apps/_calendar.scss index 6f48b6c..6d128b1 100755 --- a/Web/public/scss/apps/_calendar.scss +++ b/Web/public/scss/apps/_calendar.scss @@ -1,85 +1,85 @@ -@use "../variables" as *; - -.cal-event-action { - text-decoration: none; - margin-left: 5px; - color: $white; -} - -.cal-month-view { - background-color: transparent !important; - - .cal-open-day-events { - background-color: $dark-body-bg !important; - } - - .cal-day-badge { - background-color: var(--mat-sys-primary) !important; - } - - .cal-day-cell.cal-weekend .cal-day-number { - color: var(--mat-sys-primary) !important; - } - - .cal-cell { - font-size: 14px; - font-weight: 500; - } -} - -.add-event-date .mat-mdc-icon-button { - width: 35px !important; - height: 35px !important; - padding: 0 !important; - display: flex; - align-items: center; - justify-content: center; -} - -html { - - .cal-week-view, - .cal-week-view .cal-hour-odd { - background-color: var(--mat-sys-surface); - } - - .cal-month-view .cal-cell-row:hover, - .cal-month-view .cal-cell-row .cal-cell:hover, - .cal-month-view .cal-cell.cal-has-events.cal-open, - .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover, - .cal-week-view .cal-day-headers .cal-header:hover, - .cal-week-view .cal-day-headers .cal-drag-over { - background-color: var(--mat-option-focus-state-layer-color); - } - - .cal-month-view .cal-day-cell:not(:last-child) { - border-right-color: var(--mat-sys-outline); - } - - .cal-month-view .cal-days .cal-cell-row, - .cal-week-view .cal-hour:not(:last-child) .cal-hour-segment, - .cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment { - border-bottom-color: var(--mat-sys-outline); - } - - .cal-month-view .cal-days, - .cal-week-view, - .cal-week-view .cal-day-headers, - .cal-week-view .cal-time-events, - .cal-week-view .cal-day-column, - .cal-week-view .cal-day-headers .cal-header:first-child, - .cal-week-view .cal-day-headers .cal-header:not(:last-child) { - border-color: var(--mat-sys-outline); - } -} - -// -// ticket app -// -.max-text { - max-width: 250px; - line-height: 1.57; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; +@use "../variables" as *; + +.cal-event-action { + text-decoration: none; + margin-left: 5px; + color: $white; +} + +.cal-month-view { + background-color: transparent !important; + + .cal-open-day-events { + background-color: $dark-body-bg !important; + } + + .cal-day-badge { + background-color: var(--mat-sys-primary) !important; + } + + .cal-day-cell.cal-weekend .cal-day-number { + color: var(--mat-sys-primary) !important; + } + + .cal-cell { + font-size: 14px; + font-weight: 500; + } +} + +.add-event-date .mat-mdc-icon-button { + width: 35px !important; + height: 35px !important; + padding: 0 !important; + display: flex; + align-items: center; + justify-content: center; +} + +html { + + .cal-week-view, + .cal-week-view .cal-hour-odd { + background-color: var(--mat-sys-surface); + } + + .cal-month-view .cal-cell-row:hover, + .cal-month-view .cal-cell-row .cal-cell:hover, + .cal-month-view .cal-cell.cal-has-events.cal-open, + .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover, + .cal-week-view .cal-day-headers .cal-header:hover, + .cal-week-view .cal-day-headers .cal-drag-over { + background-color: var(--mat-option-focus-state-layer-color); + } + + .cal-month-view .cal-day-cell:not(:last-child) { + border-right-color: var(--mat-sys-outline); + } + + .cal-month-view .cal-days .cal-cell-row, + .cal-week-view .cal-hour:not(:last-child) .cal-hour-segment, + .cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment { + border-bottom-color: var(--mat-sys-outline); + } + + .cal-month-view .cal-days, + .cal-week-view, + .cal-week-view .cal-day-headers, + .cal-week-view .cal-time-events, + .cal-week-view .cal-day-column, + .cal-week-view .cal-day-headers .cal-header:first-child, + .cal-week-view .cal-day-headers .cal-header:not(:last-child) { + border-color: var(--mat-sys-outline); + } +} + +// +// ticket app +// +.max-text { + max-width: 250px; + line-height: 1.57; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } \ No newline at end of file diff --git a/Web/public/scss/apps/_chat.scss b/Web/public/scss/apps/_chat.scss index 296db7d..b68719d 100755 --- a/Web/public/scss/apps/_chat.scss +++ b/Web/public/scss/apps/_chat.scss @@ -1,36 +1,36 @@ -.chat-list { - overflow: hidden; - box-sizing: border-box; - width: 100%; - margin-bottom: 1rem; - display: flex; - - &.even { - -webkit-box-pack: end; - -ms-flex-pack: end; - -moz-justify-content: flex-end; - justify-content: flex-end; - text-align: right; - } -} - -.chat-app { - .mat-drawer { - width: 320px; - } - .ng-scroll-content { - display: block !important; - } -} - -.chat-listing { - .mdc-list-item { - height: 75px; - display: flex; - align-items: center; - - .mdc-list-item__primary-text { - margin-bottom: -23px !important; - } - } -} +.chat-list { + overflow: hidden; + box-sizing: border-box; + width: 100%; + margin-bottom: 1rem; + display: flex; + + &.even { + -webkit-box-pack: end; + -ms-flex-pack: end; + -moz-justify-content: flex-end; + justify-content: flex-end; + text-align: right; + } +} + +.chat-app { + .mat-drawer { + width: 320px; + } + .ng-scroll-content { + display: block !important; + } +} + +.chat-listing { + .mdc-list-item { + height: 75px; + display: flex; + align-items: center; + + .mdc-list-item__primary-text { + margin-bottom: -23px !important; + } + } +} diff --git a/Web/public/scss/apps/_contact-list.scss b/Web/public/scss/apps/_contact-list.scss index 9cf1b85..fb6dd9d 100755 --- a/Web/public/scss/apps/_contact-list.scss +++ b/Web/public/scss/apps/_contact-list.scss @@ -1,59 +1,59 @@ -@use "../variables" as *; - -@media (max-width: 1279px) { - .detail-part.movetodetail { - display: block; - position: absolute; - z-index: 9; - left: 0; - background: var(--mat-card-elevated-container-color); - } -} - -@media (max-width: 1279px) { - .welcome-app { - display: none; - } -} - -@media (max-width: 959px) { - .contact-detail-part { - display: none; - } - - .contact-detail-part.activeContact { - position: absolute !important; - top: 0; - left: 0; - display: block; - width: 100%; - height: 100%; - z-index: 999; - background-color: var(--mat-card-elevated-container-color); - } -} - -// contact app -.uploader { - .upload-image { - width: 100px; - height: auto; - cursor: pointer; - } - - input[type="file"] { - position: absolute; - left: 0; - width: 100%; - height: 100%; - opacity: 0; - cursor: pointer; - } -} - -.contact-listing { - .mdc-list-item__primary-text { - margin-bottom: -11px !important; - margin-top: 10px !important; - } -} +@use "../variables" as *; + +@media (max-width: 1279px) { + .detail-part.movetodetail { + display: block; + position: absolute; + z-index: 9; + left: 0; + background: var(--mat-card-elevated-container-color); + } +} + +@media (max-width: 1279px) { + .welcome-app { + display: none; + } +} + +@media (max-width: 959px) { + .contact-detail-part { + display: none; + } + + .contact-detail-part.activeContact { + position: absolute !important; + top: 0; + left: 0; + display: block; + width: 100%; + height: 100%; + z-index: 999; + background-color: var(--mat-card-elevated-container-color); + } +} + +// contact app +.uploader { + .upload-image { + width: 100px; + height: auto; + cursor: pointer; + } + + input[type="file"] { + position: absolute; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + } +} + +.contact-listing { + .mdc-list-item__primary-text { + margin-bottom: -11px !important; + margin-top: 10px !important; + } +} diff --git a/Web/public/scss/apps/_courses.scss b/Web/public/scss/apps/_courses.scss index 9a71edb..358f937 100755 --- a/Web/public/scss/apps/_courses.scss +++ b/Web/public/scss/apps/_courses.scss @@ -1,25 +1,25 @@ -@use "../variables" as *; - -.course-header { - padding: 12px !important; - color: $white; -} - -.course-header, -.detail-bg { - &.Angular { - background-color: var(--mat-sys-error); - } - - &.Web { - background-color: var(--mat-sys-primary); - } - - &.Design { - background-color: var(--mat-sys-secondary); - } - - &.Android { - background-color: $warning; - } +@use "../variables" as *; + +.course-header { + padding: 12px !important; + color: $white; +} + +.course-header, +.detail-bg { + &.Angular { + background-color: var(--mat-sys-error); + } + + &.Web { + background-color: var(--mat-sys-primary); + } + + &.Design { + background-color: var(--mat-sys-secondary); + } + + &.Android { + background-color: $warning; + } } \ No newline at end of file diff --git a/Web/public/scss/apps/_ecommerce.scss b/Web/public/scss/apps/_ecommerce.scss index 467169d..b11a3fa 100755 --- a/Web/public/scss/apps/_ecommerce.scss +++ b/Web/public/scss/apps/_ecommerce.scss @@ -1,94 +1,94 @@ -body { - - // Add Product - - .NgxEditor__Wrapper { - border: 1px solid var(--mat-sys-outline-variant); - } - - .NgxEditor__Seperator { - border-left: 1px solid var(--mat-sys-outline-variant); - } - - .NgxEditor__MenuBar { - background-color: var(--mat-card-elevated-container-color); - border-bottom: 1px solid var(--mat-sys-outline-variant) !important; - } - - .NgxEditor { - background: var(--mat-card-elevated-container-color); - color: var(--mat-sys-on-background); - } - - .NgxEditor__MenuItem .NgxEditor__MenuItem--Icon:hover { - background-color: var(--mat-sys-primary); - color: var(--mat-sys-background); - } - - .NgxEditor__Dropdown:hover { - background-color: var(--mat-sys-primary); - - .NgxEditor__Dropdown--Text { - color: var(--mat-sys-background); - } - } - - .NgxEditor__Dropdown .NgxEditor__Dropdown--Selected, - .NgxEditor__Dropdown .NgxEditor__Dropdown--Open { - color: var(--mat-sys-background); - background-color: var(--mat-sys-primary); - } - - .NgxEditor__Dropdown .NgxEditor__Dropdown--Item:hover { - background-color: var(--mat-sys-primary-fixed-dim); - color: var(--mat-sys-primary); - } - - .NgxEditor__Dropdown .NgxEditor__Dropdown--DropdownMenu { - background-color: var(--mat-card-elevated-container-color); - } - - - .dropzone-box { - border: 1px dashed var(--mat-sys-primary); - background-color: var(--mat-sys-primary-fixed-dim); - - .dropzone-content { - .preview-image { - width: 100px; - height: 70px; - object-fit: cover; - border-radius: 6px; - margin-bottom: 0.5rem; - } - } - - .headline { - margin: 0; - } - } - - .cards-circle { - width: 15px; - height: 15px; - border-radius: var(--mat-sys-corner-full); - display: flex; - align-items: center; - justify-content: center; - background-color: var(--mat-sys-primary); - - .theme-icon { - display: none; - } - - &.selected { - .theme-icon { - display: block; - color: white; - width: 18px; - height: 25px; - } - } - } - +body { + + // Add Product + + .NgxEditor__Wrapper { + border: 1px solid var(--mat-sys-outline-variant); + } + + .NgxEditor__Seperator { + border-left: 1px solid var(--mat-sys-outline-variant); + } + + .NgxEditor__MenuBar { + background-color: var(--mat-card-elevated-container-color); + border-bottom: 1px solid var(--mat-sys-outline-variant) !important; + } + + .NgxEditor { + background: var(--mat-card-elevated-container-color); + color: var(--mat-sys-on-background); + } + + .NgxEditor__MenuItem .NgxEditor__MenuItem--Icon:hover { + background-color: var(--mat-sys-primary); + color: var(--mat-sys-background); + } + + .NgxEditor__Dropdown:hover { + background-color: var(--mat-sys-primary); + + .NgxEditor__Dropdown--Text { + color: var(--mat-sys-background); + } + } + + .NgxEditor__Dropdown .NgxEditor__Dropdown--Selected, + .NgxEditor__Dropdown .NgxEditor__Dropdown--Open { + color: var(--mat-sys-background); + background-color: var(--mat-sys-primary); + } + + .NgxEditor__Dropdown .NgxEditor__Dropdown--Item:hover { + background-color: var(--mat-sys-primary-fixed-dim); + color: var(--mat-sys-primary); + } + + .NgxEditor__Dropdown .NgxEditor__Dropdown--DropdownMenu { + background-color: var(--mat-card-elevated-container-color); + } + + + .dropzone-box { + border: 1px dashed var(--mat-sys-primary); + background-color: var(--mat-sys-primary-fixed-dim); + + .dropzone-content { + .preview-image { + width: 100px; + height: 70px; + object-fit: cover; + border-radius: 6px; + margin-bottom: 0.5rem; + } + } + + .headline { + margin: 0; + } + } + + .cards-circle { + width: 15px; + height: 15px; + border-radius: var(--mat-sys-corner-full); + display: flex; + align-items: center; + justify-content: center; + background-color: var(--mat-sys-primary); + + .theme-icon { + display: none; + } + + &.selected { + .theme-icon { + display: block; + color: white; + width: 18px; + height: 25px; + } + } + } + } \ No newline at end of file diff --git a/Web/public/scss/apps/_email.scss b/Web/public/scss/apps/_email.scss index abe434c..e7b806f 100755 --- a/Web/public/scss/apps/_email.scss +++ b/Web/public/scss/apps/_email.scss @@ -1,52 +1,52 @@ -@use "../variables" as *; - -.ngx-pagination { - margin-bottom: 15px !important; - - .current { - background: var(--mat-sys-primary) !important; - border-radius: $border-radius; - } - - a { - border-radius: $border-radius !important; - } - - button { - border-radius: $border-radius !important; - } -} - -html .mail-sidebar { - width: 240px; -} - -.email-box { - @media (max-width: 991px) { - .detail-part { - display: none; - } - } - - @media (max-width: 1279px) { - .detail-part.movetodetail { - display: block; - position: absolute; - z-index: 9; - left: 0; - background: $white; - } - - } -} - -// invoice app - -.add-invoice-list, -.edit-invoice-list { - .table { - .mat-mdc-form-field-infix { - width: auto; - } - } +@use "../variables" as *; + +.ngx-pagination { + margin-bottom: 15px !important; + + .current { + background: var(--mat-sys-primary) !important; + border-radius: $border-radius; + } + + a { + border-radius: $border-radius !important; + } + + button { + border-radius: $border-radius !important; + } +} + +html .mail-sidebar { + width: 240px; +} + +.email-box { + @media (max-width: 991px) { + .detail-part { + display: none; + } + } + + @media (max-width: 1279px) { + .detail-part.movetodetail { + display: block; + position: absolute; + z-index: 9; + left: 0; + background: $white; + } + + } +} + +// invoice app + +.add-invoice-list, +.edit-invoice-list { + .table { + .mat-mdc-form-field-infix { + width: auto; + } + } } \ No newline at end of file diff --git a/Web/public/scss/apps/_kanban.scss b/Web/public/scss/apps/_kanban.scss index 88e5215..1add8dd 100755 --- a/Web/public/scss/apps/_kanban.scss +++ b/Web/public/scss/apps/_kanban.scss @@ -1,39 +1,39 @@ -@use "../variables" as *; - -.task-list-section { - display: flex; - gap: 24px; - flex-wrap: nowrap; -} - -.task-list-container { - width: 258px; - flex-shrink: 0; -} - -.connect-sorting { - padding: 20px; - border-radius: $border-radius; -} - -.img-task { - cursor: grab; -} - -.cdk-drag-preview { - box-sizing: border-box; - border-radius: $border-radius; - box-shadow: var(--mat-sys-level2); -} - -.cdk-drag-placeholder { - opacity: 0; -} - -.cdk-drag-animating { - transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); -} - -.cdk-drop-list { - padding: 0px 0px 20px 0px !important +@use "../variables" as *; + +.task-list-section { + display: flex; + gap: 24px; + flex-wrap: nowrap; +} + +.task-list-container { + width: 258px; + flex-shrink: 0; +} + +.connect-sorting { + padding: 20px; + border-radius: $border-radius; +} + +.img-task { + cursor: grab; +} + +.cdk-drag-preview { + box-sizing: border-box; + border-radius: $border-radius; + box-shadow: var(--mat-sys-level2); +} + +.cdk-drag-placeholder { + opacity: 0; +} + +.cdk-drag-animating { + transition: transform 250ms cubic-bezier(0, 0, 0.2, 1); +} + +.cdk-drop-list { + padding: 0px 0px 20px 0px !important } \ No newline at end of file diff --git a/Web/public/scss/apps/_todo.scss b/Web/public/scss/apps/_todo.scss index 8052e1e..9a75925 100755 --- a/Web/public/scss/apps/_todo.scss +++ b/Web/public/scss/apps/_todo.scss @@ -1,25 +1,25 @@ -@use "../variables" as *; - -.todo-item { - position: relative; - - .edit-view { - position: absolute; - left: 0; - background: $white; - width: 100%; - top: 15px; - padding: 0 13px; - height: 70px; - } -} - -.app-left-sidebar { - &.mat-sidenav { - width: 240px; - } -} - -.completed { - text-decoration: line-through; +@use "../variables" as *; + +.todo-item { + position: relative; + + .edit-view { + position: absolute; + left: 0; + background: $white; + width: 100%; + top: 15px; + padding: 0 13px; + height: 70px; + } +} + +.app-left-sidebar { + &.mat-sidenav { + width: 240px; + } +} + +.completed { + text-decoration: line-through; } \ No newline at end of file diff --git a/Web/public/scss/dark/_dark.scss b/Web/public/scss/dark/_dark.scss index b371092..fe43dff 100755 --- a/Web/public/scss/dark/_dark.scss +++ b/Web/public/scss/dark/_dark.scss @@ -1,68 +1,68 @@ -@use "sass:meta"; -@use "../variables" as *; - -.dark-theme { - // typography - color: $dark-text-secondary; - - .mat-mdc-menu-panel { - color: var(--mat-sys-on-background) !important; - } - - .bg-white, - .mdc-menu-surface { - background-color: var(--mat-sys-surface) !important; - } - - .topbar { - background-color: var(--mat-sys-surface); - } - - .hljs { - background: var(--mat-sys-surface); - } - - // ------------------------------------------------------- - // border - // ------------------------------------------------------- - - .b-1 { - border: 1px solid var(--mat-sys-outline-variant) !important; - } - - .b-b-1 { - border-bottom: 1px solid var(--mat-sys-outline-variant) !important; - } - - .b-t-1 { - border-top: 1px solid var(--mat-sys-outline-variant) !important; - } - - .b-r-1 { - border-right: 1px solid var(--mat-sys-outline-variant) !important; - } - - .b-l-1 { - border-left: 1px solid var(--mat-sys-outline-variant); - } - - // fill - .customizer-button-group .mat-button-toggle-appearance-standard.mat-button-toggle-checked i-tabler.fill-icon { - fill: var(--mat-sys-primary-fixed-dim); - } - -} - -// horizontal + dark - -html.dark-theme { - .logodark { - display: none; - } -} - -html.light-theme { - .logolight { - display: none; - } +@use "sass:meta"; +@use "../variables" as *; + +.dark-theme { + // typography + color: $dark-text-secondary; + + .mat-mdc-menu-panel { + color: var(--mat-sys-on-background) !important; + } + + .bg-white, + .mdc-menu-surface { + background-color: var(--mat-sys-surface) !important; + } + + .topbar { + background-color: var(--mat-sys-surface); + } + + .hljs { + background: var(--mat-sys-surface); + } + + // ------------------------------------------------------- + // border + // ------------------------------------------------------- + + .b-1 { + border: 1px solid var(--mat-sys-outline-variant) !important; + } + + .b-b-1 { + border-bottom: 1px solid var(--mat-sys-outline-variant) !important; + } + + .b-t-1 { + border-top: 1px solid var(--mat-sys-outline-variant) !important; + } + + .b-r-1 { + border-right: 1px solid var(--mat-sys-outline-variant) !important; + } + + .b-l-1 { + border-left: 1px solid var(--mat-sys-outline-variant); + } + + // fill + .customizer-button-group .mat-button-toggle-appearance-standard.mat-button-toggle-checked i-tabler.fill-icon { + fill: var(--mat-sys-primary-fixed-dim); + } + +} + +// horizontal + dark + +html.dark-theme { + .logodark { + display: none; + } +} + +html.light-theme { + .logolight { + display: none; + } } \ No newline at end of file diff --git a/Web/public/scss/grid/_grid.scss b/Web/public/scss/grid/_grid.scss index bfbd802..1cc643a 100755 --- a/Web/public/scss/grid/_grid.scss +++ b/Web/public/scss/grid/_grid.scss @@ -1,35 +1,35 @@ -@use 'variables'; -@use 'mixins'; - -.row { - display: flex; - flex-wrap: wrap; - margin-right: variables.$grid-gutter * -.5; - margin-left: variables.$grid-gutter * -.5; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; - - > .col, - > [class*='col-'] { - padding-right: 0; - padding-left: 0; - } -} - -@include mixins.make-grid-columns(); - - -@each $breakpoint, $infix in variables.$breakpoint-infixs { - @if ($breakpoint== 'xsmall') { - @include mixins.loop-grid-columns(variables.$grid-columns, $infix); - } - - @else { - @include mixins.bp-gt($breakpoint) { - @include mixins.loop-grid-columns(variables.$grid-columns, $infix); - } - } -} +@use 'variables'; +@use 'mixins'; + +.row { + display: flex; + flex-wrap: wrap; + margin-right: variables.$grid-gutter * -.5; + margin-left: variables.$grid-gutter * -.5; +} + +.no-gutters { + margin-right: 0; + margin-left: 0; + + > .col, + > [class*='col-'] { + padding-right: 0; + padding-left: 0; + } +} + +@include mixins.make-grid-columns(); + + +@each $breakpoint, $infix in variables.$breakpoint-infixs { + @if ($breakpoint== 'xsmall') { + @include mixins.loop-grid-columns(variables.$grid-columns, $infix); + } + + @else { + @include mixins.bp-gt($breakpoint) { + @include mixins.loop-grid-columns(variables.$grid-columns, $infix); + } + } +} diff --git a/Web/public/scss/grid/_mixins.scss b/Web/public/scss/grid/_mixins.scss index dde3026..0a8a0dc 100755 --- a/Web/public/scss/grid/_mixins.scss +++ b/Web/public/scss/grid/_mixins.scss @@ -1,79 +1,79 @@ -@use 'sass:map'; -@use 'sass:math'; -@use 'variables'; - -@function bp($name, $breakpoints: variables.$breakpoints) { - $min: map.get($breakpoints, $name); - - @return $min; -} - -// Media of at least the minimum breakpoint width. -@mixin bp-gt($name, $breakpoints: variables.$breakpoints) { - $min: bp($name, $breakpoints); - - @if $min { - @media (min-width: $min) { - @content; - } - } - @else { - @content; - } -} - -// Media of at most the maximum breakpoint width. -@mixin bp-lt($name, $breakpoints: variables.$breakpoints) { - $max: bp($name, $breakpoints) - 1px; - - @if $max { - @media (max-width: $max) { - @content; - } - } - @else { - @content; - } -} - -@mixin make-grid-columns($i: 1, $list: '.col') { - @each $breakpoint, $infix in variables.$breakpoint-infixs { - $infix: if($infix == '', '', '-#{$infix}'); - - @if ($infix != '') { - $list: '#{$list}, .col#{$infix}'; - } - - @for $i from 1 through variables.$grid-columns { - $list: '#{$list}, .col#{$infix}-#{$i}'; - } - } - - #{$list} { - position: relative; - width: 100%; - padding-right: variables.$grid-gutter * .5; - padding-left: variables.$grid-gutter * .5; - } -} - -@mixin loop-grid-columns($columns: $grid-columns, $breakpoint-infix: '') { - $infix: if($breakpoint-infix == '', '', '-#{$breakpoint-infix}'); - - .col#{$infix} { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - - @for $i from 1 through $columns { - .col#{$infix}-#{$i} { - flex: 0 0 math.percentage(math.div($i, $columns)); - max-width: math.percentage(math.div($i, $columns)); - } - - .offset#{$infix}-#{$i} { - margin-left: math.percentage(math.div($i, $columns)); - } - } -} +@use 'sass:map'; +@use 'sass:math'; +@use 'variables'; + +@function bp($name, $breakpoints: variables.$breakpoints) { + $min: map.get($breakpoints, $name); + + @return $min; +} + +// Media of at least the minimum breakpoint width. +@mixin bp-gt($name, $breakpoints: variables.$breakpoints) { + $min: bp($name, $breakpoints); + + @if $min { + @media (min-width: $min) { + @content; + } + } + @else { + @content; + } +} + +// Media of at most the maximum breakpoint width. +@mixin bp-lt($name, $breakpoints: variables.$breakpoints) { + $max: bp($name, $breakpoints) - 1px; + + @if $max { + @media (max-width: $max) { + @content; + } + } + @else { + @content; + } +} + +@mixin make-grid-columns($i: 1, $list: '.col') { + @each $breakpoint, $infix in variables.$breakpoint-infixs { + $infix: if($infix == '', '', '-#{$infix}'); + + @if ($infix != '') { + $list: '#{$list}, .col#{$infix}'; + } + + @for $i from 1 through variables.$grid-columns { + $list: '#{$list}, .col#{$infix}-#{$i}'; + } + } + + #{$list} { + position: relative; + width: 100%; + padding-right: variables.$grid-gutter * .5; + padding-left: variables.$grid-gutter * .5; + } +} + +@mixin loop-grid-columns($columns: $grid-columns, $breakpoint-infix: '') { + $infix: if($breakpoint-infix == '', '', '-#{$breakpoint-infix}'); + + .col#{$infix} { + flex-basis: 0; + flex-grow: 1; + max-width: 100%; + } + + @for $i from 1 through $columns { + .col#{$infix}-#{$i} { + flex: 0 0 math.percentage(math.div($i, $columns)); + max-width: math.percentage(math.div($i, $columns)); + } + + .offset#{$infix}-#{$i} { + margin-left: math.percentage(math.div($i, $columns)); + } + } +} diff --git a/Web/public/scss/grid/_variables.scss b/Web/public/scss/grid/_variables.scss index 2f3edbc..75824f9 100755 --- a/Web/public/scss/grid/_variables.scss +++ b/Web/public/scss/grid/_variables.scss @@ -1,18 +1,18 @@ -$grid-columns: 12 !default; -$grid-gutter: 30px !default; - -$breakpoints: ( - xsmall: 0, - small: 600px, - medium: 960px, - large: 1280px, - xlarge: 2100px -) !default; - -$breakpoint-infixs: ( - xsmall: '', - small: 'sm', - medium: 'md', - large: 'lg', - xlarge: 'xl' +$grid-columns: 12 !default; +$grid-gutter: 30px !default; + +$breakpoints: ( + xsmall: 0, + small: 600px, + medium: 960px, + large: 1280px, + xlarge: 2100px +) !default; + +$breakpoint-infixs: ( + xsmall: '', + small: 'sm', + medium: 'md', + large: 'lg', + xlarge: 'xl' ) !default; \ No newline at end of file diff --git a/Web/public/scss/helpers/_border-color.scss b/Web/public/scss/helpers/_border-color.scss index 86197ad..d9ce651 100755 --- a/Web/public/scss/helpers/_border-color.scss +++ b/Web/public/scss/helpers/_border-color.scss @@ -1,18 +1,18 @@ -@use "../variables" as *; -@use "sass:meta"; // Import meta module for working with keyword arguments - -// Mixin to dynamically generate classes based on provided colors -@mixin syntax-colors2($args2...) { - @each $name2, $color2 in meta.keywords($args2) { - html .border-#{$name2} { - border: 1px solid #{$color2} !important; - } - } -} - -// Including the mixin with variables and CSS variables -@include syntax-colors2($primary: var(--mat-sys-primary), - $secondary: var(--mat-sys-secondary), - $success: $success, - $warning: $warning, +@use "../variables" as *; +@use "sass:meta"; // Import meta module for working with keyword arguments + +// Mixin to dynamically generate classes based on provided colors +@mixin syntax-colors2($args2...) { + @each $name2, $color2 in meta.keywords($args2) { + html .border-#{$name2} { + border: 1px solid #{$color2} !important; + } + } +} + +// Including the mixin with variables and CSS variables +@include syntax-colors2($primary: var(--mat-sys-primary), + $secondary: var(--mat-sys-secondary), + $success: $success, + $warning: $warning, $error: var(--mat-sys-error)); \ No newline at end of file diff --git a/Web/public/scss/helpers/_border.scss b/Web/public/scss/helpers/_border.scss index a1e0393..29e9732 100755 --- a/Web/public/scss/helpers/_border.scss +++ b/Web/public/scss/helpers/_border.scss @@ -1,32 +1,32 @@ -@use 'variables'; - -$utilities: ( - 'border': ( - property: border, - class: b, - values: variables.$borders - ), - 'border-top': ( - property: border-top, - class: b-t, - values: variables.$borders - ), - 'border-bottom': ( - property: border-bottom, - class: b-b, - values: variables.$borders - ), - 'border-left': ( - property: border-left, - class: b-l, - values: variables.$borders - ), - 'border-right': ( - property: border-right, - class: b-r, - values: variables.$borders - ), - -); - - +@use 'variables'; + +$utilities: ( + 'border': ( + property: border, + class: b, + values: variables.$borders + ), + 'border-top': ( + property: border-top, + class: b-t, + values: variables.$borders + ), + 'border-bottom': ( + property: border-bottom, + class: b-b, + values: variables.$borders + ), + 'border-left': ( + property: border-left, + class: b-l, + values: variables.$borders + ), + 'border-right': ( + property: border-right, + class: b-r, + values: variables.$borders + ), + +); + + diff --git a/Web/public/scss/helpers/_color.scss b/Web/public/scss/helpers/_color.scss index 45e559b..e4c32bb 100755 --- a/Web/public/scss/helpers/_color.scss +++ b/Web/public/scss/helpers/_color.scss @@ -1,37 +1,37 @@ -@use "sass:meta"; -@use "../variables" as *; - -@mixin syntax-colors($args...) { - @each $name, $color in meta.keywords($args) { - html .bg-#{$name} { - background-color: $color !important; - } - - html .text-#{$name} { - color: $color !important; - } - } -} - -@include syntax-colors($primary: var(--mat-sys-primary), - $secondary: var(--mat-sys-secondary), - $success: $success, - $warning: $warning, - $error: var(--mat-sys-error), - $white: $white, - $light: $light, - $light-error: var(--mat-sys-error-fixed-dim), - $light-secondary: var(--mat-sys-secondary-fixed-dim), - $light-success: $light-success, - $light-warning: $light-warning, - $light-primary: var(--mat-sys-primary-fixed-dim)); - -.fill-warning svg { - fill: $warning; - color: $warning; -} - -.fill-light svg { - fill: $light; - color: $light; +@use "sass:meta"; +@use "../variables" as *; + +@mixin syntax-colors($args...) { + @each $name, $color in meta.keywords($args) { + html .bg-#{$name} { + background-color: $color !important; + } + + html .text-#{$name} { + color: $color !important; + } + } +} + +@include syntax-colors($primary: var(--mat-sys-primary), + $secondary: var(--mat-sys-secondary), + $success: $success, + $warning: $warning, + $error: var(--mat-sys-error), + $white: $white, + $light: $light, + $light-error: var(--mat-sys-error-fixed-dim), + $light-secondary: var(--mat-sys-secondary-fixed-dim), + $light-success: $light-success, + $light-warning: $light-warning, + $light-primary: var(--mat-sys-primary-fixed-dim)); + +.fill-warning svg { + fill: $warning; + color: $warning; +} + +.fill-light svg { + fill: $light; + color: $light; } \ No newline at end of file diff --git a/Web/public/scss/helpers/_custom-flex.scss b/Web/public/scss/helpers/_custom-flex.scss index fb36a29..42952fb 100755 --- a/Web/public/scss/helpers/_custom-flex.scss +++ b/Web/public/scss/helpers/_custom-flex.scss @@ -1,59 +1,59 @@ -@media (min-width: 1200px) { - body { - .d-lg-flex { - display: flex !important; - } - - .d-lg-none { - display: none !important; - } - - .d-lg-block { - display: block !important; - } - - .align-items-lg-center { - align-items: center !important; - } - } -} - -@media (min-width: 960px) { - .d-md-none { - display: none !important; - } -} - -@media (min-width: 768px) { - body { - .d-sm-flex { - display: flex !important; - } - } -} - -@media (max-width: 767px) { - .p-xs-6 { - padding: 0 6px !important; - } -} - -.flex-shrink-0 { - flex-shrink: 0; -} - -.flex-1-auto { - flex: 1 1 0%; -} - -.hstack { - display: flex; - flex-direction: row; - gap: 20px; -} - -@media (max-width: 767px) { - .hstack { - flex-direction: column; - } +@media (min-width: 1200px) { + body { + .d-lg-flex { + display: flex !important; + } + + .d-lg-none { + display: none !important; + } + + .d-lg-block { + display: block !important; + } + + .align-items-lg-center { + align-items: center !important; + } + } +} + +@media (min-width: 960px) { + .d-md-none { + display: none !important; + } +} + +@media (min-width: 768px) { + body { + .d-sm-flex { + display: flex !important; + } + } +} + +@media (max-width: 767px) { + .p-xs-6 { + padding: 0 6px !important; + } +} + +.flex-shrink-0 { + flex-shrink: 0; +} + +.flex-1-auto { + flex: 1 1 0%; +} + +.hstack { + display: flex; + flex-direction: row; + gap: 20px; +} + +@media (max-width: 767px) { + .hstack { + flex-direction: column; + } } \ No newline at end of file diff --git a/Web/public/scss/helpers/_display.scss b/Web/public/scss/helpers/_display.scss index ae8250e..35243c9 100755 --- a/Web/public/scss/helpers/_display.scss +++ b/Web/public/scss/helpers/_display.scss @@ -1,8 +1,8 @@ -@use "variables"; - -$utilities: ( - "display": (property: display, - class: d, - values: inline inline-block block grid table table-row table-cell flex inline-flex none, - ), +@use "variables"; + +$utilities: ( + "display": (property: display, + class: d, + values: inline inline-block block grid table table-row table-cell flex inline-flex none, + ), ); \ No newline at end of file diff --git a/Web/public/scss/helpers/_flexbox.scss b/Web/public/scss/helpers/_flexbox.scss index d7d21d5..5540701 100755 --- a/Web/public/scss/helpers/_flexbox.scss +++ b/Web/public/scss/helpers/_flexbox.scss @@ -1,71 +1,71 @@ -@use "variables"; - -$utilities: ( - "flex": (property: flex, - class: flex, - values: (fill: 1 1 auto, - ), - ), - "flex-direction": (property: flex-direction, - class: flex, - values: (row: row, - row-reverse: row-reverse, - col: column, - col-reverse: column-reverse, - ), - ), - "flex-grow": (property: flex-grow, - class: flex, - values: (grow-0: 0, - grow-1: 1, - ), - ), - "flex-shrink": (property: flex-shrink, - class: flex, - values: (shrink-0: 0, - shrink-1: 1, - ), - ), - "flex-wrap": (property: flex-wrap, - class: flex, - values: wrap nowrap wrap-reverse, - ), - "justify-content": (property: justify-content, - class: justify-content, - values: (start: flex-start, - end: flex-end, - center: center, - between: space-between, - around: space-around, - ), - ), - "align-content": (property: align-content, - class: align-content, - values: (start: flex-start, - end: flex-end, - center: center, - between: space-between, - around: space-around, - stretch: stretch, - ), - ), - "align-items": (property: align-items, - class: align-items, - values: (start: flex-start, - end: flex-end, - center: center, - baseline: baseline, - stretch: stretch, - ), - ), - "align-self": (property: align-self, - class: align-self, - values: (auto: auto, - start: flex-start, - end: flex-end, - center: center, - baseline: baseline, - stretch: stretch, - ), - ), +@use "variables"; + +$utilities: ( + "flex": (property: flex, + class: flex, + values: (fill: 1 1 auto, + ), + ), + "flex-direction": (property: flex-direction, + class: flex, + values: (row: row, + row-reverse: row-reverse, + col: column, + col-reverse: column-reverse, + ), + ), + "flex-grow": (property: flex-grow, + class: flex, + values: (grow-0: 0, + grow-1: 1, + ), + ), + "flex-shrink": (property: flex-shrink, + class: flex, + values: (shrink-0: 0, + shrink-1: 1, + ), + ), + "flex-wrap": (property: flex-wrap, + class: flex, + values: wrap nowrap wrap-reverse, + ), + "justify-content": (property: justify-content, + class: justify-content, + values: (start: flex-start, + end: flex-end, + center: center, + between: space-between, + around: space-around, + ), + ), + "align-content": (property: align-content, + class: align-content, + values: (start: flex-start, + end: flex-end, + center: center, + between: space-between, + around: space-around, + stretch: stretch, + ), + ), + "align-items": (property: align-items, + class: align-items, + values: (start: flex-start, + end: flex-end, + center: center, + baseline: baseline, + stretch: stretch, + ), + ), + "align-self": (property: align-self, + class: align-self, + values: (auto: auto, + start: flex-start, + end: flex-end, + center: center, + baseline: baseline, + stretch: stretch, + ), + ), ); \ No newline at end of file diff --git a/Web/public/scss/helpers/_functions.scss b/Web/public/scss/helpers/_functions.scss index 1c7dd6c..f153ba7 100755 --- a/Web/public/scss/helpers/_functions.scss +++ b/Web/public/scss/helpers/_functions.scss @@ -1,25 +1,25 @@ -@use "sass:map"; - -// It makes the value negative. -@function negativify-map($map) { - $result: (); - - @each $key, $value in $map { - @if $key !=0 { - $result: map.merge($result, ("-" + $key: (-$value))); - } - } - - @return $result; -} - -// It allows to combine multiple maps together. -@function map-collect($maps...) { - $collection: (); - - @each $map in $maps { - $collection: map.merge($collection, $map); - } - - @return $collection; -} +@use "sass:map"; + +// It makes the value negative. +@function negativify-map($map) { + $result: (); + + @each $key, $value in $map { + @if $key !=0 { + $result: map.merge($result, ("-" + $key: (-$value))); + } + } + + @return $result; +} + +// It allows to combine multiple maps together. +@function map-collect($maps...) { + $collection: (); + + @each $map in $maps { + $collection: map.merge($collection, $map); + } + + @return $collection; +} diff --git a/Web/public/scss/helpers/_icon-size.scss b/Web/public/scss/helpers/_icon-size.scss index ac526ef..311e1b8 100755 --- a/Web/public/scss/helpers/_icon-size.scss +++ b/Web/public/scss/helpers/_icon-size.scss @@ -1,15 +1,15 @@ -@use "sass:meta"; - -$columns: 54; - -@mixin icon_size { - @for $i from 1 through $columns { - .icon-#{$i} { - height: #{$i}px !important; - width: #{$i}px !important; - line-height: #{$i + 8}px !important; - } - } -} - -@include icon_size; +@use "sass:meta"; + +$columns: 54; + +@mixin icon_size { + @for $i from 1 through $columns { + .icon-#{$i} { + height: #{$i}px !important; + width: #{$i}px !important; + line-height: #{$i + 8}px !important; + } + } +} + +@include icon_size; diff --git a/Web/public/scss/helpers/_index.scss b/Web/public/scss/helpers/_index.scss index 3ca9bce..e9e6be4 100755 --- a/Web/public/scss/helpers/_index.scss +++ b/Web/public/scss/helpers/_index.scss @@ -1,108 +1,108 @@ -@use "sass:map"; -@use "sass:meta"; -@use "sass:list"; -@use "variables"; - -@use "functions"; -@use "flexbox"; -@use "display"; -@use "border"; -@use "text"; -@use "spacing"; -@use "rounded"; - -$utilities: functions.map-collect(variables.$utilities, - display.$utilities, - flexbox.$utilities, - spacing.$utilities, - border.$utilities, - rounded.$utilities, - text.$utilities); - -@each $key, $utility in $utilities { - $values: map.get($utility, values); - - // If the values are a list or string, convert it into a map - @if meta.type-of($values)=="string" or meta.type-of(list.nth($values, 1)) !="list" - - { - $values: list.zip($values, $values); - } - - $properties: map.get($utility, property); - $property-class-prefix: map.get($utility, class); - - // Utility class maybe empty, (e.g. with position class) - $property-class-prefix-hyphen: if($property-class-prefix =="", - $property-class-prefix, - $property-class-prefix + "-" - ); - - @each $class-modifier, $value in $values { - .#{$property-class-prefix-hyphen + $class-modifier} { - @each $property in $properties { - #{$property}: $value !important; - } - } - } -} - -$ltrutilities: functions.map-collect(spacing.$ltr); - -@each $key, $utility in $ltrutilities { - $values: map.get($utility, values); - - // If the values are a list or string, convert it into a map - @if meta.type-of($values)=="string" or meta.type-of(list.nth($values, 1)) !="list" - - { - $values: list.zip($values, $values); - } - - $properties: map.get($utility, property); - $property-class-prefix: map.get($utility, class); - - // Utility class maybe empty, (e.g. with position class) - $property-class-prefix-hyphen: if($property-class-prefix =="", - $property-class-prefix, - $property-class-prefix + "-" - ); - - @each $class-modifier, $value in $values { - [dir="ltr"] .#{$property-class-prefix-hyphen + $class-modifier} { - @each $property in $properties { - #{$property}: $value !important; - } - } - } -} - -$rtlutilities: functions.map-collect(spacing.$rtl); - -@each $key, $utility in $rtlutilities { - $values: map.get($utility, values); - - // If the values are a list or string, convert it into a map - @if meta.type-of($values)=="string" or meta.type-of(list.nth($values, 1)) !="list" - - { - $values: list.zip($values, $values); - } - - $properties: map.get($utility, property); - $property-class-prefix: map.get($utility, class); - - // Utility class maybe empty, (e.g. with position class) - $property-class-prefix-hyphen: if($property-class-prefix =="", - $property-class-prefix, - $property-class-prefix + "-" - ); - - @each $class-modifier, $value in $values { - [dir="rtl"] .#{$property-class-prefix-hyphen + $class-modifier} { - @each $property in $properties { - #{$property}: $value !important; - } - } - } +@use "sass:map"; +@use "sass:meta"; +@use "sass:list"; +@use "variables"; + +@use "functions"; +@use "flexbox"; +@use "display"; +@use "border"; +@use "text"; +@use "spacing"; +@use "rounded"; + +$utilities: functions.map-collect(variables.$utilities, + display.$utilities, + flexbox.$utilities, + spacing.$utilities, + border.$utilities, + rounded.$utilities, + text.$utilities); + +@each $key, $utility in $utilities { + $values: map.get($utility, values); + + // If the values are a list or string, convert it into a map + @if meta.type-of($values)=="string" or meta.type-of(list.nth($values, 1)) !="list" + + { + $values: list.zip($values, $values); + } + + $properties: map.get($utility, property); + $property-class-prefix: map.get($utility, class); + + // Utility class maybe empty, (e.g. with position class) + $property-class-prefix-hyphen: if($property-class-prefix =="", + $property-class-prefix, + $property-class-prefix + "-" + ); + + @each $class-modifier, $value in $values { + .#{$property-class-prefix-hyphen + $class-modifier} { + @each $property in $properties { + #{$property}: $value !important; + } + } + } +} + +$ltrutilities: functions.map-collect(spacing.$ltr); + +@each $key, $utility in $ltrutilities { + $values: map.get($utility, values); + + // If the values are a list or string, convert it into a map + @if meta.type-of($values)=="string" or meta.type-of(list.nth($values, 1)) !="list" + + { + $values: list.zip($values, $values); + } + + $properties: map.get($utility, property); + $property-class-prefix: map.get($utility, class); + + // Utility class maybe empty, (e.g. with position class) + $property-class-prefix-hyphen: if($property-class-prefix =="", + $property-class-prefix, + $property-class-prefix + "-" + ); + + @each $class-modifier, $value in $values { + [dir="ltr"] .#{$property-class-prefix-hyphen + $class-modifier} { + @each $property in $properties { + #{$property}: $value !important; + } + } + } +} + +$rtlutilities: functions.map-collect(spacing.$rtl); + +@each $key, $utility in $rtlutilities { + $values: map.get($utility, values); + + // If the values are a list or string, convert it into a map + @if meta.type-of($values)=="string" or meta.type-of(list.nth($values, 1)) !="list" + + { + $values: list.zip($values, $values); + } + + $properties: map.get($utility, property); + $property-class-prefix: map.get($utility, class); + + // Utility class maybe empty, (e.g. with position class) + $property-class-prefix-hyphen: if($property-class-prefix =="", + $property-class-prefix, + $property-class-prefix + "-" + ); + + @each $class-modifier, $value in $values { + [dir="rtl"] .#{$property-class-prefix-hyphen + $class-modifier} { + @each $property in $properties { + #{$property}: $value !important; + } + } + } } \ No newline at end of file diff --git a/Web/public/scss/helpers/_rounded.scss b/Web/public/scss/helpers/_rounded.scss index 9bbf013..36d65cb 100755 --- a/Web/public/scss/helpers/_rounded.scss +++ b/Web/public/scss/helpers/_rounded.scss @@ -1,40 +1,40 @@ -@use "variables"; - -$utilities: ( - "border-radius": (property: border-radius, - class: rounded, - values: variables.$radius, - ), - "border-top-left-radius": (property: border-top-left-radius, - class: r-t-l, - values: variables.$radius, - ), - "border-top-right-radius": (property: border-top-right-radius, - class: r-t-r, - values: variables.$radius, - ), - "border-bottom-right-radius": (property: border-bottom-right-radius, - class: r-b-r, - values: variables.$radius, - ), - "border-bottom-left-radius": (property: border-bottom-left-radius, - class: r-b-l, - values: variables.$radius, - ), - "border-top-radius": (property: border-top-left-radius border-top-right-radius, - class: r-t, - values: variables.$radius, - ), - "border-bottom-radius": (property: border-bottom-left-radius border-bottom-right-radius, - class: r-b, - values: variables.$radius, - ), - "border-left-radius": (property: border-top-left-radius border-bottom-left-radius, - class: r-l, - values: variables.$radius, - ), - "border-right-radius": (property: border-top-right-radius border-bottom-right-radius, - class: r-r, - values: variables.$radius, - ), +@use "variables"; + +$utilities: ( + "border-radius": (property: border-radius, + class: rounded, + values: variables.$radius, + ), + "border-top-left-radius": (property: border-top-left-radius, + class: r-t-l, + values: variables.$radius, + ), + "border-top-right-radius": (property: border-top-right-radius, + class: r-t-r, + values: variables.$radius, + ), + "border-bottom-right-radius": (property: border-bottom-right-radius, + class: r-b-r, + values: variables.$radius, + ), + "border-bottom-left-radius": (property: border-bottom-left-radius, + class: r-b-l, + values: variables.$radius, + ), + "border-top-radius": (property: border-top-left-radius border-top-right-radius, + class: r-t, + values: variables.$radius, + ), + "border-bottom-radius": (property: border-bottom-left-radius border-bottom-right-radius, + class: r-b, + values: variables.$radius, + ), + "border-left-radius": (property: border-top-left-radius border-bottom-left-radius, + class: r-l, + values: variables.$radius, + ), + "border-right-radius": (property: border-top-right-radius border-bottom-right-radius, + class: r-r, + values: variables.$radius, + ), ); \ No newline at end of file diff --git a/Web/public/scss/helpers/_spacing.scss b/Web/public/scss/helpers/_spacing.scss index 6d8a8f3..8c3da62 100755 --- a/Web/public/scss/helpers/_spacing.scss +++ b/Web/public/scss/helpers/_spacing.scss @@ -1,136 +1,136 @@ -@use "sass:map"; -@use "variables"; - -$utilities: ( - "margin": (property: margin, - class: m, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - "margin-x": (property: margin-left margin-right, - class: m-x, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - "margin-y": (property: margin-top margin-bottom, - class: m-y, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - "margin-top": (property: margin-top, - class: m-t, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - - "margin-bottom": (property: margin-bottom, - class: m-b, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - - "negative-margin": (property: margin, - class: m, - values: variables.$negative-spacers, - ), - "negative-margin-x": (property: margin-left margin-right, - class: m-x, - values: variables.$negative-spacers, - ), - "negative-margin-y": (property: margin-top margin-bottom, - class: m-y, - values: variables.$negative-spacers, - ), - "negative-margin-top": (property: margin-top, - class: m-t, - values: variables.$negative-spacers, - ), - "negative-margin-right": (property: margin-right, - class: m-r, - values: variables.$negative-spacers, - ), - "negative-margin-bottom": (property: margin-bottom, - class: m-b, - values: variables.$negative-spacers, - ), - "negative-margin-left": (property: margin-left, - class: m-l, - values: variables.$negative-spacers, - ), - "padding": (property: padding, - class: p, - values: variables.$spacers, - ), - "padding-x": (property: padding-left padding-right, - class: p-x, - values: variables.$spacers, - ), - "padding-y": (property: padding-top padding-bottom, - class: p-y, - values: variables.$spacers, - ), - "padding-top": (property: padding-top, - class: p-t, - values: variables.$spacers, - ), - - "padding-bottom": (property: padding-bottom, - class: p-b, - values: variables.$spacers, - ), - "gap": (property: gap, - class: gap, - values: variables.$spacers, - ), -); - -$ltr: ( - "margin-right": (property: margin-right, - class: m-r, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - "margin-left": (property: margin-left, - class: m-l, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - "padding-left": (property: padding-left, - class: p-l, - values: variables.$spacers, - ), - "padding-right": (property: padding-right, - class: p-r, - values: variables.$spacers, - ), -); - -$rtl: ( - "margin-right": (property: margin-left, - class: m-r, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - "margin-left": (property: margin-right, - class: m-l, - values: map.merge(variables.$spacers, - (auto: auto, - )), - ), - "padding-left": (property: padding-right, - class: p-l, - values: variables.$spacers, - ), - "padding-right": (property: padding-left, - class: p-r, - values: variables.$spacers, - ), +@use "sass:map"; +@use "variables"; + +$utilities: ( + "margin": (property: margin, + class: m, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + "margin-x": (property: margin-left margin-right, + class: m-x, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + "margin-y": (property: margin-top margin-bottom, + class: m-y, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + "margin-top": (property: margin-top, + class: m-t, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + + "margin-bottom": (property: margin-bottom, + class: m-b, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + + "negative-margin": (property: margin, + class: m, + values: variables.$negative-spacers, + ), + "negative-margin-x": (property: margin-left margin-right, + class: m-x, + values: variables.$negative-spacers, + ), + "negative-margin-y": (property: margin-top margin-bottom, + class: m-y, + values: variables.$negative-spacers, + ), + "negative-margin-top": (property: margin-top, + class: m-t, + values: variables.$negative-spacers, + ), + "negative-margin-right": (property: margin-right, + class: m-r, + values: variables.$negative-spacers, + ), + "negative-margin-bottom": (property: margin-bottom, + class: m-b, + values: variables.$negative-spacers, + ), + "negative-margin-left": (property: margin-left, + class: m-l, + values: variables.$negative-spacers, + ), + "padding": (property: padding, + class: p, + values: variables.$spacers, + ), + "padding-x": (property: padding-left padding-right, + class: p-x, + values: variables.$spacers, + ), + "padding-y": (property: padding-top padding-bottom, + class: p-y, + values: variables.$spacers, + ), + "padding-top": (property: padding-top, + class: p-t, + values: variables.$spacers, + ), + + "padding-bottom": (property: padding-bottom, + class: p-b, + values: variables.$spacers, + ), + "gap": (property: gap, + class: gap, + values: variables.$spacers, + ), +); + +$ltr: ( + "margin-right": (property: margin-right, + class: m-r, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + "margin-left": (property: margin-left, + class: m-l, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + "padding-left": (property: padding-left, + class: p-l, + values: variables.$spacers, + ), + "padding-right": (property: padding-right, + class: p-r, + values: variables.$spacers, + ), +); + +$rtl: ( + "margin-right": (property: margin-left, + class: m-r, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + "margin-left": (property: margin-right, + class: m-l, + values: map.merge(variables.$spacers, + (auto: auto, + )), + ), + "padding-left": (property: padding-right, + class: p-l, + values: variables.$spacers, + ), + "padding-right": (property: padding-left, + class: p-r, + values: variables.$spacers, + ), ); \ No newline at end of file diff --git a/Web/public/scss/helpers/_text.scss b/Web/public/scss/helpers/_text.scss index 1c2636e..c8e696a 100755 --- a/Web/public/scss/helpers/_text.scss +++ b/Web/public/scss/helpers/_text.scss @@ -1,84 +1,84 @@ -@use "sass:map"; -@use "variables"; - -$utilities: ( - "font-size": ( - property: font-size, - class: f-s, - values: variables.$font-sizes, - ), - "font-weight": ( - property: font-weight, - class: f-w, - values: variables.$font-wieghts, - ), - "font-style": ( - property: font-style, - class: font, - values: italic normal, - ), - "text-align": ( - property: text-align, - class: text, - values: center right left, - ), - "text-decoration": ( - property: text-decoration, - class: text, - values: none underline line-through, - ), - "text-transform": ( - property: text-transform, - class: text, - values: capitalize uppercase lowercase, - ), - "white-space": ( - property: white-space, - class: text, - values: ( - wrap: normal, - nowrap: nowrap, - ), - ), - "word-wrap": ( - property: word-wrap word-break, - class: text, - values: ( - break: break-word, - ), - ), - "text-overflow": ( - property: text-overflow, - class: text, - values: ellipsis, - ), - "text-color": ( - property: color, - class: text, - values: ( - reset: inherit, - current: currentColor, - ), - ), -); - -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 0px; -} - -.lh-lg { - line-height: 36px !important; -} - -.lh-sm { - line-height: 20px !important; -} - -.lh-normal { - line-height: normal !important; +@use "sass:map"; +@use "variables"; + +$utilities: ( + "font-size": ( + property: font-size, + class: f-s, + values: variables.$font-sizes, + ), + "font-weight": ( + property: font-weight, + class: f-w, + values: variables.$font-wieghts, + ), + "font-style": ( + property: font-style, + class: font, + values: italic normal, + ), + "text-align": ( + property: text-align, + class: text, + values: center right left, + ), + "text-decoration": ( + property: text-decoration, + class: text, + values: none underline line-through, + ), + "text-transform": ( + property: text-transform, + class: text, + values: capitalize uppercase lowercase, + ), + "white-space": ( + property: white-space, + class: text, + values: ( + wrap: normal, + nowrap: nowrap, + ), + ), + "word-wrap": ( + property: word-wrap word-break, + class: text, + values: ( + break: break-word, + ), + ), + "text-overflow": ( + property: text-overflow, + class: text, + values: ellipsis, + ), + "text-color": ( + property: color, + class: text, + values: ( + reset: inherit, + current: currentColor, + ), + ), +); + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0px; +} + +.lh-lg { + line-height: 36px !important; +} + +.lh-sm { + line-height: 20px !important; +} + +.lh-normal { + line-height: normal !important; } \ No newline at end of file diff --git a/Web/public/scss/helpers/_variables.scss b/Web/public/scss/helpers/_variables.scss index 844ddf4..e3101f8 100755 --- a/Web/public/scss/helpers/_variables.scss +++ b/Web/public/scss/helpers/_variables.scss @@ -1,102 +1,102 @@ -@use "functions" as *; - -// Utility Map - -$utilities: () !default; - -// Spacing - -$spacer: 16px !default; -$spacers: ( - 0: 0, - 2: $spacer * 0.125, - 4: $spacer * 0.25, - 5: 5px, - 6: 7px, - 8: $spacer * 0.5, - 10: 10px, - 12: $spacer * 0.75, - 14: 14px, - 15: 15px, - 16: $spacer, - 20: 20px, - 24: $spacer * 1.5, - 30: 30px, - 32: $spacer * 2, - 44: 44px, - 48: $spacer * 3, - 60: 60px, - 66: 66px, - 80: 80px, -) !default; -$negative-spacers: negativify-map($spacers) !default; - -// Border - -$border-color: var(--mat-sys-outline-variant) !default; -$borders: ( - 0: 0, - 1: 1px solid $border-color, - 2: 2px solid $border-color, - 4: 4px solid $border-color, - 8: 8px solid $border-color, -) !default; - -// Border radius - -$radius-base: 7px !default; -$radius: ( - 0: 0, - 7: $radius-base, - 8: $radius-base * 2, - 12: $radius-base * 3, - 16: $radius-base * 4, - full: 9999px, -) !default; - -// Text - -$font-wieghts: ( - 100: 100, - 200: 200, - 300: 300, - 400: 400, - 500: 500, - 600: 600, - 700: 700, - 800: 800, - 900: 900, -) !default; - -$font-sizes: ( - 0: 0, - 10: 10px, - 12: 12px, - 14: 14px, - 15: 15px, - 16: 16px, - 18: 18px, - 20: 20px, - 21: 21px, - 24: 24px, - 28: 28px, - 30: 30px, - 36: 36px, - 40: 40px, - 48: 48px, -) !default; - -// Sizing - -$sizes: ( - 0: 0, - 20: 20%, - 25: 25%, - 40: 40%, - 50: 50%, - 60: 60%, - 75: 75%, - 80: 80%, - full: 100%, - auto: auto, -) !default; +@use "functions" as *; + +// Utility Map + +$utilities: () !default; + +// Spacing + +$spacer: 16px !default; +$spacers: ( + 0: 0, + 2: $spacer * 0.125, + 4: $spacer * 0.25, + 5: 5px, + 6: 7px, + 8: $spacer * 0.5, + 10: 10px, + 12: $spacer * 0.75, + 14: 14px, + 15: 15px, + 16: $spacer, + 20: 20px, + 24: $spacer * 1.5, + 30: 30px, + 32: $spacer * 2, + 44: 44px, + 48: $spacer * 3, + 60: 60px, + 66: 66px, + 80: 80px, +) !default; +$negative-spacers: negativify-map($spacers) !default; + +// Border + +$border-color: var(--mat-sys-outline-variant) !default; +$borders: ( + 0: 0, + 1: 1px solid $border-color, + 2: 2px solid $border-color, + 4: 4px solid $border-color, + 8: 8px solid $border-color, +) !default; + +// Border radius + +$radius-base: 7px !default; +$radius: ( + 0: 0, + 7: $radius-base, + 8: $radius-base * 2, + 12: $radius-base * 3, + 16: $radius-base * 4, + full: 9999px, +) !default; + +// Text + +$font-wieghts: ( + 100: 100, + 200: 200, + 300: 300, + 400: 400, + 500: 500, + 600: 600, + 700: 700, + 800: 800, + 900: 900, +) !default; + +$font-sizes: ( + 0: 0, + 10: 10px, + 12: 12px, + 14: 14px, + 15: 15px, + 16: 16px, + 18: 18px, + 20: 20px, + 21: 21px, + 24: 24px, + 28: 28px, + 30: 30px, + 36: 36px, + 40: 40px, + 48: 48px, +) !default; + +// Sizing + +$sizes: ( + 0: 0, + 20: 20%, + 25: 25%, + 40: 40%, + 50: 50%, + 60: 60%, + 75: 75%, + 80: 80%, + full: 100%, + auto: auto, +) !default; diff --git a/Web/public/scss/horizontal/_horizontal.scss b/Web/public/scss/horizontal/_horizontal.scss index 57658c5..a2edeca 100755 --- a/Web/public/scss/horizontal/_horizontal.scss +++ b/Web/public/scss/horizontal/_horizontal.scss @@ -1,208 +1,208 @@ -@use "../variables" as *; - -.sidebarNav-horizontal { - .childBox { - background: var(--mat-sys-surface); - } - - // header - .horizontal-topbar { - box-shadow: var(--mat-sys-level2); - - .branding { - padding-left: 0; - } - - .container { - max-width: $boxedWidth; - display: flex; - align-items: center; - width: 100%; - } - } - - // sidebar - .horizontal-navbar { - position: relative; - gap: 3px !important; - - .parentBox { - position: relative; - z-index: 5; - margin: 5px 0; - - &.mega-menu { - position: static; - - &:hover { - >.childBox>.ddmenu { - display: inline-block; - } - } - - >.childBox { - width: 100%; - left: 0; - - >.ddmenu { - width: 24%; - } - } - } - - &.two-column { - &:hover { - >.childBox>.ddmenu { - display: inline-block; - } - } - - >.childBox { - width: 600px; - - >.ddmenu { - width: 49%; - border-radius: $border-radius; - } - } - } - - .menuLink { - padding: 10px; - border-radius: $border-radius; - display: flex; - align-items: center; - height: 40px; - gap: 10px; - font-size: 14px; - } - - &:hover>.menuLink { - background-color: var(--mat-sys-surface-bright); - } - - &:hover>.activeMenu, - .activeMenu { - color: $white !important; - background-color: $primary; - } - - .down-icon .mat-icon { - width: 18px; - height: 18px; - font-size: 18px; - } - - .childBox { - border-radius: $border-radius; - box-shadow: var(--mat-sys-level1); - position: absolute; - width: 250px; - background-color: var(--mat-sys-surface); - - .ddmenu { - display: none; - padding: 10px; - margin: 6px; - position: relative; - border-radius: $border-radius; - } - } - - &:hover>.childBox>.ddmenu:hover { - background-color: var(--mat-sys-surface-bright); - - &:hover>.childBox>.ddmenu:hover { - background-color: var(--mat-sys-surface-bright); - } - } - - &:hover>.childBox>.ddmenu:hover>.childBox { - left: 230px; - top: 0px; - z-index: 9; - - >.ddmenu:hover>.childBox { - left: 235px; - top: 0; - } - } - - &:hover>.childBox>.ddmenu { - display: block; - padding: 0; - - &:hover>.childBox>.ddmenu { - display: block; - padding: 0; - - &:hover>.childBox>.ddmenu { - display: block; - padding: 0; - } - } - } - } - } -} - -.sidebarNav-horizontal { - - .topbar, - .mainWrapper { - width: 100%; - } - - .horizontal-navbar { - .parentBox { - - &.pactive>a, - &.pactive>a:hover, - &.pactive:hover>a { - background-color: var(--mat-sys-primary); - color: $white !important; - border-radius: $border-radius; - } - } - } -} - -.ltr { - .sidebarNav-horizontal { - .horizontal-navbar { - .parentBox { - &:last-child:hover>.childBox>.ddmenu { - &:hover>.childBox { - right: 250px; - left: unset; - - >.ddmenu:hover>.childBox { - right: 250px; - left: unset; - } - } - } - } - } - } -} - -.rtl { - .sidebarNav-horizontal { - .horizontal-navbar { - .parentBox { - &:last-child:hover>.childBox>.ddmenu { - &:hover>.childBox { - left: 250px; - right: unset; - - >.ddmenu:hover>.childBox { - left: 250px; - right: unset; - } - } - } - } - } - } +@use "../variables" as *; + +.sidebarNav-horizontal { + .childBox { + background: var(--mat-sys-surface); + } + + // header + .horizontal-topbar { + box-shadow: var(--mat-sys-level2); + + .branding { + padding-left: 0; + } + + .container { + max-width: $boxedWidth; + display: flex; + align-items: center; + width: 100%; + } + } + + // sidebar + .horizontal-navbar { + position: relative; + gap: 3px !important; + + .parentBox { + position: relative; + z-index: 5; + margin: 5px 0; + + &.mega-menu { + position: static; + + &:hover { + >.childBox>.ddmenu { + display: inline-block; + } + } + + >.childBox { + width: 100%; + left: 0; + + >.ddmenu { + width: 24%; + } + } + } + + &.two-column { + &:hover { + >.childBox>.ddmenu { + display: inline-block; + } + } + + >.childBox { + width: 600px; + + >.ddmenu { + width: 49%; + border-radius: $border-radius; + } + } + } + + .menuLink { + padding: 10px; + border-radius: $border-radius; + display: flex; + align-items: center; + height: 40px; + gap: 10px; + font-size: 14px; + } + + &:hover>.menuLink { + background-color: var(--mat-sys-surface-bright); + } + + &:hover>.activeMenu, + .activeMenu { + color: $white !important; + background-color: $primary; + } + + .down-icon .mat-icon { + width: 18px; + height: 18px; + font-size: 18px; + } + + .childBox { + border-radius: $border-radius; + box-shadow: var(--mat-sys-level1); + position: absolute; + width: 250px; + background-color: var(--mat-sys-surface); + + .ddmenu { + display: none; + padding: 10px; + margin: 6px; + position: relative; + border-radius: $border-radius; + } + } + + &:hover>.childBox>.ddmenu:hover { + background-color: var(--mat-sys-surface-bright); + + &:hover>.childBox>.ddmenu:hover { + background-color: var(--mat-sys-surface-bright); + } + } + + &:hover>.childBox>.ddmenu:hover>.childBox { + left: 230px; + top: 0px; + z-index: 9; + + >.ddmenu:hover>.childBox { + left: 235px; + top: 0; + } + } + + &:hover>.childBox>.ddmenu { + display: block; + padding: 0; + + &:hover>.childBox>.ddmenu { + display: block; + padding: 0; + + &:hover>.childBox>.ddmenu { + display: block; + padding: 0; + } + } + } + } + } +} + +.sidebarNav-horizontal { + + .topbar, + .mainWrapper { + width: 100%; + } + + .horizontal-navbar { + .parentBox { + + &.pactive>a, + &.pactive>a:hover, + &.pactive:hover>a { + background-color: var(--mat-sys-primary); + color: $white !important; + border-radius: $border-radius; + } + } + } +} + +.ltr { + .sidebarNav-horizontal { + .horizontal-navbar { + .parentBox { + &:last-child:hover>.childBox>.ddmenu { + &:hover>.childBox { + right: 250px; + left: unset; + + >.ddmenu:hover>.childBox { + right: 250px; + left: unset; + } + } + } + } + } + } +} + +.rtl { + .sidebarNav-horizontal { + .horizontal-navbar { + .parentBox { + &:last-child:hover>.childBox>.ddmenu { + &:hover>.childBox { + left: 250px; + right: unset; + + >.ddmenu:hover>.childBox { + left: 250px; + right: unset; + } + } + } + } + } + } } \ No newline at end of file diff --git a/Web/public/scss/layouts/_breacrumb.scss b/Web/public/scss/layouts/_breacrumb.scss index 28a6c54..4c113d3 100755 --- a/Web/public/scss/layouts/_breacrumb.scss +++ b/Web/public/scss/layouts/_breacrumb.scss @@ -1,33 +1,33 @@ -@use "../variables" as *; - -.breadcrumb-icon { - position: absolute; - top: -20px; - right: 19px; -} - -.breadcrumb { - list-style: none; - margin: 0; - padding: 0px; - display: flex; -} - -.breadcrumb-item { - padding: 0 10px 0 0; - - &:first-child { - &::marker { - display: none; - } - } - - a { - text-decoration: none; - font-size: 14px; - - &:hover { - color: $primary; - } - } +@use "../variables" as *; + +.breadcrumb-icon { + position: absolute; + top: -20px; + right: 19px; +} + +.breadcrumb { + list-style: none; + margin: 0; + padding: 0px; + display: flex; +} + +.breadcrumb-item { + padding: 0 10px 0 0; + + &:first-child { + &::marker { + display: none; + } + } + + a { + text-decoration: none; + font-size: 14px; + + &:hover { + color: $primary; + } + } } \ No newline at end of file diff --git a/Web/public/scss/layouts/_customizer.scss b/Web/public/scss/layouts/_customizer.scss index a0c58e5..a232b7b 100755 --- a/Web/public/scss/layouts/_customizer.scss +++ b/Web/public/scss/layouts/_customizer.scss @@ -1,118 +1,118 @@ -@use "../variables" as *; - -html .customizerNav { - border-radius: 0px !important; - width: 100%; -} - -.customizer-button-group { - &.two-row { - display: inline-block; - - &.theme-colors { - .mat-button-toggle-appearance-standard { - margin-left: 16px; - - &:first-child { - margin-left: 0; - } - } - } - - .mat-button-toggle-appearance-standard { - width: 80px; - height: 65px; - float: left; - display: flex; - align-items: center; - margin-bottom: 16px; - - .mat-button-toggle-button { - display: flex; - justify-content: center; - } - - &:nth-child(4) { - margin-left: 0; - } - - &.mat-button-toggle-checked { - .theme-circle { - .theme-icon { - display: flex; - color: $white; - } - } - } - - .theme-circle { - width: 25px; - height: 25px; - border-radius: var(--mat-sys-corner-full); - color: $white; - display: flex; - align-items: center; - justify-content: center; - - .theme-icon { - display: none; - } - - &.orange_theme { - background-color: rgb(250, 137, 107); - } - - &.blue_theme { - background-color: rgb(93, 135, 255); - } - - &.aqua_theme { - background-color: rgb(0, 116, 186); - } - - &.purple_theme { - background-color: rgb(118, 62, 189); - } - - &.green_theme { - background-color: rgb(10, 126, 164); - } - - &.cyan_theme { - background-color: rgb(1, 192, 200); - } - } - } - } - - .mat-button-toggle-appearance-standard { - padding: 9px; - border: 1px solid var(--mat-sys-outline-variant) !important; - box-shadow: none; - border-radius: $border-radius; - transition: all 0.1s ease-in 0s; - - &:hover { - transform: scale(1.05); - } - - &.mat-button-toggle-checked { - background-color: var(--mat-sys-primary-fixed-dim); - - i-tabler.fill-icon { - color: var(--mat-sys-primary); - fill: var(--mat-sys-on-primary); - } - } - } - - &.mat-button-toggle-group { - overflow: unset; - border-radius: 0; - } - - .mat-button-toggle-standalone.mat-button-toggle-appearance-standard, - &.mat-button-toggle-group-appearance-standard { - border: 0 !important; - } +@use "../variables" as *; + +html .customizerNav { + border-radius: 0px !important; + width: 100%; +} + +.customizer-button-group { + &.two-row { + display: inline-block; + + &.theme-colors { + .mat-button-toggle-appearance-standard { + margin-left: 16px; + + &:first-child { + margin-left: 0; + } + } + } + + .mat-button-toggle-appearance-standard { + width: 80px; + height: 65px; + float: left; + display: flex; + align-items: center; + margin-bottom: 16px; + + .mat-button-toggle-button { + display: flex; + justify-content: center; + } + + &:nth-child(4) { + margin-left: 0; + } + + &.mat-button-toggle-checked { + .theme-circle { + .theme-icon { + display: flex; + color: $white; + } + } + } + + .theme-circle { + width: 25px; + height: 25px; + border-radius: var(--mat-sys-corner-full); + color: $white; + display: flex; + align-items: center; + justify-content: center; + + .theme-icon { + display: none; + } + + &.orange_theme { + background-color: rgb(250, 137, 107); + } + + &.blue_theme { + background-color: rgb(93, 135, 255); + } + + &.aqua_theme { + background-color: rgb(0, 116, 186); + } + + &.purple_theme { + background-color: rgb(118, 62, 189); + } + + &.green_theme { + background-color: rgb(10, 126, 164); + } + + &.cyan_theme { + background-color: rgb(1, 192, 200); + } + } + } + } + + .mat-button-toggle-appearance-standard { + padding: 9px; + border: 1px solid var(--mat-sys-outline-variant) !important; + box-shadow: none; + border-radius: $border-radius; + transition: all 0.1s ease-in 0s; + + &:hover { + transform: scale(1.05); + } + + &.mat-button-toggle-checked { + background-color: var(--mat-sys-primary-fixed-dim); + + i-tabler.fill-icon { + color: var(--mat-sys-primary); + fill: var(--mat-sys-on-primary); + } + } + } + + &.mat-button-toggle-group { + overflow: unset; + border-radius: 0; + } + + .mat-button-toggle-standalone.mat-button-toggle-appearance-standard, + &.mat-button-toggle-group-appearance-standard { + border: 0 !important; + } } \ No newline at end of file diff --git a/Web/public/scss/layouts/_header.scss b/Web/public/scss/layouts/_header.scss index d24e1f8..3a3f07b 100755 --- a/Web/public/scss/layouts/_header.scss +++ b/Web/public/scss/layouts/_header.scss @@ -1,64 +1,64 @@ -@use "../variables" as *; - -html .topbar { - position: sticky; - top: 0; - z-index: 9; - height: $header-height; - - .notification-badge{ - .mat-badge-content{ - left: 80%; - bottom: 85%; - width: 16px; - height: 16px; - } - } -} - -.topbar-dd { - min-width: 360px !important; -} - -.apps-dd { - min-width: 830px !important; - overflow: unset !important; - - .mat-mdc-menu-content { - padding: 0; - } -} - -.text-hover-primary:hover { - .hover-text { - color: $primary; - } -} - -.upgrade-bg { - position: absolute; - top: 0px; - right: 0px; - height: 100%; -} - -.object-cover { - object-fit: cover; -} - -.profile-dd { - margin-top: -5px; - margin-left: -5px; -} - -.dark-theme { - .topbar { - .mat-mdc-icon-button { - color: $dark-text-secondary !important; - } - - .mdc-button { - --mat-button-text-label-text-color: $dark-text-secondary !important; - } - } +@use "../variables" as *; + +html .topbar { + position: sticky; + top: 0; + z-index: 9; + height: $header-height; + + .notification-badge{ + .mat-badge-content{ + left: 80%; + bottom: 85%; + width: 16px; + height: 16px; + } + } +} + +.topbar-dd { + min-width: 360px !important; +} + +.apps-dd { + min-width: 830px !important; + overflow: unset !important; + + .mat-mdc-menu-content { + padding: 0; + } +} + +.text-hover-primary:hover { + .hover-text { + color: $primary; + } +} + +.upgrade-bg { + position: absolute; + top: 0px; + right: 0px; + height: 100%; +} + +.object-cover { + object-fit: cover; +} + +.profile-dd { + margin-top: -5px; + margin-left: -5px; +} + +.dark-theme { + .topbar { + .mat-mdc-icon-button { + color: $dark-text-secondary !important; + } + + .mdc-button { + --mat-button-text-label-text-color: $dark-text-secondary !important; + } + } } \ No newline at end of file diff --git a/Web/public/scss/layouts/_layouts.scss b/Web/public/scss/layouts/_layouts.scss index c56764a..d692121 100755 --- a/Web/public/scss/layouts/_layouts.scss +++ b/Web/public/scss/layouts/_layouts.scss @@ -1,4 +1,4 @@ -@use "sidebar"; -@use "header"; -@use "customizer"; +@use "sidebar"; +@use "header"; +@use "customizer"; @use "breacrumb"; \ No newline at end of file diff --git a/Web/public/scss/layouts/_sidebar.scss b/Web/public/scss/layouts/_sidebar.scss index 1c9c1f8..334eab1 100755 --- a/Web/public/scss/layouts/_sidebar.scss +++ b/Web/public/scss/layouts/_sidebar.scss @@ -1,210 +1,210 @@ -@use "../variables" as *; - -.mat-drawer.sidebarNav { - width: $sidenav-desktop; - flex-shrink: 0; - transition: swift-ease-out(width); - position: absolute; - overflow-x: hidden; - border-right: 1px solid $borderColor; - border-radius: 0px !important; -} - -.branding { - padding: 20px; -} - -.sidebarNav-mini { - .sidebarNav { - width: $sidenav-mini; - - .profile-bar { - display: none; - } - - .sidebar-list { - .menu-list-item { - padding: 8px 17px; - - .mdc-list-item__content { - display: none; - } - - .mdc-list-item__start { - margin-left: 6px !important; - margin-right: 8px !important; - } - } - } - - &:hover { - width: $sidenav-desktop; - - .profile-bar { - display: block; - } - - .sidebar-list { - .menu-list-item { - padding: 8px 10px; - - .mdc-list-item__content { - display: inline; - } - - .mdc-list-item__start { - margin-left: 0 !important; - } - } - - &.mdc-list { - padding: 0 24px; - max-width: $sidenav-desktop; - - .mdc-list-group__subheader { - text-align: left; - } - } - } - } - } - - .hideMenu { - overflow: hidden; - width: $sidenav-mini; - } - - .branding { - width: $sidenav-mini - 15px; - overflow: hidden; - } - - .sidebar-list { - &.mdc-list { - padding: 0 12px; - - .mdc-list-group__subheader { - text-align: center; - } - } - } - - .contentWrapper { - transition: swift-ease-out(width); - } -} - -@media (min-width: 1024px) { - .sidebarNav-mini { - .contentWrapper { - margin-left: $sidenav-mini !important; - } - } -} - -.customizerBtn { - position: fixed; - right: 30px; - bottom: 30px; - z-index: 9; -} - -.sidebar-list { - &.mdc-list { - padding: 0 24px; - - .mdc-list-group__subheader { - margin: 12px 0; - text-transform: uppercase; - font-size: 0.75rem; - font-weight: 700; - margin-top: 24px; - } - - .menu-list-item { - height: 45px; - padding: 8px 10px !important; - margin-bottom: 2px; - - &.twoline { - height: 60px; - align-items: center; - } - - &:before, - &:focus { - z-index: -1; - } - - &.disabled { - opacity: 0.38; - } - - .item-chip { - height: 24px; - display: flex; - align-items: center; - justify-content: center; - font-size: 12px; - } - - &.activeMenu { - background-color: var(--mat-sys-primary); - - .mdc-list-item__primary-text { - color: $white !important; - } - - .mat-mdc-list-item-icon { - color: $white !important; - } - } - - .mdc-list-item__start { - margin-right: 14px; - margin-left: 0 !important; - width: 20px; - height: 20px; - line-height: 0px; - fill: transparent !important; - } - - .mdc-list-item__primary-text { - display: flex; - align-items: center; - justify-content: space-between; - - .arrow-icon { - display: flex; - - .mat-icon { - font-size: 18px; - width: 18px; - height: 18px; - display: flex; - align-items: center; - justify-content: center; - } - } - } - } - } -} - -.sidebar-list .top-parent .menu-list-item.activemenu { - background-color: color-mix(in srgb, var(--mat-sys-primary) 10%, transparent); - - .mdc-list-item__primary-text { - color: var(--mat-sys-primary) !important; - } - - .mat-mdc-list-item-icon { - color: var(--mat-sys-primary) !important; - } -} - -.flex-layout { - display: flex; - flex-direction: column; - height: 100%; +@use "../variables" as *; + +.mat-drawer.sidebarNav { + width: $sidenav-desktop; + flex-shrink: 0; + transition: swift-ease-out(width); + position: absolute; + overflow-x: hidden; + border-right: 1px solid $borderColor; + border-radius: 0px !important; +} + +.branding { + padding: 20px; +} + +.sidebarNav-mini { + .sidebarNav { + width: $sidenav-mini; + + .profile-bar { + display: none; + } + + .sidebar-list { + .menu-list-item { + padding: 8px 17px; + + .mdc-list-item__content { + display: none; + } + + .mdc-list-item__start { + margin-left: 6px !important; + margin-right: 8px !important; + } + } + } + + &:hover { + width: $sidenav-desktop; + + .profile-bar { + display: block; + } + + .sidebar-list { + .menu-list-item { + padding: 8px 10px; + + .mdc-list-item__content { + display: inline; + } + + .mdc-list-item__start { + margin-left: 0 !important; + } + } + + &.mdc-list { + padding: 0 24px; + max-width: $sidenav-desktop; + + .mdc-list-group__subheader { + text-align: left; + } + } + } + } + } + + .hideMenu { + overflow: hidden; + width: $sidenav-mini; + } + + .branding { + width: $sidenav-mini - 15px; + overflow: hidden; + } + + .sidebar-list { + &.mdc-list { + padding: 0 12px; + + .mdc-list-group__subheader { + text-align: center; + } + } + } + + .contentWrapper { + transition: swift-ease-out(width); + } +} + +@media (min-width: 1024px) { + .sidebarNav-mini { + .contentWrapper { + margin-left: $sidenav-mini !important; + } + } +} + +.customizerBtn { + position: fixed; + right: 30px; + bottom: 30px; + z-index: 9; +} + +.sidebar-list { + &.mdc-list { + padding: 0 24px; + + .mdc-list-group__subheader { + margin: 12px 0; + text-transform: uppercase; + font-size: 0.75rem; + font-weight: 700; + margin-top: 24px; + } + + .menu-list-item { + height: 45px; + padding: 8px 10px !important; + margin-bottom: 2px; + + &.twoline { + height: 60px; + align-items: center; + } + + &:before, + &:focus { + z-index: -1; + } + + &.disabled { + opacity: 0.38; + } + + .item-chip { + height: 24px; + display: flex; + align-items: center; + justify-content: center; + font-size: 12px; + } + + &.activeMenu { + background-color: var(--mat-sys-primary); + + .mdc-list-item__primary-text { + color: $white !important; + } + + .mat-mdc-list-item-icon { + color: $white !important; + } + } + + .mdc-list-item__start { + margin-right: 14px; + margin-left: 0 !important; + width: 20px; + height: 20px; + line-height: 0px; + fill: transparent !important; + } + + .mdc-list-item__primary-text { + display: flex; + align-items: center; + justify-content: space-between; + + .arrow-icon { + display: flex; + + .mat-icon { + font-size: 18px; + width: 18px; + height: 18px; + display: flex; + align-items: center; + justify-content: center; + } + } + } + } + } +} + +.sidebar-list .top-parent .menu-list-item.activemenu { + background-color: color-mix(in srgb, var(--mat-sys-primary) 10%, transparent); + + .mdc-list-item__primary-text { + color: var(--mat-sys-primary) !important; + } + + .mat-mdc-list-item-icon { + color: var(--mat-sys-primary) !important; + } +} + +.flex-layout { + display: flex; + flex-direction: column; + height: 100%; } \ No newline at end of file diff --git a/Web/public/scss/layouts/_transitions.scss b/Web/public/scss/layouts/_transitions.scss index fdc42bc..d0edf7c 100755 --- a/Web/public/scss/layouts/_transitions.scss +++ b/Web/public/scss/layouts/_transitions.scss @@ -1,17 +1,17 @@ -$swift-ease-out-duration: 400ms; -$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1); - -@function swift-ease-out($property) { - // The Material default animation curves. - $transition: $property $swift-ease-out-duration - $swift-ease-out-timing-function; - - @return $transition; -} - -@function fast-out-slow($property) { - // The Material default animation curves. - $transition: $property 225ms cubic-bezier(0.4, 0, 0.2, 1); - - @return $transition; -} +$swift-ease-out-duration: 400ms; +$swift-ease-out-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1); + +@function swift-ease-out($property) { + // The Material default animation curves. + $transition: $property $swift-ease-out-duration + $swift-ease-out-timing-function; + + @return $transition; +} + +@function fast-out-slow($property) { + // The Material default animation curves. + $transition: $property 225ms cubic-bezier(0.4, 0, 0.2, 1); + + @return $transition; +} diff --git a/Web/public/scss/override-component/_autocomplete.scss b/Web/public/scss/override-component/_autocomplete.scss index c93ff43..0a58dc0 100755 --- a/Web/public/scss/override-component/_autocomplete.scss +++ b/Web/public/scss/override-component/_autocomplete.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.autocomplete-overrides( - ( - container-elevation-shadow: var(--mat-sys-level2), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.autocomplete-overrides( + ( + container-elevation-shadow: var(--mat-sys-level2), + ) +); diff --git a/Web/public/scss/override-component/_badge.scss b/Web/public/scss/override-component/_badge.scss index cb94c06..ffcaf0b 100755 --- a/Web/public/scss/override-component/_badge.scss +++ b/Web/public/scss/override-component/_badge.scss @@ -1,7 +1,7 @@ -@use "sass:map"; -@use "@angular/material" as mat; -@include mat.badge-overrides( - ( - background-color: var(--mat-sys-primary), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; +@include mat.badge-overrides( + ( + background-color: var(--mat-sys-primary), + ) +); diff --git a/Web/public/scss/override-component/_button-toggle.scss b/Web/public/scss/override-component/_button-toggle.scss index bdd2d6d..934dbfb 100755 --- a/Web/public/scss/override-component/_button-toggle.scss +++ b/Web/public/scss/override-component/_button-toggle.scss @@ -1,9 +1,9 @@ -@use "sass:map"; -@use "@angular/material" as mat; -@use "../variables" as *; - -@include mat.button-toggle-overrides( - ( - shape: $border-radius, - ) -); +@use "sass:map"; +@use "@angular/material" as mat; +@use "../variables" as *; + +@include mat.button-toggle-overrides( + ( + shape: $border-radius, + ) +); diff --git a/Web/public/scss/override-component/_button.scss b/Web/public/scss/override-component/_button.scss index f85ed5a..bb53d0e 100755 --- a/Web/public/scss/override-component/_button.scss +++ b/Web/public/scss/override-component/_button.scss @@ -1,136 +1,136 @@ -@use "sass:map"; -@use "@angular/material" as mat; -@use "../variables" as *; - -@include mat.button-overrides( - ( - protected-hover-container-elevation-shadow: var(--mat-sys-level1), - filled-horizontal-padding: 15px, - outlined-horizontal-padding: 15px, - protected-horizontal-padding: 15px, - text-horizontal-padding: 15px, - filled-container-shape: var(--mat-sys-corner-small), - outlined-container-shape: var(--mat-sys-corner-small), - protected-container-shape: var(--mat-sys-corner-small), - text-container-shape: var(--mat-sys-corner-small), - ) -); - -@include mat.icon-button-overrides( - ( - icon-color: $text-color, - ) -); - -// styles -html { - .mat-mdc-button-base.bg-light-primary:hover, - .mat-mdc-button-base.bg-light-secondary:hover, - .mat-mdc-button-base.bg-light-error:hover, - .mat-mdc-button-base.bg-light-warning:hover, - .mat-mdc-button-base.bg-light-success:hover { - color: $white !important; - } - - .mat-mdc-button-base.bg-light-primary { - &:hover { - background-color: var(--mat-sys-primary) !important; - } - } - - .mat-mdc-button-base.bg-light-secondary { - &:hover { - background-color: var(--mat-sys-secondary) !important; - } - } - - .mat-mdc-button-base.bg-light-error { - &:hover { - background-color: var(--mat-sys-error) !important; - } - } - - .mat-mdc-button-base.bg-light-warning { - &:hover { - background-color: $warning !important; - } - } - - .mat-mdc-button-base.bg-light-success { - &:hover { - background-color: $success !important; - } - } - - .mat-mdc-outlined-button:not(:disabled) { - border-color: inherit !important; - } - - .mat-mdc-button-base.text-secondary:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $secondary; - } - } - - .mat-mdc-button-base.text-error:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $error; - } - } - - .mat-mdc-button-base.text-warning:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $warning; - } - } - - .mat-mdc-button-base.text-success:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $success; - } - } - - .mat-mdc-outlined-button:not(:disabled).mat-secondary { - color: var(--mat-sys-secondary); - border-color: var(--mat-sys-secondary); - - &:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $secondary; - } - } - } - - .mat-mdc-outlined-button:not(:disabled).mat-success { - color: $success; - border-color: $success; - - &:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $success; - } - } - } - - .mat-mdc-outlined-button:not(:disabled).mat-error { - color: $error; - border-color: $error; - - &:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $error; - } - } - } - - .mat-mdc-outlined-button:not(:disabled).mat-warning { - color: $warning; - border-color: $warning; - - &:hover { - .mat-mdc-button-persistent-ripple::before { - background-color: $warning; - } - } - } -} +@use "sass:map"; +@use "@angular/material" as mat; +@use "../variables" as *; + +@include mat.button-overrides( + ( + protected-hover-container-elevation-shadow: var(--mat-sys-level1), + filled-horizontal-padding: 15px, + outlined-horizontal-padding: 15px, + protected-horizontal-padding: 15px, + text-horizontal-padding: 15px, + filled-container-shape: var(--mat-sys-corner-small), + outlined-container-shape: var(--mat-sys-corner-small), + protected-container-shape: var(--mat-sys-corner-small), + text-container-shape: var(--mat-sys-corner-small), + ) +); + +@include mat.icon-button-overrides( + ( + icon-color: $text-color, + ) +); + +// styles +html { + .mat-mdc-button-base.bg-light-primary:hover, + .mat-mdc-button-base.bg-light-secondary:hover, + .mat-mdc-button-base.bg-light-error:hover, + .mat-mdc-button-base.bg-light-warning:hover, + .mat-mdc-button-base.bg-light-success:hover { + color: $white !important; + } + + .mat-mdc-button-base.bg-light-primary { + &:hover { + background-color: var(--mat-sys-primary) !important; + } + } + + .mat-mdc-button-base.bg-light-secondary { + &:hover { + background-color: var(--mat-sys-secondary) !important; + } + } + + .mat-mdc-button-base.bg-light-error { + &:hover { + background-color: var(--mat-sys-error) !important; + } + } + + .mat-mdc-button-base.bg-light-warning { + &:hover { + background-color: $warning !important; + } + } + + .mat-mdc-button-base.bg-light-success { + &:hover { + background-color: $success !important; + } + } + + .mat-mdc-outlined-button:not(:disabled) { + border-color: inherit !important; + } + + .mat-mdc-button-base.text-secondary:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $secondary; + } + } + + .mat-mdc-button-base.text-error:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $error; + } + } + + .mat-mdc-button-base.text-warning:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $warning; + } + } + + .mat-mdc-button-base.text-success:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $success; + } + } + + .mat-mdc-outlined-button:not(:disabled).mat-secondary { + color: var(--mat-sys-secondary); + border-color: var(--mat-sys-secondary); + + &:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $secondary; + } + } + } + + .mat-mdc-outlined-button:not(:disabled).mat-success { + color: $success; + border-color: $success; + + &:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $success; + } + } + } + + .mat-mdc-outlined-button:not(:disabled).mat-error { + color: $error; + border-color: $error; + + &:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $error; + } + } + } + + .mat-mdc-outlined-button:not(:disabled).mat-warning { + color: $warning; + border-color: $warning; + + &:hover { + .mat-mdc-button-persistent-ripple::before { + background-color: $warning; + } + } + } +} diff --git a/Web/public/scss/override-component/_card.scss b/Web/public/scss/override-component/_card.scss index 660e579..d31eace 100755 --- a/Web/public/scss/override-component/_card.scss +++ b/Web/public/scss/override-component/_card.scss @@ -1,60 +1,60 @@ -@use "sass:map"; -@use "@angular/material" as mat; -@use "../variables" as *; - -@include mat.card-overrides( - ( - elevated-container-color: $white, - title-text-size: 1.125rem, - subtitle-text-size: 14px, - title-text-line-height: 1.6rem, - title-text-weight: 600, - subtitle-text-weight: 400, - elevated-container-shape: var(--mat-sys-corner-small), - outlined-container-shape: var(--mat-sys-corner-small), - elevated-container-elevation: var(--mat-sys-level2), - ) -); - -// styles -html { - .mat-mdc-card { - margin-bottom: $card-spacer; - - .mat-mdc-card-header { - padding: $card-spacer $card-spacer 0 !important; - } - - .mat-mdc-card-header + .mat-mdc-card-content { - padding: 0 $card-spacer $card-spacer; - } - - > .mat-mdc-card-content { - padding: $card-spacer !important; - } - - .mdc-card__actions { - padding: $card-spacer !important; - } - } - - .card-hover { - transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; - - &:hover { - scale: 1.01; - transition: all 0.1s ease-in 0s; - } - } - - .cardBorder { - .mdc-card { - box-shadow: none !important; - border: 1px solid $borderColor !important; - - &.shadow-none { - border: 0 !important; - } - } - } -} +@use "sass:map"; +@use "@angular/material" as mat; +@use "../variables" as *; + +@include mat.card-overrides( + ( + elevated-container-color: $white, + title-text-size: 1.125rem, + subtitle-text-size: 14px, + title-text-line-height: 1.6rem, + title-text-weight: 600, + subtitle-text-weight: 400, + elevated-container-shape: var(--mat-sys-corner-small), + outlined-container-shape: var(--mat-sys-corner-small), + elevated-container-elevation: var(--mat-sys-level2), + ) +); + +// styles +html { + .mat-mdc-card { + margin-bottom: $card-spacer; + + .mat-mdc-card-header { + padding: $card-spacer $card-spacer 0 !important; + } + + .mat-mdc-card-header + .mat-mdc-card-content { + padding: 0 $card-spacer $card-spacer; + } + + > .mat-mdc-card-content { + padding: $card-spacer !important; + } + + .mdc-card__actions { + padding: $card-spacer !important; + } + } + + .card-hover { + transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; + + &:hover { + scale: 1.01; + transition: all 0.1s ease-in 0s; + } + } + + .cardBorder { + .mdc-card { + box-shadow: none !important; + border: 1px solid $borderColor !important; + + &.shadow-none { + border: 0 !important; + } + } + } +} diff --git a/Web/public/scss/override-component/_checkbox.scss b/Web/public/scss/override-component/_checkbox.scss index eba7679..0d65789 100755 --- a/Web/public/scss/override-component/_checkbox.scss +++ b/Web/public/scss/override-component/_checkbox.scss @@ -1,23 +1,23 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.checkbox-overrides( - ( - unselected-focus-icon-color: - var(--mat-checkbox-unselected-hover-state-layer-color), - ) -); - -// styles -html { - .mdc-checkbox__background { - border-radius: 4px; - width: 21px; - height: 21px; - border: 1px solid var(--mat-sys-outline); - } - - .mdc-checkbox .mdc-checkbox__native-control:focus ~ .mdc-checkbox__ripple { - background-color: var(--mat-checkbox-unselected-hover-state-layer-color); - } -} +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.checkbox-overrides( + ( + unselected-focus-icon-color: + var(--mat-checkbox-unselected-hover-state-layer-color), + ) +); + +// styles +html { + .mdc-checkbox__background { + border-radius: 4px; + width: 21px; + height: 21px; + border: 1px solid var(--mat-sys-outline); + } + + .mdc-checkbox .mdc-checkbox__native-control:focus ~ .mdc-checkbox__ripple { + background-color: var(--mat-checkbox-unselected-hover-state-layer-color); + } +} diff --git a/Web/public/scss/override-component/_chip.scss b/Web/public/scss/override-component/_chip.scss index 6aabfd0..8a0352a 100755 --- a/Web/public/scss/override-component/_chip.scss +++ b/Web/public/scss/override-component/_chip.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.chips-overrides( - ( - focus-state-layer-color: var(--mat-option-focus-state-layer-color), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.chips-overrides( + ( + focus-state-layer-color: var(--mat-option-focus-state-layer-color), + ) +); diff --git a/Web/public/scss/override-component/_datepicker.scss b/Web/public/scss/override-component/_datepicker.scss index 2686873..04702f5 100755 --- a/Web/public/scss/override-component/_datepicker.scss +++ b/Web/public/scss/override-component/_datepicker.scss @@ -1,11 +1,11 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.datepicker-overrides( - ( - calendar-container-background-color: - var(--mat-card-elevated-container-color), - calendar-container-touch-elevation-shadow: var(--mat-sys-level1), - calendar-container-elevation-shadow: var(--mat-sys-level1), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.datepicker-overrides( + ( + calendar-container-background-color: + var(--mat-card-elevated-container-color), + calendar-container-touch-elevation-shadow: var(--mat-sys-level1), + calendar-container-elevation-shadow: var(--mat-sys-level1), + ) +); diff --git a/Web/public/scss/override-component/_dialog.scss b/Web/public/scss/override-component/_dialog.scss index 1dee46e..0cc91f2 100755 --- a/Web/public/scss/override-component/_dialog.scss +++ b/Web/public/scss/override-component/_dialog.scss @@ -1,15 +1,15 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.dialog-overrides( - ( - container-shape: var(--mat-sys-corner-small), - subhead-size: 18px, - subhead-weight: 600, - content-padding: 20px 24px, - actions-padding: 20px 24px, - container-min-width: 300px, - subhead-tracking: unset, - supporting-text-tracking: unset, - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.dialog-overrides( + ( + container-shape: var(--mat-sys-corner-small), + subhead-size: 18px, + subhead-weight: 600, + content-padding: 20px 24px, + actions-padding: 20px 24px, + container-min-width: 300px, + subhead-tracking: unset, + supporting-text-tracking: unset, + ) +); diff --git a/Web/public/scss/override-component/_drawer.scss b/Web/public/scss/override-component/_drawer.scss index 1ed3a41..cbdbac4 100755 --- a/Web/public/scss/override-component/_drawer.scss +++ b/Web/public/scss/override-component/_drawer.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.sidenav-overrides( - ( - container-shape: 0, - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.sidenav-overrides( + ( + container-shape: 0, + ) +); diff --git a/Web/public/scss/override-component/_expansion.scss b/Web/public/scss/override-component/_expansion.scss index 0c5f781..7c83425 100755 --- a/Web/public/scss/override-component/_expansion.scss +++ b/Web/public/scss/override-component/_expansion.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.expansion-overrides( - ( - container-background-color: var(--mat-card-elevated-container-color), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.expansion-overrides( + ( + container-background-color: var(--mat-card-elevated-container-color), + ) +); diff --git a/Web/public/scss/override-component/_fab.scss b/Web/public/scss/override-component/_fab.scss index 77b39ed..df21580 100755 --- a/Web/public/scss/override-component/_fab.scss +++ b/Web/public/scss/override-component/_fab.scss @@ -1,15 +1,15 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.fab-overrides( - ( - small-container-shape: 30px, - container-shape: 30px, - container-elevation-shadow: none, - small-container-elevation-shadow: none, - small-hover-container-elevation-shadow: var(--mat-sys-level3), - hover-container-elevation-shadow: var(--mat-sys-level3), - extended-hover-container-elevation-shadow: var(--mat-sys-level3), - extended-container-elevation-shadow: none, - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.fab-overrides( + ( + small-container-shape: 30px, + container-shape: 30px, + container-elevation-shadow: none, + small-container-elevation-shadow: none, + small-hover-container-elevation-shadow: var(--mat-sys-level3), + hover-container-elevation-shadow: var(--mat-sys-level3), + extended-hover-container-elevation-shadow: var(--mat-sys-level3), + extended-container-elevation-shadow: none, + ) +); diff --git a/Web/public/scss/override-component/_form-field.scss b/Web/public/scss/override-component/_form-field.scss index a1eda9b..da93f3b 100755 --- a/Web/public/scss/override-component/_form-field.scss +++ b/Web/public/scss/override-component/_form-field.scss @@ -1,27 +1,27 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.form-field-overrides( - ( - container-height: 37px, - outlined-container-shape: var(--mat-sys-corner-small), - container-vertical-padding: 6px, - ) -); - -// forms -html { - .hide-hint { - .mat-mdc-form-field-subscript-wrapper { - display: none; - } - } - - .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label { - top: calc(var(--mat-form-field-container-height) / 2.15); - } - - .demo-inline-calendar-card { - width: 300px; - } -} +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.form-field-overrides( + ( + container-height: 37px, + outlined-container-shape: var(--mat-sys-corner-small), + container-vertical-padding: 6px, + ) +); + +// forms +html { + .hide-hint { + .mat-mdc-form-field-subscript-wrapper { + display: none; + } + } + + .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label { + top: calc(var(--mat-form-field-container-height) / 2.15); + } + + .demo-inline-calendar-card { + width: 300px; + } +} diff --git a/Web/public/scss/override-component/_index.scss b/Web/public/scss/override-component/_index.scss index aa0a651..5132a51 100755 --- a/Web/public/scss/override-component/_index.scss +++ b/Web/public/scss/override-component/_index.scss @@ -1,23 +1,23 @@ -@use "autocomplete"; -@use "badge"; -@use "button"; -@use "button-toggle"; -@use "card"; -@use "checkbox"; -@use "chip"; -@use "dialog"; -@use "datepicker"; -@use "fab"; -@use "form-field"; -@use "radio"; -@use "list"; -@use "menu"; -@use "paginator"; -@use "theme"; -@use "table"; -@use "tree"; -@use "typography"; -@use "stepper"; -@use "expansion"; -@use "drawer"; +@use "autocomplete"; +@use "badge"; +@use "button"; +@use "button-toggle"; +@use "card"; +@use "checkbox"; +@use "chip"; +@use "dialog"; +@use "datepicker"; +@use "fab"; +@use "form-field"; +@use "radio"; +@use "list"; +@use "menu"; +@use "paginator"; +@use "theme"; +@use "table"; +@use "tree"; +@use "typography"; +@use "stepper"; +@use "expansion"; +@use "drawer"; @use "progress"; \ No newline at end of file diff --git a/Web/public/scss/override-component/_list.scss b/Web/public/scss/override-component/_list.scss index de39959..e00d90d 100755 --- a/Web/public/scss/override-component/_list.scss +++ b/Web/public/scss/override-component/_list.scss @@ -1,12 +1,12 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.list-overrides( - ( - list-item-hover-state-layer-color: var(--mat-sys-primary), - list-item-container-shape: var(--mat-sys-corner-small), - active-indicator-shape: var(--mat-sys-corner-small), - list-item-two-line-container-height: 70px, - list-item-three-line-container-height: 100px, - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.list-overrides( + ( + list-item-hover-state-layer-color: var(--mat-sys-primary), + list-item-container-shape: var(--mat-sys-corner-small), + active-indicator-shape: var(--mat-sys-corner-small), + list-item-two-line-container-height: 70px, + list-item-three-line-container-height: 100px, + ) +); diff --git a/Web/public/scss/override-component/_menu.scss b/Web/public/scss/override-component/_menu.scss index 32a6e73..c9fed15 100755 --- a/Web/public/scss/override-component/_menu.scss +++ b/Web/public/scss/override-component/_menu.scss @@ -1,19 +1,19 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.menu-overrides( - ( - container-shape: var(--mat-sys-corner-small), - ) -); - -// styles -html { - .mat-mdc-menu-panel { - box-shadow: var(--mat-sys-level3) !important; - } - - .mat-mdc-select-panel { - padding: 8px !important; - } -} +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.menu-overrides( + ( + container-shape: var(--mat-sys-corner-small), + ) +); + +// styles +html { + .mat-mdc-menu-panel { + box-shadow: var(--mat-sys-level3) !important; + } + + .mat-mdc-select-panel { + padding: 8px !important; + } +} diff --git a/Web/public/scss/override-component/_paginator.scss b/Web/public/scss/override-component/_paginator.scss index 35479e7..32a4ee4 100755 --- a/Web/public/scss/override-component/_paginator.scss +++ b/Web/public/scss/override-component/_paginator.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.paginator-overrides( - ( - container-background-color: var(--mat-card-elevated-container-color), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.paginator-overrides( + ( + container-background-color: var(--mat-card-elevated-container-color), + ) +); diff --git a/Web/public/scss/override-component/_progress.scss b/Web/public/scss/override-component/_progress.scss index 5fb08d0..4999ffb 100755 --- a/Web/public/scss/override-component/_progress.scss +++ b/Web/public/scss/override-component/_progress.scss @@ -1,7 +1,7 @@ -html { - .mat-secondary { - .mdc-linear-progress__bar-inner { - border-color: var(--mat-sys-secondary); - } - } -} +html { + .mat-secondary { + .mdc-linear-progress__bar-inner { + border-color: var(--mat-sys-secondary); + } + } +} diff --git a/Web/public/scss/override-component/_radio.scss b/Web/public/scss/override-component/_radio.scss index 2433356..86fb77c 100755 --- a/Web/public/scss/override-component/_radio.scss +++ b/Web/public/scss/override-component/_radio.scss @@ -1,14 +1,14 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.radio-overrides( - ( - unselected-icon-color: var(--mat-sys-outline-variant), - ) -); - -html { - .mat-mdc-radio-button .mdc-radio__outer-circle { - border-width: 1px; - } -} +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.radio-overrides( + ( + unselected-icon-color: var(--mat-sys-outline-variant), + ) +); + +html { + .mat-mdc-radio-button .mdc-radio__outer-circle { + border-width: 1px; + } +} diff --git a/Web/public/scss/override-component/_stepper.scss b/Web/public/scss/override-component/_stepper.scss index 6a21bd4..bad9451 100755 --- a/Web/public/scss/override-component/_stepper.scss +++ b/Web/public/scss/override-component/_stepper.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.stepper-overrides( - ( - container-color: var(--mat-card-elevated-container-color), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.stepper-overrides( + ( + container-color: var(--mat-card-elevated-container-color), + ) +); diff --git a/Web/public/scss/override-component/_table.scss b/Web/public/scss/override-component/_table.scss index 379ddcd..4ec6880 100755 --- a/Web/public/scss/override-component/_table.scss +++ b/Web/public/scss/override-component/_table.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.table-overrides( - ( - background-color: var(--mat-card-elevated-container-color), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.table-overrides( + ( + background-color: var(--mat-card-elevated-container-color), + ) +); diff --git a/Web/public/scss/override-component/_theme.scss b/Web/public/scss/override-component/_theme.scss index e840626..b4c474b 100755 --- a/Web/public/scss/override-component/_theme.scss +++ b/Web/public/scss/override-component/_theme.scss @@ -1,25 +1,25 @@ -@use "sass:map"; -@use "@angular/material" as mat; -@use "../variables" as *; - -html { - @include mat.theme( - ( - color: mat.$azure-palette, - typography: $font-family, - ) - ); - - @include mat.theme-overrides( - ( - primary: rgb(93, 135, 255), - error: rgb(250, 137, 107), - body-medium-size: 14px, - body-large-size: 14px, - outline-variant: #d7dde2, - level1: 0px 12px 24px -4px rgb(145 158 171 / 30%), - level2: rgba(145, 158, 171, 0.12) 0px 1px 16px, - level3: 0px 12px 24px -4px rgb(145 158 171 / 30%), - ) - ); -} +@use "sass:map"; +@use "@angular/material" as mat; +@use "../variables" as *; + +html { + @include mat.theme( + ( + color: mat.$azure-palette, + typography: $font-family, + ) + ); + + @include mat.theme-overrides( + ( + primary: rgb(93, 135, 255), + error: rgb(250, 137, 107), + body-medium-size: 14px, + body-large-size: 14px, + outline-variant: #d7dde2, + level1: 0px 12px 24px -4px rgb(145 158 171 / 30%), + level2: rgba(145, 158, 171, 0.12) 0px 1px 16px, + level3: 0px 12px 24px -4px rgb(145 158 171 / 30%), + ) + ); +} diff --git a/Web/public/scss/override-component/_tree.scss b/Web/public/scss/override-component/_tree.scss index e755adc..d0d590b 100755 --- a/Web/public/scss/override-component/_tree.scss +++ b/Web/public/scss/override-component/_tree.scss @@ -1,8 +1,8 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@include mat.tree-overrides( - ( - container-background-color: var(--mat-card-elevated-container-color), - ) -); +@use "sass:map"; +@use "@angular/material" as mat; + +@include mat.tree-overrides( + ( + container-background-color: var(--mat-card-elevated-container-color), + ) +); diff --git a/Web/public/scss/override-component/_typography.scss b/Web/public/scss/override-component/_typography.scss index c65fc04..4221fd6 100755 --- a/Web/public/scss/override-component/_typography.scss +++ b/Web/public/scss/override-component/_typography.scss @@ -1,9 +1,9 @@ -@use "../variables" as *; -html { - .mdc-list-item__primary-text, - .mat-drawer-container, - .mat-drawer, - .text-body { - color: $text-color; - } -} +@use "../variables" as *; +html { + .mdc-list-item__primary-text, + .mat-drawer-container, + .mat-drawer, + .text-body { + color: $text-color; + } +} diff --git a/Web/public/scss/pages/_auth.scss b/Web/public/scss/pages/_auth.scss index 1b51841..0e1e840 100755 --- a/Web/public/scss/pages/_auth.scss +++ b/Web/public/scss/pages/_auth.scss @@ -1,109 +1,109 @@ -@use "../variables" as *; - -.blank-layout-container { - height: 100vh; - display: flex; - background-size: cover; - align-items: center; -} - -.auth-title { - font-size: 36px; - line-height: 44px; -} - -.bg-gredient { - &::before { - content: ""; - position: absolute; - height: 100%; - width: 100%; - opacity: 0.3; - background: radial-gradient(rgb(210, 241, 223), - rgb(211, 215, 250), - rgb(186, 216, 244)) 0% 0% / 400% 400%; - animation: 15s ease 0s infinite normal none running gradient; - z-index: -1; - } -} - -@keyframes gradient { - 0% { - background-position: 0% 50%; - } - - 50% { - background-position: 100% 50%; - } - - 100% { - background-position: 50% 0%; - } -} - -.img-height { - height: calc(100vh - 83px); -} - -.custom-row { - &.row { - margin-right: -8px; - margin-left: -8px; - - .col-2, - .col-12 { - padding-right: 8px; - padding-left: 8px; - } - } -} - -.or-border { - position: relative; - text-align: center; - - &:before { - content: ""; - position: absolute; - left: 0; - width: 120px; - top: 50%; - height: 1px; - background: var(--mat-sys-outline); - } - - &:after { - content: ""; - position: absolute; - right: 0; - width: 120px; - top: 50%; - height: 1px; - background: var(--mat-sys-outline); - } -} - -.boxed-auth { - width: 100%; - max-width: 480px; - margin: 0 auto; -} - -.max-width-form { - max-width: 450px; -} - -.mat-mdc-form-field.mat-form-field-invalid { - - .mdc-notched-outline__leading, - .mdc-notched-outline__notch, - .mdc-notched-outline__trailing { - border-color: $error !important; - } -} - -.error-msg { - position: absolute; - top: -19px; - right: 3px; +@use "../variables" as *; + +.blank-layout-container { + height: 100vh; + display: flex; + background-size: cover; + align-items: center; +} + +.auth-title { + font-size: 36px; + line-height: 44px; +} + +.bg-gredient { + &::before { + content: ""; + position: absolute; + height: 100%; + width: 100%; + opacity: 0.3; + background: radial-gradient(rgb(210, 241, 223), + rgb(211, 215, 250), + rgb(186, 216, 244)) 0% 0% / 400% 400%; + animation: 15s ease 0s infinite normal none running gradient; + z-index: -1; + } +} + +@keyframes gradient { + 0% { + background-position: 0% 50%; + } + + 50% { + background-position: 100% 50%; + } + + 100% { + background-position: 50% 0%; + } +} + +.img-height { + height: calc(100vh - 83px); +} + +.custom-row { + &.row { + margin-right: -8px; + margin-left: -8px; + + .col-2, + .col-12 { + padding-right: 8px; + padding-left: 8px; + } + } +} + +.or-border { + position: relative; + text-align: center; + + &:before { + content: ""; + position: absolute; + left: 0; + width: 120px; + top: 50%; + height: 1px; + background: var(--mat-sys-outline); + } + + &:after { + content: ""; + position: absolute; + right: 0; + width: 120px; + top: 50%; + height: 1px; + background: var(--mat-sys-outline); + } +} + +.boxed-auth { + width: 100%; + max-width: 480px; + margin: 0 auto; +} + +.max-width-form { + max-width: 450px; +} + +.mat-mdc-form-field.mat-form-field-invalid { + + .mdc-notched-outline__leading, + .mdc-notched-outline__notch, + .mdc-notched-outline__trailing { + border-color: $error !important; + } +} + +.error-msg { + position: absolute; + top: -19px; + right: 3px; } \ No newline at end of file diff --git a/Web/public/scss/pages/_dashboards.scss b/Web/public/scss/pages/_dashboards.scss index 796c344..e911fae 100755 --- a/Web/public/scss/pages/_dashboards.scss +++ b/Web/public/scss/pages/_dashboards.scss @@ -1,126 +1,126 @@ -@use "../variables" as *; - -.social-chips { - img { - margin-left: -9px; - border: 2px solid $white; - - &:first-child { - margin-left: 0; - } - } -} - -.minus-img { - margin-bottom: -65px !important; -} - -// theme select -.theme-select { - width: 145px; -} - -// dashboard 2 -.welcome-img { - margin-bottom: -82px; - margin-top: -9px; -} - -.timeline { - position: relative; - - .timeline-item { - position: relative; - height: 70px; - - .time { - padding: 6px 16px 6px 0; - min-width: 90px; - flex-shrink: 0; - } - - .desc { - padding: 6px 16px; - } - - .timline-border { - width: 1px; - height: 100%; - background-color: $borderColor; - flex-shrink: 0; - } - - .point { - flex-direction: column; - - .timeline-badge { - width: 12px; - height: 12px; - border-radius: 50px; - background-color: transparent; - flex-shrink: 0; - - &.border-primary { - border: 2px solid $primary; - } - - &.border-accent { - border: 2px solid $accent; - } - - &.border-success { - border: 2px solid $success; - } - - &.border-warning { - border: 2px solid $warning; - } - - &.border-error { - border: 2px solid $error; - } - } - - .timeline-border { - width: 1px; - height: 100%; - background-color: $borderColor; - flex-shrink: 0; - } - } - - &:last-child { - .timeline-border { - display: none !important; - } - } - } -} - -// expansion panel - -html .mat-expansion-panel:not([class*="mat-elevation-z"]) { - box-shadow: var(--mat-sys-level2); -} - -.most-visit-chart { - .apexcharts-bar-series.apexcharts-plot-series .apexcharts-series path { - clip-path: inset(0 0 5% 0 round 20px); - } -} - - -// User Profile Tab -.profileTabs { - background-color: var(--mat-sys-surface-bright); - - .mat-mdc-tab-label-container{ - border-bottom-width: 0; - } - - .mat-mdc-tab.mdc-tab-indicator--active{ - .mdc-tab__text-label{ - color: var(--mat-sys-primary) !important; - } - } +@use "../variables" as *; + +.social-chips { + img { + margin-left: -9px; + border: 2px solid $white; + + &:first-child { + margin-left: 0; + } + } +} + +.minus-img { + margin-bottom: -65px !important; +} + +// theme select +.theme-select { + width: 145px; +} + +// dashboard 2 +.welcome-img { + margin-bottom: -82px; + margin-top: -9px; +} + +.timeline { + position: relative; + + .timeline-item { + position: relative; + height: 70px; + + .time { + padding: 6px 16px 6px 0; + min-width: 90px; + flex-shrink: 0; + } + + .desc { + padding: 6px 16px; + } + + .timline-border { + width: 1px; + height: 100%; + background-color: $borderColor; + flex-shrink: 0; + } + + .point { + flex-direction: column; + + .timeline-badge { + width: 12px; + height: 12px; + border-radius: 50px; + background-color: transparent; + flex-shrink: 0; + + &.border-primary { + border: 2px solid $primary; + } + + &.border-accent { + border: 2px solid $accent; + } + + &.border-success { + border: 2px solid $success; + } + + &.border-warning { + border: 2px solid $warning; + } + + &.border-error { + border: 2px solid $error; + } + } + + .timeline-border { + width: 1px; + height: 100%; + background-color: $borderColor; + flex-shrink: 0; + } + } + + &:last-child { + .timeline-border { + display: none !important; + } + } + } +} + +// expansion panel + +html .mat-expansion-panel:not([class*="mat-elevation-z"]) { + box-shadow: var(--mat-sys-level2); +} + +.most-visit-chart { + .apexcharts-bar-series.apexcharts-plot-series .apexcharts-series path { + clip-path: inset(0 0 5% 0 round 20px); + } +} + + +// User Profile Tab +.profileTabs { + background-color: var(--mat-sys-surface-bright); + + .mat-mdc-tab-label-container{ + border-bottom-width: 0; + } + + .mat-mdc-tab.mdc-tab-indicator--active{ + .mdc-tab__text-label{ + color: var(--mat-sys-primary) !important; + } + } } \ No newline at end of file diff --git a/Web/public/scss/pages/_frontend.scss b/Web/public/scss/pages/_frontend.scss index db45c10..e3e3113 100755 --- a/Web/public/scss/pages/_frontend.scss +++ b/Web/public/scss/pages/_frontend.scss @@ -1,143 +1,143 @@ -.front-topbar { - &.fixed-topbar { - position: fixed; - top: 0; - width: 100%; - background-color: var(--mat-sys-background) !important; - z-index: 9; - } -} - -.back-to-top { - position: fixed; - bottom: 20px; - right: 20px; - z-index: 999; - transition: opacity 0.3s ease; -} - -.tab-header { - - .profileTabs { - - .mat-mdc-tab { - padding: 30px 16px; - height: auto; - border-right: 1px solid var(--mat-sys-outline); - - &:last-child { - border-right: 0; - } - } - - .mat-mdc-tab-label-container { - border-top-width: 0; - } - } - -} - -.home-page .expansion-panel .mat-expansion-panel-body { - padding: 16px 0; -} - -.faq-accordion { - .mat-expansion-panel-body { - padding: 16px 24px !important; - } -} - -.mobile-sidebar { - .mdc-list { - .mdc-list-item { - .mat-mdc-button { - color: var(--mat-sys-on-background); - min-width: 100%; - justify-content: flex-start; - - &.selected { - background-color: var(--mat-sys-primary-fixed-dim); - color: var(--mat-sys-primary); - transition: background-color 0.3s ease; - } - } - } - } -} - - -.spacing-top-bottom { - padding: 80px 0; -} - -.spacing-left-right { - padding: 0 80px; -} - -.spacing-left { - padding-left: 80px; -} - -.spacing-top { - padding-top: 80px; -} - -.spacing-bottom { - padding-bottom: 80px; -} - -@media (max-width: 959px) { - .section-sub-title { - font-size: 30px !important; - } - - .spacing-top-bottom { - padding: 60px 0; - } - - .spacing-left-right { - padding: 0 60px; - } - - .spacing-left { - padding-left: 60px; - } - - .spacing-top { - padding-top: 60px; - } - - .spacing-bottom { - padding-bottom: 60px; - } -} - -@media (max-width: 767px) { - .section-sub-title { - font-size: 24px !important; - } - - .spacing-top-bottom { - padding: 30px 0; - } - - .spacing-left-right { - padding: 0 30px; - } - - .spacing-left { - padding-left: 30px; - } - - .spacing-top { - padding-top: 30px; - } - - .spacing-bottom { - padding-bottom: 30px; - } - - .footer-content .left-side-content { - padding: 30px !important; - } +.front-topbar { + &.fixed-topbar { + position: fixed; + top: 0; + width: 100%; + background-color: var(--mat-sys-background) !important; + z-index: 9; + } +} + +.back-to-top { + position: fixed; + bottom: 20px; + right: 20px; + z-index: 999; + transition: opacity 0.3s ease; +} + +.tab-header { + + .profileTabs { + + .mat-mdc-tab { + padding: 30px 16px; + height: auto; + border-right: 1px solid var(--mat-sys-outline); + + &:last-child { + border-right: 0; + } + } + + .mat-mdc-tab-label-container { + border-top-width: 0; + } + } + +} + +.home-page .expansion-panel .mat-expansion-panel-body { + padding: 16px 0; +} + +.faq-accordion { + .mat-expansion-panel-body { + padding: 16px 24px !important; + } +} + +.mobile-sidebar { + .mdc-list { + .mdc-list-item { + .mat-mdc-button { + color: var(--mat-sys-on-background); + min-width: 100%; + justify-content: flex-start; + + &.selected { + background-color: var(--mat-sys-primary-fixed-dim); + color: var(--mat-sys-primary); + transition: background-color 0.3s ease; + } + } + } + } +} + + +.spacing-top-bottom { + padding: 80px 0; +} + +.spacing-left-right { + padding: 0 80px; +} + +.spacing-left { + padding-left: 80px; +} + +.spacing-top { + padding-top: 80px; +} + +.spacing-bottom { + padding-bottom: 80px; +} + +@media (max-width: 959px) { + .section-sub-title { + font-size: 30px !important; + } + + .spacing-top-bottom { + padding: 60px 0; + } + + .spacing-left-right { + padding: 0 60px; + } + + .spacing-left { + padding-left: 60px; + } + + .spacing-top { + padding-top: 60px; + } + + .spacing-bottom { + padding-bottom: 60px; + } +} + +@media (max-width: 767px) { + .section-sub-title { + font-size: 24px !important; + } + + .spacing-top-bottom { + padding: 30px 0; + } + + .spacing-left-right { + padding: 0 30px; + } + + .spacing-left { + padding-left: 30px; + } + + .spacing-top { + padding-top: 30px; + } + + .spacing-bottom { + padding-bottom: 30px; + } + + .footer-content .left-side-content { + padding: 30px !important; + } } \ No newline at end of file diff --git a/Web/public/scss/pages/_landingpage.scss b/Web/public/scss/pages/_landingpage.scss index 7b20efe..1be45bd 100755 --- a/Web/public/scss/pages/_landingpage.scss +++ b/Web/public/scss/pages/_landingpage.scss @@ -1,244 +1,244 @@ -@use "../variables" as *; - -.demos-dd { - max-width: $boxedWidth !important; -} - -.img-overlay { - position: relative; - border: 1px solid var(--mat-sys-outline); - .overlay-content { - display: none; - } - - &:hover { - &:before { - content: ""; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 8; - background-color: rgba(55, 114, 255, 0.2); - border-radius: $border-radius; - } - - .overlay-content { - display: flex; - position: absolute; - top: 0; - z-index: 9; - align-items: center; - justify-content: center; - height: 100%; - width: 100%; - } - } -} - -.topbar-xl { - height: 80px; - z-index: 1; -} - -// ---------------------------------------------------------- -// banner -// ---------------------------------------------------------- -@media (min-width: 900px) { - .banner-title { - font-size: 54px !important; - line-height: 60px !important; - } -} - -@media (max-width: 1200px) { - .banner-section { - padding-top: 60px; - } -} - -.banner-title { - font-size: 36px; - line-height: 44px; -} - -.banner-subtitle { - line-height: 25px; -} - -.btn-custom { - height: 56px !important; - padding: 0 52px !important; - font-size: 16px; - - &.sm { - padding: 0 34px !important; - } -} - -@media (max-width: 767px) { - .btn-custom { - padding: 0 36px !important; - } -} - -.banner-slider { - background-color: $light-primary; - min-width: 2000px; - height: calc(100vh - 100px); - max-height: 790px; - border-radius: $border-radius; - overflow: hidden; -} - -.slider-img { - animation: slideup 35s linear infinite; -} - -.slider-img2 { - animation: slidedown 35s linear infinite; -} - -@keyframes slideup { - 0% { - transform: translate3d(0, 0, 0); - } - - 100% { - transform: translate3d(0px, -100%, 0px); - } -} - -@keyframes slidedown { - 0% { - transform: translate3d(0, -100%, 0); - } - - 100% { - transform: translate3d(0px, 0, 0px); - } -} - -// sections - -.spacer { - padding: 80px 0 100px; -} - -.section-title { - font-size: 28px; - line-height: 32px; -} - -@media (min-width: 991px) { - .section-title { - font-size: 36px; - line-height: 43px; - } -} - -// demo slider -.demo-slider { - margin-top: 40px; - - .demo-slide { - animation: slide 45s linear infinite; - } -} - -@keyframes slide { - 0% { - transform: translate3d(0, 0, 0); - } - - 100% { - transform: translate3d(-100%, 0, 0); - } -} - -.lh-base { - line-height: 1.75; -} - -// call to action - -.shape-card { - background-repeat: no-repeat; - background-position: center center; - overflow: hidden; -} - -.spacer-sm { - padding-top: 60px; - padding-bottom: 30px; -} - -.spacer-bottom { - padding-bottom: 60px; -} - -.section-title2 { - font-size: 30px; - line-height: 36px; - font-weight: 700; -} - -.c2a-card { - margin-top: -70px; - background-repeat: no-repeat; - background-position: center; -} - -.border-white { - border: 1px solid $white !important; -} - -.border-accent { - border: 1px solid $accent !important; -} - -.border-primary { - border: 1px solid $primary !important; -} - -.hstack { - display: flex; - flex-direction: row; - gap: 20px; -} - -@media (max-width: 767px) { - .hstack { - flex-direction: column; - } - - .bg-size-cover { - background-size: cover; - } -} - -.shapes-component { - &::before { - content: ""; - position: absolute; - left: 0; - bottom: -32px; - width: 388px; - height: 382px; - z-index: -1; - background-image: url(/assets/images/shapes/shape-2.svg); - background-repeat: no-repeat; - } - &::after { - content: ""; - position: absolute; - top: -125px; - right: -96px; - width: 267px; - height: 252px; - z-index: -1; - background-image: url(/assets/images/shapes/shape-1.svg); - background-repeat: no-repeat; - } -} +@use "../variables" as *; + +.demos-dd { + max-width: $boxedWidth !important; +} + +.img-overlay { + position: relative; + border: 1px solid var(--mat-sys-outline); + .overlay-content { + display: none; + } + + &:hover { + &:before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 8; + background-color: rgba(55, 114, 255, 0.2); + border-radius: $border-radius; + } + + .overlay-content { + display: flex; + position: absolute; + top: 0; + z-index: 9; + align-items: center; + justify-content: center; + height: 100%; + width: 100%; + } + } +} + +.topbar-xl { + height: 80px; + z-index: 1; +} + +// ---------------------------------------------------------- +// banner +// ---------------------------------------------------------- +@media (min-width: 900px) { + .banner-title { + font-size: 54px !important; + line-height: 60px !important; + } +} + +@media (max-width: 1200px) { + .banner-section { + padding-top: 60px; + } +} + +.banner-title { + font-size: 36px; + line-height: 44px; +} + +.banner-subtitle { + line-height: 25px; +} + +.btn-custom { + height: 56px !important; + padding: 0 52px !important; + font-size: 16px; + + &.sm { + padding: 0 34px !important; + } +} + +@media (max-width: 767px) { + .btn-custom { + padding: 0 36px !important; + } +} + +.banner-slider { + background-color: $light-primary; + min-width: 2000px; + height: calc(100vh - 100px); + max-height: 790px; + border-radius: $border-radius; + overflow: hidden; +} + +.slider-img { + animation: slideup 35s linear infinite; +} + +.slider-img2 { + animation: slidedown 35s linear infinite; +} + +@keyframes slideup { + 0% { + transform: translate3d(0, 0, 0); + } + + 100% { + transform: translate3d(0px, -100%, 0px); + } +} + +@keyframes slidedown { + 0% { + transform: translate3d(0, -100%, 0); + } + + 100% { + transform: translate3d(0px, 0, 0px); + } +} + +// sections + +.spacer { + padding: 80px 0 100px; +} + +.section-title { + font-size: 28px; + line-height: 32px; +} + +@media (min-width: 991px) { + .section-title { + font-size: 36px; + line-height: 43px; + } +} + +// demo slider +.demo-slider { + margin-top: 40px; + + .demo-slide { + animation: slide 45s linear infinite; + } +} + +@keyframes slide { + 0% { + transform: translate3d(0, 0, 0); + } + + 100% { + transform: translate3d(-100%, 0, 0); + } +} + +.lh-base { + line-height: 1.75; +} + +// call to action + +.shape-card { + background-repeat: no-repeat; + background-position: center center; + overflow: hidden; +} + +.spacer-sm { + padding-top: 60px; + padding-bottom: 30px; +} + +.spacer-bottom { + padding-bottom: 60px; +} + +.section-title2 { + font-size: 30px; + line-height: 36px; + font-weight: 700; +} + +.c2a-card { + margin-top: -70px; + background-repeat: no-repeat; + background-position: center; +} + +.border-white { + border: 1px solid $white !important; +} + +.border-accent { + border: 1px solid $accent !important; +} + +.border-primary { + border: 1px solid $primary !important; +} + +.hstack { + display: flex; + flex-direction: row; + gap: 20px; +} + +@media (max-width: 767px) { + .hstack { + flex-direction: column; + } + + .bg-size-cover { + background-size: cover; + } +} + +.shapes-component { + &::before { + content: ""; + position: absolute; + left: 0; + bottom: -32px; + width: 388px; + height: 382px; + z-index: -1; + background-image: url(/assets/images/shapes/shape-2.svg); + background-repeat: no-repeat; + } + &::after { + content: ""; + position: absolute; + top: -125px; + right: -96px; + width: 267px; + height: 252px; + z-index: -1; + background-image: url(/assets/images/shapes/shape-1.svg); + background-repeat: no-repeat; + } +} diff --git a/Web/public/scss/pages/_pricing.scss b/Web/public/scss/pages/_pricing.scss index 920e5ad..435697c 100755 --- a/Web/public/scss/pages/_pricing.scss +++ b/Web/public/scss/pages/_pricing.scss @@ -1,33 +1,33 @@ -.plan-title { - font-size: 50px; - margin-top: 40px; - line-height: 50px; - font-weight: 600; -} - -.dollar-sign { - margin-top: 22px; - margin-right: 8px; -} - -.per-month { - margin-top: 45px; - margin-left: 12px; -} - -.popular-badge { - position: absolute; - right: 16px; -} - -// widget cards - -.text-decoration-line-through { - text-decoration: line-through; -} - -.cart-btn { - position: absolute; - right: 16px; - top: -21px; -} +.plan-title { + font-size: 50px; + margin-top: 40px; + line-height: 50px; + font-weight: 600; +} + +.dollar-sign { + margin-top: 22px; + margin-right: 8px; +} + +.per-month { + margin-top: 45px; + margin-left: 12px; +} + +.popular-badge { + position: absolute; + right: 16px; +} + +// widget cards + +.text-decoration-line-through { + text-decoration: line-through; +} + +.cart-btn { + position: absolute; + right: 16px; + top: -21px; +} diff --git a/Web/public/scss/pages/_toast.scss b/Web/public/scss/pages/_toast.scss index 6c8461c..1e68ddf 100755 --- a/Web/public/scss/pages/_toast.scss +++ b/Web/public/scss/pages/_toast.scss @@ -1,24 +1,24 @@ -@use "../variables" as *; - -html { - .toast-success { - background-color: $success; - } - - .toast-error { - background-color: $error; - } - - .toast-warning { - background-color: $warning; - } - - .toast-info { - background-color: $primary; - } - - .toast-container .ngx-toastr { - box-shadow: var(--mat-sys-level2); - border-radius: $border-radius; - } +@use "../variables" as *; + +html { + .toast-success { + background-color: $success; + } + + .toast-error { + background-color: $error; + } + + .toast-warning { + background-color: $warning; + } + + .toast-info { + background-color: $primary; + } + + .toast-container .ngx-toastr { + box-shadow: var(--mat-sys-level2); + border-radius: $border-radius; + } } \ No newline at end of file diff --git a/Web/public/scss/rtl/_rtl.scss b/Web/public/scss/rtl/_rtl.scss index aaefab6..488ff63 100755 --- a/Web/public/scss/rtl/_rtl.scss +++ b/Web/public/scss/rtl/_rtl.scss @@ -1,99 +1,99 @@ -@use "../variables" as *; - -[dir="rtl"] { - -.mat-drawer.mat-drawer-end { - transform: translate3d(0, 0, 0); - &.mat-drawer-opened { - transform: none !important; - } -} - - // ------------------------------------------------------ - // header - // ------------------------------------------------------ - .upgrade-bg { - left: 0; - right: unset; - transform: scaleX(-1); - } - - // highlight - td.hljs-ln-line.hljs-ln-numbers { - padding-left: 10px; - padding-right: 0; - } - - // customizer - .customizerBtn { - left: 30px; - right: unset; - } - - // logo flip - .branding img { - transform: scaleX(-1); - } - - .breadcrumb-icon { - left: 19px; - right: unset; - } - - .breadcrumb-item { - &:first-child { - margin-left: 0; - margin-right: -20px; - } - - &.active { - margin-left: 0; - margin-right: 20px; - } - } - - // sidebar - - .mat-drawer.sidebarNav { - border-left: 1px solid var(--mat-sys-outline-variant); - border-right: 0; - } - - .sidebar-list.mdc-list .menu-list-item .mdc-list-item__start { - margin-right: 0 !important; - margin-left: 14px !important; - } - - // minisidebar - &.sidebarNav-mini { - .contentWrapper { - margin-right: $sidenav-mini !important; - margin-left: 0 !important; - transition: swift-ease-out(width); - } - - .sidebarNav { - - // sidebar - .sidebar-list { - .menu-list-item { - .mdc-list-item__start { - margin-right: 8px !important; - margin-left: 7px !important; - } - } - } - - &:hover { - .sidebar-list { - .menu-list-item { - .mdc-list-item__start { - margin-right: 0 !important; - margin-left: 16px !important; - } - } - } - } - } - } +@use "../variables" as *; + +[dir="rtl"] { + +.mat-drawer.mat-drawer-end { + transform: translate3d(0, 0, 0); + &.mat-drawer-opened { + transform: none !important; + } +} + + // ------------------------------------------------------ + // header + // ------------------------------------------------------ + .upgrade-bg { + left: 0; + right: unset; + transform: scaleX(-1); + } + + // highlight + td.hljs-ln-line.hljs-ln-numbers { + padding-left: 10px; + padding-right: 0; + } + + // customizer + .customizerBtn { + left: 30px; + right: unset; + } + + // logo flip + .branding img { + transform: scaleX(-1); + } + + .breadcrumb-icon { + left: 19px; + right: unset; + } + + .breadcrumb-item { + &:first-child { + margin-left: 0; + margin-right: -20px; + } + + &.active { + margin-left: 0; + margin-right: 20px; + } + } + + // sidebar + + .mat-drawer.sidebarNav { + border-left: 1px solid var(--mat-sys-outline-variant); + border-right: 0; + } + + .sidebar-list.mdc-list .menu-list-item .mdc-list-item__start { + margin-right: 0 !important; + margin-left: 14px !important; + } + + // minisidebar + &.sidebarNav-mini { + .contentWrapper { + margin-right: $sidenav-mini !important; + margin-left: 0 !important; + transition: swift-ease-out(width); + } + + .sidebarNav { + + // sidebar + .sidebar-list { + .menu-list-item { + .mdc-list-item__start { + margin-right: 8px !important; + margin-left: 7px !important; + } + } + } + + &:hover { + .sidebar-list { + .menu-list-item { + .mdc-list-item__start { + margin-right: 0 !important; + margin-left: 16px !important; + } + } + } + } + } + } } \ No newline at end of file diff --git a/Web/public/scss/style.scss b/Web/public/scss/style.scss index 177d3f7..3a2a247 100755 --- a/Web/public/scss/style.scss +++ b/Web/public/scss/style.scss @@ -1,51 +1,51 @@ -@use "sass:map"; -@use "@angular/material" as mat; - -@use "themecolors/blue_theme"; -@use "themecolors/orange_theme"; -@use "themecolors/aqua_theme"; -@use "themecolors/cyan_theme"; -@use "themecolors/green_theme"; -@use "themecolors/purple_theme"; - -@use "variables" as *; -@use "override-component"; -@use "theme-variables/default-variables"; -@use "theme-variables/light-theme-variables"; -@use "theme-variables/dark-theme-variables"; - -//container layout -@use "layouts/transitions"; -@use "helpers/color"; -@use "helpers/border-color"; -@use "helpers/icon-size"; -@use "container"; -@use "layouts/layouts"; -@use "grid/grid"; -@use "helpers/custom-flex"; -@use "helpers"; - -// horizontal -@use "horizontal/horizontal"; -@use "dark/dark"; - -// apps -@use "apps/calendar"; -@use "apps/email"; -@use "apps/blogs"; -@use "apps/chat"; -@use "apps/contact-list"; -@use "apps/kanban"; -@use "apps/courses"; -@use "apps/todo"; -@use "apps/ecommerce"; - -@use "pages/auth"; -@use "pages/dashboards"; -@use "pages/landingpage"; -@use "pages/toast"; -@use "pages/pricing"; -@use "pages/frontend"; - -// RTL Theme +@use "sass:map"; +@use "@angular/material" as mat; + +@use "themecolors/blue_theme"; +@use "themecolors/orange_theme"; +@use "themecolors/aqua_theme"; +@use "themecolors/cyan_theme"; +@use "themecolors/green_theme"; +@use "themecolors/purple_theme"; + +@use "variables" as *; +@use "override-component"; +@use "theme-variables/default-variables"; +@use "theme-variables/light-theme-variables"; +@use "theme-variables/dark-theme-variables"; + +//container layout +@use "layouts/transitions"; +@use "helpers/color"; +@use "helpers/border-color"; +@use "helpers/icon-size"; +@use "container"; +@use "layouts/layouts"; +@use "grid/grid"; +@use "helpers/custom-flex"; +@use "helpers"; + +// horizontal +@use "horizontal/horizontal"; +@use "dark/dark"; + +// apps +@use "apps/calendar"; +@use "apps/email"; +@use "apps/blogs"; +@use "apps/chat"; +@use "apps/contact-list"; +@use "apps/kanban"; +@use "apps/courses"; +@use "apps/todo"; +@use "apps/ecommerce"; + +@use "pages/auth"; +@use "pages/dashboards"; +@use "pages/landingpage"; +@use "pages/toast"; +@use "pages/pricing"; +@use "pages/frontend"; + +// RTL Theme @use "rtl/rtl"; \ No newline at end of file diff --git a/Web/public/scss/theme-variables/_dark-theme-variables.scss b/Web/public/scss/theme-variables/_dark-theme-variables.scss index 0375fc4..9615f21 100755 --- a/Web/public/scss/theme-variables/_dark-theme-variables.scss +++ b/Web/public/scss/theme-variables/_dark-theme-variables.scss @@ -1,32 +1,32 @@ -@use "@angular/material" as mat; - -html.dark-theme { - color-scheme: dark; - --mat-sys-background: #141a21; - --mat-sys-on-background: rgba(255, 255, 255, 0.9); - --mat-sys-on-primary: #fff; - --mat-sys-surface-bright: #ffffff05; - --mat-sys-surface: #141a21; - --mat-sys-surface-container: #141a21; - --mat-sys-surface-container-low: #141a21; - --mat-sys-outline-variant: #2e3f50; - --mat-sys-outline: #2e3f50; - --mat-form-field-outlined-hover-outline-color: #465670; - --mat-checkbox-unselected-hover-state-layer-color: #19212a; - --mat-menu-item-hover-state-layer-color: #19212a; - --mat-button-toggle-state-layer-color: #19212a; - --mat-option-focus-state-layer-color: #19212a; - --mat-option-hover-state-layer-color: #19212a; - --mat-slide-toggle-unselected-track-color: #19212a; - --mat-stepper-header-focus-state-layer-color: #19212a; - --mat-stepper-header-hover-state-layer-color: #19212a; - --mat-expansion-header-hover-state-layer-color: #19212a; - @include mat.card-overrides((elevated-container-color: #1c252e, - elevated-container-elevation: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, - subtitle-text-color: rgba(255, 255, 255, 0.67), - )); - @include mat.theme-overrides((level1: 0px 12px 24px -4px rgba(143, 176, 210, 0.02), - level2: 0px 12px 24px -4px rgba(143, 176, 210, 0.02), - level3: 0px 12px 24px -4px rgba(143, 176, 210, 0.02), - )); +@use "@angular/material" as mat; + +html.dark-theme { + color-scheme: dark; + --mat-sys-background: #141a21; + --mat-sys-on-background: rgba(255, 255, 255, 0.9); + --mat-sys-on-primary: #fff; + --mat-sys-surface-bright: #ffffff05; + --mat-sys-surface: #141a21; + --mat-sys-surface-container: #141a21; + --mat-sys-surface-container-low: #141a21; + --mat-sys-outline-variant: #2e3f50; + --mat-sys-outline: #2e3f50; + --mat-form-field-outlined-hover-outline-color: #465670; + --mat-checkbox-unselected-hover-state-layer-color: #19212a; + --mat-menu-item-hover-state-layer-color: #19212a; + --mat-button-toggle-state-layer-color: #19212a; + --mat-option-focus-state-layer-color: #19212a; + --mat-option-hover-state-layer-color: #19212a; + --mat-slide-toggle-unselected-track-color: #19212a; + --mat-stepper-header-focus-state-layer-color: #19212a; + --mat-stepper-header-hover-state-layer-color: #19212a; + --mat-expansion-header-hover-state-layer-color: #19212a; + @include mat.card-overrides((elevated-container-color: #1c252e, + elevated-container-elevation: rgba(0, 0, 0, 0.2) 0px 0px 2px 0px, + subtitle-text-color: rgba(255, 255, 255, 0.67), + )); + @include mat.theme-overrides((level1: 0px 12px 24px -4px rgba(143, 176, 210, 0.02), + level2: 0px 12px 24px -4px rgba(143, 176, 210, 0.02), + level3: 0px 12px 24px -4px rgba(143, 176, 210, 0.02), + )); } \ No newline at end of file diff --git a/Web/public/scss/theme-variables/_default-variables.scss b/Web/public/scss/theme-variables/_default-variables.scss index e3adeb2..c374e63 100755 --- a/Web/public/scss/theme-variables/_default-variables.scss +++ b/Web/public/scss/theme-variables/_default-variables.scss @@ -1,12 +1,12 @@ -html { - --mat-sys-error-fixed-dim: rgba(247, 68, 86, 0.15); - --mat-select-container-elevation-shadow: var(--mat-sys-level3); - --mat-list-list-item-label-text-tracking: 0; - --mat-slide-toggle-track-height: 28px; - --mat-sidenav-container-divider-color: var(--mat-sys-outline-variant); - --mat-dialog-with-actions-content-padding: 20px 24px; - --mat-form-field-container-text-tracking: unset; - --mat-slide-toggle-with-icon-handle-size: 21px; - --mat-badge-text-color: white; - --mat-slide-toggle-selected-with-icon-handle-horizontal-margin: 0 26px; +html { + --mat-sys-error-fixed-dim: rgba(247, 68, 86, 0.15); + --mat-select-container-elevation-shadow: var(--mat-sys-level3); + --mat-list-list-item-label-text-tracking: 0; + --mat-slide-toggle-track-height: 28px; + --mat-sidenav-container-divider-color: var(--mat-sys-outline-variant); + --mat-dialog-with-actions-content-padding: 20px 24px; + --mat-form-field-container-text-tracking: unset; + --mat-slide-toggle-with-icon-handle-size: 21px; + --mat-badge-text-color: white; + --mat-slide-toggle-selected-with-icon-handle-horizontal-margin: 0 26px; } \ No newline at end of file diff --git a/Web/public/scss/theme-variables/_light-theme-variables.scss b/Web/public/scss/theme-variables/_light-theme-variables.scss index 735309e..f5040ab 100755 --- a/Web/public/scss/theme-variables/_light-theme-variables.scss +++ b/Web/public/scss/theme-variables/_light-theme-variables.scss @@ -1,23 +1,23 @@ -html.light-theme { - color-scheme: light; - --mat-sys-corner-small: 7px; - --mat-sys-background: #fff; - --mat-sys-surface-bright: #f2f6fa; - --mat-sys-surface: #fff; - --mat-sys-surface-container: #fff; - --mat-sys-surface-container-low: #fff; - --mat-sys-on-background: #2a3547; - --mat-sys-outline: #d7dde2; - --mat-sys-outline-variant: #d7dde2; - --mat-form-field-outlined-hover-outline-color: #d7dde2; - --mat-checkbox-unselected-hover-state-layer-color: #d7dde2; - --mat-menu-item-hover-state-layer-color: #f6f9fc; - --mat-button-toggle-state-layer-color: #f6f9fc; - --mat-option-focus-state-layer-color: #f6f9fc; - --mat-option-hover-state-layer-color: #f6f9fc; - --mat-slide-toggle-unselected-track-color: #f6f9fc; - --mat-stepper-header-focus-state-layer-color: #f6f9fc; - --mat-stepper-header-hover-state-layer-color: #f6f9fc; - --mat-dialog-supporting-text-color: var(--mat-sys-on-background); - --mat-expansion-header-hover-state-layer-color: #f6f9fc; +html.light-theme { + color-scheme: light; + --mat-sys-corner-small: 7px; + --mat-sys-background: #fff; + --mat-sys-surface-bright: #f2f6fa; + --mat-sys-surface: #fff; + --mat-sys-surface-container: #fff; + --mat-sys-surface-container-low: #fff; + --mat-sys-on-background: #2a3547; + --mat-sys-outline: #d7dde2; + --mat-sys-outline-variant: #d7dde2; + --mat-form-field-outlined-hover-outline-color: #d7dde2; + --mat-checkbox-unselected-hover-state-layer-color: #d7dde2; + --mat-menu-item-hover-state-layer-color: #f6f9fc; + --mat-button-toggle-state-layer-color: #f6f9fc; + --mat-option-focus-state-layer-color: #f6f9fc; + --mat-option-hover-state-layer-color: #f6f9fc; + --mat-slide-toggle-unselected-track-color: #f6f9fc; + --mat-stepper-header-focus-state-layer-color: #f6f9fc; + --mat-stepper-header-hover-state-layer-color: #f6f9fc; + --mat-dialog-supporting-text-color: var(--mat-sys-on-background); + --mat-expansion-header-hover-state-layer-color: #f6f9fc; } \ No newline at end of file diff --git a/Web/public/scss/themecolors/_aqua_theme.scss b/Web/public/scss/themecolors/_aqua_theme.scss index 185291b..befd8c6 100755 --- a/Web/public/scss/themecolors/_aqua_theme.scss +++ b/Web/public/scss/themecolors/_aqua_theme.scss @@ -1,7 +1,7 @@ -html.aqua_theme { - --mat-sys-primary: rgb(0, 116, 186); - --mat-sys-primary-fixed-dim: rgb(0, 116, 186, 0.15); - --mat-sys-secondary: rgb(71, 215, 188); - --mat-sys-secondary-fixed-dim: rgb(71, 215, 188, 0.15); - --mat-sys-tertiary: rgb(71, 215, 188); +html.aqua_theme { + --mat-sys-primary: rgb(0, 116, 186); + --mat-sys-primary-fixed-dim: rgb(0, 116, 186, 0.15); + --mat-sys-secondary: rgb(71, 215, 188); + --mat-sys-secondary-fixed-dim: rgb(71, 215, 188, 0.15); + --mat-sys-tertiary: rgb(71, 215, 188); } \ No newline at end of file diff --git a/Web/public/scss/themecolors/_blue_theme.scss b/Web/public/scss/themecolors/_blue_theme.scss index b34c0bd..cfc4869 100755 --- a/Web/public/scss/themecolors/_blue_theme.scss +++ b/Web/public/scss/themecolors/_blue_theme.scss @@ -1,6 +1,6 @@ -html.blue_theme { - --mat-sys-primary: rgb(93, 135, 255); - --mat-sys-primary-fixed-dim: rgb(93, 135, 255, 0.15); - --mat-sys-secondary: rgb(68, 183, 247); - --mat-sys-secondary-fixed-dim: rgb(68, 183, 247, 0.15); +html.blue_theme { + --mat-sys-primary: rgb(93, 135, 255); + --mat-sys-primary-fixed-dim: rgb(93, 135, 255, 0.15); + --mat-sys-secondary: rgb(68, 183, 247); + --mat-sys-secondary-fixed-dim: rgb(68, 183, 247, 0.15); } \ No newline at end of file diff --git a/Web/public/scss/themecolors/_cyan_theme.scss b/Web/public/scss/themecolors/_cyan_theme.scss index 7dea9b0..8a0b7de 100755 --- a/Web/public/scss/themecolors/_cyan_theme.scss +++ b/Web/public/scss/themecolors/_cyan_theme.scss @@ -1,7 +1,7 @@ -html.cyan_theme { - --mat-sys-primary: rgb(0, 185, 192); - --mat-sys-primary-fixed-dim: rgb(0, 185, 192, 0.15); - --mat-sys-secondary: rgb(244, 139, 108); - --mat-sys-secondary-fixed-dim: rgb(244, 139, 108, 0.15); - --mat-sys-tertiary: rgb(244, 139, 108); +html.cyan_theme { + --mat-sys-primary: rgb(0, 185, 192); + --mat-sys-primary-fixed-dim: rgb(0, 185, 192, 0.15); + --mat-sys-secondary: rgb(244, 139, 108); + --mat-sys-secondary-fixed-dim: rgb(244, 139, 108, 0.15); + --mat-sys-tertiary: rgb(244, 139, 108); } \ No newline at end of file diff --git a/Web/public/scss/themecolors/_green_theme.scss b/Web/public/scss/themecolors/_green_theme.scss index d80c4b8..3ecebf0 100755 --- a/Web/public/scss/themecolors/_green_theme.scss +++ b/Web/public/scss/themecolors/_green_theme.scss @@ -1,7 +1,7 @@ -html.green_theme { - --mat-sys-primary: rgb(6, 118, 154); - --mat-sys-primary-fixed-dim: rgb(6, 118, 154, 0.15); - --mat-sys-secondary: rgb(195, 208, 70); - --mat-sys-secondary-fixed-dim: rgb(195, 208, 70, 0.15); - --mat-sys-tertiary: rgb(195, 208, 70); +html.green_theme { + --mat-sys-primary: rgb(6, 118, 154); + --mat-sys-primary-fixed-dim: rgb(6, 118, 154, 0.15); + --mat-sys-secondary: rgb(195, 208, 70); + --mat-sys-secondary-fixed-dim: rgb(195, 208, 70, 0.15); + --mat-sys-tertiary: rgb(195, 208, 70); } \ No newline at end of file diff --git a/Web/public/scss/themecolors/_orange_theme.scss b/Web/public/scss/themecolors/_orange_theme.scss index 20bed3b..0b322c1 100755 --- a/Web/public/scss/themecolors/_orange_theme.scss +++ b/Web/public/scss/themecolors/_orange_theme.scss @@ -1,7 +1,7 @@ -html.orange_theme { - --mat-sys-primary: rgb(250, 137, 107); - --mat-sys-primary-fixed-dim: rgb(250, 137, 107, 0.15); - --mat-sys-secondary: rgb(0, 127, 180); - --mat-sys-secondary-fixed-dim: rgb(0, 127, 180, 0.15); - --mat-sys-error-fixed-dim: rgba(247, 68, 86, 0.15); +html.orange_theme { + --mat-sys-primary: rgb(250, 137, 107); + --mat-sys-primary-fixed-dim: rgb(250, 137, 107, 0.15); + --mat-sys-secondary: rgb(0, 127, 180); + --mat-sys-secondary-fixed-dim: rgb(0, 127, 180, 0.15); + --mat-sys-error-fixed-dim: rgba(247, 68, 86, 0.15); } \ No newline at end of file diff --git a/Web/public/scss/themecolors/_purple_theme.scss b/Web/public/scss/themecolors/_purple_theme.scss index 1476625..048fb2b 100755 --- a/Web/public/scss/themecolors/_purple_theme.scss +++ b/Web/public/scss/themecolors/_purple_theme.scss @@ -1,7 +1,7 @@ -html.purple_theme { - --mat-sys-primary: rgb(110, 53, 183); - --mat-sys-primary-fixed-dim: rgb(110, 53, 183, 0.15); - --mat-sys-secondary: rgb(139, 200, 206); - --mat-sys-secondary-fixed-dim: rgb(139, 200, 206, 0.15); - --mat-sys-tertiary: rgb(139, 200, 206); +html.purple_theme { + --mat-sys-primary: rgb(110, 53, 183); + --mat-sys-primary-fixed-dim: rgb(110, 53, 183, 0.15); + --mat-sys-secondary: rgb(139, 200, 206); + --mat-sys-secondary-fixed-dim: rgb(139, 200, 206, 0.15); + --mat-sys-tertiary: rgb(139, 200, 206); } \ No newline at end of file diff --git a/Web/public/site.webmanifest b/Web/public/site.webmanifest new file mode 100644 index 0000000..eca9620 --- /dev/null +++ b/Web/public/site.webmanifest @@ -0,0 +1,21 @@ +{ + "name": "MyWebSite", + "short_name": "MySite", + "icons": [ + { + "src": "/assets/web-app-manifest-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "/assets/web-app-manifest-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} \ No newline at end of file diff --git a/Web/public/web-app-manifest-192x192.png b/Web/public/web-app-manifest-192x192.png new file mode 100644 index 0000000..06d6cee Binary files /dev/null and b/Web/public/web-app-manifest-192x192.png differ diff --git a/Web/public/web-app-manifest-512x512.png b/Web/public/web-app-manifest-512x512.png new file mode 100644 index 0000000..50afafc Binary files /dev/null and b/Web/public/web-app-manifest-512x512.png differ diff --git a/Web/src/app/app.component.html b/Web/src/app/app.component.html index 0680b43..6c46b1d 100755 --- a/Web/src/app/app.component.html +++ b/Web/src/app/app.component.html @@ -1 +1 @@ - + diff --git a/Web/src/app/app.component.spec.ts b/Web/src/app/app.component.spec.ts index 71cb3e3..1ef26e4 100755 --- a/Web/src/app/app.component.spec.ts +++ b/Web/src/app/app.component.spec.ts @@ -1,35 +1,35 @@ -import { TestBed } from '@angular/core/testing'; -import { RouterTestingModule } from '@angular/router/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - RouterTestingModule - ], - declarations: [ - AppComponent - ], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have as title 'Angular15'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('Angular15'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('.content span')?.textContent).toContain('Angular15 app is running!'); - }); -}); +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + RouterTestingModule + ], + declarations: [ + AppComponent + ], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'Angular15'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('Angular15'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('Angular15 app is running!'); + }); +}); diff --git a/Web/src/app/app.component.ts b/Web/src/app/app.component.ts index 7cc55e4..739c4cb 100755 --- a/Web/src/app/app.component.ts +++ b/Web/src/app/app.component.ts @@ -1,15 +1,15 @@ -import { Component } from '@angular/core'; -import { RouterOutlet } from '@angular/router'; -import { OAuthService } from 'angular-oauth2-oidc'; - -@Component({ - selector: 'app-root', - imports: [RouterOutlet], - providers: [ - OAuthService, - ], - templateUrl: './app.component.html' -}) -export class AppComponent { - title = 'Modernize Angular Admin Tempplate'; -} +import { Component } from '@angular/core'; +import { RouterOutlet } from '@angular/router'; +import { OAuthService } from 'angular-oauth2-oidc'; + +@Component({ + selector: 'app-root', + imports: [RouterOutlet], + providers: [ + OAuthService, + ], + templateUrl: './app.component.html' +}) +export class AppComponent { + title = 'Digitálny asistent PAS'; +} diff --git a/Web/src/app/app.config.ts b/Web/src/app/app.config.ts index 16815e4..702af07 100755 --- a/Web/src/app/app.config.ts +++ b/Web/src/app/app.config.ts @@ -1,92 +1,92 @@ -import { - ApplicationConfig, - provideZoneChangeDetection, - importProvidersFrom, -} from '@angular/core'; -import { - HttpClient, - provideHttpClient, - withInterceptorsFromDi, -} from '@angular/common/http'; -import { routes } from './app.routes'; -import { - provideRouter, - withComponentInputBinding, - withInMemoryScrolling, -} from '@angular/router'; -import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; -import { provideClientHydration } from '@angular/platform-browser'; -import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; -import { TranslateHttpLoader } from '@ngx-translate/http-loader'; - -import { ToastrModule } from 'ngx-toastr'; -import { provideToastr } from 'ngx-toastr'; - -// icons -import { TablerIconsModule } from 'angular-tabler-icons'; -import * as TablerIcons from 'angular-tabler-icons/icons'; - -// perfect scrollbar -import { NgScrollbarModule } from 'ngx-scrollbar'; -import { NgxPermissionsModule } from 'ngx-permissions'; -//Import all material modules -import { MaterialModule } from './material.module'; -import { FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { CalendarModule, DateAdapter } from 'angular-calendar'; -import { adapterFactory } from 'angular-calendar/date-adapters/date-fns'; - -// code view -import { provideHighlightOptions } from 'ngx-highlightjs'; -import 'highlight.js/styles/atom-one-dark.min.css'; - -export function HttpLoaderFactory(http: HttpClient): any { - return new TranslateHttpLoader(http, './assets/i18n/', '.json'); -} - -export const appConfig: ApplicationConfig = { - providers: [ - provideAnimationsAsync(), // required animations providers - provideToastr(), // Toastr providers - provideZoneChangeDetection({ eventCoalescing: true }), - provideHighlightOptions({ - coreLibraryLoader: () => import('highlight.js/lib/core'), - lineNumbersLoader: () => import('ngx-highlightjs/line-numbers'), // Optional, add line numbers if needed - languages: { - typescript: () => import('highlight.js/lib/languages/typescript'), - css: () => import('highlight.js/lib/languages/css'), - xml: () => import('highlight.js/lib/languages/xml'), - }, - }), - provideRouter( - routes, - withInMemoryScrolling({ - scrollPositionRestoration: 'enabled', - anchorScrolling: 'enabled', - }), - withComponentInputBinding() - ), - provideHttpClient(withInterceptorsFromDi()), - provideClientHydration(), - provideAnimationsAsync(), - importProvidersFrom( - FormsModule, - ToastrModule.forRoot(), - ReactiveFormsModule, - MaterialModule, - NgxPermissionsModule.forRoot(), - TablerIconsModule.pick(TablerIcons), - NgScrollbarModule, - CalendarModule.forRoot({ - provide: DateAdapter, - useFactory: adapterFactory, - }), - TranslateModule.forRoot({ - loader: { - provide: TranslateLoader, - useFactory: HttpLoaderFactory, - deps: [HttpClient], - }, - }) - ), - ], -}; +import { + ApplicationConfig, + provideZoneChangeDetection, + importProvidersFrom, +} from '@angular/core'; +import { + HttpClient, + provideHttpClient, + withInterceptorsFromDi, +} from '@angular/common/http'; +import { routes } from './app.routes'; +import { + provideRouter, + withComponentInputBinding, + withInMemoryScrolling, +} from '@angular/router'; +import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; +import { provideClientHydration } from '@angular/platform-browser'; +import { TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { TranslateHttpLoader } from '@ngx-translate/http-loader'; + +import { ToastrModule } from 'ngx-toastr'; +import { provideToastr } from 'ngx-toastr'; + +// icons +import { TablerIconsModule } from 'angular-tabler-icons'; +import * as TablerIcons from 'angular-tabler-icons/icons'; + +// perfect scrollbar +import { NgScrollbarModule } from 'ngx-scrollbar'; +import { NgxPermissionsModule } from 'ngx-permissions'; +//Import all material modules +import { MaterialModule } from './material.module'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { CalendarModule, DateAdapter } from 'angular-calendar'; +import { adapterFactory } from 'angular-calendar/date-adapters/date-fns'; + +// code view +import { provideHighlightOptions } from 'ngx-highlightjs'; +import 'highlight.js/styles/atom-one-dark.min.css'; + +export function HttpLoaderFactory(http: HttpClient): any { + return new TranslateHttpLoader(http, './assets/i18n/', '.json'); +} + +export const appConfig: ApplicationConfig = { + providers: [ + provideAnimationsAsync(), // required animations providers + provideToastr(), // Toastr providers + provideZoneChangeDetection({ eventCoalescing: true }), + provideHighlightOptions({ + coreLibraryLoader: () => import('highlight.js/lib/core'), + lineNumbersLoader: () => import('ngx-highlightjs/line-numbers'), // Optional, add line numbers if needed + languages: { + typescript: () => import('highlight.js/lib/languages/typescript'), + css: () => import('highlight.js/lib/languages/css'), + xml: () => import('highlight.js/lib/languages/xml'), + }, + }), + provideRouter( + routes, + withInMemoryScrolling({ + scrollPositionRestoration: 'enabled', + anchorScrolling: 'enabled', + }), + withComponentInputBinding() + ), + provideHttpClient(withInterceptorsFromDi()), + provideClientHydration(), + provideAnimationsAsync(), + importProvidersFrom( + FormsModule, + ToastrModule.forRoot(), + ReactiveFormsModule, + MaterialModule, + NgxPermissionsModule.forRoot(), + TablerIconsModule.pick(TablerIcons), + NgScrollbarModule, + CalendarModule.forRoot({ + provide: DateAdapter, + useFactory: adapterFactory, + }), + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: HttpLoaderFactory, + deps: [HttpClient], + }, + }) + ), + ], +}; diff --git a/Web/src/app/app.routes.ts b/Web/src/app/app.routes.ts index 6703e32..e1b00b9 100755 --- a/Web/src/app/app.routes.ts +++ b/Web/src/app/app.routes.ts @@ -1,106 +1,106 @@ -import { Routes } from '@angular/router'; -import { BlankComponent } from './layouts/blank/blank.component'; -import { FullComponent } from './layouts/full/full.component'; - -export const routes: Routes = [ - { - path: '', - component: FullComponent, - children: [ - { - path: '', - redirectTo: '/front-pages/homepage', - pathMatch: 'full', - }, - // { - // path: 'starter', - // loadChildren: () => - // import('./pages/pages.routes').then((m) => m.PagesRoutes), - // }, - // { - // path: 'dashboards', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/dashboards/dashboards.routes').then( - // (m) => m.DashboardsRoutes - // ), - // }, - // { - // path: 'forms', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/forms/forms.routes').then((m) => m.FormsRoutes), - // }, - // { - // path: 'charts', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/charts/charts.routes').then((m) => m.ChartsRoutes), - // }, - // { - // path: 'apps', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/apps/apps.routes').then((m) => m.AppsRoutes), - // }, - // { - // path: 'widgets', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/widgets/widgets.routes').then((m) => m.WidgetsRoutes), - // }, - // { - // path: 'tables', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/tables/tables.routes').then((m) => m.TablesRoutes), - // }, - // { - // path: 'datatable', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/datatable/datatable.routes').then( - // (m) => m.DatatablesRoutes - // ), - // }, - // { - // path: 'theme-pages', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/theme-pages/theme-pages.routes').then( - // (m) => m.ThemePagesRoutes - // ), - // }, - // { - // path: 'ui-components', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/ui-components/ui-components.routes').then( - // (m) => m.UiComponentsRoutes - // ), - // }, - ], - }, - { - path: '', - component: BlankComponent, - children: [ - { - path: 'authentication', - loadChildren: () => - import('./pages/authentication/authentication.routes').then( - (m) => m.AuthenticationRoutes - ), - }, - // { - // path: 'landingpage', - // loadChildren: () => - // import('../../../theme/packages/main/src/app/pages/theme-pages/landingpage/landingpage.routes').then( - // (m) => m.LandingPageRoutes - // ), - // }, - { - path: 'front-pages', - loadChildren: () => - import('./pages/front-pages/front-pages.routes').then( - (m) => m.FrontPagesRoutes - ), - }, - ], - }, - { - path: '**', - redirectTo: 'authentication/error', - }, -]; +import { Routes } from '@angular/router'; +import { BlankComponent } from './layouts/blank/blank.component'; +import { FullComponent } from './layouts/full/full.component'; + +export const routes: Routes = [ + { + path: '', + component: FullComponent, + children: [ + { + path: '', + redirectTo: '/front-pages/homepage', + pathMatch: 'full', + }, + // { + // path: 'starter', + // loadChildren: () => + // import('./pages/pages.routes').then((m) => m.PagesRoutes), + // }, + // { + // path: 'dashboards', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/dashboards/dashboards.routes').then( + // (m) => m.DashboardsRoutes + // ), + // }, + // { + // path: 'forms', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/forms/forms.routes').then((m) => m.FormsRoutes), + // }, + // { + // path: 'charts', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/charts/charts.routes').then((m) => m.ChartsRoutes), + // }, + // { + // path: 'apps', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/apps/apps.routes').then((m) => m.AppsRoutes), + // }, + // { + // path: 'widgets', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/widgets/widgets.routes').then((m) => m.WidgetsRoutes), + // }, + // { + // path: 'tables', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/tables/tables.routes').then((m) => m.TablesRoutes), + // }, + // { + // path: 'datatable', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/datatable/datatable.routes').then( + // (m) => m.DatatablesRoutes + // ), + // }, + // { + // path: 'theme-pages', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/theme-pages/theme-pages.routes').then( + // (m) => m.ThemePagesRoutes + // ), + // }, + // { + // path: 'ui-components', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/ui-components/ui-components.routes').then( + // (m) => m.UiComponentsRoutes + // ), + // }, + ], + }, + { + path: '', + component: BlankComponent, + children: [ + { + path: 'authentication', + loadChildren: () => + import('./pages/authentication/authentication.routes').then( + (m) => m.AuthenticationRoutes + ), + }, + // { + // path: 'landingpage', + // loadChildren: () => + // import('../../../theme/packages/main/src/app/pages/theme-pages/landingpage/landingpage.routes').then( + // (m) => m.LandingPageRoutes + // ), + // }, + { + path: 'front-pages', + loadChildren: () => + import('./pages/front-pages/front-pages.routes').then( + (m) => m.FrontPagesRoutes + ), + }, + ], + }, + { + path: '**', + redirectTo: 'authentication/error', + }, +]; diff --git a/Web/src/app/config.ts b/Web/src/app/config.ts index 6a842c7..5b6b252 100755 --- a/Web/src/app/config.ts +++ b/Web/src/app/config.ts @@ -1,25 +1,25 @@ -export interface AppSettings { - dir: 'ltr' | 'rtl'; - theme: string; - sidenavOpened: boolean; - sidenavCollapsed: boolean; - boxed: boolean; - horizontal: boolean; - activeTheme: string; - language: string; - cardBorder: boolean; - navPos: 'side' | 'top'; -} - -export const defaults: AppSettings = { - dir: 'ltr', - theme: 'light', - sidenavOpened: false, - sidenavCollapsed: false, - boxed: true, - horizontal: false, - cardBorder: true, - activeTheme: 'blue_theme', - language: 'en-us', - navPos: 'side', -}; +export interface AppSettings { + dir: 'ltr' | 'rtl'; + theme: string; + sidenavOpened: boolean; + sidenavCollapsed: boolean; + boxed: boolean; + horizontal: boolean; + activeTheme: string; + language: string; + cardBorder: boolean; + navPos: 'side' | 'top'; +} + +export const defaults: AppSettings = { + dir: 'ltr', + theme: 'light', + sidenavOpened: false, + sidenavCollapsed: false, + boxed: true, + horizontal: false, + cardBorder: true, + activeTheme: 'blue_theme', + language: 'en-us', + navPos: 'side', +}; diff --git a/Web/src/app/icon/icon.module.ts b/Web/src/app/icon/icon.module.ts index 6c28fd0..e3fcfe1 100755 --- a/Web/src/app/icon/icon.module.ts +++ b/Web/src/app/icon/icon.module.ts @@ -1,16 +1,16 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import * as TablerIcons from 'angular-tabler-icons/icons'; - - - -@NgModule({ - declarations: [], - imports: [ - TablerIconsModule.pick(TablerIcons), - CommonModule - ], - exports: [TablerIconsModule] -}) -export class IconModule { } +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import * as TablerIcons from 'angular-tabler-icons/icons'; + + + +@NgModule({ + declarations: [], + imports: [ + TablerIconsModule.pick(TablerIcons), + CommonModule + ], + exports: [TablerIconsModule] +}) +export class IconModule { } diff --git a/Web/src/app/layouts/blank/blank.component.html b/Web/src/app/layouts/blank/blank.component.html index 4dd0d8a..96918ac 100755 --- a/Web/src/app/layouts/blank/blank.component.html +++ b/Web/src/app/layouts/blank/blank.component.html @@ -1,11 +1,11 @@ - - - - - - + + + + + + diff --git a/Web/src/app/layouts/blank/blank.component.ts b/Web/src/app/layouts/blank/blank.component.ts index 68415c2..6f3e950 100755 --- a/Web/src/app/layouts/blank/blank.component.ts +++ b/Web/src/app/layouts/blank/blank.component.ts @@ -1,52 +1,52 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../services/core.service'; -import { AppSettings } from '../../config'; -import { CommonModule } from '@angular/common'; -import { RouterOutlet } from '@angular/router'; -import { MaterialModule } from '../../material.module'; - -@Component({ - selector: 'app-blank', - templateUrl: './blank.component.html', - styleUrls: [], - imports: [RouterOutlet, MaterialModule, CommonModule], -}) -export class BlankComponent { - private htmlElement!: HTMLHtmlElement; - - options!: AppSettings; - - constructor(private settings: CoreService) { - this.htmlElement = document.querySelector('html')!; - this.options = this.settings.getOptions(); - // Initialize project theme with options - this.receiveOptions(this.options); - } - - receiveOptions(options: AppSettings): void { - this.toggleDarkTheme(options); - this.toggleColorsTheme(options); - } - - toggleDarkTheme(options: AppSettings) { - if (options.theme === 'dark') { - this.htmlElement.classList.add('dark-theme'); - this.htmlElement.classList.remove('light-theme'); - } else { - this.htmlElement.classList.remove('dark-theme'); - this.htmlElement.classList.add('light-theme'); - } - } - - toggleColorsTheme(options: AppSettings) { - // Remove any existing theme class dynamically - this.htmlElement.classList.forEach((className) => { - if (className.endsWith('_theme')) { - this.htmlElement.classList.remove(className); - } - }); - - // Add the selected theme class - this.htmlElement.classList.add(options.activeTheme); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../services/core.service'; +import { AppSettings } from '../../config'; +import { CommonModule } from '@angular/common'; +import { RouterOutlet } from '@angular/router'; +import { MaterialModule } from '../../material.module'; + +@Component({ + selector: 'app-blank', + templateUrl: './blank.component.html', + styleUrls: [], + imports: [RouterOutlet, MaterialModule, CommonModule], +}) +export class BlankComponent { + private htmlElement!: HTMLHtmlElement; + + options!: AppSettings; + + constructor(private settings: CoreService) { + this.htmlElement = document.querySelector('html')!; + this.options = this.settings.getOptions(); + // Initialize project theme with options + this.receiveOptions(this.options); + } + + receiveOptions(options: AppSettings): void { + this.toggleDarkTheme(options); + this.toggleColorsTheme(options); + } + + toggleDarkTheme(options: AppSettings) { + if (options.theme === 'dark') { + this.htmlElement.classList.add('dark-theme'); + this.htmlElement.classList.remove('light-theme'); + } else { + this.htmlElement.classList.remove('dark-theme'); + this.htmlElement.classList.add('light-theme'); + } + } + + toggleColorsTheme(options: AppSettings) { + // Remove any existing theme class dynamically + this.htmlElement.classList.forEach((className) => { + if (className.endsWith('_theme')) { + this.htmlElement.classList.remove(className); + } + }); + + // Add the selected theme class + this.htmlElement.classList.add(options.activeTheme); + } +} diff --git a/Web/src/app/layouts/full/full.component.html b/Web/src/app/layouts/full/full.component.html index 2ffaeb5..dbdf6cf 100755 --- a/Web/src/app/layouts/full/full.component.html +++ b/Web/src/app/layouts/full/full.component.html @@ -1,197 +1,197 @@ - - - - - - @if (!options.horizontal) { - -
- - - - @for(item of navItems; track item) { - - - } - - -
-
- -
-

Mathew

- Designer -
-
- - - -
-
-
-
-
- } - - - - - @if (resView) { - - - - - @for(item of navItems; track item) { - - - } - - -
-
- -
-

Mathew

- Designer -
-
- - - -
-
-
-
- } - - - - - - - - - @if (!options.horizontal) { - - } @else { - - - } @if(options.horizontal) { - - } - -
- - - - - -
- -
-
- - -
-
-
-
- @if(options.theme === 'light') { - - logo - - } @else { - - logo - - } -
- -
- - - - - Apps - -
-
- @for(appdd of apps; track appdd.img) { - - } -
-

Quick Links

- @for(quicklink of quicklinks; track quicklink.title) { - - } -
-
-
- - -
-
-
- - -
-

Settings

- -
- - - -
-
+ + + + + + @if (!options.horizontal) { + +
+ + + + @for(item of navItems; track item) { + + + } + + +
+
+ +
+

Mathew

+ Designer +
+
+ + + +
+
+
+
+
+ } + + + + + @if (resView) { + + + + + @for(item of navItems; track item) { + + + } + + +
+
+ +
+

Mathew

+ Designer +
+
+ + + +
+
+
+
+ } + + + + + + + + + @if (!options.horizontal) { + + } @else { + + + } @if(options.horizontal) { + + } + +
+ + + + + +
+ +
+
+ + +
+
+
+
+ @if(options.theme === 'light') { + + logo + + } @else { + + logo + + } +
+ +
+ + + + + Apps + +
+
+ @for(appdd of apps; track appdd.img) { + + } +
+

Quick Links

+ @for(quicklink of quicklinks; track quicklink.title) { + + } +
+
+
+ + +
+
+
+ + +
+

Settings

+ +
+ + + +
+
\ No newline at end of file diff --git a/Web/src/app/layouts/full/full.component.ts b/Web/src/app/layouts/full/full.component.ts index be080f5..37a49eb 100755 --- a/Web/src/app/layouts/full/full.component.ts +++ b/Web/src/app/layouts/full/full.component.ts @@ -1,285 +1,285 @@ -import { BreakpointObserver, MediaMatcher } from '@angular/cdk/layout'; -import { ChangeDetectorRef, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; -import { Subscription } from 'rxjs'; -import { MatSidenav, MatSidenavContent } from '@angular/material/sidenav'; -import { CoreService } from '../../services/core.service'; -import { AppSettings } from '../../config'; -import { filter } from 'rxjs/operators'; -import { NavigationEnd, Router } from '@angular/router'; -import { navItems } from './vertical/sidebar/sidebar-data'; -import { NavService } from '../../services/nav.service'; -import { AppNavItemComponent } from './vertical/sidebar/nav-item/nav-item.component'; -import { RouterModule } from '@angular/router'; -import { MaterialModule } from '../../material.module'; -import { CommonModule } from '@angular/common'; -import { SidebarComponent } from './vertical/sidebar/sidebar.component'; -import { NgScrollbarModule } from 'ngx-scrollbar'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import { HeaderComponent } from './vertical/header/header.component'; -import { AppHorizontalHeaderComponent } from './horizontal/header/header.component'; -import { AppHorizontalSidebarComponent } from './horizontal/sidebar/sidebar.component'; -import { AppBreadcrumbComponent } from './shared/breadcrumb/breadcrumb.component'; -import { CustomizerComponent } from './shared/customizer/customizer.component'; - -const MOBILE_VIEW = 'screen and (max-width: 768px)'; -const TABLET_VIEW = 'screen and (min-width: 769px) and (max-width: 1024px)'; -const MONITOR_VIEW = 'screen and (min-width: 1024px)'; -const BELOWMONITOR = 'screen and (max-width: 1023px)'; - -// for mobile app sidebar -interface apps { - id: number; - img: string; - title: string; - subtitle: string; - link: string; -} - -interface quicklinks { - id: number; - title: string; - link: string; -} - -@Component({ - selector: 'app-full', - imports: [ - RouterModule, - AppNavItemComponent, - MaterialModule, - CommonModule, - SidebarComponent, - NgScrollbarModule, - TablerIconsModule, - HeaderComponent, - AppHorizontalHeaderComponent, - AppHorizontalSidebarComponent, - AppBreadcrumbComponent, - CustomizerComponent, - ], - templateUrl: './full.component.html', - - encapsulation: ViewEncapsulation.None -}) -export class FullComponent implements OnInit { - navItems = navItems; - - - - @ViewChild('leftsidenav') - public sidenav: MatSidenav; - resView = false; - @ViewChild('content', { static: true }) content!: MatSidenavContent; - //get options from service - options: AppSettings; - private layoutChangesSubscription = Subscription.EMPTY; - private isMobileScreen = false; - private isContentWidthFixed = true; - private isCollapsedWidthFixed = false; - private htmlElement!: HTMLHtmlElement; - - get isOver(): boolean { - return this.isMobileScreen; - } - - get isTablet(): boolean { - return this.resView; - } - - // for mobile app sidebar - apps: apps[] = [ - { - id: 1, - img: '/assets/images/svgs/icon-dd-chat.svg', - title: 'Chat Application', - subtitle: 'Messages & Emails', - link: '/apps/chat', - }, - { - id: 2, - img: '/assets/images/svgs/icon-dd-cart.svg', - title: 'Todo App', - subtitle: 'Completed task', - link: '/apps/todo', - }, - { - id: 3, - img: '/assets/images/svgs/icon-dd-invoice.svg', - title: 'Invoice App', - subtitle: 'Get latest invoice', - link: '/apps/invoice', - }, - { - id: 4, - img: '/assets/images/svgs/icon-dd-date.svg', - title: 'Calendar App', - subtitle: 'Get Dates', - link: '/apps/calendar', - }, - { - id: 5, - img: '/assets/images/svgs/icon-dd-mobile.svg', - title: 'Contact Application', - subtitle: '2 Unsaved Contacts', - link: '/apps/contacts', - }, - { - id: 6, - img: '/assets/images/svgs/icon-dd-lifebuoy.svg', - title: 'Tickets App', - subtitle: 'Create new ticket', - link: '/apps/tickets', - }, - { - id: 7, - img: '/assets/images/svgs/icon-dd-message-box.svg', - title: 'Email App', - subtitle: 'Get new emails', - link: '/apps/email/inbox', - }, - { - id: 8, - img: '/assets/images/svgs/icon-dd-application.svg', - title: 'Courses', - subtitle: 'Create new course', - link: '/apps/courses', - }, - ]; - - quicklinks: quicklinks[] = [ - { - id: 1, - title: 'Pricing Page', - link: '/theme-pages/pricing', - }, - { - id: 2, - title: 'Authentication Design', - link: '/authentication/login', - }, - { - id: 3, - title: 'Register Now', - link: '/authentication/side-register', - }, - { - id: 4, - title: '404 Error Page', - link: '/authentication/error', - }, - { - id: 5, - title: 'Notes App', - link: '/apps/notes', - }, - { - id: 6, - title: 'Employee App', - link: '/apps/employee', - }, - { - id: 7, - title: 'Todo Application', - link: '/apps/todo', - }, - { - id: 8, - title: 'Treeview', - link: '/theme-pages/treeview', - }, - ]; - - constructor( - private settings: CoreService, - private mediaMatcher: MediaMatcher, - private router: Router, - private breakpointObserver: BreakpointObserver, - private navService: NavService, private cdr: ChangeDetectorRef - ) { - this.htmlElement = document.querySelector('html')!; - this.options = this.settings.getOptions(); - this.layoutChangesSubscription = this.breakpointObserver - .observe([MOBILE_VIEW, TABLET_VIEW, MONITOR_VIEW, BELOWMONITOR]) - .subscribe((state) => { - // SidenavOpened must be reset true when layout changes - this.options.sidenavOpened = true; - this.isMobileScreen = state.breakpoints[BELOWMONITOR]; - if (this.options.sidenavCollapsed == false) { - this.options.sidenavCollapsed = state.breakpoints[TABLET_VIEW]; - } - this.isContentWidthFixed = state.breakpoints[MONITOR_VIEW]; - this.resView = state.breakpoints[BELOWMONITOR]; - }); - - // Initialize project theme with options - this.receiveOptions(this.options); - - // This is for scroll to top - this.router.events - .pipe(filter((event) => event instanceof NavigationEnd)) - .subscribe((e) => { - this.content.scrollTo({ top: 0 }); - }); - } - - isFilterNavOpen = false; - - toggleFilterNav() { - this.isFilterNavOpen = !this.isFilterNavOpen; - console.log('Sidebar open:', this.isFilterNavOpen); - this.cdr.detectChanges(); // Ensures Angular updates the view - } - - ngOnInit(): void {} - - ngOnDestroy() { - this.layoutChangesSubscription.unsubscribe(); - } - - toggleCollapsed() { - this.isContentWidthFixed = false; - this.options.sidenavCollapsed = !this.options.sidenavCollapsed; - this.resetCollapsedState(); - } - - resetCollapsedState(timer = 400) { - setTimeout(() => this.settings.setOptions(this.options), timer); - } - - onSidenavClosedStart() { - this.isContentWidthFixed = false; - } - - onSidenavOpenedChange(isOpened: boolean) { - this.isCollapsedWidthFixed = !this.isOver; - this.options.sidenavOpened = isOpened; - this.settings.setOptions(this.options); - } - - receiveOptions(options: AppSettings): void { - this.toggleDarkTheme(options); - this.toggleColorsTheme(options); - } - - toggleDarkTheme(options: AppSettings) { - if (options.theme === 'dark') { - this.htmlElement.classList.add('dark-theme'); - this.htmlElement.classList.remove('light-theme'); - } else { - this.htmlElement.classList.remove('dark-theme'); - this.htmlElement.classList.add('light-theme'); - } - } - - toggleColorsTheme(options: AppSettings) { - // Remove any existing theme class dynamically - this.htmlElement.classList.forEach((className) => { - if (className.endsWith('_theme')) { - this.htmlElement.classList.remove(className); - } - }); - - // Add the selected theme class - this.htmlElement.classList.add(options.activeTheme); - } -} +import { BreakpointObserver, MediaMatcher } from '@angular/cdk/layout'; +import { ChangeDetectorRef, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; +import { Subscription } from 'rxjs'; +import { MatSidenav, MatSidenavContent } from '@angular/material/sidenav'; +import { CoreService } from '../../services/core.service'; +import { AppSettings } from '../../config'; +import { filter } from 'rxjs/operators'; +import { NavigationEnd, Router } from '@angular/router'; +import { navItems } from './vertical/sidebar/sidebar-data'; +import { NavService } from '../../services/nav.service'; +import { AppNavItemComponent } from './vertical/sidebar/nav-item/nav-item.component'; +import { RouterModule } from '@angular/router'; +import { MaterialModule } from '../../material.module'; +import { CommonModule } from '@angular/common'; +import { SidebarComponent } from './vertical/sidebar/sidebar.component'; +import { NgScrollbarModule } from 'ngx-scrollbar'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import { HeaderComponent } from './vertical/header/header.component'; +import { AppHorizontalHeaderComponent } from './horizontal/header/header.component'; +import { AppHorizontalSidebarComponent } from './horizontal/sidebar/sidebar.component'; +import { AppBreadcrumbComponent } from './shared/breadcrumb/breadcrumb.component'; +import { CustomizerComponent } from './shared/customizer/customizer.component'; + +const MOBILE_VIEW = 'screen and (max-width: 768px)'; +const TABLET_VIEW = 'screen and (min-width: 769px) and (max-width: 1024px)'; +const MONITOR_VIEW = 'screen and (min-width: 1024px)'; +const BELOWMONITOR = 'screen and (max-width: 1023px)'; + +// for mobile app sidebar +interface apps { + id: number; + img: string; + title: string; + subtitle: string; + link: string; +} + +interface quicklinks { + id: number; + title: string; + link: string; +} + +@Component({ + selector: 'app-full', + imports: [ + RouterModule, + AppNavItemComponent, + MaterialModule, + CommonModule, + SidebarComponent, + NgScrollbarModule, + TablerIconsModule, + HeaderComponent, + AppHorizontalHeaderComponent, + AppHorizontalSidebarComponent, + AppBreadcrumbComponent, + CustomizerComponent, + ], + templateUrl: './full.component.html', + + encapsulation: ViewEncapsulation.None +}) +export class FullComponent implements OnInit { + navItems = navItems; + + + + @ViewChild('leftsidenav') + public sidenav: MatSidenav; + resView = false; + @ViewChild('content', { static: true }) content!: MatSidenavContent; + //get options from service + options: AppSettings; + private layoutChangesSubscription = Subscription.EMPTY; + private isMobileScreen = false; + private isContentWidthFixed = true; + private isCollapsedWidthFixed = false; + private htmlElement!: HTMLHtmlElement; + + get isOver(): boolean { + return this.isMobileScreen; + } + + get isTablet(): boolean { + return this.resView; + } + + // for mobile app sidebar + apps: apps[] = [ + { + id: 1, + img: '/assets/images/svgs/icon-dd-chat.svg', + title: 'Chat Application', + subtitle: 'Messages & Emails', + link: '/apps/chat', + }, + { + id: 2, + img: '/assets/images/svgs/icon-dd-cart.svg', + title: 'Todo App', + subtitle: 'Completed task', + link: '/apps/todo', + }, + { + id: 3, + img: '/assets/images/svgs/icon-dd-invoice.svg', + title: 'Invoice App', + subtitle: 'Get latest invoice', + link: '/apps/invoice', + }, + { + id: 4, + img: '/assets/images/svgs/icon-dd-date.svg', + title: 'Calendar App', + subtitle: 'Get Dates', + link: '/apps/calendar', + }, + { + id: 5, + img: '/assets/images/svgs/icon-dd-mobile.svg', + title: 'Contact Application', + subtitle: '2 Unsaved Contacts', + link: '/apps/contacts', + }, + { + id: 6, + img: '/assets/images/svgs/icon-dd-lifebuoy.svg', + title: 'Tickets App', + subtitle: 'Create new ticket', + link: '/apps/tickets', + }, + { + id: 7, + img: '/assets/images/svgs/icon-dd-message-box.svg', + title: 'Email App', + subtitle: 'Get new emails', + link: '/apps/email/inbox', + }, + { + id: 8, + img: '/assets/images/svgs/icon-dd-application.svg', + title: 'Courses', + subtitle: 'Create new course', + link: '/apps/courses', + }, + ]; + + quicklinks: quicklinks[] = [ + { + id: 1, + title: 'Pricing Page', + link: '/theme-pages/pricing', + }, + { + id: 2, + title: 'Authentication Design', + link: '/authentication/login', + }, + { + id: 3, + title: 'Register Now', + link: '/authentication/side-register', + }, + { + id: 4, + title: '404 Error Page', + link: '/authentication/error', + }, + { + id: 5, + title: 'Notes App', + link: '/apps/notes', + }, + { + id: 6, + title: 'Employee App', + link: '/apps/employee', + }, + { + id: 7, + title: 'Todo Application', + link: '/apps/todo', + }, + { + id: 8, + title: 'Treeview', + link: '/theme-pages/treeview', + }, + ]; + + constructor( + private settings: CoreService, + private mediaMatcher: MediaMatcher, + private router: Router, + private breakpointObserver: BreakpointObserver, + private navService: NavService, private cdr: ChangeDetectorRef + ) { + this.htmlElement = document.querySelector('html')!; + this.options = this.settings.getOptions(); + this.layoutChangesSubscription = this.breakpointObserver + .observe([MOBILE_VIEW, TABLET_VIEW, MONITOR_VIEW, BELOWMONITOR]) + .subscribe((state) => { + // SidenavOpened must be reset true when layout changes + this.options.sidenavOpened = true; + this.isMobileScreen = state.breakpoints[BELOWMONITOR]; + if (this.options.sidenavCollapsed == false) { + this.options.sidenavCollapsed = state.breakpoints[TABLET_VIEW]; + } + this.isContentWidthFixed = state.breakpoints[MONITOR_VIEW]; + this.resView = state.breakpoints[BELOWMONITOR]; + }); + + // Initialize project theme with options + this.receiveOptions(this.options); + + // This is for scroll to top + this.router.events + .pipe(filter((event) => event instanceof NavigationEnd)) + .subscribe((e) => { + this.content.scrollTo({ top: 0 }); + }); + } + + isFilterNavOpen = false; + + toggleFilterNav() { + this.isFilterNavOpen = !this.isFilterNavOpen; + console.log('Sidebar open:', this.isFilterNavOpen); + this.cdr.detectChanges(); // Ensures Angular updates the view + } + + ngOnInit(): void {} + + ngOnDestroy() { + this.layoutChangesSubscription.unsubscribe(); + } + + toggleCollapsed() { + this.isContentWidthFixed = false; + this.options.sidenavCollapsed = !this.options.sidenavCollapsed; + this.resetCollapsedState(); + } + + resetCollapsedState(timer = 400) { + setTimeout(() => this.settings.setOptions(this.options), timer); + } + + onSidenavClosedStart() { + this.isContentWidthFixed = false; + } + + onSidenavOpenedChange(isOpened: boolean) { + this.isCollapsedWidthFixed = !this.isOver; + this.options.sidenavOpened = isOpened; + this.settings.setOptions(this.options); + } + + receiveOptions(options: AppSettings): void { + this.toggleDarkTheme(options); + this.toggleColorsTheme(options); + } + + toggleDarkTheme(options: AppSettings) { + if (options.theme === 'dark') { + this.htmlElement.classList.add('dark-theme'); + this.htmlElement.classList.remove('light-theme'); + } else { + this.htmlElement.classList.remove('dark-theme'); + this.htmlElement.classList.add('light-theme'); + } + } + + toggleColorsTheme(options: AppSettings) { + // Remove any existing theme class dynamically + this.htmlElement.classList.forEach((className) => { + if (className.endsWith('_theme')) { + this.htmlElement.classList.remove(className); + } + }); + + // Add the selected theme class + this.htmlElement.classList.add(options.activeTheme); + } +} diff --git a/Web/src/app/layouts/full/horizontal/header/header.component.html b/Web/src/app/layouts/full/horizontal/header/header.component.html index f076a2c..f2a22c9 100755 --- a/Web/src/app/layouts/full/horizontal/header/header.component.html +++ b/Web/src/app/layouts/full/horizontal/header/header.component.html @@ -1,296 +1,296 @@ - -
-
- -
- - - - - - - - - - -
- - - - - -
-
-
-
- @for(appdd of apps; track appdd.title) { - - } -
-
-
- - Frequently Asked Questions - - Check -
-
-
-
-

Quick Links

- @for(quicklink of quicklinks; track quicklink.title) { - - } -
-
-
-
- Chat - Calendar - Email -
- - - - - - - - - - - - @for(lang of languages; track lang.icon) { - - } - - - @if(options.theme=='light'){ - - }@else{ - - } - - - - - - -
-
Notifications
- - 5 new - -
- @for(notification of notifications; track notification.title) { - - } - -
- -
-
- - - - - - -
-
User Profile
- -
- -
-
Mathew Anderson
- Designer - - - info@modernize.com - -
-
-
-
- @for(profile of profiledd; track profile.title) { - -
- - -
-
- {{ profile.title }} -
- {{ profile.subtitle }} -
-
-
- } - - -
-
-
-
- Unlimited
- Access -
- -
-
- upgrade-bg -
-
-
-
- -
- Logout -
-
-
-
+ +
+
+ +
+ + + + + + + + + + +
+ + + + + +
+
+
+
+ @for(appdd of apps; track appdd.title) { + + } +
+
+
+ + Frequently Asked Questions + + Check +
+
+
+
+

Quick Links

+ @for(quicklink of quicklinks; track quicklink.title) { + + } +
+
+
+
+ Chat + Calendar + Email +
+ + + + + + + + + + + + @for(lang of languages; track lang.icon) { + + } + + + @if(options.theme=='light'){ + + }@else{ + + } + + + + + + +
+
Notifications
+ + 5 new + +
+ @for(notification of notifications; track notification.title) { + + } + +
+ +
+
+ + + + + + +
+
User Profile
+ +
+ +
+
Mathew Anderson
+ Designer + + + info@modernize.com + +
+
+
+
+ @for(profile of profiledd; track profile.title) { + +
+ + +
+
+ {{ profile.title }} +
+ {{ profile.subtitle }} +
+
+
+ } + + +
+
+
+
+ Unlimited
+ Access +
+ +
+
+ upgrade-bg +
+
+
+
+ +
+ Logout +
+
+
+
diff --git a/Web/src/app/layouts/full/horizontal/header/header.component.ts b/Web/src/app/layouts/full/horizontal/header/header.component.ts index c0e7339..3617d93 100755 --- a/Web/src/app/layouts/full/horizontal/header/header.component.ts +++ b/Web/src/app/layouts/full/horizontal/header/header.component.ts @@ -1,292 +1,292 @@ -import { Component, Output, EventEmitter, Input } from '@angular/core'; -import { CoreService } from '../../../../services/core.service'; -import { MatDialog } from '@angular/material/dialog'; -import { navItems } from '../../vertical/sidebar/sidebar-data'; -import { TranslateService } from '@ngx-translate/core'; -import { RouterModule } from '@angular/router'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import { MaterialModule } from '../../../../material.module'; -import { BrandingComponent } from '../../vertical/sidebar/branding.component'; -import { FormsModule } from '@angular/forms'; -import { AppSettings } from '../../../../config'; - -interface notifications { - id: number; - img: string; - title: string; - subtitle: string; -} - -interface profiledd { - id: number; - img: string; - title: string; - subtitle: string; - link: string; -} - -interface apps { - id: number; - img: string; - title: string; - subtitle: string; - link: string; -} - -interface quicklinks { - id: number; - title: string; - link: string; -} - -@Component({ - selector: 'app-horizontal-header', - imports: [RouterModule, TablerIconsModule, MaterialModule, BrandingComponent], - templateUrl: './header.component.html' -}) -export class AppHorizontalHeaderComponent { - @Input() showToggle = true; - @Input() toggleChecked = false; - @Output() toggleMobileNav = new EventEmitter(); - @Output() toggleMobileFilterNav = new EventEmitter(); - @Output() toggleCollapsed = new EventEmitter(); - - showFiller = false; - - public selectedLanguage: any = { - language: 'English', - code: 'en', - type: 'US', - icon: '/assets/images/flag/icon-flag-en.svg', - }; - - public languages: any[] = [ - { - language: 'English', - code: 'en', - type: 'US', - icon: '/assets/images/flag/icon-flag-en.svg', - }, - { - language: 'Español', - code: 'es', - icon: '/assets/images/flag/icon-flag-es.svg', - }, - { - language: 'Français', - code: 'fr', - icon: '/assets/images/flag/icon-flag-fr.svg', - }, - { - language: 'German', - code: 'de', - icon: '/assets/images/flag/icon-flag-de.svg', - }, - ]; - - @Output() optionsChange = new EventEmitter(); - - constructor( - private settings: CoreService, - private vsidenav: CoreService, - public dialog: MatDialog, - private translate: TranslateService - ) { - translate.setDefaultLang('en'); - this.options = this.settings.getOptions(); - } - options: AppSettings; - - openDialog() { - const dialogRef = this.dialog.open(AppHorizontalSearchDialogComponent); - - dialogRef.afterClosed().subscribe((result) => { - console.log(`Dialog result: ${result}`); - }); - } - - private emitOptions() { - this.optionsChange.emit(this.options); - } - - setlightDark(theme: string) { - this.options.theme = theme; - this.emitOptions(); - } - - changeLanguage(lang: any): void { - this.translate.use(lang.code); - this.selectedLanguage = lang; - } - - notifications: notifications[] = [ - { - id: 1, - img: '/assets/images/profile/user-1.jpg', - title: 'Roman Joined thes Team!', - subtitle: 'Congratulate him', - }, - { - id: 2, - img: '/assets/images/profile/user-2.jpg', - title: 'New message received', - subtitle: 'Salma sent you new message', - }, - { - id: 3, - img: '/assets/images/profile/user-3.jpg', - title: 'New Payment received', - subtitle: 'Check your earnings', - }, - { - id: 4, - img: '/assets/images/profile/user-4.jpg', - title: 'Jolly completed tasks', - subtitle: 'Assign her new tasks', - }, - { - id: 5, - img: '/assets/images/profile/user-5.jpg', - title: 'Roman Joined the Team!', - subtitle: 'Congratulate him', - }, - ]; - - profiledd: profiledd[] = [ - { - id: 1, - img: '/assets/images/svgs/icon-account.svg', - title: 'My Profile', - subtitle: 'Account Settings', - link: '/', - }, - { - id: 2, - img: '/assets/images/svgs/icon-inbox.svg', - title: 'My Inbox', - subtitle: 'Messages & Email', - link: '/apps/email/inbox', - }, - { - id: 3, - img: '/assets/images/svgs/icon-tasks.svg', - title: 'My Tasks', - subtitle: 'To-do and Daily Tasks', - link: '/apps/taskboard', - }, - ]; - - apps: apps[] = [ - { - id: 1, - img: '/assets/images/svgs/icon-dd-chat.svg', - title: 'Chat Application', - subtitle: 'Messages & Emails', - link: '/apps/chat', - }, - { - id: 2, - img: '/assets/images/svgs/icon-dd-cart.svg', - title: 'eCommerce App', - subtitle: 'Buy a Product', - link: '/apps/email/inbox', - }, - { - id: 3, - img: '/assets/images/svgs/icon-dd-invoice.svg', - title: 'Invoice App', - subtitle: 'Get latest invoice', - link: '/apps/invoice', - }, - { - id: 4, - img: '/assets/images/svgs/icon-dd-date.svg', - title: 'Calendar App', - subtitle: 'Get Dates', - link: '/apps/calendar', - }, - { - id: 5, - img: '/assets/images/svgs/icon-dd-mobile.svg', - title: 'Contact Application', - subtitle: '2 Unsaved Contacts', - link: '/apps/contacts', - }, - { - id: 6, - img: '/assets/images/svgs/icon-dd-lifebuoy.svg', - title: 'Tickets App', - subtitle: 'Create new ticket', - link: '/apps/tickets', - }, - { - id: 7, - img: '/assets/images/svgs/icon-dd-message-box.svg', - title: 'Email App', - subtitle: 'Get new emails', - link: '/apps/email/inbox', - }, - { - id: 8, - img: '/assets/images/svgs/icon-dd-application.svg', - title: 'Courses', - subtitle: 'Create new course', - link: '/apps/courses', - }, - ]; - - quicklinks: quicklinks[] = [ - { - id: 1, - title: 'Pricing Page', - link: '/theme-pages/pricing', - }, - { - id: 2, - title: 'Authentication Design', - link: '/authentication/login', - }, - { - id: 3, - title: 'Register Now', - link: '/authentication/side-register', - }, - { - id: 4, - title: '404 Error Page', - link: '/authentication/error', - }, - { - id: 5, - title: 'Notes App', - link: '/apps/notes', - }, - { - id: 6, - title: 'Employee App', - link: '/apps/employee', - }, - { - id: 7, - title: 'Todo Application', - link: '/apps/todo', - }, - { - id: 8, - title: 'Treeview', - link: '/theme-pages/treeview', - }, - ]; -} - -@Component({ - selector: 'app-search-dialog', - imports: [RouterModule, MaterialModule, TablerIconsModule, FormsModule], - templateUrl: 'search-dialog.component.html' -}) -export class AppHorizontalSearchDialogComponent { - searchText: string = ''; - navItems = navItems; - - navItemsData = navItems.filter((navitem) => navitem.displayName); -} +import { Component, Output, EventEmitter, Input } from '@angular/core'; +import { CoreService } from '../../../../services/core.service'; +import { MatDialog } from '@angular/material/dialog'; +import { navItems } from '../../vertical/sidebar/sidebar-data'; +import { TranslateService } from '@ngx-translate/core'; +import { RouterModule } from '@angular/router'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import { MaterialModule } from '../../../../material.module'; +import { BrandingComponent } from '../../vertical/sidebar/branding.component'; +import { FormsModule } from '@angular/forms'; +import { AppSettings } from '../../../../config'; + +interface notifications { + id: number; + img: string; + title: string; + subtitle: string; +} + +interface profiledd { + id: number; + img: string; + title: string; + subtitle: string; + link: string; +} + +interface apps { + id: number; + img: string; + title: string; + subtitle: string; + link: string; +} + +interface quicklinks { + id: number; + title: string; + link: string; +} + +@Component({ + selector: 'app-horizontal-header', + imports: [RouterModule, TablerIconsModule, MaterialModule, BrandingComponent], + templateUrl: './header.component.html' +}) +export class AppHorizontalHeaderComponent { + @Input() showToggle = true; + @Input() toggleChecked = false; + @Output() toggleMobileNav = new EventEmitter(); + @Output() toggleMobileFilterNav = new EventEmitter(); + @Output() toggleCollapsed = new EventEmitter(); + + showFiller = false; + + public selectedLanguage: any = { + language: 'English', + code: 'en', + type: 'US', + icon: '/assets/images/flag/icon-flag-en.svg', + }; + + public languages: any[] = [ + { + language: 'English', + code: 'en', + type: 'US', + icon: '/assets/images/flag/icon-flag-en.svg', + }, + { + language: 'Español', + code: 'es', + icon: '/assets/images/flag/icon-flag-es.svg', + }, + { + language: 'Français', + code: 'fr', + icon: '/assets/images/flag/icon-flag-fr.svg', + }, + { + language: 'German', + code: 'de', + icon: '/assets/images/flag/icon-flag-de.svg', + }, + ]; + + @Output() optionsChange = new EventEmitter(); + + constructor( + private settings: CoreService, + private vsidenav: CoreService, + public dialog: MatDialog, + private translate: TranslateService + ) { + translate.setDefaultLang('en'); + this.options = this.settings.getOptions(); + } + options: AppSettings; + + openDialog() { + const dialogRef = this.dialog.open(AppHorizontalSearchDialogComponent); + + dialogRef.afterClosed().subscribe((result) => { + console.log(`Dialog result: ${result}`); + }); + } + + private emitOptions() { + this.optionsChange.emit(this.options); + } + + setlightDark(theme: string) { + this.options.theme = theme; + this.emitOptions(); + } + + changeLanguage(lang: any): void { + this.translate.use(lang.code); + this.selectedLanguage = lang; + } + + notifications: notifications[] = [ + { + id: 1, + img: '/assets/images/profile/user-1.jpg', + title: 'Roman Joined thes Team!', + subtitle: 'Congratulate him', + }, + { + id: 2, + img: '/assets/images/profile/user-2.jpg', + title: 'New message received', + subtitle: 'Salma sent you new message', + }, + { + id: 3, + img: '/assets/images/profile/user-3.jpg', + title: 'New Payment received', + subtitle: 'Check your earnings', + }, + { + id: 4, + img: '/assets/images/profile/user-4.jpg', + title: 'Jolly completed tasks', + subtitle: 'Assign her new tasks', + }, + { + id: 5, + img: '/assets/images/profile/user-5.jpg', + title: 'Roman Joined the Team!', + subtitle: 'Congratulate him', + }, + ]; + + profiledd: profiledd[] = [ + { + id: 1, + img: '/assets/images/svgs/icon-account.svg', + title: 'My Profile', + subtitle: 'Account Settings', + link: '/', + }, + { + id: 2, + img: '/assets/images/svgs/icon-inbox.svg', + title: 'My Inbox', + subtitle: 'Messages & Email', + link: '/apps/email/inbox', + }, + { + id: 3, + img: '/assets/images/svgs/icon-tasks.svg', + title: 'My Tasks', + subtitle: 'To-do and Daily Tasks', + link: '/apps/taskboard', + }, + ]; + + apps: apps[] = [ + { + id: 1, + img: '/assets/images/svgs/icon-dd-chat.svg', + title: 'Chat Application', + subtitle: 'Messages & Emails', + link: '/apps/chat', + }, + { + id: 2, + img: '/assets/images/svgs/icon-dd-cart.svg', + title: 'eCommerce App', + subtitle: 'Buy a Product', + link: '/apps/email/inbox', + }, + { + id: 3, + img: '/assets/images/svgs/icon-dd-invoice.svg', + title: 'Invoice App', + subtitle: 'Get latest invoice', + link: '/apps/invoice', + }, + { + id: 4, + img: '/assets/images/svgs/icon-dd-date.svg', + title: 'Calendar App', + subtitle: 'Get Dates', + link: '/apps/calendar', + }, + { + id: 5, + img: '/assets/images/svgs/icon-dd-mobile.svg', + title: 'Contact Application', + subtitle: '2 Unsaved Contacts', + link: '/apps/contacts', + }, + { + id: 6, + img: '/assets/images/svgs/icon-dd-lifebuoy.svg', + title: 'Tickets App', + subtitle: 'Create new ticket', + link: '/apps/tickets', + }, + { + id: 7, + img: '/assets/images/svgs/icon-dd-message-box.svg', + title: 'Email App', + subtitle: 'Get new emails', + link: '/apps/email/inbox', + }, + { + id: 8, + img: '/assets/images/svgs/icon-dd-application.svg', + title: 'Courses', + subtitle: 'Create new course', + link: '/apps/courses', + }, + ]; + + quicklinks: quicklinks[] = [ + { + id: 1, + title: 'Pricing Page', + link: '/theme-pages/pricing', + }, + { + id: 2, + title: 'Authentication Design', + link: '/authentication/login', + }, + { + id: 3, + title: 'Register Now', + link: '/authentication/side-register', + }, + { + id: 4, + title: '404 Error Page', + link: '/authentication/error', + }, + { + id: 5, + title: 'Notes App', + link: '/apps/notes', + }, + { + id: 6, + title: 'Employee App', + link: '/apps/employee', + }, + { + id: 7, + title: 'Todo Application', + link: '/apps/todo', + }, + { + id: 8, + title: 'Treeview', + link: '/theme-pages/treeview', + }, + ]; +} + +@Component({ + selector: 'app-search-dialog', + imports: [RouterModule, MaterialModule, TablerIconsModule, FormsModule], + templateUrl: 'search-dialog.component.html' +}) +export class AppHorizontalSearchDialogComponent { + searchText: string = ''; + navItems = navItems; + + navItemsData = navItems.filter((navitem) => navitem.displayName); +} diff --git a/Web/src/app/layouts/full/horizontal/header/search-dialog.component.html b/Web/src/app/layouts/full/horizontal/header/search-dialog.component.html index 0789724..5b6c3cc 100755 --- a/Web/src/app/layouts/full/horizontal/header/search-dialog.component.html +++ b/Web/src/app/layouts/full/horizontal/header/search-dialog.component.html @@ -1,39 +1,39 @@ -
-
-
- - - -
-
- -
-
-
- - -

Quick Page Links

- - @for(item of navItemsData; track item.route) { - -
- {{ item.displayName }} -
- {{ item.route }} -
- } -
+
+
+
+ + + +
+
+ +
+
+
+ + +

Quick Page Links

+ + @for(item of navItemsData; track item.route) { + +
+ {{ item.displayName }} +
+ {{ item.route }} +
+ } +
diff --git a/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.html b/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.html index f0fe3aa..584b520 100755 --- a/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.html +++ b/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.html @@ -1,24 +1,24 @@ -@if(!item.navCap) { - - - {{ item.displayName }} - @if(item.children && item.children.length) { - - expand_more - - } - -} @if(item.children){ -
- @for(child of item.children; track child) { - - - } -
-} +@if(!item.navCap) { + + + {{ item.displayName }} + @if(item.children && item.children.length) { + + expand_more + + } + +} @if(item.children){ +
+ @for(child of item.children; track child) { + + + } +
+} diff --git a/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.ts b/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.ts index 12ece86..280882d 100755 --- a/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.ts +++ b/Web/src/app/layouts/full/horizontal/sidebar/nav-item/nav-item.component.ts @@ -1,33 +1,33 @@ -import { - Component, - OnInit, - Input, -} from '@angular/core'; -import { Router } from '@angular/router'; -import { NavService } from '../../../../../services/nav.service'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import { CommonModule } from '@angular/common'; -import { MatIconModule } from '@angular/material/icon'; - -@Component({ - selector: 'app-horizontal-nav-item', - imports: [TablerIconsModule, CommonModule, MatIconModule], - templateUrl: './nav-item.component.html' -}) -export class AppHorizontalNavItemComponent implements OnInit { - @Input() depth: any; - @Input() item: any; - - constructor(public navService: NavService, public router: Router) { - if (this.depth === undefined) { - this.depth = 0; - } - } - - ngOnInit() { } - onItemSelected(item: any) { - if (!item.children || !item.children.length) { - this.router.navigate([item.route]); - } - } -} +import { + Component, + OnInit, + Input, +} from '@angular/core'; +import { Router } from '@angular/router'; +import { NavService } from '../../../../../services/nav.service'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import { CommonModule } from '@angular/common'; +import { MatIconModule } from '@angular/material/icon'; + +@Component({ + selector: 'app-horizontal-nav-item', + imports: [TablerIconsModule, CommonModule, MatIconModule], + templateUrl: './nav-item.component.html' +}) +export class AppHorizontalNavItemComponent implements OnInit { + @Input() depth: any; + @Input() item: any; + + constructor(public navService: NavService, public router: Router) { + if (this.depth === undefined) { + this.depth = 0; + } + } + + ngOnInit() { } + onItemSelected(item: any) { + if (!item.children || !item.children.length) { + this.router.navigate([item.route]); + } + } +} diff --git a/Web/src/app/layouts/full/horizontal/sidebar/sidebar-data.ts b/Web/src/app/layouts/full/horizontal/sidebar/sidebar-data.ts index 3bdf202..df78905 100755 --- a/Web/src/app/layouts/full/horizontal/sidebar/sidebar-data.ts +++ b/Web/src/app/layouts/full/horizontal/sidebar/sidebar-data.ts @@ -1,633 +1,633 @@ -import { NavItem } from '../../vertical/sidebar/nav-item/nav-item'; - -export const navItems: NavItem[] = [ - { - navCap: 'Home', - }, - { - displayName: 'Dashboards', - iconName: 'home', - route: 'dashboards', - children: [ - { - displayName: 'Analytical', - iconName: 'point', - route: 'dashboards/dashboard1', - }, - { - displayName: 'eCommerce', - iconName: 'point', - route: 'dashboards/dashboard2', - }, - ], - }, - { - displayName: 'Frontend pages', - iconName: 'app-window', - route: 'front-pages', - children: [ - { - displayName: 'Home Page', - iconName: 'point', - route: 'front-pages/homepage', - } , - { - displayName: 'About Us', - iconName: 'point', - route: 'front-pages/about', - } , - { - displayName: 'Blog', - iconName: 'point', - route: 'front-pages/blog', - } , - { - displayName: 'Blog Details', - iconName: 'point', - route: 'front-pages/blog-details', - } , - { - displayName: 'Portfolio', - iconName: 'point', - route: 'front-pages/portfolio', - }, - { - displayName: 'Pricing', - iconName: 'point', - route: 'front-pages/pricing', - }, - { - displayName: 'Contact', - iconName: 'point', - route: 'front-pages/contact', - } - ] - }, - { - displayName: 'Apps', - iconName: 'apps', - route: 'apps', - ddType: '', - children: [ - { - displayName: 'Chat', - iconName: 'point', - route: 'apps/chat', - }, - { - displayName: 'Calendar', - iconName: 'point', - route: 'apps/calendar', - }, - { - displayName: 'Email', - iconName: 'point', - route: 'apps/email/inbox', - }, - { - displayName: 'Contacts', - iconName: 'point', - route: 'apps/contacts', - }, - { - displayName: 'Contact List', - iconName: 'point', - route: 'apps/contact-list', - }, - { - displayName: 'Courses', - iconName: 'point', - route: 'apps/courses', - }, - { - displayName: 'Employee', - iconName: 'point', - route: 'apps/employee', - }, - { - displayName: 'Notes', - iconName: 'point', - route: 'apps/notes', - }, - { - displayName: 'Tickets', - iconName: 'point', - route: 'apps/tickets', - }, - { - displayName: 'Invoice', - iconName: 'point', - route: 'apps/invoice', - }, - { - displayName: 'ToDo', - iconName: 'point', - route: 'apps/todo', - }, - { - displayName: 'Kanban', - iconName: 'point', - route: 'apps/kanban', - }, - { - displayName: 'Blog', - iconName: 'point', - route: 'apps/blog', - children: [ - { - displayName: 'Post', - iconName: 'point', - route: 'apps/blog/post', - }, - { - displayName: 'Detail', - iconName: 'point', - route: 'apps/blog/detail/Early Black Friday Amazon deals: cheap TVs, headphones, laptops', - }, - ], - }, - { - displayName: 'User Profile', - iconName: 'point', - route: 'apps/profile-details', - children: [ - { - displayName: 'Profile', - iconName: 'point', - route: 'apps/profile-details/profile', - }, - { - displayName: 'Followers', - iconName: 'point', - route: 'apps/profile-details/followers', - }, - { - displayName: 'Friends', - iconName: 'point', - route: 'apps/profile-details/friends', - }, - { - displayName: 'Gellary', - iconName: 'point', - route: 'apps/profile-details/gallery', - }, - ], - }, - { - displayName: 'Ecommerce', - iconName: 'point', - route: 'apps/product', - children: [ - { - displayName: 'Product List', - iconName: 'point', - route: 'apps/product/product-list', - }, - { - displayName: 'Add Product', - iconName: 'point', - route: 'apps/product/add-product', - }, - { - displayName: 'Edit Product', - iconName: 'point', - route: 'apps/product/edit-product', - }, - { - displayName: 'Shop', - iconName: 'point', - route: 'apps/product/shop', - }, - ], - }, - ], - }, - { - displayName: 'Ui', - iconName: 'components', - route: 'ui-components', - ddType: '', - children: [ - { - displayName: 'Badge', - iconName: 'point', - route: 'ui-components/badge', - }, - { - displayName: 'Expansion Panel', - iconName: 'point', - route: 'ui-components/expansion', - }, - { - displayName: 'Chips', - iconName: 'point', - route: 'ui-components/chips', - }, - { - displayName: 'Dialog', - iconName: 'point', - route: 'ui-components/dialog', - }, - { - displayName: 'Lists', - iconName: 'point', - route: 'ui-components/lists', - }, - { - displayName: 'Divider', - iconName: 'point', - route: 'ui-components/divider', - }, - { - displayName: 'Menu', - iconName: 'point', - route: 'ui-components/menu', - }, - { - displayName: 'Paginator', - iconName: 'point', - route: 'ui-components/paginator', - }, - { - displayName: 'Progress Bar', - iconName: 'point', - route: 'ui-components/progress', - }, - { - displayName: 'Progress Spinner', - iconName: 'point', - route: 'ui-components/progress-spinner', - }, - { - displayName: 'Ripples', - iconName: 'point', - route: 'ui-components/ripples', - }, - { - displayName: 'Slide Toggle', - iconName: 'point', - route: 'ui-components/slide-toggle', - }, - { - displayName: 'Slider', - iconName: 'point', - route: 'ui-components/slider', - }, - { - displayName: 'Snackbar', - iconName: 'point', - route: 'ui-components/snackbar', - }, - { - displayName: 'Tabs', - iconName: 'point', - route: 'ui-components/tabs', - }, - { - displayName: 'Toolbar', - iconName: 'point', - route: 'ui-components/toolbar', - }, - { - displayName: 'Tooltips', - iconName: 'point', - route: 'ui-components/tooltips', - }, - ], - }, - { - displayName: 'Pages', - iconName: 'clipboard', - route: 'theme-pages', - ddType: '', - children: [ - { - displayName: 'Treeview', - iconName: 'point', - route: 'theme-pages/treeview', - }, - { - displayName: 'Pricing', - iconName: 'point', - route: 'theme-pages/pricing', - }, - { - displayName: 'Account Setting', - iconName: 'point', - route: 'theme-pages/account-setting', - }, - { - displayName: 'FAQ', - iconName: 'point', - route: 'theme-pages/faq', - }, - { - displayName: 'Landingpage', - iconName: 'point', - route: 'landingpage', - }, - { - displayName: 'Widgets', - iconName: 'point', - route: 'widgets', - children: [ - { - displayName: 'Cards', - iconName: 'point', - route: 'widgets/cards', - }, - { - displayName: 'Banners', - iconName: 'point', - route: 'widgets/banners', - }, - { - displayName: 'Charts', - iconName: 'point', - route: 'widgets/charts', - }, - ], - }, - { - displayName: 'Charts', - iconName: 'point', - route: 'charts', - children: [ - { - displayName: 'Line', - iconName: 'point', - route: '/charts/line', - }, - { - displayName: 'Gredient', - iconName: 'point', - route: '/charts/gredient', - }, - { - displayName: 'Area', - iconName: 'point', - route: '/charts/area', - }, - { - displayName: 'Candlestick', - iconName: 'point', - route: '/charts/candlestick', - }, - { - displayName: 'Column', - iconName: 'point', - route: '/charts/column', - }, - { - displayName: 'Doughnut & Pie', - iconName: 'point', - route: '/charts/doughnut-pie', - }, - { - displayName: 'Radialbar & Radar', - iconName: 'point', - route: '/charts/radial-radar', - }, - ], - }, - { - displayName: 'Auth', - iconName: 'point', - route: '/', - children: [ - { - displayName: 'Login', - iconName: 'point', - route: '/authentication', - children: [ - { - displayName: 'Login 1', - iconName: 'point', - route: '/authentication/login', - }, - { - displayName: 'Boxed Login', - iconName: 'point', - route: '/authentication/boxed-login', - }, - ], - }, - { - displayName: 'Register', - iconName: 'point', - route: '/authentication', - children: [ - { - displayName: 'Login 1', - iconName: 'point', - route: '/authentication/side-register', - }, - { - displayName: 'Boxed Login', - iconName: 'point', - route: '/authentication/boxed-register', - }, - ], - }, - { - displayName: 'Forgot Password', - iconName: 'point', - route: '/authentication', - children: [ - { - displayName: 'Side Forgot Password', - iconName: 'point', - route: '/authentication/side-forgot-pwd', - }, - { - displayName: 'Boxed Forgot Password', - iconName: 'point', - route: '/authentication/boxed-forgot-pwd', - }, - ], - }, - { - displayName: 'Two Steps', - iconName: 'point', - route: '/authentication', - children: [ - { - displayName: 'Side Two Steps', - iconName: 'point', - route: '/authentication/side-two-steps', - }, - { - displayName: 'Boxed Two Steps', - iconName: 'point', - route: '/authentication/boxed-two-steps', - }, - ], - }, - { - displayName: 'Error', - iconName: 'point', - route: '/authentication/error', - }, - { - displayName: 'Maintenance', - iconName: 'point', - route: '/authentication/maintenance', - }, - ], - }, - ], - }, - { - displayName: 'Forms', - iconName: 'file-description', - route: 'forms', - ddType: '', - children: [ - { - displayName: 'Form elements', - iconName: 'point', - route: 'forms/forms-elements', - children: [ - { - displayName: 'Autocomplete', - iconName: 'point', - route: 'forms/forms-elements/autocomplete', - }, - { - displayName: 'Button', - iconName: 'point', - route: 'forms/forms-elements/button', - }, - { - displayName: 'Checkbox', - iconName: 'point', - route: 'forms/forms-elements/checkbox', - }, - { - displayName: 'Radio', - iconName: 'point', - route: 'forms/forms-elements/radio', - }, - { - displayName: 'Datepicker', - iconName: 'point', - route: 'forms/forms-elements/datepicker', - }, - ], - }, - { - displayName: 'Form Layouts', - iconName: 'point', - route: '/forms/form-layouts', - }, - { - displayName: 'Form Horizontal', - iconName: 'point', - route: '/forms/form-horizontal', - }, - { - displayName: 'Form Vertical', - iconName: 'point', - route: '/forms/form-vertical', - }, - { - displayName: 'Form Wizard', - iconName: 'point', - route: '/forms/form-wizard', - }, - { - displayName: 'Toastr', - iconName: 'point', - route: '/forms/form-toastr', - }, - { - displayName: 'Editor', - iconName: 'point', - route: '/forms/form-editor', - }, - ], - }, - { - displayName: 'Tables', - iconName: 'layout', - route: 'tables', - ddType: '', - children: [ - { - displayName: 'Basic Table', - iconName: 'point', - route: 'tables/basic-table', - }, - { - displayName: 'Dynamic Table', - iconName: 'point', - route: 'tables/dynamic-table', - }, - { - displayName: 'Expand Table', - iconName: 'point', - route: 'tables/expand-table', - }, - { - displayName: 'Filterable Table', - iconName: 'point', - route: 'tables/filterable-table', - }, - { - displayName: 'Footer Row Table', - iconName: 'point', - route: 'tables/footer-row-table', - }, - { - displayName: 'HTTP Table', - iconName: 'point', - route: 'tables/http-table', - }, - { - displayName: 'Mix Table', - iconName: 'point', - route: 'tables/mix-table', - }, - { - displayName: 'Multi Header Footer', - iconName: 'point', - route: 'tables/multi-header-footer-table', - }, - { - displayName: 'Pagination Table', - iconName: 'point', - route: 'tables/pagination-table', - }, - { - displayName: 'Row Context Table', - iconName: 'point', - route: 'tables/row-context-table', - }, - { - displayName: 'Selection Table', - iconName: 'point', - route: 'tables/selection-table', - }, - { - displayName: 'Sortable Table', - iconName: 'point', - route: 'tables/sortable-table', - }, - { - displayName: 'Sticky Column', - iconName: 'point', - route: 'tables/sticky-column-table', - }, - { - displayName: 'Sticky Header Footer', - iconName: 'point', - route: 'tables/sticky-header-footer-table', - }, - { - displayName: 'Data table', - iconName: 'point', - route: '/datatable/kichen-sink', - }, - ], - }, -]; +import { NavItem } from '../../vertical/sidebar/nav-item/nav-item'; + +export const navItems: NavItem[] = [ + { + navCap: 'Home', + }, + { + displayName: 'Dashboards', + iconName: 'home', + route: 'dashboards', + children: [ + { + displayName: 'Analytical', + iconName: 'point', + route: 'dashboards/dashboard1', + }, + { + displayName: 'eCommerce', + iconName: 'point', + route: 'dashboards/dashboard2', + }, + ], + }, + { + displayName: 'Frontend pages', + iconName: 'app-window', + route: 'front-pages', + children: [ + { + displayName: 'Home Page', + iconName: 'point', + route: 'front-pages/homepage', + } , + { + displayName: 'About Us', + iconName: 'point', + route: 'front-pages/about', + } , + { + displayName: 'Blog', + iconName: 'point', + route: 'front-pages/blog', + } , + { + displayName: 'Blog Details', + iconName: 'point', + route: 'front-pages/blog-details', + } , + { + displayName: 'Portfolio', + iconName: 'point', + route: 'front-pages/portfolio', + }, + { + displayName: 'Pricing', + iconName: 'point', + route: 'front-pages/pricing', + }, + { + displayName: 'Contact', + iconName: 'point', + route: 'front-pages/contact', + } + ] + }, + { + displayName: 'Apps', + iconName: 'apps', + route: 'apps', + ddType: '', + children: [ + { + displayName: 'Chat', + iconName: 'point', + route: 'apps/chat', + }, + { + displayName: 'Calendar', + iconName: 'point', + route: 'apps/calendar', + }, + { + displayName: 'Email', + iconName: 'point', + route: 'apps/email/inbox', + }, + { + displayName: 'Contacts', + iconName: 'point', + route: 'apps/contacts', + }, + { + displayName: 'Contact List', + iconName: 'point', + route: 'apps/contact-list', + }, + { + displayName: 'Courses', + iconName: 'point', + route: 'apps/courses', + }, + { + displayName: 'Employee', + iconName: 'point', + route: 'apps/employee', + }, + { + displayName: 'Notes', + iconName: 'point', + route: 'apps/notes', + }, + { + displayName: 'Tickets', + iconName: 'point', + route: 'apps/tickets', + }, + { + displayName: 'Invoice', + iconName: 'point', + route: 'apps/invoice', + }, + { + displayName: 'ToDo', + iconName: 'point', + route: 'apps/todo', + }, + { + displayName: 'Kanban', + iconName: 'point', + route: 'apps/kanban', + }, + { + displayName: 'Blog', + iconName: 'point', + route: 'apps/blog', + children: [ + { + displayName: 'Post', + iconName: 'point', + route: 'apps/blog/post', + }, + { + displayName: 'Detail', + iconName: 'point', + route: 'apps/blog/detail/Early Black Friday Amazon deals: cheap TVs, headphones, laptops', + }, + ], + }, + { + displayName: 'User Profile', + iconName: 'point', + route: 'apps/profile-details', + children: [ + { + displayName: 'Profile', + iconName: 'point', + route: 'apps/profile-details/profile', + }, + { + displayName: 'Followers', + iconName: 'point', + route: 'apps/profile-details/followers', + }, + { + displayName: 'Friends', + iconName: 'point', + route: 'apps/profile-details/friends', + }, + { + displayName: 'Gellary', + iconName: 'point', + route: 'apps/profile-details/gallery', + }, + ], + }, + { + displayName: 'Ecommerce', + iconName: 'point', + route: 'apps/product', + children: [ + { + displayName: 'Product List', + iconName: 'point', + route: 'apps/product/product-list', + }, + { + displayName: 'Add Product', + iconName: 'point', + route: 'apps/product/add-product', + }, + { + displayName: 'Edit Product', + iconName: 'point', + route: 'apps/product/edit-product', + }, + { + displayName: 'Shop', + iconName: 'point', + route: 'apps/product/shop', + }, + ], + }, + ], + }, + { + displayName: 'Ui', + iconName: 'components', + route: 'ui-components', + ddType: '', + children: [ + { + displayName: 'Badge', + iconName: 'point', + route: 'ui-components/badge', + }, + { + displayName: 'Expansion Panel', + iconName: 'point', + route: 'ui-components/expansion', + }, + { + displayName: 'Chips', + iconName: 'point', + route: 'ui-components/chips', + }, + { + displayName: 'Dialog', + iconName: 'point', + route: 'ui-components/dialog', + }, + { + displayName: 'Lists', + iconName: 'point', + route: 'ui-components/lists', + }, + { + displayName: 'Divider', + iconName: 'point', + route: 'ui-components/divider', + }, + { + displayName: 'Menu', + iconName: 'point', + route: 'ui-components/menu', + }, + { + displayName: 'Paginator', + iconName: 'point', + route: 'ui-components/paginator', + }, + { + displayName: 'Progress Bar', + iconName: 'point', + route: 'ui-components/progress', + }, + { + displayName: 'Progress Spinner', + iconName: 'point', + route: 'ui-components/progress-spinner', + }, + { + displayName: 'Ripples', + iconName: 'point', + route: 'ui-components/ripples', + }, + { + displayName: 'Slide Toggle', + iconName: 'point', + route: 'ui-components/slide-toggle', + }, + { + displayName: 'Slider', + iconName: 'point', + route: 'ui-components/slider', + }, + { + displayName: 'Snackbar', + iconName: 'point', + route: 'ui-components/snackbar', + }, + { + displayName: 'Tabs', + iconName: 'point', + route: 'ui-components/tabs', + }, + { + displayName: 'Toolbar', + iconName: 'point', + route: 'ui-components/toolbar', + }, + { + displayName: 'Tooltips', + iconName: 'point', + route: 'ui-components/tooltips', + }, + ], + }, + { + displayName: 'Pages', + iconName: 'clipboard', + route: 'theme-pages', + ddType: '', + children: [ + { + displayName: 'Treeview', + iconName: 'point', + route: 'theme-pages/treeview', + }, + { + displayName: 'Pricing', + iconName: 'point', + route: 'theme-pages/pricing', + }, + { + displayName: 'Account Setting', + iconName: 'point', + route: 'theme-pages/account-setting', + }, + { + displayName: 'FAQ', + iconName: 'point', + route: 'theme-pages/faq', + }, + { + displayName: 'Landingpage', + iconName: 'point', + route: 'landingpage', + }, + { + displayName: 'Widgets', + iconName: 'point', + route: 'widgets', + children: [ + { + displayName: 'Cards', + iconName: 'point', + route: 'widgets/cards', + }, + { + displayName: 'Banners', + iconName: 'point', + route: 'widgets/banners', + }, + { + displayName: 'Charts', + iconName: 'point', + route: 'widgets/charts', + }, + ], + }, + { + displayName: 'Charts', + iconName: 'point', + route: 'charts', + children: [ + { + displayName: 'Line', + iconName: 'point', + route: '/charts/line', + }, + { + displayName: 'Gredient', + iconName: 'point', + route: '/charts/gredient', + }, + { + displayName: 'Area', + iconName: 'point', + route: '/charts/area', + }, + { + displayName: 'Candlestick', + iconName: 'point', + route: '/charts/candlestick', + }, + { + displayName: 'Column', + iconName: 'point', + route: '/charts/column', + }, + { + displayName: 'Doughnut & Pie', + iconName: 'point', + route: '/charts/doughnut-pie', + }, + { + displayName: 'Radialbar & Radar', + iconName: 'point', + route: '/charts/radial-radar', + }, + ], + }, + { + displayName: 'Auth', + iconName: 'point', + route: '/', + children: [ + { + displayName: 'Login', + iconName: 'point', + route: '/authentication', + children: [ + { + displayName: 'Login 1', + iconName: 'point', + route: '/authentication/login', + }, + { + displayName: 'Boxed Login', + iconName: 'point', + route: '/authentication/boxed-login', + }, + ], + }, + { + displayName: 'Register', + iconName: 'point', + route: '/authentication', + children: [ + { + displayName: 'Login 1', + iconName: 'point', + route: '/authentication/side-register', + }, + { + displayName: 'Boxed Login', + iconName: 'point', + route: '/authentication/boxed-register', + }, + ], + }, + { + displayName: 'Forgot Password', + iconName: 'point', + route: '/authentication', + children: [ + { + displayName: 'Side Forgot Password', + iconName: 'point', + route: '/authentication/side-forgot-pwd', + }, + { + displayName: 'Boxed Forgot Password', + iconName: 'point', + route: '/authentication/boxed-forgot-pwd', + }, + ], + }, + { + displayName: 'Two Steps', + iconName: 'point', + route: '/authentication', + children: [ + { + displayName: 'Side Two Steps', + iconName: 'point', + route: '/authentication/side-two-steps', + }, + { + displayName: 'Boxed Two Steps', + iconName: 'point', + route: '/authentication/boxed-two-steps', + }, + ], + }, + { + displayName: 'Error', + iconName: 'point', + route: '/authentication/error', + }, + { + displayName: 'Maintenance', + iconName: 'point', + route: '/authentication/maintenance', + }, + ], + }, + ], + }, + { + displayName: 'Forms', + iconName: 'file-description', + route: 'forms', + ddType: '', + children: [ + { + displayName: 'Form elements', + iconName: 'point', + route: 'forms/forms-elements', + children: [ + { + displayName: 'Autocomplete', + iconName: 'point', + route: 'forms/forms-elements/autocomplete', + }, + { + displayName: 'Button', + iconName: 'point', + route: 'forms/forms-elements/button', + }, + { + displayName: 'Checkbox', + iconName: 'point', + route: 'forms/forms-elements/checkbox', + }, + { + displayName: 'Radio', + iconName: 'point', + route: 'forms/forms-elements/radio', + }, + { + displayName: 'Datepicker', + iconName: 'point', + route: 'forms/forms-elements/datepicker', + }, + ], + }, + { + displayName: 'Form Layouts', + iconName: 'point', + route: '/forms/form-layouts', + }, + { + displayName: 'Form Horizontal', + iconName: 'point', + route: '/forms/form-horizontal', + }, + { + displayName: 'Form Vertical', + iconName: 'point', + route: '/forms/form-vertical', + }, + { + displayName: 'Form Wizard', + iconName: 'point', + route: '/forms/form-wizard', + }, + { + displayName: 'Toastr', + iconName: 'point', + route: '/forms/form-toastr', + }, + { + displayName: 'Editor', + iconName: 'point', + route: '/forms/form-editor', + }, + ], + }, + { + displayName: 'Tables', + iconName: 'layout', + route: 'tables', + ddType: '', + children: [ + { + displayName: 'Basic Table', + iconName: 'point', + route: 'tables/basic-table', + }, + { + displayName: 'Dynamic Table', + iconName: 'point', + route: 'tables/dynamic-table', + }, + { + displayName: 'Expand Table', + iconName: 'point', + route: 'tables/expand-table', + }, + { + displayName: 'Filterable Table', + iconName: 'point', + route: 'tables/filterable-table', + }, + { + displayName: 'Footer Row Table', + iconName: 'point', + route: 'tables/footer-row-table', + }, + { + displayName: 'HTTP Table', + iconName: 'point', + route: 'tables/http-table', + }, + { + displayName: 'Mix Table', + iconName: 'point', + route: 'tables/mix-table', + }, + { + displayName: 'Multi Header Footer', + iconName: 'point', + route: 'tables/multi-header-footer-table', + }, + { + displayName: 'Pagination Table', + iconName: 'point', + route: 'tables/pagination-table', + }, + { + displayName: 'Row Context Table', + iconName: 'point', + route: 'tables/row-context-table', + }, + { + displayName: 'Selection Table', + iconName: 'point', + route: 'tables/selection-table', + }, + { + displayName: 'Sortable Table', + iconName: 'point', + route: 'tables/sortable-table', + }, + { + displayName: 'Sticky Column', + iconName: 'point', + route: 'tables/sticky-column-table', + }, + { + displayName: 'Sticky Header Footer', + iconName: 'point', + route: 'tables/sticky-header-footer-table', + }, + { + displayName: 'Data table', + iconName: 'point', + route: '/datatable/kichen-sink', + }, + ], + }, +]; diff --git a/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.html b/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.html index 153f529..725408b 100755 --- a/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.html +++ b/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.html @@ -1,16 +1,16 @@ -@if(mobileQuery.matches) { -
-
-
-
- @for(item of navItems; track item) { - - - } -
-
-
-
+@if(mobileQuery.matches) { +
+
+
+
+ @for(item of navItems; track item) { + + + } +
+
+
+
} \ No newline at end of file diff --git a/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.ts b/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.ts index f0e13f5..b91ec1b 100755 --- a/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.ts +++ b/Web/src/app/layouts/full/horizontal/sidebar/sidebar.component.ts @@ -1,48 +1,48 @@ -import { - Component, - OnInit, - Input, - ChangeDetectorRef, - OnChanges, -} from '@angular/core'; -import { navItems } from './sidebar-data'; -import { Router } from '@angular/router'; -import { NavService } from '../../../../services/nav.service'; -import { MediaMatcher } from '@angular/cdk/layout'; -import { AppHorizontalNavItemComponent } from './nav-item/nav-item.component'; -import { CommonModule } from '@angular/common'; - -@Component({ - selector: 'app-horizontal-sidebar', - imports: [AppHorizontalNavItemComponent, CommonModule], - templateUrl: './sidebar.component.html', -}) -export class AppHorizontalSidebarComponent implements OnInit { - navItems = navItems; - parentActive = ''; - - mobileQuery: MediaQueryList; - private _mobileQueryListener: () => void; - - constructor( - public navService: NavService, - public router: Router, - media: MediaMatcher, - changeDetectorRef: ChangeDetectorRef - ) { - this.mobileQuery = media.matchMedia('(min-width: 1100px)'); - this._mobileQueryListener = () => changeDetectorRef.detectChanges(); - this.mobileQuery.addListener(this._mobileQueryListener); - this.router.events.subscribe( - () => (this.parentActive = this.router.url.split('/')[1]) - ); - } - - ngOnInit(): void { - this.parentActive = this.router.url.split('/')[1]; - - this.router.events.subscribe(() => { - this.parentActive = this.router.url.split('/')[1]; - }); - } -} +import { + Component, + OnInit, + Input, + ChangeDetectorRef, + OnChanges, +} from '@angular/core'; +import { navItems } from './sidebar-data'; +import { Router } from '@angular/router'; +import { NavService } from '../../../../services/nav.service'; +import { MediaMatcher } from '@angular/cdk/layout'; +import { AppHorizontalNavItemComponent } from './nav-item/nav-item.component'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-horizontal-sidebar', + imports: [AppHorizontalNavItemComponent, CommonModule], + templateUrl: './sidebar.component.html', +}) +export class AppHorizontalSidebarComponent implements OnInit { + navItems = navItems; + parentActive = ''; + + mobileQuery: MediaQueryList; + private _mobileQueryListener: () => void; + + constructor( + public navService: NavService, + public router: Router, + media: MediaMatcher, + changeDetectorRef: ChangeDetectorRef + ) { + this.mobileQuery = media.matchMedia('(min-width: 1100px)'); + this._mobileQueryListener = () => changeDetectorRef.detectChanges(); + this.mobileQuery.addListener(this._mobileQueryListener); + this.router.events.subscribe( + () => (this.parentActive = this.router.url.split('/')[1]) + ); + } + + ngOnInit(): void { + this.parentActive = this.router.url.split('/')[1]; + + this.router.events.subscribe(() => { + this.parentActive = this.router.url.split('/')[1]; + }); + } +} diff --git a/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.html b/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.html index 439a6f6..b111710 100755 --- a/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.html +++ b/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.html @@ -1,36 +1,36 @@ -@if(pageInfo?.['title'] != 'Analytical' && pageInfo?.['title'] != 'eCommerce'){ -
-
-
-

- {{ pageInfo?.['title'] }} -

-
- -
-
-
- -
-
-
-} +@if(pageInfo?.['title'] != 'Analytical' && pageInfo?.['title'] != 'eCommerce'){ +
+
+
+

+ {{ pageInfo?.['title'] }} +

+
+ +
+
+
+ +
+
+
+} diff --git a/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.ts b/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.ts index 0215256..efd8fc4 100755 --- a/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.ts +++ b/Web/src/app/layouts/full/shared/breadcrumb/breadcrumb.component.ts @@ -1,44 +1,44 @@ -import { Component, OnInit } from '@angular/core'; -import { Title } from '@angular/platform-browser'; -import { RouterModule } from '@angular/router'; -import { Router, NavigationEnd, ActivatedRoute, Data } from '@angular/router'; -import { filter, map, mergeMap } from 'rxjs/operators'; -import { TablerIconsModule } from 'angular-tabler-icons'; - -@Component({ - selector: 'app-breadcrumb', - imports: [RouterModule, TablerIconsModule], - templateUrl: './breadcrumb.component.html', - styleUrls: [] -}) -export class AppBreadcrumbComponent { - // @Input() layout; - pageInfo: Data | any = Object.create(null); - myurl: any; - constructor( - private router: Router, - private activatedRoute: ActivatedRoute, - private titleService: Title - ) { - this.myurl = this.router.url.slice(1).split('/'); - this.router.events - .pipe(filter((event) => event instanceof NavigationEnd)) - .pipe(map(() => this.activatedRoute)) - .pipe( - map((route) => { - while (route.firstChild) { - route = route.firstChild; - } - return route; - }) - ) - .pipe(filter((route) => route.outlet === 'primary')) - .pipe(mergeMap((route) => route.data)) - // tslint:disable-next-line - Disables all - .subscribe((event) => { - // tslint:disable-next-line - Disables all - this.titleService.setTitle(event['title'] + ' - Angular 20'); - this.pageInfo = event; - }); - } -} +import { Component, OnInit } from '@angular/core'; +import { Title } from '@angular/platform-browser'; +import { RouterModule } from '@angular/router'; +import { Router, NavigationEnd, ActivatedRoute, Data } from '@angular/router'; +import { filter, map, mergeMap } from 'rxjs/operators'; +import { TablerIconsModule } from 'angular-tabler-icons'; + +@Component({ + selector: 'app-breadcrumb', + imports: [RouterModule, TablerIconsModule], + templateUrl: './breadcrumb.component.html', + styleUrls: [] +}) +export class AppBreadcrumbComponent { + // @Input() layout; + pageInfo: Data | any = Object.create(null); + myurl: any; + constructor( + private router: Router, + private activatedRoute: ActivatedRoute, + private titleService: Title + ) { + this.myurl = this.router.url.slice(1).split('/'); + this.router.events + .pipe(filter((event) => event instanceof NavigationEnd)) + .pipe(map(() => this.activatedRoute)) + .pipe( + map((route) => { + while (route.firstChild) { + route = route.firstChild; + } + return route; + }) + ) + .pipe(filter((route) => route.outlet === 'primary')) + .pipe(mergeMap((route) => route.data)) + // tslint:disable-next-line - Disables all + .subscribe((event) => { + // tslint:disable-next-line - Disables all + this.titleService.setTitle(event['title'] + ' - Angular 20'); + this.pageInfo = event; + }); + } +} diff --git a/Web/src/app/layouts/full/shared/customizer/customizer.component.html b/Web/src/app/layouts/full/shared/customizer/customizer.component.html index f0e2d87..85d09d5 100755 --- a/Web/src/app/layouts/full/shared/customizer/customizer.component.html +++ b/Web/src/app/layouts/full/shared/customizer/customizer.component.html @@ -1,173 +1,173 @@ -
- -
-
Theme Option
- - -
- - Light -
-
- -
- - Dark -
-
-
- -
-
- Theme Colors -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- Theme Direction -
- - - -
- - LTR -
-
- -
- - RTL -
-
-
- - @if(!options.horizontal){ -
-
- Sidebar type -
- - - -
- - Full -
-
- -
- - Minisidebar -
-
-
-
- } -
- Layout type -
- - - -
- - Vertical -
-
- -
- - Horizontal -
-
-
- -
- Card with -
- - - -
- - Shadow -
-
- -
- - Border -
-
-
- -
- Container Option -
- - - -
- - Full -
-
- -
- - Boxed -
-
-
-
-
+
+ +
+
Theme Option
+ + +
+ + Light +
+
+ +
+ + Dark +
+
+
+ +
+
+ Theme Colors +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ Theme Direction +
+ + + +
+ + LTR +
+
+ +
+ + RTL +
+
+
+ + @if(!options.horizontal){ +
+
+ Sidebar type +
+ + + +
+ + Full +
+
+ +
+ + Minisidebar +
+
+
+
+ } +
+ Layout type +
+ + + +
+ + Vertical +
+
+ +
+ + Horizontal +
+
+
+ +
+ Card with +
+ + + +
+ + Shadow +
+
+ +
+ + Border +
+
+
+ +
+ Container Option +
+ + + +
+ + Full +
+
+ +
+ + Boxed +
+
+
+
+
\ No newline at end of file diff --git a/Web/src/app/layouts/full/shared/customizer/customizer.component.scss b/Web/src/app/layouts/full/shared/customizer/customizer.component.scss index 0531d09..ca97aac 100755 --- a/Web/src/app/layouts/full/shared/customizer/customizer.component.scss +++ b/Web/src/app/layouts/full/shared/customizer/customizer.component.scss @@ -1,4 +1,4 @@ -.customizerNav { - width: 320px; -} - +.customizerNav { + width: 320px; +} + diff --git a/Web/src/app/layouts/full/shared/customizer/customizer.component.ts b/Web/src/app/layouts/full/shared/customizer/customizer.component.ts index 7e253e5..364d163 100755 --- a/Web/src/app/layouts/full/shared/customizer/customizer.component.ts +++ b/Web/src/app/layouts/full/shared/customizer/customizer.component.ts @@ -1,61 +1,61 @@ -import { - Component, - Output, - EventEmitter, - ViewEncapsulation, - signal, -} from '@angular/core'; -import { AppSettings } from '../../../../config'; -import { CoreService } from '../../../../services/core.service'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import { MaterialModule } from '../../../../material.module'; -import { FormsModule } from '@angular/forms'; -import { NgScrollbarModule } from 'ngx-scrollbar'; - -@Component({ - selector: 'app-customizer', - imports: [ - TablerIconsModule, - MaterialModule, - FormsModule, - NgScrollbarModule, - ], - templateUrl: './customizer.component.html', - styleUrls: ['./customizer.component.scss'], - encapsulation: ViewEncapsulation.None -}) -export class CustomizerComponent { - - options: AppSettings; - - @Output() optionsChange = new EventEmitter(); - hideSingleSelectionIndicator = signal(true); - - constructor(private settings: CoreService) { - this.options = this.settings.getOptions(); - } - setDark() { - this.settings.setOptions({ theme: 'dark' }); - this.emitOptions(); - } - - setColor(color: string) { - this.settings.setOptions({ activeTheme: color }); - this.emitOptions(); - } - - setDir(dir: 'ltr' | 'rtl') { - this.settings.setOptions({ dir: dir }); - this.emitOptions(); - } - - setSidebar(sidenavOpened: boolean) { - this.settings.setOptions({ sidenavOpened: sidenavOpened }); - this.emitOptions(); - } - - private emitOptions() { - this.optionsChange.emit(this.options); - } -} - +import { + Component, + Output, + EventEmitter, + ViewEncapsulation, + signal, +} from '@angular/core'; +import { AppSettings } from '../../../../config'; +import { CoreService } from '../../../../services/core.service'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import { MaterialModule } from '../../../../material.module'; +import { FormsModule } from '@angular/forms'; +import { NgScrollbarModule } from 'ngx-scrollbar'; + +@Component({ + selector: 'app-customizer', + imports: [ + TablerIconsModule, + MaterialModule, + FormsModule, + NgScrollbarModule, + ], + templateUrl: './customizer.component.html', + styleUrls: ['./customizer.component.scss'], + encapsulation: ViewEncapsulation.None +}) +export class CustomizerComponent { + + options: AppSettings; + + @Output() optionsChange = new EventEmitter(); + hideSingleSelectionIndicator = signal(true); + + constructor(private settings: CoreService) { + this.options = this.settings.getOptions(); + } + setDark() { + this.settings.setOptions({ theme: 'dark' }); + this.emitOptions(); + } + + setColor(color: string) { + this.settings.setOptions({ activeTheme: color }); + this.emitOptions(); + } + + setDir(dir: 'ltr' | 'rtl') { + this.settings.setOptions({ dir: dir }); + this.emitOptions(); + } + + setSidebar(sidenavOpened: boolean) { + this.settings.setOptions({ sidenavOpened: sidenavOpened }); + this.emitOptions(); + } + + private emitOptions() { + this.optionsChange.emit(this.options); + } +} + diff --git a/Web/src/app/layouts/full/vertical/header/header.component.html b/Web/src/app/layouts/full/vertical/header/header.component.html index 3949a30..35d1004 100755 --- a/Web/src/app/layouts/full/vertical/header/header.component.html +++ b/Web/src/app/layouts/full/vertical/header/header.component.html @@ -1,301 +1,301 @@ - - - - @if(showToggle) { - - } - - - @if(!showToggle) { - - } - - - - - - - -
- - - - - -
-
-
-
- @for(appdd of apps; track appdd.title) { - - } -
-
-
- - Frequently - Asked Questions - - Check -
-
-
-
-

Quick Links

- @for(quicklink of quicklinks; track quicklink.title) { - - } -
-
-
-
- Chat - Calendar - Email -
- - - - - - - - - - - - @for(lang of languages; track lang.icon) { - - } - - - @if(options.theme=='light'){ - - }@else{ - - } - - - - - - -
-
Notifications
- - 5 new - -
- - @for(notification of notifications; track notification.title) { - - } - -
- -
-
- - - - - - - -
-
User Profile
- -
- -
-
Mathew Anderson
- Designer - - - info@modernize.com - -
-
-
-
- @for(profile of profiledd; track profile.title) { - -
- - -
-
- {{ profile.title }} -
- {{ profile.subtitle }} -
-
-
- } - - -
-
-
-
- Unlimited
- Access -
- -
-
- upgrade-bg -
-
-
-
- -
- Logout -
-
-
-
+ + + + @if(showToggle) { + + } + + + @if(!showToggle) { + + } + + + + + + + +
+ + + + + +
+
+
+
+ @for(appdd of apps; track appdd.title) { + + } +
+
+
+ + Frequently + Asked Questions + + Check +
+
+
+
+

Quick Links

+ @for(quicklink of quicklinks; track quicklink.title) { + + } +
+
+
+
+ Chat + Calendar + Email +
+ + + + + + + + + + + + @for(lang of languages; track lang.icon) { + + } + + + @if(options.theme=='light'){ + + }@else{ + + } + + + + + + +
+
Notifications
+ + 5 new + +
+ + @for(notification of notifications; track notification.title) { + + } + +
+ +
+
+ + + + + + + +
+
User Profile
+ +
+ +
+
Mathew Anderson
+ Designer + + + info@modernize.com + +
+
+
+
+ @for(profile of profiledd; track profile.title) { + +
+ + +
+
+ {{ profile.title }} +
+ {{ profile.subtitle }} +
+
+
+ } + + +
+
+
+
+ Unlimited
+ Access +
+ +
+
+ upgrade-bg +
+
+
+
+ +
+ Logout +
+
+
+
diff --git a/Web/src/app/layouts/full/vertical/header/header.component.ts b/Web/src/app/layouts/full/vertical/header/header.component.ts index b140ac8..c7c04f1 100755 --- a/Web/src/app/layouts/full/vertical/header/header.component.ts +++ b/Web/src/app/layouts/full/vertical/header/header.component.ts @@ -1,310 +1,310 @@ -import { - Component, - Output, - EventEmitter, - Input, - ViewEncapsulation, -} from '@angular/core'; -import { CoreService } from '../../../../services/core.service'; -import { MatDialog } from '@angular/material/dialog'; -import { navItems } from '../sidebar/sidebar-data'; -import { TranslateService } from '@ngx-translate/core'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import { MaterialModule } from '../../../../material.module'; -import { RouterModule } from '@angular/router'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; -import { NgScrollbarModule } from 'ngx-scrollbar'; -import { AppSettings } from '../../../../config'; - -interface notifications { - id: number; - img: string; - title: string; - subtitle: string; -} - -interface profiledd { - id: number; - img: string; - title: string; - subtitle: string; - link: string; -} - -interface apps { - id: number; - img: string; - title: string; - subtitle: string; - link: string; -} - -interface quicklinks { - id: number; - title: string; - link: string; -} - -@Component({ - selector: 'app-header', - imports: [ - RouterModule, - CommonModule, - NgScrollbarModule, - TablerIconsModule, - MaterialModule, - ], - templateUrl: './header.component.html', - encapsulation: ViewEncapsulation.None -}) -export class HeaderComponent { - @Input() showToggle = true; - @Input() toggleChecked = false; - @Output() toggleMobileNav = new EventEmitter(); - @Output() toggleMobileFilterNav = new EventEmitter(); - @Output() toggleCollapsed = new EventEmitter(); - - showFiller = false; - - public selectedLanguage: any = { - language: 'English', - code: 'en', - type: 'US', - icon: '/assets/images/flag/icon-flag-en.svg', - }; - - public languages: any[] = [ - { - language: 'English', - code: 'en', - type: 'US', - icon: '/assets/images/flag/icon-flag-en.svg', - }, - { - language: 'Español', - code: 'es', - icon: '/assets/images/flag/icon-flag-es.svg', - }, - { - language: 'Français', - code: 'fr', - icon: '/assets/images/flag/icon-flag-fr.svg', - }, - { - language: 'German', - code: 'de', - icon: '/assets/images/flag/icon-flag-de.svg', - }, - ]; - - @Output() optionsChange = new EventEmitter(); - - constructor( - private settings: CoreService, - private vsidenav: CoreService, - public dialog: MatDialog, - private translate: TranslateService - ) { - translate.setDefaultLang('en'); - this.options = this.settings.getOptions(); - } - options: AppSettings; - - openDialog() { - const dialogRef = this.dialog.open(AppSearchDialogComponent); - - dialogRef.afterClosed().subscribe((result) => { - console.log(`Dialog result: ${result}`); - }); - } - - private emitOptions() { - this.optionsChange.emit(this.options); - } - - setlightDark(theme: string) { - this.options.theme = theme; - this.emitOptions(); - } - - changeLanguage(lang: any): void { - this.translate.use(lang.code); - this.selectedLanguage = lang; - } - - notifications: notifications[] = [ - { - id: 1, - img: '/assets/images/profile/user-1.jpg', - title: 'Roman Joined thes Team!', - subtitle: 'Congratulate him', - }, - { - id: 2, - img: '/assets/images/profile/user-2.jpg', - title: 'New message received', - subtitle: 'Salma sent you new message', - }, - { - id: 3, - img: '/assets/images/profile/user-3.jpg', - title: 'New Payment received', - subtitle: 'Check your earnings', - }, - { - id: 4, - img: '/assets/images/profile/user-4.jpg', - title: 'Jolly completed tasks', - subtitle: 'Assign her new tasks', - }, - { - id: 5, - img: '/assets/images/profile/user-5.jpg', - title: 'Roman Joined the Team!', - subtitle: 'Congratulatse him', - }, - ]; - - profiledd: profiledd[] = [ - { - id: 1, - img: '/assets/images/svgs/icon-account.svg', - title: 'My Profile', - subtitle: 'Account Settings', - link: '/', - }, - { - id: 2, - img: '/assets/images/svgs/icon-inbox.svg', - title: 'My Inbox', - subtitle: 'Messages & Email', - link: '/apps/email/inbox', - }, - { - id: 3, - img: '/assets/images/svgs/icon-tasks.svg', - title: 'My Tasks', - subtitle: 'To-do and Daily Tasks', - link: '/apps/taskboard', - }, - ]; - - apps: apps[] = [ - { - id: 1, - img: '/assets/images/svgs/icon-dd-chat.svg', - title: 'Chat Application', - subtitle: 'Messages & Emails', - link: '/apps/chat', - }, - { - id: 2, - img: '/assets/images/svgs/icon-dd-cart.svg', - title: 'Todo App', - subtitle: 'Completed task', - link: '/apps/todo', - }, - { - id: 3, - img: '/assets/images/svgs/icon-dd-invoice.svg', - title: 'Invoice App', - subtitle: 'Get latest invoice', - link: '/apps/invoice', - }, - { - id: 4, - img: '/assets/images/svgs/icon-dd-date.svg', - title: 'Calendar App', - subtitle: 'Get Dates', - link: '/apps/calendar', - }, - { - id: 5, - img: '/assets/images/svgs/icon-dd-mobile.svg', - title: 'Contact Application', - subtitle: '2 Unsaved Contacts', - link: '/apps/contacts', - }, - { - id: 6, - img: '/assets/images/svgs/icon-dd-lifebuoy.svg', - title: 'Tickets App', - subtitle: 'Create new ticket', - link: '/apps/tickets', - }, - { - id: 7, - img: '/assets/images/svgs/icon-dd-message-box.svg', - title: 'Email App', - subtitle: 'Get new emails', - link: '/apps/email/inbox', - }, - { - id: 8, - img: '/assets/images/svgs/icon-dd-application.svg', - title: 'Conatct List', - subtitle: 'Create new contact', - link: '/apps/contact-list', - }, - ]; - - quicklinks: quicklinks[] = [ - { - id: 1, - title: 'Pricing Page', - link: '/theme-pages/pricing', - }, - { - id: 2, - title: 'Authentication Design', - link: '/authentication/login', - }, - { - id: 3, - title: 'Register Now', - link: '/authentication/side-register', - }, - { - id: 4, - title: '404 Error Page', - link: '/authentication/error', - }, - { - id: 5, - title: 'Notes App', - link: '/apps/notes', - }, - { - id: 6, - title: 'Employee App', - link: '/apps/employee', - }, - { - id: 7, - title: 'Todo Application', - link: '/apps/todo', - }, - { - id: 8, - title: 'Treeview', - link: '/theme-pages/treeview', - }, - ]; -} - -@Component({ - selector: 'search-dialog', - imports: [RouterModule, MaterialModule, TablerIconsModule, FormsModule], - templateUrl: 'search-dialog.component.html' -}) -export class AppSearchDialogComponent { - searchText: string = ''; - navItems = navItems; - - navItemsData = navItems.filter((navitem) => navitem.displayName); - - // filtered = this.navItemsData.find((obj) => { - // return obj.displayName == this.searchinput; - // }); -} +import { + Component, + Output, + EventEmitter, + Input, + ViewEncapsulation, +} from '@angular/core'; +import { CoreService } from '../../../../services/core.service'; +import { MatDialog } from '@angular/material/dialog'; +import { navItems } from '../sidebar/sidebar-data'; +import { TranslateService } from '@ngx-translate/core'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import { MaterialModule } from '../../../../material.module'; +import { RouterModule } from '@angular/router'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { NgScrollbarModule } from 'ngx-scrollbar'; +import { AppSettings } from '../../../../config'; + +interface notifications { + id: number; + img: string; + title: string; + subtitle: string; +} + +interface profiledd { + id: number; + img: string; + title: string; + subtitle: string; + link: string; +} + +interface apps { + id: number; + img: string; + title: string; + subtitle: string; + link: string; +} + +interface quicklinks { + id: number; + title: string; + link: string; +} + +@Component({ + selector: 'app-header', + imports: [ + RouterModule, + CommonModule, + NgScrollbarModule, + TablerIconsModule, + MaterialModule, + ], + templateUrl: './header.component.html', + encapsulation: ViewEncapsulation.None +}) +export class HeaderComponent { + @Input() showToggle = true; + @Input() toggleChecked = false; + @Output() toggleMobileNav = new EventEmitter(); + @Output() toggleMobileFilterNav = new EventEmitter(); + @Output() toggleCollapsed = new EventEmitter(); + + showFiller = false; + + public selectedLanguage: any = { + language: 'English', + code: 'en', + type: 'US', + icon: '/assets/images/flag/icon-flag-en.svg', + }; + + public languages: any[] = [ + { + language: 'English', + code: 'en', + type: 'US', + icon: '/assets/images/flag/icon-flag-en.svg', + }, + { + language: 'Español', + code: 'es', + icon: '/assets/images/flag/icon-flag-es.svg', + }, + { + language: 'Français', + code: 'fr', + icon: '/assets/images/flag/icon-flag-fr.svg', + }, + { + language: 'German', + code: 'de', + icon: '/assets/images/flag/icon-flag-de.svg', + }, + ]; + + @Output() optionsChange = new EventEmitter(); + + constructor( + private settings: CoreService, + private vsidenav: CoreService, + public dialog: MatDialog, + private translate: TranslateService + ) { + translate.setDefaultLang('en'); + this.options = this.settings.getOptions(); + } + options: AppSettings; + + openDialog() { + const dialogRef = this.dialog.open(AppSearchDialogComponent); + + dialogRef.afterClosed().subscribe((result) => { + console.log(`Dialog result: ${result}`); + }); + } + + private emitOptions() { + this.optionsChange.emit(this.options); + } + + setlightDark(theme: string) { + this.options.theme = theme; + this.emitOptions(); + } + + changeLanguage(lang: any): void { + this.translate.use(lang.code); + this.selectedLanguage = lang; + } + + notifications: notifications[] = [ + { + id: 1, + img: '/assets/images/profile/user-1.jpg', + title: 'Roman Joined thes Team!', + subtitle: 'Congratulate him', + }, + { + id: 2, + img: '/assets/images/profile/user-2.jpg', + title: 'New message received', + subtitle: 'Salma sent you new message', + }, + { + id: 3, + img: '/assets/images/profile/user-3.jpg', + title: 'New Payment received', + subtitle: 'Check your earnings', + }, + { + id: 4, + img: '/assets/images/profile/user-4.jpg', + title: 'Jolly completed tasks', + subtitle: 'Assign her new tasks', + }, + { + id: 5, + img: '/assets/images/profile/user-5.jpg', + title: 'Roman Joined the Team!', + subtitle: 'Congratulatse him', + }, + ]; + + profiledd: profiledd[] = [ + { + id: 1, + img: '/assets/images/svgs/icon-account.svg', + title: 'My Profile', + subtitle: 'Account Settings', + link: '/', + }, + { + id: 2, + img: '/assets/images/svgs/icon-inbox.svg', + title: 'My Inbox', + subtitle: 'Messages & Email', + link: '/apps/email/inbox', + }, + { + id: 3, + img: '/assets/images/svgs/icon-tasks.svg', + title: 'My Tasks', + subtitle: 'To-do and Daily Tasks', + link: '/apps/taskboard', + }, + ]; + + apps: apps[] = [ + { + id: 1, + img: '/assets/images/svgs/icon-dd-chat.svg', + title: 'Chat Application', + subtitle: 'Messages & Emails', + link: '/apps/chat', + }, + { + id: 2, + img: '/assets/images/svgs/icon-dd-cart.svg', + title: 'Todo App', + subtitle: 'Completed task', + link: '/apps/todo', + }, + { + id: 3, + img: '/assets/images/svgs/icon-dd-invoice.svg', + title: 'Invoice App', + subtitle: 'Get latest invoice', + link: '/apps/invoice', + }, + { + id: 4, + img: '/assets/images/svgs/icon-dd-date.svg', + title: 'Calendar App', + subtitle: 'Get Dates', + link: '/apps/calendar', + }, + { + id: 5, + img: '/assets/images/svgs/icon-dd-mobile.svg', + title: 'Contact Application', + subtitle: '2 Unsaved Contacts', + link: '/apps/contacts', + }, + { + id: 6, + img: '/assets/images/svgs/icon-dd-lifebuoy.svg', + title: 'Tickets App', + subtitle: 'Create new ticket', + link: '/apps/tickets', + }, + { + id: 7, + img: '/assets/images/svgs/icon-dd-message-box.svg', + title: 'Email App', + subtitle: 'Get new emails', + link: '/apps/email/inbox', + }, + { + id: 8, + img: '/assets/images/svgs/icon-dd-application.svg', + title: 'Conatct List', + subtitle: 'Create new contact', + link: '/apps/contact-list', + }, + ]; + + quicklinks: quicklinks[] = [ + { + id: 1, + title: 'Pricing Page', + link: '/theme-pages/pricing', + }, + { + id: 2, + title: 'Authentication Design', + link: '/authentication/login', + }, + { + id: 3, + title: 'Register Now', + link: '/authentication/side-register', + }, + { + id: 4, + title: '404 Error Page', + link: '/authentication/error', + }, + { + id: 5, + title: 'Notes App', + link: '/apps/notes', + }, + { + id: 6, + title: 'Employee App', + link: '/apps/employee', + }, + { + id: 7, + title: 'Todo Application', + link: '/apps/todo', + }, + { + id: 8, + title: 'Treeview', + link: '/theme-pages/treeview', + }, + ]; +} + +@Component({ + selector: 'search-dialog', + imports: [RouterModule, MaterialModule, TablerIconsModule, FormsModule], + templateUrl: 'search-dialog.component.html' +}) +export class AppSearchDialogComponent { + searchText: string = ''; + navItems = navItems; + + navItemsData = navItems.filter((navitem) => navitem.displayName); + + // filtered = this.navItemsData.find((obj) => { + // return obj.displayName == this.searchinput; + // }); +} diff --git a/Web/src/app/layouts/full/vertical/header/search-dialog.component.html b/Web/src/app/layouts/full/vertical/header/search-dialog.component.html index 6d2f6d2..8f99606 100755 --- a/Web/src/app/layouts/full/vertical/header/search-dialog.component.html +++ b/Web/src/app/layouts/full/vertical/header/search-dialog.component.html @@ -1,39 +1,39 @@ -
-
-
- - - -
-
- -
-
-
- - -

Quick Page Links

- - @for(item of navItemsData; track item.displayName) { - -
- {{ item.displayName }} -
- {{ item.route }} -
- } -
+
+
+
+ + + +
+
+ +
+
+
+ + +

Quick Page Links

+ + @for(item of navItemsData; track item.displayName) { + +
+ {{ item.displayName }} +
+ {{ item.route }} +
+ } +
diff --git a/Web/src/app/layouts/full/vertical/sidebar/branding.component.ts b/Web/src/app/layouts/full/vertical/sidebar/branding.component.ts index ed23e92..7d767fc 100755 --- a/Web/src/app/layouts/full/vertical/sidebar/branding.component.ts +++ b/Web/src/app/layouts/full/vertical/sidebar/branding.component.ts @@ -1,34 +1,34 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../../../services/core.service'; -import { CommonModule } from '@angular/common'; -import { RouterModule } from '@angular/router'; - -@Component({ - selector: 'app-branding', - imports: [CommonModule, RouterModule], - standalone: true, - template: ` - - logo - - - - logo - - `, -}) -export class BrandingComponent { - options: any; - - constructor(private settings: CoreService) { - this.options = this.settings.getOptions(); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../../../services/core.service'; +import { CommonModule } from '@angular/common'; +import { RouterModule } from '@angular/router'; + +@Component({ + selector: 'app-branding', + imports: [CommonModule, RouterModule], + standalone: true, + template: ` + + logo + + + + logo + + `, +}) +export class BrandingComponent { + options: any; + + constructor(private settings: CoreService) { + this.options = this.settings.getOptions(); + } +} diff --git a/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.html b/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.html index 3f9a6a8..01d8a94 100755 --- a/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.html +++ b/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.html @@ -1,51 +1,51 @@ -@if(item.navCap){ - -} @if(!item.navCap && !item.external && !item.twoLines) { - - - {{ item.displayName | translate }} -
- @if(item.children && item.children.length) { - @if(item.chip) { - - {{ item.chipContent }} - - } - - - - expand_more - - - } -
- @if(item.chip && !item.children ) { - - {{ item.chipContent }} - - } -
-} - - - -@if(!item.navCap && item.external) { - - - {{ item.displayName | translate }} - -} - - -@if(expanded) { @for(child of item.children; track child) { - - +@if(item.navCap){ + +} @if(!item.navCap && !item.external && !item.twoLines) { + + + {{ item.displayName | translate }} +
+ @if(item.children && item.children.length) { + @if(item.chip) { + + {{ item.chipContent }} + + } + + + + expand_more + + + } +
+ @if(item.chip && !item.children ) { + + {{ item.chipContent }} + + } +
+} + + + +@if(!item.navCap && item.external) { + + + {{ item.displayName | translate }} + +} + + +@if(expanded) { @for(child of item.children; track child) { + + } } \ No newline at end of file diff --git a/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.ts b/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.ts index b599017..a5c3984 100755 --- a/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.ts +++ b/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.component.ts @@ -1,103 +1,103 @@ -import { - Component, - HostBinding, - Input, - OnInit, - OnChanges, - Output, - EventEmitter, -} from '@angular/core'; -import { NavItem } from './nav-item'; -import { Router } from '@angular/router'; -import { NavService } from '../../../../../services/nav.service'; -import { - animate, - state, - style, - transition, - trigger, -} from '@angular/animations'; -import { TranslateModule } from '@ngx-translate/core'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import { MaterialModule } from '../../../../../material.module'; -import { CommonModule } from '@angular/common'; - -@Component({ - selector: 'app-nav-item', - imports: [TranslateModule, TablerIconsModule, MaterialModule, CommonModule], - templateUrl: './nav-item.component.html', - styleUrls: [], - animations: [ - trigger('indicatorRotate', [ - state('collapsed', style({ transform: 'rotate(0deg)' })), - state('expanded', style({ transform: 'rotate(180deg)' })), - transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')), - ]), - ] -}) -export class AppNavItemComponent implements OnChanges { - @Output() toggleMobileLink: any = new EventEmitter(); - @Output() notify: EventEmitter = new EventEmitter(); - - expanded: any = false; - disabled: any = false; - twoLines: any = false; - @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded; - @Input() item: NavItem | any; - @Input() depth: any; - - constructor(public navService: NavService, public router: Router) { - if (this.depth === undefined) { - this.depth = 0; - } - } - - ngOnChanges() { - const url = this.navService.currentUrl(); - if (this.item.route && url) { - this.expanded = url.indexOf(`/${this.item.route}`) === 0; - this.ariaExpanded = this.expanded; - } - } - - onItemSelected(item: NavItem) { - if (!item.children || !item.children.length) { - this.router.navigate([item.route]); - - } - if (item.children && item.children.length) { - this.expanded = !this.expanded; - } - //scroll - window.scroll({ - top: 0, - left: 0, - behavior: 'smooth', - }); - if (!this.expanded) { - if (window.innerWidth < 1024) { - this.notify.emit(); - } - } - } - - onSubItemSelected(item: NavItem) { - if (!item.children || !item.children.length) { - if (this.expanded && window.innerWidth < 1024) { - this.notify.emit(); - } - } - } - - isDirectlyActive(item: NavItem): boolean { - return !!item.route && this.router.isActive(item.route, true); - } - - isChildActive(item: NavItem): boolean { - if (!item.children) return false; - return item.children.some( - (child) => this.isDirectlyActive(child) || this.isChildActive(child) - ); - } - -} +import { + Component, + HostBinding, + Input, + OnInit, + OnChanges, + Output, + EventEmitter, +} from '@angular/core'; +import { NavItem } from './nav-item'; +import { Router } from '@angular/router'; +import { NavService } from '../../../../../services/nav.service'; +import { + animate, + state, + style, + transition, + trigger, +} from '@angular/animations'; +import { TranslateModule } from '@ngx-translate/core'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import { MaterialModule } from '../../../../../material.module'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-nav-item', + imports: [TranslateModule, TablerIconsModule, MaterialModule, CommonModule], + templateUrl: './nav-item.component.html', + styleUrls: [], + animations: [ + trigger('indicatorRotate', [ + state('collapsed', style({ transform: 'rotate(0deg)' })), + state('expanded', style({ transform: 'rotate(180deg)' })), + transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4,0.0,0.2,1)')), + ]), + ] +}) +export class AppNavItemComponent implements OnChanges { + @Output() toggleMobileLink: any = new EventEmitter(); + @Output() notify: EventEmitter = new EventEmitter(); + + expanded: any = false; + disabled: any = false; + twoLines: any = false; + @HostBinding('attr.aria-expanded') ariaExpanded = this.expanded; + @Input() item: NavItem | any; + @Input() depth: any; + + constructor(public navService: NavService, public router: Router) { + if (this.depth === undefined) { + this.depth = 0; + } + } + + ngOnChanges() { + const url = this.navService.currentUrl(); + if (this.item.route && url) { + this.expanded = url.indexOf(`/${this.item.route}`) === 0; + this.ariaExpanded = this.expanded; + } + } + + onItemSelected(item: NavItem) { + if (!item.children || !item.children.length) { + this.router.navigate([item.route]); + + } + if (item.children && item.children.length) { + this.expanded = !this.expanded; + } + //scroll + window.scroll({ + top: 0, + left: 0, + behavior: 'smooth', + }); + if (!this.expanded) { + if (window.innerWidth < 1024) { + this.notify.emit(); + } + } + } + + onSubItemSelected(item: NavItem) { + if (!item.children || !item.children.length) { + if (this.expanded && window.innerWidth < 1024) { + this.notify.emit(); + } + } + } + + isDirectlyActive(item: NavItem): boolean { + return !!item.route && this.router.isActive(item.route, true); + } + + isChildActive(item: NavItem): boolean { + if (!item.children) return false; + return item.children.some( + (child) => this.isDirectlyActive(child) || this.isChildActive(child) + ); + } + +} diff --git a/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.ts b/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.ts index a6274be..cc1bd29 100755 --- a/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.ts +++ b/Web/src/app/layouts/full/vertical/sidebar/nav-item/nav-item.ts @@ -1,15 +1,15 @@ -export interface NavItem { - displayName?: string; - disabled?: boolean; - external?: boolean; - twoLines?: boolean; - chip?: boolean; - iconName?: string; - navCap?: string; - chipContent?: string; - chipClass?: string; - subtext?: string; - route?: string; - children?: NavItem[]; - ddType?: string; +export interface NavItem { + displayName?: string; + disabled?: boolean; + external?: boolean; + twoLines?: boolean; + chip?: boolean; + iconName?: string; + navCap?: string; + chipContent?: string; + chipClass?: string; + subtext?: string; + route?: string; + children?: NavItem[]; + ddType?: string; } \ No newline at end of file diff --git a/Web/src/app/layouts/full/vertical/sidebar/sidebar-data.ts b/Web/src/app/layouts/full/vertical/sidebar/sidebar-data.ts index e52b956..21114d7 100755 --- a/Web/src/app/layouts/full/vertical/sidebar/sidebar-data.ts +++ b/Web/src/app/layouts/full/vertical/sidebar/sidebar-data.ts @@ -1,705 +1,705 @@ -import { NavItem } from './nav-item/nav-item'; - -export const navItems: NavItem[] = [ - { - navCap: 'Home', - }, - { - displayName: 'Analytical', - iconName: 'aperture', - route: '/dashboards/dashboard1', - }, - { - displayName: 'eCommerce', - iconName: 'shopping-cart', - route: '/dashboards/dashboard2', - }, - { - displayName: 'Frontend pages', - iconName: 'app-window', - route: 'front-pages', - children: [ - { - displayName: 'Home Page', - iconName: 'point', - route: 'front-pages/homepage', - } , - { - displayName: 'About Us', - iconName: 'point', - route: 'front-pages/about', - } , - { - displayName: 'Blog', - iconName: 'point', - route: 'front-pages/blog', - } , - { - displayName: 'Blog Details', - iconName: 'point', - route: 'front-pages/blog-details', - } , - { - displayName: 'Portfolio', - iconName: 'point', - route: 'front-pages/portfolio', - }, - { - displayName: 'Pricing', - iconName: 'point', - route: 'front-pages/pricing', - }, - { - displayName: 'Contact', - iconName: 'point', - route: 'front-pages/contact', - } - ] - }, - { - navCap: 'Apps', - }, - { - displayName: 'Chat', - iconName: 'message-2', - route: 'apps/chat', - }, - { - displayName: 'Calendar', - iconName: 'calendar-event', - route: 'apps/calendar', - }, - { - displayName: 'Email', - iconName: 'mail', - route: 'apps/email/inbox', - }, - { - displayName: 'Kanban', - iconName: 'checklist', - route: 'apps/kanban', - }, - { - displayName: 'User Profile', - iconName: 'user-circle', - route: 'apps/profile-details', - chip: true, - chipClass: 'bg-error text-white', - chipContent: 'New', - children: [ - { - displayName: 'Profile', - iconName: 'point', - route: 'apps/profile-details/profile', - }, - { - displayName: 'Followers', - iconName: 'point', - route: 'apps/profile-details/followers', - }, - { - displayName: 'Friends', - iconName: 'point', - route: 'apps/profile-details/friends', - }, - { - displayName: 'Gellary', - iconName: 'point', - route: 'apps/profile-details/gallery', - }, - ], - }, - { - displayName: 'Ecommerce', - iconName: 'basket', - route: 'apps/product', - chip: true, - chipClass: 'border-error text-error', - chipContent: 'New', - children: [ - { - displayName: 'Product List', - iconName: 'point', - route: 'apps/product/product-list', - }, - { - displayName: 'Add Product', - iconName: 'point', - route: 'apps/product/add-product', - }, - { - displayName: 'Edit Product', - iconName: 'point', - route: 'apps/product/edit-product', - }, - { - displayName: 'Shop', - iconName: 'point', - route: 'apps/product/shop', - }, - ], - }, - { - displayName: 'Contacts', - iconName: 'phone', - route: 'apps/contacts', - }, - { - displayName: 'Courses', - iconName: 'certificate', - route: 'apps/courses', - }, - { - displayName: 'Employee', - iconName: 'brand-ctemplar', - route: 'apps/employee', - }, - { - displayName: 'Notes', - iconName: 'note', - route: 'apps/notes', - }, - { - displayName: 'Tickets', - iconName: 'ticket', - route: 'apps/tickets', - }, - { - displayName: 'Contact List', - iconName: 'phone', - route: 'apps/contact-list', - }, - { - displayName: 'Invoice', - iconName: 'file-invoice', - route: 'apps/invoice', - children: [ - { - displayName: 'List', - iconName: 'point', - route: 'apps/invoice/list', - }, - { - displayName: 'Detail', - iconName: 'point', - route: 'apps/invoice/viewInvoice/101', - }, - { - displayName: 'Create', - iconName: 'point', - route: 'apps/invoice/addInvoice', - }, - { - displayName: 'Edit', - iconName: 'point', - route: 'apps/invoice/editinvoice/101', - }, - ], - }, - { - displayName: 'ToDo', - iconName: 'edit', - route: 'apps/todo', - }, - { - displayName: 'Blog', - iconName: 'chart-donut-3', - route: 'apps/blog', - children: [ - { - displayName: 'Post', - iconName: 'point', - route: 'apps/blog/post', - }, - { - displayName: 'Detail', - iconName: 'point', - route: 'apps/blog/detail/Early Black Friday Amazon deals: cheap TVs, headphones, laptops', - }, - ], - }, - { - navCap: 'Pages', - }, - { - displayName: 'Roll Base Access', - iconName: 'lock-access', - route: 'apps/permission', - }, - { - displayName: 'Treeview', - iconName: 'git-merge', - route: 'theme-pages/treeview', - }, - { - displayName: 'Pricing', - iconName: 'currency-dollar', - route: 'theme-pages/pricing', - }, - { - displayName: 'Account Setting', - iconName: 'user-circle', - route: 'theme-pages/account-setting', - }, - { - displayName: 'FAQ', - iconName: 'help', - route: 'theme-pages/faq', - }, - { - displayName: 'Landingpage', - iconName: 'app-window', - route: 'landingpage', - }, - { - displayName: 'Widgets', - iconName: 'layout', - route: 'widgets', - children: [ - { - displayName: 'Cards', - iconName: 'point', - route: 'widgets/cards', - }, - { - displayName: 'Banners', - iconName: 'point', - route: 'widgets/banners', - }, - { - displayName: 'Charts', - iconName: 'point', - route: 'widgets/charts', - }, - ], - }, - { - navCap: 'Forms', - }, - { - displayName: 'Form elements', - iconName: 'apps', - route: 'forms/forms-elements', - children: [ - { - displayName: 'Autocomplete', - iconName: 'point', - route: 'forms/forms-elements/autocomplete', - }, - { - displayName: 'Button', - iconName: 'point', - route: 'forms/forms-elements/button', - }, - { - displayName: 'Checkbox', - iconName: 'point', - route: 'forms/forms-elements/checkbox', - }, - { - displayName: 'Radio', - iconName: 'point', - route: 'forms/forms-elements/radio', - }, - { - displayName: 'Datepicker', - iconName: 'point', - route: 'forms/forms-elements/datepicker', - }, - ], - }, - { - displayName: 'Form Layouts', - iconName: 'file-description', - route: '/forms/form-layouts', - }, - { - displayName: 'Form Horizontal', - iconName: 'box-align-bottom', - route: '/forms/form-horizontal', - }, - { - displayName: 'Form Vertical', - iconName: 'box-align-left', - route: '/forms/form-vertical', - }, - { - displayName: 'Form Wizard', - iconName: 'files', - route: '/forms/form-wizard', - }, - { - displayName: 'Toastr', - iconName: 'notification', - route: '/forms/form-toastr', - }, - { - displayName: 'Editor', - iconName: 'edit', - route: '/forms/form-editor', - chip: true, - chipClass: 'bg-error text-white', - chipContent: 'New', - }, - { - navCap: 'Tables', - }, - { - displayName: 'Tables', - iconName: 'layout', - route: 'tables', - children: [ - { - displayName: 'Basic Table', - iconName: 'point', - route: 'tables/basic-table', - }, - { - displayName: 'Dynamic Table', - iconName: 'point', - route: 'tables/dynamic-table', - }, - { - displayName: 'Expand Table', - iconName: 'point', - route: 'tables/expand-table', - }, - { - displayName: 'Filterable Table', - iconName: 'point', - route: 'tables/filterable-table', - }, - { - displayName: 'Footer Row Table', - iconName: 'point', - route: 'tables/footer-row-table', - }, - { - displayName: 'HTTP Table', - iconName: 'point', - route: 'tables/http-table', - }, - { - displayName: 'Mix Table', - iconName: 'point', - route: 'tables/mix-table', - }, - { - displayName: 'Multi Header Footer', - iconName: 'point', - route: 'tables/multi-header-footer-table', - }, - { - displayName: 'Pagination Table', - iconName: 'point', - route: 'tables/pagination-table', - }, - { - displayName: 'Row Context Table', - iconName: 'point', - route: 'tables/row-context-table', - }, - { - displayName: 'Selection Table', - iconName: 'point', - route: 'tables/selection-table', - }, - { - displayName: 'Sortable Table', - iconName: 'point', - route: 'tables/sortable-table', - }, - { - displayName: 'Sticky Column', - iconName: 'point', - route: 'tables/sticky-column-table', - }, - { - displayName: 'Sticky Header Footer', - iconName: 'point', - route: 'tables/sticky-header-footer-table', - }, - ], - }, - { - displayName: 'Data table', - iconName: 'border-outer', - route: '/datatable/kichen-sink', - }, - { - navCap: 'Chart', - }, - { - displayName: 'Line', - iconName: 'chart-line', - route: '/charts/line', - }, - { - displayName: 'Gredient', - iconName: 'chart-arcs', - route: '/charts/gredient', - }, - { - displayName: 'Area', - iconName: 'chart-area', - route: '/charts/area', - }, - { - displayName: 'Candlestick', - iconName: 'chart-candle', - route: '/charts/candlestick', - }, - { - displayName: 'Column', - iconName: 'chart-dots', - route: '/charts/column', - }, - { - displayName: 'Doughnut & Pie', - iconName: 'chart-donut-3', - route: '/charts/doughnut-pie', - }, - { - displayName: 'Radialbar & Radar', - iconName: 'chart-radar', - route: '/charts/radial-radar', - }, - { - navCap: 'UI', - }, - { - displayName: 'Ui Components', - iconName: 'box', - route: 'ui-components', - children: [ - { - displayName: 'Badge', - iconName: 'point', - route: 'ui-components/badge', - }, - { - displayName: 'Expansion Panel', - iconName: 'point', - route: 'ui-components/expansion', - }, - { - displayName: 'Chips', - iconName: 'point', - route: 'ui-components/chips', - }, - { - displayName: 'Dialog', - iconName: 'point', - route: 'ui-components/dialog', - }, - { - displayName: 'Lists', - iconName: 'point', - route: 'ui-components/lists', - }, - { - displayName: 'Divider', - iconName: 'point', - route: 'ui-components/divider', - }, - { - displayName: 'Menu', - iconName: 'point', - route: 'ui-components/menu', - }, - { - displayName: 'Paginator', - iconName: 'point', - route: 'ui-components/paginator', - }, - { - displayName: 'Progress Bar', - iconName: 'point', - route: 'ui-components/progress', - }, - { - displayName: 'Progress Spinner', - iconName: 'point', - route: 'ui-components/progress-spinner', - }, - { - displayName: 'Ripples', - iconName: 'point', - route: 'ui-components/ripples', - }, - { - displayName: 'Slide Toggle', - iconName: 'point', - route: 'ui-components/slide-toggle', - }, - { - displayName: 'Slider', - iconName: 'point', - route: 'ui-components/slider', - }, - { - displayName: 'Snackbar', - iconName: 'point', - route: 'ui-components/snackbar', - }, - { - displayName: 'Tabs', - iconName: 'point', - route: 'ui-components/tabs', - }, - { - displayName: 'Toolbar', - iconName: 'point', - route: 'ui-components/toolbar', - }, - { - displayName: 'Tooltips', - iconName: 'point', - route: 'ui-components/tooltips', - }, - ], - }, - { - navCap: 'Auth', - }, - { - displayName: 'Login', - iconName: 'login', - route: '/authentication', - children: [ - { - displayName: 'Login 1', - iconName: 'point', - route: '/authentication/login', - }, - { - displayName: 'Boxed Login', - iconName: 'point', - route: '/authentication/boxed-login', - }, - ], - }, - { - displayName: 'Register', - iconName: 'user-plus', - route: '/authentication', - children: [ - { - displayName: 'Side Register', - iconName: 'point', - route: '/authentication/side-register', - }, - { - displayName: 'Boxed Register', - iconName: 'point', - route: '/authentication/boxed-register', - }, - ], - }, - { - displayName: 'Forgot Password', - iconName: 'rotate', - route: '/authentication', - children: [ - { - displayName: 'Side Forgot Password', - iconName: 'point', - route: '/authentication/side-forgot-pwd', - }, - { - displayName: 'Boxed Forgot Password', - iconName: 'point', - route: '/authentication/boxed-forgot-pwd', - }, - ], - }, - { - displayName: 'Two Steps', - iconName: 'zoom-code', - route: '/authentication', - children: [ - { - displayName: 'Side Two Steps', - iconName: 'point', - route: '/authentication/side-two-steps', - }, - { - displayName: 'Boxed Two Steps', - iconName: 'point', - route: '/authentication/boxed-two-steps', - }, - ], - }, - { - displayName: 'Error', - iconName: 'alert-circle', - route: '/authentication/error', - }, - { - displayName: 'Maintenance', - iconName: 'settings', - route: '/authentication/maintenance', - }, - { - navCap: 'Other', - }, - { - displayName: 'Menu Level', - iconName: 'box-multiple', - route: '/menu-level', - children: [ - { - displayName: 'Menu 1', - iconName: 'point', - route: '/menu-1', - children: [ - { - displayName: 'Menu 1', - iconName: 'point', - route: '/menu-1', - }, - - { - displayName: 'Menu 2', - iconName: 'point', - route: '/menu-2', - }, - ], - }, - - { - displayName: 'Menu 2', - iconName: 'point', - route: '/menu-2', - }, - ], - }, - { - displayName: 'Disabled', - iconName: 'ban', - route: '/disabled', - disabled: true, - }, - { - displayName: 'Chip', - iconName: 'mood-smile', - route: '/', - chip: true, - chipClass: 'bg-primary text-white', - chipContent: '9', - }, - { - displayName: 'Outlined', - iconName: 'mood-smile', - route: '/', - chip: true, - chipClass: 'bg-error text-white', - chipContent: 'outlined', - }, - { - displayName: 'External Link', - iconName: 'star', - route: 'https://www.google.com/', - external: true, - }, -]; +import { NavItem } from './nav-item/nav-item'; + +export const navItems: NavItem[] = [ + { + navCap: 'Home', + }, + { + displayName: 'Analytical', + iconName: 'aperture', + route: '/dashboards/dashboard1', + }, + { + displayName: 'eCommerce', + iconName: 'shopping-cart', + route: '/dashboards/dashboard2', + }, + { + displayName: 'Frontend pages', + iconName: 'app-window', + route: 'front-pages', + children: [ + { + displayName: 'Home Page', + iconName: 'point', + route: 'front-pages/homepage', + } , + { + displayName: 'About Us', + iconName: 'point', + route: 'front-pages/about', + } , + { + displayName: 'Blog', + iconName: 'point', + route: 'front-pages/blog', + } , + { + displayName: 'Blog Details', + iconName: 'point', + route: 'front-pages/blog-details', + } , + { + displayName: 'Portfolio', + iconName: 'point', + route: 'front-pages/portfolio', + }, + { + displayName: 'Pricing', + iconName: 'point', + route: 'front-pages/pricing', + }, + { + displayName: 'Contact', + iconName: 'point', + route: 'front-pages/contact', + } + ] + }, + { + navCap: 'Apps', + }, + { + displayName: 'Chat', + iconName: 'message-2', + route: 'apps/chat', + }, + { + displayName: 'Calendar', + iconName: 'calendar-event', + route: 'apps/calendar', + }, + { + displayName: 'Email', + iconName: 'mail', + route: 'apps/email/inbox', + }, + { + displayName: 'Kanban', + iconName: 'checklist', + route: 'apps/kanban', + }, + { + displayName: 'User Profile', + iconName: 'user-circle', + route: 'apps/profile-details', + chip: true, + chipClass: 'bg-error text-white', + chipContent: 'New', + children: [ + { + displayName: 'Profile', + iconName: 'point', + route: 'apps/profile-details/profile', + }, + { + displayName: 'Followers', + iconName: 'point', + route: 'apps/profile-details/followers', + }, + { + displayName: 'Friends', + iconName: 'point', + route: 'apps/profile-details/friends', + }, + { + displayName: 'Gellary', + iconName: 'point', + route: 'apps/profile-details/gallery', + }, + ], + }, + { + displayName: 'Ecommerce', + iconName: 'basket', + route: 'apps/product', + chip: true, + chipClass: 'border-error text-error', + chipContent: 'New', + children: [ + { + displayName: 'Product List', + iconName: 'point', + route: 'apps/product/product-list', + }, + { + displayName: 'Add Product', + iconName: 'point', + route: 'apps/product/add-product', + }, + { + displayName: 'Edit Product', + iconName: 'point', + route: 'apps/product/edit-product', + }, + { + displayName: 'Shop', + iconName: 'point', + route: 'apps/product/shop', + }, + ], + }, + { + displayName: 'Contacts', + iconName: 'phone', + route: 'apps/contacts', + }, + { + displayName: 'Courses', + iconName: 'certificate', + route: 'apps/courses', + }, + { + displayName: 'Employee', + iconName: 'brand-ctemplar', + route: 'apps/employee', + }, + { + displayName: 'Notes', + iconName: 'note', + route: 'apps/notes', + }, + { + displayName: 'Tickets', + iconName: 'ticket', + route: 'apps/tickets', + }, + { + displayName: 'Contact List', + iconName: 'phone', + route: 'apps/contact-list', + }, + { + displayName: 'Invoice', + iconName: 'file-invoice', + route: 'apps/invoice', + children: [ + { + displayName: 'List', + iconName: 'point', + route: 'apps/invoice/list', + }, + { + displayName: 'Detail', + iconName: 'point', + route: 'apps/invoice/viewInvoice/101', + }, + { + displayName: 'Create', + iconName: 'point', + route: 'apps/invoice/addInvoice', + }, + { + displayName: 'Edit', + iconName: 'point', + route: 'apps/invoice/editinvoice/101', + }, + ], + }, + { + displayName: 'ToDo', + iconName: 'edit', + route: 'apps/todo', + }, + { + displayName: 'Blog', + iconName: 'chart-donut-3', + route: 'apps/blog', + children: [ + { + displayName: 'Post', + iconName: 'point', + route: 'apps/blog/post', + }, + { + displayName: 'Detail', + iconName: 'point', + route: 'apps/blog/detail/Early Black Friday Amazon deals: cheap TVs, headphones, laptops', + }, + ], + }, + { + navCap: 'Pages', + }, + { + displayName: 'Roll Base Access', + iconName: 'lock-access', + route: 'apps/permission', + }, + { + displayName: 'Treeview', + iconName: 'git-merge', + route: 'theme-pages/treeview', + }, + { + displayName: 'Pricing', + iconName: 'currency-dollar', + route: 'theme-pages/pricing', + }, + { + displayName: 'Account Setting', + iconName: 'user-circle', + route: 'theme-pages/account-setting', + }, + { + displayName: 'FAQ', + iconName: 'help', + route: 'theme-pages/faq', + }, + { + displayName: 'Landingpage', + iconName: 'app-window', + route: 'landingpage', + }, + { + displayName: 'Widgets', + iconName: 'layout', + route: 'widgets', + children: [ + { + displayName: 'Cards', + iconName: 'point', + route: 'widgets/cards', + }, + { + displayName: 'Banners', + iconName: 'point', + route: 'widgets/banners', + }, + { + displayName: 'Charts', + iconName: 'point', + route: 'widgets/charts', + }, + ], + }, + { + navCap: 'Forms', + }, + { + displayName: 'Form elements', + iconName: 'apps', + route: 'forms/forms-elements', + children: [ + { + displayName: 'Autocomplete', + iconName: 'point', + route: 'forms/forms-elements/autocomplete', + }, + { + displayName: 'Button', + iconName: 'point', + route: 'forms/forms-elements/button', + }, + { + displayName: 'Checkbox', + iconName: 'point', + route: 'forms/forms-elements/checkbox', + }, + { + displayName: 'Radio', + iconName: 'point', + route: 'forms/forms-elements/radio', + }, + { + displayName: 'Datepicker', + iconName: 'point', + route: 'forms/forms-elements/datepicker', + }, + ], + }, + { + displayName: 'Form Layouts', + iconName: 'file-description', + route: '/forms/form-layouts', + }, + { + displayName: 'Form Horizontal', + iconName: 'box-align-bottom', + route: '/forms/form-horizontal', + }, + { + displayName: 'Form Vertical', + iconName: 'box-align-left', + route: '/forms/form-vertical', + }, + { + displayName: 'Form Wizard', + iconName: 'files', + route: '/forms/form-wizard', + }, + { + displayName: 'Toastr', + iconName: 'notification', + route: '/forms/form-toastr', + }, + { + displayName: 'Editor', + iconName: 'edit', + route: '/forms/form-editor', + chip: true, + chipClass: 'bg-error text-white', + chipContent: 'New', + }, + { + navCap: 'Tables', + }, + { + displayName: 'Tables', + iconName: 'layout', + route: 'tables', + children: [ + { + displayName: 'Basic Table', + iconName: 'point', + route: 'tables/basic-table', + }, + { + displayName: 'Dynamic Table', + iconName: 'point', + route: 'tables/dynamic-table', + }, + { + displayName: 'Expand Table', + iconName: 'point', + route: 'tables/expand-table', + }, + { + displayName: 'Filterable Table', + iconName: 'point', + route: 'tables/filterable-table', + }, + { + displayName: 'Footer Row Table', + iconName: 'point', + route: 'tables/footer-row-table', + }, + { + displayName: 'HTTP Table', + iconName: 'point', + route: 'tables/http-table', + }, + { + displayName: 'Mix Table', + iconName: 'point', + route: 'tables/mix-table', + }, + { + displayName: 'Multi Header Footer', + iconName: 'point', + route: 'tables/multi-header-footer-table', + }, + { + displayName: 'Pagination Table', + iconName: 'point', + route: 'tables/pagination-table', + }, + { + displayName: 'Row Context Table', + iconName: 'point', + route: 'tables/row-context-table', + }, + { + displayName: 'Selection Table', + iconName: 'point', + route: 'tables/selection-table', + }, + { + displayName: 'Sortable Table', + iconName: 'point', + route: 'tables/sortable-table', + }, + { + displayName: 'Sticky Column', + iconName: 'point', + route: 'tables/sticky-column-table', + }, + { + displayName: 'Sticky Header Footer', + iconName: 'point', + route: 'tables/sticky-header-footer-table', + }, + ], + }, + { + displayName: 'Data table', + iconName: 'border-outer', + route: '/datatable/kichen-sink', + }, + { + navCap: 'Chart', + }, + { + displayName: 'Line', + iconName: 'chart-line', + route: '/charts/line', + }, + { + displayName: 'Gredient', + iconName: 'chart-arcs', + route: '/charts/gredient', + }, + { + displayName: 'Area', + iconName: 'chart-area', + route: '/charts/area', + }, + { + displayName: 'Candlestick', + iconName: 'chart-candle', + route: '/charts/candlestick', + }, + { + displayName: 'Column', + iconName: 'chart-dots', + route: '/charts/column', + }, + { + displayName: 'Doughnut & Pie', + iconName: 'chart-donut-3', + route: '/charts/doughnut-pie', + }, + { + displayName: 'Radialbar & Radar', + iconName: 'chart-radar', + route: '/charts/radial-radar', + }, + { + navCap: 'UI', + }, + { + displayName: 'Ui Components', + iconName: 'box', + route: 'ui-components', + children: [ + { + displayName: 'Badge', + iconName: 'point', + route: 'ui-components/badge', + }, + { + displayName: 'Expansion Panel', + iconName: 'point', + route: 'ui-components/expansion', + }, + { + displayName: 'Chips', + iconName: 'point', + route: 'ui-components/chips', + }, + { + displayName: 'Dialog', + iconName: 'point', + route: 'ui-components/dialog', + }, + { + displayName: 'Lists', + iconName: 'point', + route: 'ui-components/lists', + }, + { + displayName: 'Divider', + iconName: 'point', + route: 'ui-components/divider', + }, + { + displayName: 'Menu', + iconName: 'point', + route: 'ui-components/menu', + }, + { + displayName: 'Paginator', + iconName: 'point', + route: 'ui-components/paginator', + }, + { + displayName: 'Progress Bar', + iconName: 'point', + route: 'ui-components/progress', + }, + { + displayName: 'Progress Spinner', + iconName: 'point', + route: 'ui-components/progress-spinner', + }, + { + displayName: 'Ripples', + iconName: 'point', + route: 'ui-components/ripples', + }, + { + displayName: 'Slide Toggle', + iconName: 'point', + route: 'ui-components/slide-toggle', + }, + { + displayName: 'Slider', + iconName: 'point', + route: 'ui-components/slider', + }, + { + displayName: 'Snackbar', + iconName: 'point', + route: 'ui-components/snackbar', + }, + { + displayName: 'Tabs', + iconName: 'point', + route: 'ui-components/tabs', + }, + { + displayName: 'Toolbar', + iconName: 'point', + route: 'ui-components/toolbar', + }, + { + displayName: 'Tooltips', + iconName: 'point', + route: 'ui-components/tooltips', + }, + ], + }, + { + navCap: 'Auth', + }, + { + displayName: 'Login', + iconName: 'login', + route: '/authentication', + children: [ + { + displayName: 'Login 1', + iconName: 'point', + route: '/authentication/login', + }, + { + displayName: 'Boxed Login', + iconName: 'point', + route: '/authentication/boxed-login', + }, + ], + }, + { + displayName: 'Register', + iconName: 'user-plus', + route: '/authentication', + children: [ + { + displayName: 'Side Register', + iconName: 'point', + route: '/authentication/side-register', + }, + { + displayName: 'Boxed Register', + iconName: 'point', + route: '/authentication/boxed-register', + }, + ], + }, + { + displayName: 'Forgot Password', + iconName: 'rotate', + route: '/authentication', + children: [ + { + displayName: 'Side Forgot Password', + iconName: 'point', + route: '/authentication/side-forgot-pwd', + }, + { + displayName: 'Boxed Forgot Password', + iconName: 'point', + route: '/authentication/boxed-forgot-pwd', + }, + ], + }, + { + displayName: 'Two Steps', + iconName: 'zoom-code', + route: '/authentication', + children: [ + { + displayName: 'Side Two Steps', + iconName: 'point', + route: '/authentication/side-two-steps', + }, + { + displayName: 'Boxed Two Steps', + iconName: 'point', + route: '/authentication/boxed-two-steps', + }, + ], + }, + { + displayName: 'Error', + iconName: 'alert-circle', + route: '/authentication/error', + }, + { + displayName: 'Maintenance', + iconName: 'settings', + route: '/authentication/maintenance', + }, + { + navCap: 'Other', + }, + { + displayName: 'Menu Level', + iconName: 'box-multiple', + route: '/menu-level', + children: [ + { + displayName: 'Menu 1', + iconName: 'point', + route: '/menu-1', + children: [ + { + displayName: 'Menu 1', + iconName: 'point', + route: '/menu-1', + }, + + { + displayName: 'Menu 2', + iconName: 'point', + route: '/menu-2', + }, + ], + }, + + { + displayName: 'Menu 2', + iconName: 'point', + route: '/menu-2', + }, + ], + }, + { + displayName: 'Disabled', + iconName: 'ban', + route: '/disabled', + disabled: true, + }, + { + displayName: 'Chip', + iconName: 'mood-smile', + route: '/', + chip: true, + chipClass: 'bg-primary text-white', + chipContent: '9', + }, + { + displayName: 'Outlined', + iconName: 'mood-smile', + route: '/', + chip: true, + chipClass: 'bg-error text-white', + chipContent: 'outlined', + }, + { + displayName: 'External Link', + iconName: 'star', + route: 'https://www.google.com/', + external: true, + }, +]; diff --git a/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.html b/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.html index 34d6b71..23d0903 100755 --- a/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.html +++ b/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.html @@ -1,15 +1,15 @@ -
-
- -
- - @if(showToggle) { - - - - } -
+
+
+ +
+ + @if(showToggle) { + + + + } +
diff --git a/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.ts b/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.ts index c754a30..345dd1f 100755 --- a/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.ts +++ b/Web/src/app/layouts/full/vertical/sidebar/sidebar.component.ts @@ -1,25 +1,25 @@ -import { - Component, - EventEmitter, - Input, - OnInit, - Output, - ViewChild, -} from '@angular/core'; -import { BrandingComponent } from './branding.component'; -import { TablerIconsModule } from 'angular-tabler-icons'; -import { MaterialModule } from '../../../../material.module'; - -@Component({ - selector: 'app-sidebar', - imports: [BrandingComponent, TablerIconsModule, MaterialModule], - templateUrl: './sidebar.component.html' -}) -export class SidebarComponent implements OnInit { - constructor() { } - @Input() showToggle = true; - @Output() toggleMobileNav = new EventEmitter(); - @Output() toggleCollapsed = new EventEmitter(); - - ngOnInit(): void { } +import { + Component, + EventEmitter, + Input, + OnInit, + Output, + ViewChild, +} from '@angular/core'; +import { BrandingComponent } from './branding.component'; +import { TablerIconsModule } from 'angular-tabler-icons'; +import { MaterialModule } from '../../../../material.module'; + +@Component({ + selector: 'app-sidebar', + imports: [BrandingComponent, TablerIconsModule, MaterialModule], + templateUrl: './sidebar.component.html' +}) +export class SidebarComponent implements OnInit { + constructor() { } + @Input() showToggle = true; + @Output() toggleMobileNav = new EventEmitter(); + @Output() toggleCollapsed = new EventEmitter(); + + ngOnInit(): void { } } \ No newline at end of file diff --git a/Web/src/app/material.module.ts b/Web/src/app/material.module.ts index 8fd4750..d181fa8 100755 --- a/Web/src/app/material.module.ts +++ b/Web/src/app/material.module.ts @@ -1,89 +1,89 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -// Material Form Controls -import { MatAutocompleteModule } from '@angular/material/autocomplete'; -import { MatCheckboxModule } from '@angular/material/checkbox'; -import { MatDatepickerModule } from '@angular/material/datepicker'; -import { MatFormFieldModule } from '@angular/material/form-field'; -import { MatInputModule } from '@angular/material/input'; -import { MatRadioModule } from '@angular/material/radio'; -import { MatSelectModule } from '@angular/material/select'; -import { MatSliderModule } from '@angular/material/slider'; -import { MatSlideToggleModule } from '@angular/material/slide-toggle'; -// Material Navigation -import { MatMenuModule } from '@angular/material/menu'; -import { MatSidenavModule } from '@angular/material/sidenav'; -import { MatToolbarModule } from '@angular/material/toolbar'; -// Material Layout -import { MatCardModule } from '@angular/material/card'; -import { MatDividerModule } from '@angular/material/divider'; -import { MatExpansionModule } from '@angular/material/expansion'; -import { MatGridListModule } from '@angular/material/grid-list'; -import { MatListModule } from '@angular/material/list'; -import { MatStepperModule } from '@angular/material/stepper'; -import { MatTabsModule } from '@angular/material/tabs'; -import { MatTreeModule } from '@angular/material/tree'; -// Material Buttons & Indicators -import { MatButtonModule } from '@angular/material/button'; -import { MatButtonToggleModule } from '@angular/material/button-toggle'; -import { MatBadgeModule } from '@angular/material/badge'; -import { MatChipsModule } from '@angular/material/chips'; -import { MatIconModule } from '@angular/material/icon'; -import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; -import { MatProgressBarModule } from '@angular/material/progress-bar'; -import { MatRippleModule } from '@angular/material/core'; -// Material Popups & Modals -import { MatBottomSheetModule } from '@angular/material/bottom-sheet'; -import { MatDialogModule } from '@angular/material/dialog'; -import { MatSnackBarModule } from '@angular/material/snack-bar'; -import { MatTooltipModule } from '@angular/material/tooltip'; -// Material Data tables -import { MatPaginatorModule } from '@angular/material/paginator'; -import { MatSortModule } from '@angular/material/sort'; -import { MatTableModule } from '@angular/material/table'; - -@NgModule({ - declarations: [], - imports: [ - - ], - exports: [ - MatAutocompleteModule, - MatCheckboxModule, - MatDatepickerModule, - MatFormFieldModule, - MatInputModule, - MatRadioModule, - MatSelectModule, - MatSliderModule, - MatSlideToggleModule, - MatMenuModule, - MatSidenavModule, - MatToolbarModule, - MatCardModule, - MatDividerModule, - MatExpansionModule, - MatGridListModule, - MatListModule, - MatStepperModule, - MatTabsModule, - MatTreeModule, - MatButtonModule, - MatButtonToggleModule, - MatBadgeModule, - MatChipsModule, - MatIconModule, - MatProgressSpinnerModule, - MatProgressBarModule, - MatRippleModule, - MatBottomSheetModule, - MatDialogModule, - MatSnackBarModule, - MatTooltipModule, - MatPaginatorModule, - MatSortModule, - MatTableModule, - ], - -}) -export class MaterialModule {} +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +// Material Form Controls +import { MatAutocompleteModule } from '@angular/material/autocomplete'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; +import { MatRadioModule } from '@angular/material/radio'; +import { MatSelectModule } from '@angular/material/select'; +import { MatSliderModule } from '@angular/material/slider'; +import { MatSlideToggleModule } from '@angular/material/slide-toggle'; +// Material Navigation +import { MatMenuModule } from '@angular/material/menu'; +import { MatSidenavModule } from '@angular/material/sidenav'; +import { MatToolbarModule } from '@angular/material/toolbar'; +// Material Layout +import { MatCardModule } from '@angular/material/card'; +import { MatDividerModule } from '@angular/material/divider'; +import { MatExpansionModule } from '@angular/material/expansion'; +import { MatGridListModule } from '@angular/material/grid-list'; +import { MatListModule } from '@angular/material/list'; +import { MatStepperModule } from '@angular/material/stepper'; +import { MatTabsModule } from '@angular/material/tabs'; +import { MatTreeModule } from '@angular/material/tree'; +// Material Buttons & Indicators +import { MatButtonModule } from '@angular/material/button'; +import { MatButtonToggleModule } from '@angular/material/button-toggle'; +import { MatBadgeModule } from '@angular/material/badge'; +import { MatChipsModule } from '@angular/material/chips'; +import { MatIconModule } from '@angular/material/icon'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; +import { MatProgressBarModule } from '@angular/material/progress-bar'; +import { MatRippleModule } from '@angular/material/core'; +// Material Popups & Modals +import { MatBottomSheetModule } from '@angular/material/bottom-sheet'; +import { MatDialogModule } from '@angular/material/dialog'; +import { MatSnackBarModule } from '@angular/material/snack-bar'; +import { MatTooltipModule } from '@angular/material/tooltip'; +// Material Data tables +import { MatPaginatorModule } from '@angular/material/paginator'; +import { MatSortModule } from '@angular/material/sort'; +import { MatTableModule } from '@angular/material/table'; + +@NgModule({ + declarations: [], + imports: [ + + ], + exports: [ + MatAutocompleteModule, + MatCheckboxModule, + MatDatepickerModule, + MatFormFieldModule, + MatInputModule, + MatRadioModule, + MatSelectModule, + MatSliderModule, + MatSlideToggleModule, + MatMenuModule, + MatSidenavModule, + MatToolbarModule, + MatCardModule, + MatDividerModule, + MatExpansionModule, + MatGridListModule, + MatListModule, + MatStepperModule, + MatTabsModule, + MatTreeModule, + MatButtonModule, + MatButtonToggleModule, + MatBadgeModule, + MatChipsModule, + MatIconModule, + MatProgressSpinnerModule, + MatProgressBarModule, + MatRippleModule, + MatBottomSheetModule, + MatDialogModule, + MatSnackBarModule, + MatTooltipModule, + MatPaginatorModule, + MatSortModule, + MatTableModule, + ], + +}) +export class MaterialModule {} diff --git a/Web/src/app/pages/authentication/authentication.routes.ts b/Web/src/app/pages/authentication/authentication.routes.ts index f934795..7a09af2 100755 --- a/Web/src/app/pages/authentication/authentication.routes.ts +++ b/Web/src/app/pages/authentication/authentication.routes.ts @@ -1,60 +1,60 @@ -import { Routes } from '@angular/router'; - -import { AppBoxedForgotPasswordComponent } from './boxed-forgot-password/boxed-forgot-password.component'; -import { AppBoxedLoginComponent } from './boxed-login/boxed-login.component'; -import { AppBoxedRegisterComponent } from './boxed-register/boxed-register.component'; -import { AppBoxedTwoStepsComponent } from './boxed-two-steps/boxed-two-steps.component'; -import { AppErrorComponent } from './error/error.component'; -import { AppMaintenanceComponent } from './maintenance/maintenance.component'; -import { AppSideForgotPasswordComponent } from './side-forgot-password/side-forgot-password.component'; -import { AppSideLoginComponent } from './side-login/side-login.component'; -import { AppSideRegisterComponent } from './side-register/side-register.component'; -import { AppSideTwoStepsComponent } from './side-two-steps/side-two-steps.component'; - -export const AuthenticationRoutes: Routes = [ - { - path: '', - children: [ - { - path: 'boxed-forgot-pwd', - component: AppBoxedForgotPasswordComponent, - }, - { - path: 'boxed-login', - component: AppBoxedLoginComponent, - }, - { - path: 'boxed-register', - component: AppBoxedRegisterComponent, - }, - { - path: 'boxed-two-steps', - component: AppBoxedTwoStepsComponent, - }, - { - path: 'error', - component: AppErrorComponent, - }, - { - path: 'maintenance', - component: AppMaintenanceComponent, - }, - { - path: 'side-forgot-pwd', - component: AppSideForgotPasswordComponent, - }, - { - path: 'login', - component: AppSideLoginComponent, - }, - { - path: 'side-register', - component: AppSideRegisterComponent, - }, - { - path: 'side-two-steps', - component: AppSideTwoStepsComponent, - }, - ], - }, -]; +import { Routes } from '@angular/router'; + +import { AppBoxedForgotPasswordComponent } from './boxed-forgot-password/boxed-forgot-password.component'; +import { AppBoxedLoginComponent } from './boxed-login/boxed-login.component'; +import { AppBoxedRegisterComponent } from './boxed-register/boxed-register.component'; +import { AppBoxedTwoStepsComponent } from './boxed-two-steps/boxed-two-steps.component'; +import { AppErrorComponent } from './error/error.component'; +import { AppMaintenanceComponent } from './maintenance/maintenance.component'; +import { AppSideForgotPasswordComponent } from './side-forgot-password/side-forgot-password.component'; +import { AppSideLoginComponent } from './side-login/side-login.component'; +import { AppSideRegisterComponent } from './side-register/side-register.component'; +import { AppSideTwoStepsComponent } from './side-two-steps/side-two-steps.component'; + +export const AuthenticationRoutes: Routes = [ + { + path: '', + children: [ + { + path: 'boxed-forgot-pwd', + component: AppBoxedForgotPasswordComponent, + }, + { + path: 'boxed-login', + component: AppBoxedLoginComponent, + }, + { + path: 'boxed-register', + component: AppBoxedRegisterComponent, + }, + { + path: 'boxed-two-steps', + component: AppBoxedTwoStepsComponent, + }, + { + path: 'error', + component: AppErrorComponent, + }, + { + path: 'maintenance', + component: AppMaintenanceComponent, + }, + { + path: 'side-forgot-pwd', + component: AppSideForgotPasswordComponent, + }, + { + path: 'login', + component: AppSideLoginComponent, + }, + { + path: 'side-register', + component: AppSideRegisterComponent, + }, + { + path: 'side-two-steps', + component: AppSideTwoStepsComponent, + }, + ], + }, +]; diff --git a/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.html b/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.html index f4f437c..36638f9 100755 --- a/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.html +++ b/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.html @@ -1,53 +1,53 @@ -
-
-
- - -
- -
- Please enter the email address associated with your account and We - will email you a link to reset your password. - -
- Email Adddress - - - @if(f['email'].touched && f['email'].invalid) { - - @if(f['email'].errors && f['email'].errors['required']) { -
Email is required.
- } -
- } -
- - - - Back to Login - - -
-
-
-
-
-
+
+
+
+ + +
+ +
+ Please enter the email address associated with your account and We + will email you a link to reset your password. + +
+ Email Adddress + + + @if(f['email'].touched && f['email'].invalid) { + + @if(f['email'].errors && f['email'].errors['required']) { +
Email is required.
+ } +
+ } +
+ + + + Back to Login + + +
+
+
+
+
+
diff --git a/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.ts b/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.ts index b5bbbed..473170b 100755 --- a/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.ts +++ b/Web/src/app/pages/authentication/boxed-forgot-password/boxed-forgot-password.component.ts @@ -1,44 +1,44 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../../services/core.service'; -import { - FormGroup, - FormControl, - Validators, - FormsModule, - ReactiveFormsModule, -} from '@angular/forms'; -import { Router, RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-boxed-forgot-password', - imports: [ - RouterModule, - MaterialModule, - FormsModule, - ReactiveFormsModule, - BrandingComponent, - ], - templateUrl: './boxed-forgot-password.component.html', -}) -export class AppBoxedForgotPasswordComponent { - options: any; - - constructor(private settings: CoreService, private router: Router) { - this.options = this.settings.getOptions(); - } - - form = new FormGroup({ - email: new FormControl('', [Validators.required]), - }); - - get f() { - return this.form.controls; - } - - submit() { - // console.log(this.form.value); - this.router.navigate(['/dashboards/dashboard1']); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../../services/core.service'; +import { + FormGroup, + FormControl, + Validators, + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { Router, RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-boxed-forgot-password', + imports: [ + RouterModule, + MaterialModule, + FormsModule, + ReactiveFormsModule, + BrandingComponent, + ], + templateUrl: './boxed-forgot-password.component.html', +}) +export class AppBoxedForgotPasswordComponent { + options: any; + + constructor(private settings: CoreService, private router: Router) { + this.options = this.settings.getOptions(); + } + + form = new FormGroup({ + email: new FormControl('', [Validators.required]), + }); + + get f() { + return this.form.controls; + } + + submit() { + // console.log(this.form.value); + this.router.navigate(['/dashboards/dashboard1']); + } +} diff --git a/Web/src/app/pages/authentication/boxed-login/boxed-login.component.html b/Web/src/app/pages/authentication/boxed-login/boxed-login.component.html index 696efff..ea54989 100755 --- a/Web/src/app/pages/authentication/boxed-login/boxed-login.component.html +++ b/Web/src/app/pages/authentication/boxed-login/boxed-login.component.html @@ -1,108 +1,108 @@ -
-
-
- - -
- -
- -
-
- -
-
- -
-
- -
or sign in with
- -
- Username - - - @if(f['uname'].touched && f['uname'].invalid) { - - @if(f['uname'].errors && f['uname'].errors['required']) { -
Name is required.
- } @if(f['uname'].errors && f['uname'].errors['minlength']) { -
Name should be 6 character.
- } -
- } -
- - Password - - - @if(f['password'].touched && f['password'].invalid) { - - @if(f['password'].errors && f['password'].errors['required']) { -
Password is required.
- } -
- } -
- -
- Remember this Device - Forgot Password ? -
- - -
- New to Modernize? - - Create an account - -
-
-
-
-
+
+
+
+ + +
+ +
+ +
+
+ +
+
+ +
+
+ +
or sign in with
+ +
+ Username + + + @if(f['uname'].touched && f['uname'].invalid) { + + @if(f['uname'].errors && f['uname'].errors['required']) { +
Name is required.
+ } @if(f['uname'].errors && f['uname'].errors['minlength']) { +
Name should be 6 character.
+ } +
+ } +
+ + Password + + + @if(f['password'].touched && f['password'].invalid) { + + @if(f['password'].errors && f['password'].errors['required']) { +
Password is required.
+ } +
+ } +
+ +
+ Remember this Device + Forgot Password ? +
+ + +
+ New to Modernize? + + Create an account + +
+
+
+
+
diff --git a/Web/src/app/pages/authentication/boxed-login/boxed-login.component.ts b/Web/src/app/pages/authentication/boxed-login/boxed-login.component.ts index 99a7a18..4c9e79c 100755 --- a/Web/src/app/pages/authentication/boxed-login/boxed-login.component.ts +++ b/Web/src/app/pages/authentication/boxed-login/boxed-login.component.ts @@ -1,45 +1,45 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../../services/core.service'; -import { - FormGroup, - FormControl, - Validators, - FormsModule, - ReactiveFormsModule, -} from '@angular/forms'; -import { Router, RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-boxed-login', - imports: [ - RouterModule, - MaterialModule, - FormsModule, - ReactiveFormsModule, - BrandingComponent, - ], - templateUrl: './boxed-login.component.html', -}) -export class AppBoxedLoginComponent { - options: any; - - constructor(private settings: CoreService, private router: Router) { - this.options = this.settings.getOptions(); - } - - form = new FormGroup({ - uname: new FormControl('', [Validators.required, Validators.minLength(6)]), - password: new FormControl('', [Validators.required]), - }); - - get f() { - return this.form.controls; - } - - submit() { - // console.log(this.form.value); - this.router.navigate(['/dashboards/dashboard1']); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../../services/core.service'; +import { + FormGroup, + FormControl, + Validators, + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { Router, RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-boxed-login', + imports: [ + RouterModule, + MaterialModule, + FormsModule, + ReactiveFormsModule, + BrandingComponent, + ], + templateUrl: './boxed-login.component.html', +}) +export class AppBoxedLoginComponent { + options: any; + + constructor(private settings: CoreService, private router: Router) { + this.options = this.settings.getOptions(); + } + + form = new FormGroup({ + uname: new FormControl('', [Validators.required, Validators.minLength(6)]), + password: new FormControl('', [Validators.required]), + }); + + get f() { + return this.form.controls; + } + + submit() { + // console.log(this.form.value); + this.router.navigate(['/dashboards/dashboard1']); + } +} diff --git a/Web/src/app/pages/authentication/boxed-register/boxed-register.component.html b/Web/src/app/pages/authentication/boxed-register/boxed-register.component.html index 9519c2a..f8305fa 100755 --- a/Web/src/app/pages/authentication/boxed-register/boxed-register.component.html +++ b/Web/src/app/pages/authentication/boxed-register/boxed-register.component.html @@ -1,112 +1,112 @@ -
-
-
- - -
- -
- -
-
- -
-
- -
-
- -
or sign up with
- -
- Name - - - @if(f['uname'].touched && f['uname'].invalid) { - - @if(f['uname'].errors && f['uname'].errors['required']) { -
Name is required.
- } @if(f['uname'].errors && f['uname'].errors['minlength']) { -
Name should be 6 character.
- } -
- } -
- Email Adddress - - - @if(f['email'].touched && f['email'].invalid) { - - @if(f['email'].errors && f['email'].errors['required']) { -
Email is required.
- } -
- } -
- - Password - - - @if(f['password'].touched && f['password'].invalid) { - - @if(f['password'].errors && f['password'].errors['required']) { -
Password is required.
- } -
- } -
- - - -
- Already have an Account? - - - Sign In - -
-
-
-
-
+
+
+
+ + +
+ +
+ +
+
+ +
+
+ +
+
+ +
or sign up with
+ +
+ Name + + + @if(f['uname'].touched && f['uname'].invalid) { + + @if(f['uname'].errors && f['uname'].errors['required']) { +
Name is required.
+ } @if(f['uname'].errors && f['uname'].errors['minlength']) { +
Name should be 6 character.
+ } +
+ } +
+ Email Adddress + + + @if(f['email'].touched && f['email'].invalid) { + + @if(f['email'].errors && f['email'].errors['required']) { +
Email is required.
+ } +
+ } +
+ + Password + + + @if(f['password'].touched && f['password'].invalid) { + + @if(f['password'].errors && f['password'].errors['required']) { +
Password is required.
+ } +
+ } +
+ + + +
+ Already have an Account? + + + Sign In + +
+
+
+
+
diff --git a/Web/src/app/pages/authentication/boxed-register/boxed-register.component.ts b/Web/src/app/pages/authentication/boxed-register/boxed-register.component.ts index ea93381..1344fa7 100755 --- a/Web/src/app/pages/authentication/boxed-register/boxed-register.component.ts +++ b/Web/src/app/pages/authentication/boxed-register/boxed-register.component.ts @@ -1,46 +1,46 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../../services/core.service'; -import { - FormGroup, - FormControl, - Validators, - FormsModule, - ReactiveFormsModule, -} from '@angular/forms'; -import { Router, RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-boxed-register', - imports: [ - RouterModule, - MaterialModule, - FormsModule, - BrandingComponent, - ReactiveFormsModule, - ], - templateUrl: './boxed-register.component.html', -}) -export class AppBoxedRegisterComponent { - options: any; - - constructor(private settings: CoreService, private router: Router) { - this.options = this.settings.getOptions(); - } - - form = new FormGroup({ - uname: new FormControl('', [Validators.required, Validators.minLength(6)]), - email: new FormControl('', [Validators.required]), - password: new FormControl('', [Validators.required]), - }); - - get f() { - return this.form.controls; - } - - submit() { - // console.log(this.form.value); - this.router.navigate(['/dashboards/dashboard1']); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../../services/core.service'; +import { + FormGroup, + FormControl, + Validators, + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { Router, RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-boxed-register', + imports: [ + RouterModule, + MaterialModule, + FormsModule, + BrandingComponent, + ReactiveFormsModule, + ], + templateUrl: './boxed-register.component.html', +}) +export class AppBoxedRegisterComponent { + options: any; + + constructor(private settings: CoreService, private router: Router) { + this.options = this.settings.getOptions(); + } + + form = new FormGroup({ + uname: new FormControl('', [Validators.required, Validators.minLength(6)]), + email: new FormControl('', [Validators.required]), + password: new FormControl('', [Validators.required]), + }); + + get f() { + return this.form.controls; + } + + submit() { + // console.log(this.form.value); + this.router.navigate(['/dashboards/dashboard1']); + } +} diff --git a/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.html b/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.html index 577b48e..43b58ba 100755 --- a/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.html +++ b/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.html @@ -1,101 +1,101 @@ -
-
-
- - -
- -
- We sent a verification code to your mobile. Enter the code from the - mobile in the field below. - ******1234 - -
- Type your 6 digits security code -
-
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - Verify My Account - - -
- Didn't get the code? - Resend - -
-
-
-
-
+
+
+
+ + +
+ +
+ We sent a verification code to your mobile. Enter the code from the + mobile in the field below. + ******1234 + +
+ Type your 6 digits security code +
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + Verify My Account + + +
+ Didn't get the code? + Resend + +
+
+
+
+
diff --git a/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.ts b/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.ts index 018fbcc..e1f131d 100755 --- a/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.ts +++ b/Web/src/app/pages/authentication/boxed-two-steps/boxed-two-steps.component.ts @@ -1,18 +1,18 @@ -import { Component } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { CoreService } from '../../../services/core.service'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-boxed-two-steps', - imports: [RouterModule, MaterialModule, BrandingComponent], - templateUrl: './boxed-two-steps.component.html' -}) -export class AppBoxedTwoStepsComponent { - options; - - constructor(private settings: CoreService) { - this.options = this.settings.getOptions(); - } -} +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { CoreService } from '../../../services/core.service'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-boxed-two-steps', + imports: [RouterModule, MaterialModule, BrandingComponent], + templateUrl: './boxed-two-steps.component.html' +}) +export class AppBoxedTwoStepsComponent { + options; + + constructor(private settings: CoreService) { + this.options = this.settings.getOptions(); + } +} diff --git a/Web/src/app/pages/authentication/error/error.component.html b/Web/src/app/pages/authentication/error/error.component.html index 97e4f88..83c48fa 100755 --- a/Web/src/app/pages/authentication/error/error.component.html +++ b/Web/src/app/pages/authentication/error/error.component.html @@ -1,10 +1,10 @@ -
-
-
- error-bg -

Opps!!!

-
This page you are looking for could not be found.
- Go back to Home -
-
-
+
+
+
+ error-bg +

Opps!!!

+
This page you are looking for could not be found.
+ Go back to Home +
+
+
diff --git a/Web/src/app/pages/authentication/error/error.component.ts b/Web/src/app/pages/authentication/error/error.component.ts index 08c3d9c..a3b7ac1 100755 --- a/Web/src/app/pages/authentication/error/error.component.ts +++ b/Web/src/app/pages/authentication/error/error.component.ts @@ -1,11 +1,11 @@ -import { Component } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { MatButtonModule } from '@angular/material/button'; - -@Component({ - selector: 'app-error', - imports: [RouterModule, MaterialModule, MatButtonModule], - templateUrl: './error.component.html' -}) -export class AppErrorComponent {} +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { MatButtonModule } from '@angular/material/button'; + +@Component({ + selector: 'app-error', + imports: [RouterModule, MaterialModule, MatButtonModule], + templateUrl: './error.component.html' +}) +export class AppErrorComponent {} diff --git a/Web/src/app/pages/authentication/maintenance/maintenance.component.html b/Web/src/app/pages/authentication/maintenance/maintenance.component.html index 835af6d..245fb53 100755 --- a/Web/src/app/pages/authentication/maintenance/maintenance.component.html +++ b/Web/src/app/pages/authentication/maintenance/maintenance.component.html @@ -1,11 +1,11 @@ -
-
-
- error-bg -

Maintenance Mode!!!

-
Website is Under Construction. Check back later!
- Go back to Home -
-
-
+
+
+
+ error-bg +

Maintenance Mode!!!

+
Website is Under Construction. Check back later!
+ Go back to Home +
+
+
\ No newline at end of file diff --git a/Web/src/app/pages/authentication/maintenance/maintenance.component.ts b/Web/src/app/pages/authentication/maintenance/maintenance.component.ts index f3725da..1c2dc2a 100755 --- a/Web/src/app/pages/authentication/maintenance/maintenance.component.ts +++ b/Web/src/app/pages/authentication/maintenance/maintenance.component.ts @@ -1,11 +1,11 @@ -import { Component } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { MatButtonModule } from '@angular/material/button'; - -@Component({ - selector: 'app-maintenance', - imports: [RouterModule, MaterialModule, MatButtonModule], - templateUrl: './maintenance.component.html', -}) -export class AppMaintenanceComponent {} +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { MatButtonModule } from '@angular/material/button'; + +@Component({ + selector: 'app-maintenance', + imports: [RouterModule, MaterialModule, MatButtonModule], + templateUrl: './maintenance.component.html', +}) +export class AppMaintenanceComponent {} diff --git a/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.html b/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.html index 8bc5f5d..94cae8f 100755 --- a/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.html +++ b/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.html @@ -1,72 +1,72 @@ -
-
-
-
- - -
- login -
-
-
-
-
-
-
-

Forgot your password?

- Please enter the email address associated with your account and - We will email you a link to reset your password. - -
- Email Adddress - - - @if(f['email'].touched && f['email'].invalid) { - - @if(f['email'].errors && f['email'].errors['required']) { -
Email is required.
- } -
- } -
- - - - Back to Login - - -
-
-
-
-
-
-
+
+
+
+
+ + +
+ login +
+
+
+
+
+
+
+

Forgot your password?

+ Please enter the email address associated with your account and + We will email you a link to reset your password. + +
+ Email Adddress + + + @if(f['email'].touched && f['email'].invalid) { + + @if(f['email'].errors && f['email'].errors['required']) { +
Email is required.
+ } +
+ } +
+ + + + Back to Login + + +
+
+
+
+
+
+
diff --git a/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.ts b/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.ts index d52cdcd..7284839 100755 --- a/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.ts +++ b/Web/src/app/pages/authentication/side-forgot-password/side-forgot-password.component.ts @@ -1,44 +1,44 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../../services/core.service'; -import { - FormGroup, - FormControl, - Validators, - FormsModule, - ReactiveFormsModule, -} from '@angular/forms'; -import { Router, RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-side-forgot-password', - imports: [ - RouterModule, - MaterialModule, - FormsModule, - ReactiveFormsModule, - BrandingComponent, - ], - templateUrl: './side-forgot-password.component.html', -}) -export class AppSideForgotPasswordComponent { - options: any; - - constructor(private settings: CoreService, private router: Router) { - this.options = this.settings.getOptions(); - } - - form = new FormGroup({ - email: new FormControl('', [Validators.required]), - }); - - get f() { - return this.form.controls; - } - - submit() { - // console.log(this.form.value); - this.router.navigate(['/dashboards/dashboard1']); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../../services/core.service'; +import { + FormGroup, + FormControl, + Validators, + FormsModule, + ReactiveFormsModule, +} from '@angular/forms'; +import { Router, RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-side-forgot-password', + imports: [ + RouterModule, + MaterialModule, + FormsModule, + ReactiveFormsModule, + BrandingComponent, + ], + templateUrl: './side-forgot-password.component.html', +}) +export class AppSideForgotPasswordComponent { + options: any; + + constructor(private settings: CoreService, private router: Router) { + this.options = this.settings.getOptions(); + } + + form = new FormGroup({ + email: new FormControl('', [Validators.required]), + }); + + get f() { + return this.form.controls; + } + + submit() { + // console.log(this.form.value); + this.router.navigate(['/dashboards/dashboard1']); + } +} diff --git a/Web/src/app/pages/authentication/side-login/side-login.component.html b/Web/src/app/pages/authentication/side-login/side-login.component.html index 2137e78..024758b 100755 --- a/Web/src/app/pages/authentication/side-login/side-login.component.html +++ b/Web/src/app/pages/authentication/side-login/side-login.component.html @@ -1,138 +1,138 @@ -
-
-
-
- - -
- login -
-
-
-
-
-
-
-

Welcome to Modernize

- Your Admin Dashboard - -
-
- -
-
- -
-
- -
or sign in with
- -
- Username - - - @if(f['uname'].touched && f['uname'].invalid) { - - @if(f['uname'].errors && f['uname'].errors['required']) { -
Name is required.
- } @if(f['uname'].errors && f['uname'].errors['minlength']) { -
Name should be 6 character.
- } -
- } -
- - - Password - - - @if(f['password'].touched && f['password'].invalid) { - - @if( f['password'].errors && f['password'].errors['required']) - { -
Password is required.
- } -
- } -
- -
- Remember this Device - Forgot Password ? -
- - -
- New to Modernize? - - Create an account - -
-
-
-
-
-
+
+
+
+
+ + +
+ login +
+
+
+
+
+
+
+

Welcome to Modernize

+ Your Admin Dashboard + +
+
+ +
+
+ +
+
+ +
or sign in with
+ +
+ Username + + + @if(f['uname'].touched && f['uname'].invalid) { + + @if(f['uname'].errors && f['uname'].errors['required']) { +
Name is required.
+ } @if(f['uname'].errors && f['uname'].errors['minlength']) { +
Name should be 6 character.
+ } +
+ } +
+ + + Password + + + @if(f['password'].touched && f['password'].invalid) { + + @if( f['password'].errors && f['password'].errors['required']) + { +
Password is required.
+ } +
+ } +
+ +
+ Remember this Device + Forgot Password ? +
+ + +
+ New to Modernize? + + Create an account + +
+
+
+
+
+
diff --git a/Web/src/app/pages/authentication/side-login/side-login.component.ts b/Web/src/app/pages/authentication/side-login/side-login.component.ts index 4063996..79e1b5a 100755 --- a/Web/src/app/pages/authentication/side-login/side-login.component.ts +++ b/Web/src/app/pages/authentication/side-login/side-login.component.ts @@ -1,33 +1,33 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../../services/core.service'; -import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { Router, RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-side-login', - imports: [RouterModule, MaterialModule, FormsModule, ReactiveFormsModule, BrandingComponent], - templateUrl: './side-login.component.html' -}) -export class AppSideLoginComponent { - options: any; - - constructor(private settings: CoreService, private router: Router) { - this.options = this.settings.getOptions(); - } - - form = new FormGroup({ - uname: new FormControl('', [Validators.required, Validators.minLength(6)]), - password: new FormControl('', [Validators.required]), - }); - - get f() { - return this.form.controls; - } - - submit() { - // console.log(this.form.value); - this.router.navigate(['/dashboards/dashboard1']); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../../services/core.service'; +import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { Router, RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-side-login', + imports: [RouterModule, MaterialModule, FormsModule, ReactiveFormsModule, BrandingComponent], + templateUrl: './side-login.component.html' +}) +export class AppSideLoginComponent { + options: any; + + constructor(private settings: CoreService, private router: Router) { + this.options = this.settings.getOptions(); + } + + form = new FormGroup({ + uname: new FormControl('', [Validators.required, Validators.minLength(6)]), + password: new FormControl('', [Validators.required]), + }); + + get f() { + return this.form.controls; + } + + submit() { + // console.log(this.form.value); + this.router.navigate(['/dashboards/dashboard1']); + } +} diff --git a/Web/src/app/pages/authentication/side-register/side-register.component.html b/Web/src/app/pages/authentication/side-register/side-register.component.html index 1d99c95..0adf3c2 100755 --- a/Web/src/app/pages/authentication/side-register/side-register.component.html +++ b/Web/src/app/pages/authentication/side-register/side-register.component.html @@ -1,146 +1,146 @@ -
-
-
-
- - -
- login -
-
-
-
-
-
-
-

Welcome to Modernize

- Your Admin Dashboard - -
-
- -
-
- -
-
- -
or sign up with
- -
- Name - - - @if(f['uname'].touched && f['uname'].invalid) { - - @if(f['uname'].errors && f['uname'].errors['required']) { -
Name is required.
- } @if(f['uname'].errors && f['uname'].errors['minlength']) { -
Name should be 6 character.
- } -
- } -
- - Email Address - - - @if(f['email'].touched && f['email'].invalid) { - - @if(f['email'].errors && f['email'].errors['required']) { -
Email is required.
- } -
- } -
- - Password - - - @if(f['password'].touched && f['password'].invalid) { - - @if( f['password'].errors && f['password'].errors['required']) - { -
Password is required.
- } -
- } -
- - - -
- Already have an Account? - - - Sign In - -
-
-
-
-
-
+
+
+
+
+ + +
+ login +
+
+
+
+
+
+
+

Welcome to Modernize

+ Your Admin Dashboard + +
+
+ +
+
+ +
+
+ +
or sign up with
+ +
+ Name + + + @if(f['uname'].touched && f['uname'].invalid) { + + @if(f['uname'].errors && f['uname'].errors['required']) { +
Name is required.
+ } @if(f['uname'].errors && f['uname'].errors['minlength']) { +
Name should be 6 character.
+ } +
+ } +
+ + Email Address + + + @if(f['email'].touched && f['email'].invalid) { + + @if(f['email'].errors && f['email'].errors['required']) { +
Email is required.
+ } +
+ } +
+ + Password + + + @if(f['password'].touched && f['password'].invalid) { + + @if( f['password'].errors && f['password'].errors['required']) + { +
Password is required.
+ } +
+ } +
+ + + +
+ Already have an Account? + + + Sign In + +
+
+
+
+
+
diff --git a/Web/src/app/pages/authentication/side-register/side-register.component.ts b/Web/src/app/pages/authentication/side-register/side-register.component.ts index f188aa2..a8277b5 100755 --- a/Web/src/app/pages/authentication/side-register/side-register.component.ts +++ b/Web/src/app/pages/authentication/side-register/side-register.component.ts @@ -1,34 +1,34 @@ -import { Component } from '@angular/core'; -import { CoreService } from '../../../services/core.service'; -import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms'; -import { Router, RouterModule } from '@angular/router'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-side-register', - imports: [RouterModule, MaterialModule, FormsModule, ReactiveFormsModule, BrandingComponent], - templateUrl: './side-register.component.html' -}) -export class AppSideRegisterComponent { - options: any; - - constructor(private settings: CoreService, private router: Router) { - this.options = this.settings.getOptions(); - } - - form = new FormGroup({ - uname: new FormControl('', [Validators.required, Validators.minLength(6)]), - email: new FormControl('', [Validators.required]), - password: new FormControl('', [Validators.required]), - }); - - get f() { - return this.form.controls; - } - - submit() { - // console.log(this.form.value); - this.router.navigate(['/dashboards/dashboard1']); - } -} +import { Component } from '@angular/core'; +import { CoreService } from '../../../services/core.service'; +import { FormGroup, FormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { Router, RouterModule } from '@angular/router'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-side-register', + imports: [RouterModule, MaterialModule, FormsModule, ReactiveFormsModule, BrandingComponent], + templateUrl: './side-register.component.html' +}) +export class AppSideRegisterComponent { + options: any; + + constructor(private settings: CoreService, private router: Router) { + this.options = this.settings.getOptions(); + } + + form = new FormGroup({ + uname: new FormControl('', [Validators.required, Validators.minLength(6)]), + email: new FormControl('', [Validators.required]), + password: new FormControl('', [Validators.required]), + }); + + get f() { + return this.form.controls; + } + + submit() { + // console.log(this.form.value); + this.router.navigate(['/dashboards/dashboard1']); + } +} diff --git a/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.html b/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.html index 60950fb..e25f3c5 100755 --- a/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.html +++ b/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.html @@ -1,114 +1,114 @@ -
-
-
-
- - -
- login -
-
-
-
-
-
-

Two Step Verification

- We sent a verification code to your mobile. Enter the code from the - mobile in the field below. - ******1234 - -
- Type your 6 digits security code -
-
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - -
-
- - - Verify My Account - - -
- Didn't get the code? - Resend - -
-
-
-
-
+
+
+
+
+ + +
+ login +
+
+
+
+
+
+

Two Step Verification

+ We sent a verification code to your mobile. Enter the code from the + mobile in the field below. + ******1234 + +
+ Type your 6 digits security code +
+
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + Verify My Account + + +
+ Didn't get the code? + Resend + +
+
+
+
+
diff --git a/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.ts b/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.ts index 6e6d483..889f9d2 100755 --- a/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.ts +++ b/Web/src/app/pages/authentication/side-two-steps/side-two-steps.component.ts @@ -1,18 +1,18 @@ -import { Component } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { CoreService } from '../../../services/core.service'; -import { MaterialModule } from '../../../material.module'; -import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; - -@Component({ - selector: 'app-side-two-steps', - imports: [RouterModule, MaterialModule, BrandingComponent], - templateUrl: './side-two-steps.component.html', -}) -export class AppSideTwoStepsComponent { - options: any; - - constructor(private settings: CoreService) { - this.options = this.settings.getOptions(); - } -} +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { CoreService } from '../../../services/core.service'; +import { MaterialModule } from '../../../material.module'; +import { BrandingComponent } from '../../../layouts/full/vertical/sidebar/branding.component'; + +@Component({ + selector: 'app-side-two-steps', + imports: [RouterModule, MaterialModule, BrandingComponent], + templateUrl: './side-two-steps.component.html', +}) +export class AppSideTwoStepsComponent { + options: any; + + constructor(private settings: CoreService) { + this.options = this.settings.getOptions(); + } +} diff --git a/Web/src/app/pages/front-pages/about-us/about-us.component.html b/Web/src/app/pages/front-pages/about-us/about-us.component.html index 0fef605..ae86794 100755 --- a/Web/src/app/pages/front-pages/about-us/about-us.component.html +++ b/Web/src/app/pages/front-pages/about-us/about-us.component.html @@ -1,169 +1,169 @@ -
- - -
-
-

- The hassle-free setup process -

-
- @for(topcard of setupCards; track topcard.title) { -
- - -
- @if(topcard.id!==2){ - users - } - -
- {{ topcard.title }} -
-

- {{ topcard.subtitle }} -

- @if(topcard.id===2){ - image - } -
-
-
-
- } -
-
-
- - - -
-
-
-
-
-

Key metric at a glance

-

- From the year we were founded to the impressive customer base - we've built, and the growth percentages that reflect our - continuous improvement, these numbers tell our story at a glance. - Explore the data that drives our mission and underscores our - commitment to excellence. -

-
-
-
-
- @for (stat of stats; track stat) { -
-
-

- {{ stat.label }} -

-

- {{ stat.value }} -

-

{{ stat.description }}

-
-
- } -
-
-
-
-
- -
- -
- -
-
-
- -
-
-

- What our clients
think logo - about us? -

-

- Our users' feedback is a testament to our commitment to quality - and user satisfaction. Read what they have to say about their - journey with us. -

-
-
-
- - - Features availability - -
-
- -
-
{{ currentUser().name }}
-
- -

- Our users' feedback is a testament to our commitment to quality - and user satisfaction. Read what they have to say about their - journey with us. -

- - - -
- - - {{ displayCount() }} - - -
-
-
-
-
-
-
- - - +
+ + +
+
+

+ The hassle-free setup process +

+
+ @for(topcard of setupCards; track topcard.title) { +
+ + +
+ @if(topcard.id!==2){ + users + } + +
+ {{ topcard.title }} +
+

+ {{ topcard.subtitle }} +

+ @if(topcard.id===2){ + image + } +
+
+
+
+ } +
+
+
+ + + +
+
+
+
+
+

Key metric at a glance

+

+ From the year we were founded to the impressive customer base + we've built, and the growth percentages that reflect our + continuous improvement, these numbers tell our story at a glance. + Explore the data that drives our mission and underscores our + commitment to excellence. +

+
+
+
+
+ @for (stat of stats; track stat) { +
+
+

+ {{ stat.label }} +

+

+ {{ stat.value }} +

+

{{ stat.description }}

+
+
+ } +
+
+
+
+
+ +
+ +
+ +
+
+
+ +
+
+

+ What our clients
think logo + about us? +

+

+ Our users' feedback is a testament to our commitment to quality + and user satisfaction. Read what they have to say about their + journey with us. +

+
+
+
+ + + Features availability + +
+
+ +
+
{{ currentUser().name }}
+
+ +

+ Our users' feedback is a testament to our commitment to quality + and user satisfaction. Read what they have to say about their + journey with us. +

+ + + +
+ + + {{ displayCount() }} + + +
+
+
+
+
+
+
+ + +
\ No newline at end of file diff --git a/Web/src/app/pages/front-pages/about-us/about-us.component.scss b/Web/src/app/pages/front-pages/about-us/about-us.component.scss index e5e27d5..7fddfb9 100755 --- a/Web/src/app/pages/front-pages/about-us/about-us.component.scss +++ b/Web/src/app/pages/front-pages/about-us/about-us.component.scss @@ -1,23 +1,23 @@ -.contact-page { - - .setup-process { - - mat-card-content { - padding: 0px !important; - padding: 30px 16px !important; - } - } - - .key-metric { - box-shadow: 0px 6px 12px rgba(127, 145, 156, 0.12); - } - - .features { - - .cardWithShadow { - mat-card-content { - padding: 0px !important; - } - } - } +.contact-page { + + .setup-process { + + mat-card-content { + padding: 0px !important; + padding: 30px 16px !important; + } + } + + .key-metric { + box-shadow: 0px 6px 12px rgba(127, 145, 156, 0.12); + } + + .features { + + .cardWithShadow { + mat-card-content { + padding: 0px !important; + } + } + } } \ No newline at end of file diff --git a/Web/src/app/pages/front-pages/about-us/about-us.component.spec.ts b/Web/src/app/pages/front-pages/about-us/about-us.component.spec.ts index 0d075ce..19f1c74 100755 --- a/Web/src/app/pages/front-pages/about-us/about-us.component.spec.ts +++ b/Web/src/app/pages/front-pages/about-us/about-us.component.spec.ts @@ -1,23 +1,23 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AboutUsComponent } from './about-us.component'; - -describe('AboutUsComponent', () => { - let component: AboutUsComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [AboutUsComponent] - }) - .compileComponents(); - - fixture = TestBed.createComponent(AboutUsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AboutUsComponent } from './about-us.component'; + +describe('AboutUsComponent', () => { + let component: AboutUsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [AboutUsComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(AboutUsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Web/src/app/pages/front-pages/about-us/about-us.component.ts b/Web/src/app/pages/front-pages/about-us/about-us.component.ts index 5fbdc54..193d6b1 100755 --- a/Web/src/app/pages/front-pages/about-us/about-us.component.ts +++ b/Web/src/app/pages/front-pages/about-us/about-us.component.ts @@ -1,48 +1,48 @@ -import { Component, computed, signal } from '@angular/core'; -import { IconModule } from '../../../icon/icon.module'; -import { MaterialModule } from '../../../material.module'; -import { ImageSliderComponent } from '../image-slider/image-slider.component'; -import { FooterComponent } from '../footer/footer.component'; -//import { PagePricingComponent } from '../page-pricing/page-pricing.component'; -import { - setupCards, - stats, - users, -} from '../front-pagesData'; -import { CommonModule } from '@angular/common'; - -@Component({ - selector: 'app-about-us', - imports: [IconModule,MaterialModule ,CommonModule,ImageSliderComponent,FooterComponent, - //PagePricingComponent - ], - templateUrl: './about-us.component.html', - styleUrl: './about-us.component.scss' -}) -export class AboutUsComponent { - setupCards=setupCards; - stats = stats; - currentIndex = signal(0); // Starting from 0 - users = users; - // Computed values to auto-update template - currentUser = computed(() => this.users[this.currentIndex()]); - displayCount = computed( - () => `${this.currentIndex() + 1}/${this.users.length}` - ); - goPrev() { - if (this.currentIndex() > 0) { - this.currentIndex.update((i) => i - 1); - } - } - - goNext() { - if (this.currentIndex() < this.users.length - 1) { - this.currentIndex.update((i) => i + 1); - } - - - } - - - -} +import { Component, computed, signal } from '@angular/core'; +import { IconModule } from '../../../icon/icon.module'; +import { MaterialModule } from '../../../material.module'; +import { ImageSliderComponent } from '../image-slider/image-slider.component'; +import { FooterComponent } from '../footer/footer.component'; +//import { PagePricingComponent } from '../page-pricing/page-pricing.component'; +import { + setupCards, + stats, + users, +} from '../front-pagesData'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-about-us', + imports: [IconModule,MaterialModule ,CommonModule,ImageSliderComponent,FooterComponent, + //PagePricingComponent + ], + templateUrl: './about-us.component.html', + styleUrl: './about-us.component.scss' +}) +export class AboutUsComponent { + setupCards=setupCards; + stats = stats; + currentIndex = signal(0); // Starting from 0 + users = users; + // Computed values to auto-update template + currentUser = computed(() => this.users[this.currentIndex()]); + displayCount = computed( + () => `${this.currentIndex() + 1}/${this.users.length}` + ); + goPrev() { + if (this.currentIndex() > 0) { + this.currentIndex.update((i) => i - 1); + } + } + + goNext() { + if (this.currentIndex() < this.users.length - 1) { + this.currentIndex.update((i) => i + 1); + } + + + } + + + +} diff --git a/Web/src/app/pages/front-pages/blog-details/blog-details.component.html b/Web/src/app/pages/front-pages/blog-details/blog-details.component.html index a0f3108..6ecab46 100755 --- a/Web/src/app/pages/front-pages/blog-details/blog-details.component.html +++ b/Web/src/app/pages/front-pages/blog-details/blog-details.component.html @@ -1,116 +1,116 @@ - - -
-
- - - - @if(blogDetail()) { - - Photo of a Shiba Inu -
- 2 mins Read -
- -
-
- -
- {{ - blogDetail()?.category }} -
- - {{ - blogDetail()?.title }} - -
-
- {{ - blogDetail()?.views }} - 4 -
- - - {{ blogDetail()?.date }} - -
-
- -

Main Heading & Points

-

- Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the - industry's standard dummy text ever since - the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It - has survived not only five centuries, - but also the leap into electronic typesetting, - remaining essentially unchanged. It was popularised in the -

-
    -
  • Vivamus eu lacus scelerisque, placerat commodo lectus.
  • -
  • Etiam et ante at ex porta fringilla.
  • -
  • Nullam dignissim sem eu magna aliquet, sit amet volutpat tellus
  • -
-

- Unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not - only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was - popularised in the -

- -

- We are a dedicated team of passionate product managers, developers, UX/UI designers, QA engineers experts - helping businesses from new startups -

- -

- There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in - some form, by injected humour, or randomised words which don't look even slightly believable making this the - first true generator on the Internet. It uses a dictionary -

- -

Tags

-
    -
  • Trends
  • -
  • Design
  • -
  • Research
  • -
- - -

Share

- - - -

Join our newsletter

-

Email address : Subscribe

-
-
- } - - - - - - @if (!blogDetail() || blogDetail().length === 0) { - - -

No blog post available.

-
-
- } -
-
- -