diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 23f0a25578..0000000000 --- a/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -coverage -dist -.idea -.vscode diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 2c750c847c..0000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,338 +0,0 @@ -const restrictedGlobals = require('confusing-browser-globals'); - -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - plugins: [ - '@stylistic', - '@typescript-eslint', - 'react', - 'import', - 'sonarjs' - ], - env: { - node: true, - es6: true, - es2017: true, - es2020: true - }, - extends: [ - 'eslint:recommended', - 'plugin:react/recommended', - 'plugin:import/errors', - 'plugin:@eslint-community/eslint-comments/recommended', - 'plugin:compat/recommended', - 'plugin:sonarjs/recommended' - ], - rules: { - 'array-callback-return': ['error', { 'checkForEach': true }], - 'curly': ['error', 'multi-line', 'consistent'], - 'default-case-last': ['error'], - 'max-params': ['error', 7], - 'new-cap': [ - 'error', - { - 'capIsNewExceptions': ['jQuery.Deferred'], - 'newIsCapExceptionPattern': '\\.default$' - } - ], - 'no-duplicate-imports': ['error'], - 'no-empty-function': ['error'], - 'no-extend-native': ['error'], - 'no-lonely-if': ['error'], - 'no-nested-ternary': ['error'], - 'no-redeclare': ['off'], - '@typescript-eslint/no-redeclare': ['error', { builtinGlobals: false }], - 'no-restricted-globals': ['error'].concat(restrictedGlobals), - 'no-return-assign': ['error'], - 'no-return-await': ['error'], - 'no-sequences': ['error', { 'allowInParentheses': false }], - 'no-shadow': ['off'], - '@typescript-eslint/no-shadow': ['error'], - 'no-throw-literal': ['error'], - 'no-undef-init': ['error'], - 'no-unneeded-ternary': ['error'], - 'no-unused-expressions': ['off'], - '@typescript-eslint/no-unused-expressions': ['error', { 'allowShortCircuit': true, 'allowTernary': true, 'allowTaggedTemplates': true }], - 'no-unused-private-class-members': ['error'], - 'no-useless-rename': ['error'], - 'no-useless-constructor': ['off'], - '@typescript-eslint/no-useless-constructor': ['error'], - 'no-var': ['error'], - 'no-void': ['error', { 'allowAsStatement': true }], - 'no-warning-comments': ['warn', { 'terms': ['fixme', 'hack', 'xxx'] }], - 'one-var': ['error', 'never'], - 'prefer-const': ['error', { 'destructuring': 'all' }], - 'prefer-promise-reject-errors': ['warn', { 'allowEmptyReject': true }], - '@typescript-eslint/prefer-for-of': ['error'], - 'radix': ['error'], - 'yoda': 'error', - - 'react/jsx-filename-extension': ['error', { 'extensions': ['.jsx', '.tsx'] }], - 'react/jsx-no-bind': ['error'], - 'react/jsx-no-useless-fragment': ['error'], - 'react/jsx-no-constructed-context-values': ['error'], - 'react/no-array-index-key': ['error'], - - 'sonarjs/no-inverted-boolean-check': ['error'], - // TODO: Enable the following rules and fix issues - 'sonarjs/cognitive-complexity': ['off'], - 'sonarjs/no-duplicate-string': ['off'], - - '@stylistic/block-spacing': ['error'], - '@stylistic/brace-style': ['error', '1tbs', { 'allowSingleLine': true }], - '@stylistic/comma-dangle': ['error', 'never'], - '@stylistic/comma-spacing': ['error'], - '@stylistic/eol-last': ['error'], - '@stylistic/indent': ['error', 4, { 'SwitchCase': 1 }], - '@stylistic/jsx-quotes': ['error', 'prefer-single'], - '@stylistic/keyword-spacing': ['error'], - '@stylistic/max-statements-per-line': ['error'], - '@stylistic/no-floating-decimal': ['error'], - '@stylistic/no-multi-spaces': ['error'], - '@stylistic/no-multiple-empty-lines': ['error', { 'max': 1 }], - '@stylistic/no-trailing-spaces': ['error'], - '@stylistic/object-curly-spacing': ['error', 'always'], - '@stylistic/operator-linebreak': ['error', 'before', { overrides: { '?': 'after', ':': 'after', '=': 'after' } }], - '@stylistic/padded-blocks': ['error', 'never'], - '@stylistic/quotes': ['error', 'single', { 'avoidEscape': true, 'allowTemplateLiterals': false }], - '@stylistic/semi': ['error'], - '@stylistic/space-before-blocks': ['error'], - '@stylistic/space-infix-ops': ['error'] - }, - settings: { - react: { - version: 'detect' - }, - 'import/parsers': { - '@typescript-eslint/parser': [ '.ts', '.tsx' ] - }, - 'import/resolver': { - node: { - extensions: [ - '.js', - '.ts', - '.jsx', - '.tsx' - ], - moduleDirectory: [ - 'node_modules', - 'src' - ] - } - }, - polyfills: [ - // Native Promises Only - 'Promise', - // whatwg-fetch - 'fetch', - // document-register-element - 'document.registerElement', - // resize-observer-polyfill - 'ResizeObserver', - // fast-text-encoding - 'TextEncoder', - // intersection-observer - 'IntersectionObserver', - // Core-js - 'Object.assign', - 'Object.is', - 'Object.setPrototypeOf', - 'Object.toString', - 'Object.freeze', - 'Object.seal', - 'Object.preventExtensions', - 'Object.isFrozen', - 'Object.isSealed', - 'Object.isExtensible', - 'Object.getOwnPropertyDescriptor', - 'Object.getPrototypeOf', - 'Object.keys', - 'Object.entries', - 'Object.getOwnPropertyNames', - 'Function.name', - 'Function.hasInstance', - 'Array.from', - 'Array.arrayOf', - 'Array.copyWithin', - 'Array.fill', - 'Array.find', - 'Array.findIndex', - 'Array.iterator', - 'String.fromCodePoint', - 'String.raw', - 'String.iterator', - 'String.codePointAt', - 'String.endsWith', - 'String.includes', - 'String.repeat', - 'String.startsWith', - 'String.trim', - 'String.anchor', - 'String.big', - 'String.blink', - 'String.bold', - 'String.fixed', - 'String.fontcolor', - 'String.fontsize', - 'String.italics', - 'String.link', - 'String.small', - 'String.strike', - 'String.sub', - 'String.sup', - 'RegExp', - 'Number', - 'Math', - 'Date', - 'async', - 'Symbol', - 'Map', - 'Set', - 'WeakMap', - 'WeakSet', - 'ArrayBuffer', - 'DataView', - 'Int8Array', - 'Uint8Array', - 'Uint8ClampedArray', - 'Int16Array', - 'Uint16Array', - 'Int32Array', - 'Uint32Array', - 'Float32Array', - 'Float64Array', - 'Reflect', - // Temporary while eslint-compat-plugin is buggy - 'document.querySelector' - ] - }, - overrides: [ - // Config files and development scripts - { - files: [ - './babel.config.js', - './.eslintrc.js', - './postcss.config.js', - './webpack.*.js', - './scripts/**/*.js' - ] - }, - // JavaScript source files - { - files: [ - './src/**/*.{js,jsx,ts,tsx}' - ], - parserOptions: { - project: ['./tsconfig.json'] - }, - env: { - node: false, - amd: true, - browser: true, - es6: true, - es2017: true, - es2020: true - }, - globals: { - // Browser globals - 'MediaMetadata': 'readonly', - // Tizen globals - 'tizen': 'readonly', - 'webapis': 'readonly', - // WebOS globals - 'webOS': 'readonly', - // Dependency globals - '$': 'readonly', - 'jQuery': 'readonly', - // Jellyfin globals - 'ApiClient': 'writable', - 'Events': 'writable', - 'chrome': 'writable', - 'DlnaProfilePage': 'writable', - 'DashboardPage': 'writable', - 'Emby': 'readonly', - 'Globalize': 'writable', - 'Hls': 'writable', - 'LibraryMenu': 'writable', - 'LinkParser': 'writable', - 'LiveTvHelpers': 'writable', - 'Loading': 'writable', - 'MetadataEditor': 'writable', - 'ServerNotifications': 'writable', - 'TaskButton': 'writable', - 'UserParentalControlPage': 'writable', - 'Windows': 'readonly', - // Build time definitions - __COMMIT_SHA__: 'readonly', - __JF_BUILD_VERSION__: 'readonly', - __PACKAGE_JSON_NAME__: 'readonly', - __PACKAGE_JSON_VERSION__: 'readonly', - __USE_SYSTEM_FONTS__: 'readonly', - __WEBPACK_SERVE__: 'readonly' - }, - rules: { - '@typescript-eslint/naming-convention': [ - 'error', - { - selector: 'default', - format: [ 'camelCase', 'PascalCase' ], - leadingUnderscore: 'allow' - }, - { - selector: 'variable', - format: [ 'camelCase', 'PascalCase', 'UPPER_CASE' ], - leadingUnderscore: 'allowSingleOrDouble', - trailingUnderscore: 'allowSingleOrDouble' - }, - { - selector: 'typeLike', - format: [ 'PascalCase' ] - }, - { - selector: 'enumMember', - format: [ 'PascalCase', 'UPPER_CASE' ] - }, - { - selector: [ 'objectLiteralProperty', 'typeProperty' ], - format: [ 'camelCase', 'PascalCase' ], - leadingUnderscore: 'allowSingleOrDouble', - trailingUnderscore: 'allowSingleOrDouble' - }, - // Ignore numbers, locale strings (en-us), aria/data attributes, CSS selectors, - // and api_key parameter - { - selector: [ 'objectLiteralProperty', 'typeProperty' ], - format: null, - filter: { - regex: '[ &\\-]|^([0-9]+)$|^api_key$', - match: true - } - } - ], - '@typescript-eslint/prefer-string-starts-ends-with': ['error'] - } - }, - // TypeScript source files - { - files: [ - './src/**/*.{ts,tsx}' - ], - extends: [ - 'eslint:recommended', - 'plugin:import/typescript', - 'plugin:@typescript-eslint/recommended', - 'plugin:@eslint-community/eslint-comments/recommended', - 'plugin:react/recommended', - 'plugin:react-hooks/recommended', - 'plugin:jsx-a11y/recommended' - ], - rules: { - '@typescript-eslint/no-floating-promises': ['error'], - '@typescript-eslint/no-unused-vars': ['error'], - - 'sonarjs/cognitive-complexity': ['error'] - } - } - ] -}; diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.md b/.github/ISSUE_TEMPLATE/1-bug-report.md deleted file mode 100644 index 15efff9954..0000000000 --- a/.github/ISSUE_TEMPLATE/1-bug-report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Bug Report -about: You have noticed a general issue or regression, and would like to report it -labels: bug ---- - -**Describe The Bug** - - -**Steps To Reproduce** - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected Behavior** - - -**Logs** - - -**Screenshots** - - -**System (please complete the following information):** - - Platform: [e.g. Linux, Windows, iPhone, Tizen] - - Browser: [e.g. Firefox, Chrome, Safari] - - Jellyfin Version: [e.g. 10.6.0] - -**Additional Context** - diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.yml b/.github/ISSUE_TEMPLATE/1-bug-report.yml new file mode 100644 index 0000000000..d0646d8f39 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-bug-report.yml @@ -0,0 +1,122 @@ +name: Bug Report +description: You have noticed a general issue or regression, and would like to report it +labels: + - bug +body: + - type: checkboxes + id: before-posting + attributes: + label: "This issue respects the following points:" + description: All conditions are **required**. + options: + - label: This issue is **not** already reported on [GitHub](https://github.com/jellyfin/jellyfin-web/issues?q=is%3Aissue) _(I've searched it)_. + required: true + - label: I agree to follow Jellyfin's [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct). + required: true + - label: This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one. + required: true + - type: markdown + attributes: + value: | + ## Bug information + - type: textarea + id: description + attributes: + label: Describe the bug + description: | + A clear and concise description of the bug. + You can also attach screenshots or screen recordings here to help explain your issue. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + Steps to reproduce the behavior: + placeholder: | + 1. Go to … + 2. Click on … + 3. Scroll down to … + 4. See error / the app crashes + validations: + required: true + - type: textarea + id: behaviour + attributes: + label: Expected/Actual behaviour + description: | + Describe the behavior you were expecting versus what actually occurred. + placeholder: | + I expected the app to... However, the actual behavior was that... + validations: + required: true + - type: textarea + id: logs + attributes: + label: Logs + description: | + Please paste any log errors. + placeholder: Paste logs… + - type: markdown + attributes: + value: | + ## Environment + - type: markdown + attributes: + value: | + ### Server + You will find these values in your Admin Dashboard + - type: input + id: server-version + attributes: + label: Server version + placeholder: 10.10.2 + validations: + required: true + - type: input + id: web-version + attributes: + label: Web version + placeholder: 10.10.2 + validations: + required: true + - type: input + id: build-version + attributes: + label: Build version + placeholder: 10.10.2 + validations: + required: true + - type: markdown + attributes: + value: | + ### Client + Information about the device you are seeing the issue on + - type: input + id: platform + attributes: + label: Platform + description: Specify the operating system or device where the issue occurs. If relevant, include details like version or model. + placeholder: e.g. Linux, Windows, iPhone, Tizen + validations: + required: true + - type: input + id: browser + attributes: + label: Browser + description: Indicate which browser you're using when encountering the issue. If possible, mention the browser version as well. + placeholder: e.g. Firefox, Chrome, Safari + validations: + required: true + - type: markdown + attributes: + value: | + ## Additional + - type: textarea + attributes: + label: Additional information + description: Include any relevant details, resources, or screenshots that might help in understanding or implementing the request. + placeholder: Add any additional context here. + validations: + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/2-playback-issue.md b/.github/ISSUE_TEMPLATE/2-playback-issue.md deleted file mode 100644 index bed7315abb..0000000000 --- a/.github/ISSUE_TEMPLATE/2-playback-issue.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -name: Playback Issue -about: You have playback issues with some files -labels: playback ---- - -**Describe The Bug** - - -**Media Information** - - -**Screenshots** - - -**System (please complete the following information):** - - Platform: [e.g. Linux, Windows, iPhone, Tizen] - - Browser: [e.g. Firefox, Chrome, Safari] - - Jellyfin Version: [e.g. 10.6.0] - -**Additional Context** - diff --git a/.github/ISSUE_TEMPLATE/2-playback-issue.yml b/.github/ISSUE_TEMPLATE/2-playback-issue.yml new file mode 100644 index 0000000000..3c9599f8bd --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2-playback-issue.yml @@ -0,0 +1,145 @@ +name: Playback Issue +description: Create a bug report related to media playback +labels: + - bug + - playback +body: + - type: checkboxes + id: before-posting + attributes: + label: "This issue respects the following points:" + description: All conditions are **required**. + options: + - label: This issue is **not** already reported on [GitHub](https://github.com/jellyfin/jellyfin-web/issues?q=is%3Aissue) _(I've searched it)_. + required: true + - label: I agree to follow Jellyfin's [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct). + required: true + - label: This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one. + required: true + - type: markdown + attributes: + value: | + ## Bug information + - type: textarea + id: description + attributes: + label: Describe the bug + description: | + A clear and concise description of the bug. + You can also attach screenshots or screen recordings here to help explain your issue. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Reproduction Steps + description: | + Steps to reproduce the behavior: + placeholder: | + 1. Go to … + 2. Click on … + 3. Scroll down to … + 4. See error / the app crashes + validations: + required: true + - type: textarea + id: behaviour + attributes: + label: Expected/Actual behaviour + description: | + Describe the behavior you were expecting versus what actually occurred. + placeholder: | + I expected the app to... However, the actual behavior was that... + validations: + required: true + - type: textarea + id: mediainfo + attributes: + label: Media info of the file + description: | + Please share the media information for the file causing issues. You can use a variety of tools to retrieve this information. + - Use ffprobe (`ffprobe ./file.mp4`) + - Copy the media info from the web interface + placeholder: Paste media info… + render: shell + - type: markdown + attributes: + value: | + ## Logs + - type: textarea + id: logs + attributes: + label: Logs + description: | + Please paste your logs here if applicable. + placeholder: Paste logs… + - type: textarea + id: logs-ffmpeg + attributes: + label: FFmpeg logs + description: | + Please paste your FFmpeg logs here if available. You can find these in your servers dashboard under "logs". + placeholder: Paste logs… + render: shell + - type: markdown + attributes: + value: | + ## Environment + - type: markdown + attributes: + value: | + ### Server + You will find these values in your Admin Dashboard + - type: input + id: server-version + attributes: + label: Server version + placeholder: 10.10.2 + validations: + required: true + - type: input + id: web-version + attributes: + label: Web version + placeholder: 10.10.2 + validations: + required: true + - type: input + id: build-version + attributes: + label: Build version + placeholder: 10.10.2 + validations: + required: true + - type: markdown + attributes: + value: | + ### Client + Information about the device you are seeing the issue on + - type: input + id: platform + attributes: + label: Platform + description: Specify the operating system or device where the issue occurs. If relevant, include details like version or model. + placeholder: e.g. Linux, Windows, iPhone, Tizen + validations: + required: true + - type: input + id: browser + attributes: + label: Browser + description: Indicate which browser you're using when encountering the issue. If possible, mention the browser version as well. + placeholder: e.g. Firefox, Chrome, Safari + validations: + required: true + - type: markdown + attributes: + value: | + ## Additional + - type: textarea + attributes: + label: Additional information + description: Include any relevant details, resources, or screenshots that might help in understanding or implementing the request. + placeholder: Add any additional context here. + validations: + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/3-technical-discussion.md b/.github/ISSUE_TEMPLATE/3-technical-discussion.md deleted file mode 100644 index d8140fce75..0000000000 --- a/.github/ISSUE_TEMPLATE/3-technical-discussion.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: Technical Discussion -about: You want to discuss technical aspects of changes you intend to make -labels: enhancement ---- - - diff --git a/.github/ISSUE_TEMPLATE/4-meta-issue.md b/.github/ISSUE_TEMPLATE/4-meta-issue.md deleted file mode 100644 index e034302e45..0000000000 --- a/.github/ISSUE_TEMPLATE/4-meta-issue.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -name: Meta Issue -about: You want to track a number of other issues as part of a larger project -labels: meta ---- - -* [ ] Issue 1 [#123] -* [ ] Issue 2 [#456] -* [ ] ... diff --git a/.github/renovate.json b/.github/renovate.json index 44f4b23180..97dc4f0edb 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -4,6 +4,9 @@ "github>jellyfin/.github//renovate-presets/nodejs", ":dependencyDashboard" ], + "lockFileMaintenance": { + "enabled": false + }, "packageRules": [ { "matchPackageNames": [ "@jellyfin/sdk" ], diff --git a/.github/workflows/__codeql.yml b/.github/workflows/__codeql.yml index 87f2957fb9..0300f6e37a 100644 --- a/.github/workflows/__codeql.yml +++ b/.github/workflows/__codeql.yml @@ -26,15 +26,15 @@ jobs: show-progress: false - name: Initialize CodeQL 🛠️ - uses: github/codeql-action/init@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8 + uses: github/codeql-action/init@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10 with: queries: security-and-quality languages: ${{ matrix.language }} - name: Autobuild 📦 - uses: github/codeql-action/autobuild@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8 + uses: github/codeql-action/autobuild@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10 - name: Perform CodeQL Analysis 🧪 - uses: github/codeql-action/analyze@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8 + uses: github/codeql-action/analyze@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10 with: category: '/language:${{matrix.language}}' diff --git a/.github/workflows/__deploy.yml b/.github/workflows/__deploy.yml index 4c57b2b05f..caa90e5cc0 100644 --- a/.github/workflows/__deploy.yml +++ b/.github/workflows/__deploy.yml @@ -35,7 +35,7 @@ jobs: path: dist - name: Publish to Cloudflare Pages 📃 - uses: cloudflare/wrangler-action@7a5f8bbdfeedcde38e6777a50fe685f89259d4ca # v3.13.1 + uses: cloudflare/wrangler-action@392082e81ffbcb9ebdde27400634aa004b35ea37 # v3.14.0 id: cf with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} diff --git a/.github/workflows/__package.yml b/.github/workflows/__package.yml index 3165b6899e..f2c3d2afc8 100644 --- a/.github/workflows/__package.yml +++ b/.github/workflows/__package.yml @@ -39,7 +39,7 @@ jobs: mv dist/config.tmp.json dist/config.json - name: Upload artifact - uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0 + uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1 with: name: frontend path: dist diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index efa5ac21ec..b972d461ce 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -95,6 +95,6 @@ jobs: run: npm ci --no-audit - name: Run eslint - uses: CatChen/eslint-suggestion-action@2e2f18e272ccd63a031778599523af90d122e25f # v4.1.8 + uses: CatChen/eslint-suggestion-action@3ba53ce078667d5f60a73a8005627cf95ab57dce # v4.1.9 with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/schedule.yml b/.github/workflows/schedule.yml index b00e89e81d..5f2f6dd9df 100644 --- a/.github/workflows/schedule.yml +++ b/.github/workflows/schedule.yml @@ -10,7 +10,7 @@ permissions: jobs: issues: - name: Check issues + name: Check stale issues and PRs runs-on: ubuntu-latest if: ${{ contains(github.repository, 'jellyfin/') }} steps: @@ -18,10 +18,9 @@ jobs: with: repo-token: ${{ secrets.JF_BOT_TOKEN }} operations-per-run: 75 + # Issues receive a stale warning after 120 days and close after an additional 21 days days-before-stale: 120 - days-before-pr-stale: -1 days-before-close: 21 - days-before-pr-close: -1 exempt-issue-labels: regression,security,roadmap,future,feature,enhancement,confirmed stale-issue-label: stale stale-issue-message: |- @@ -30,21 +29,10 @@ jobs: If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://jellyfin.org/contact). - - prs-conflicts: - name: Check PRs with merge conflicts - runs-on: ubuntu-latest - if: ${{ contains(github.repository, 'jellyfin/') }} - steps: - - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0 - with: - repo-token: ${{ secrets.JF_BOT_TOKEN }} - operations-per-run: 75 - # The merge conflict action will remove the label when updated - remove-stale-when-updated: false - days-before-stale: -1 - days-before-close: 90 - days-before-issue-close: -1 - stale-pr-label: merge conflict + # PRs are closed after having unresolved merge conflicts for 90 days + days-before-pr-stale: 0 + days-before-pr-close: 90 + only-pr-labels: merge conflict + stale-pr-label: stale close-pr-message: |- This PR has been closed due to having unresolved merge conflicts. diff --git a/.gitignore b/.gitignore index 2ee674ba4d..d76f8f959c 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,8 @@ config.json # vim *.sw? +# direnv +.direnv/ + +# environment related +.envrc diff --git a/.vscode/settings.json b/.vscode/settings.json index d2b2caa950..6548ad0602 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,7 @@ { + "[json][typescript][typescriptreact][javascript]": { + "editor.defaultFormatter": "dbaeumer.vscode-eslint" + }, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index f73bfe3d4e..8737fc166b 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -94,6 +94,8 @@ - [iFraan](https://github.com/iFraan) - [Ali](https://github.com/bu3alwa) - [K. Kyle Puchkov](https://github.com/kepper104) +- [ItsAllAboutTheCode](https://github.com/ItsAllAboutTheCode) +- [Jxiced](https://github.com/Jxiced) ## Emby Contributors diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000000..5ddd5a00c5 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,385 @@ +// @ts-check + +import eslint from '@eslint/js'; +import comments from '@eslint-community/eslint-plugin-eslint-comments/configs'; +import compat from 'eslint-plugin-compat'; +import globals from 'globals'; +// @ts-expect-error Missing type definition +import importPlugin from 'eslint-plugin-import'; +import jsxA11y from 'eslint-plugin-jsx-a11y'; +import reactPlugin from 'eslint-plugin-react'; +import reactHooks from 'eslint-plugin-react-hooks'; +import restrictedGlobals from 'confusing-browser-globals'; +import sonarjs from 'eslint-plugin-sonarjs'; +import stylistic from '@stylistic/eslint-plugin'; +// eslint-disable-next-line import/no-unresolved +import tseslint from 'typescript-eslint'; + +export default tseslint.config( + eslint.configs.recommended, + tseslint.configs.recommended, + // @ts-expect-error Harmless type mismatch in dependency + comments.recommended, + compat.configs['flat/recommended'], + importPlugin.flatConfigs.errors, + sonarjs.configs.recommended, + + reactPlugin.configs.flat.recommended, + { + settings: { + react: { + version: 'detect' + } + } + }, + jsxA11y.flatConfigs.recommended, + + // Global ignores + { + ignores: [ + 'node_modules', + 'coverage', + 'dist', + '.idea', + '.vscode' + ] + }, + + // Global style rules + { + plugins: { + '@stylistic': stylistic + }, + extends: [ importPlugin.flatConfigs.typescript ], + rules: { + 'array-callback-return': ['error', { 'checkForEach': true }], + 'curly': ['error', 'multi-line', 'consistent'], + 'default-case-last': 'error', + 'max-params': ['error', 7], + 'new-cap': [ + 'error', + { + 'capIsNewExceptions': ['jQuery.Deferred'], + 'newIsCapExceptionPattern': '\\.default$' + } + ], + 'no-duplicate-imports': 'error', + 'no-empty-function': 'error', + 'no-extend-native': 'error', + 'no-lonely-if': 'error', + 'no-nested-ternary': 'error', + 'no-redeclare': 'off', + '@typescript-eslint/no-redeclare': ['error', { builtinGlobals: false }], + 'no-restricted-globals': ['error'].concat(restrictedGlobals), + 'no-return-assign': 'error', + 'no-return-await': 'error', + 'no-sequences': ['error', { 'allowInParentheses': false }], + 'no-shadow': 'off', + '@typescript-eslint/no-shadow': 'error', + 'no-throw-literal': 'error', + 'no-undef-init': 'error', + 'no-unneeded-ternary': 'error', + 'no-unused-expressions': 'off', + '@typescript-eslint/no-unused-expressions': ['error', { 'allowShortCircuit': true, 'allowTernary': true, 'allowTaggedTemplates': true }], + 'no-unused-private-class-members': 'error', + '@typescript-eslint/no-unused-vars': 'error', + 'no-useless-rename': 'error', + 'no-useless-constructor': 'off', + '@typescript-eslint/no-useless-constructor': 'error', + 'no-var': 'error', + 'no-void': ['error', { 'allowAsStatement': true }], + 'no-warning-comments': ['warn', { 'terms': ['hack', 'xxx'] }], + 'one-var': ['error', 'never'], + 'prefer-const': ['error', { 'destructuring': 'all' }], + 'prefer-promise-reject-errors': ['warn', { 'allowEmptyReject': true }], + '@typescript-eslint/prefer-for-of': 'error', + 'radix': 'error', + 'yoda': 'error', + + 'sonarjs/fixme-tag': 'warn', + 'sonarjs/todo-tag': 'off', + 'sonarjs/deprecation': 'warn', + 'sonarjs/no-alphabetical-sort': 'warn', + 'sonarjs/no-inverted-boolean-check': 'error', + 'sonarjs/no-selector-parameter': 'off', + 'sonarjs/pseudo-random': 'warn', + // TODO: Enable the following sonarjs rules and fix issues + 'sonarjs/no-duplicate-string': 'off', + 'sonarjs/no-nested-functions': 'warn', + + // TODO: Replace with stylistic.configs.customize() + '@stylistic/block-spacing': 'error', + '@stylistic/brace-style': ['error', '1tbs', { 'allowSingleLine': true }], + '@stylistic/comma-dangle': ['error', 'never'], + '@stylistic/comma-spacing': 'error', + '@stylistic/eol-last': 'error', + '@stylistic/indent': ['error', 4, { 'SwitchCase': 1 }], + '@stylistic/jsx-quotes': ['error', 'prefer-single'], + '@stylistic/keyword-spacing': 'error', + '@stylistic/max-statements-per-line': 'error', + '@stylistic/no-floating-decimal': 'error', + '@stylistic/no-mixed-spaces-and-tabs': 'error', + '@stylistic/no-multi-spaces': 'error', + '@stylistic/no-multiple-empty-lines': ['error', { 'max': 1 }], + '@stylistic/no-trailing-spaces': 'error', + '@stylistic/object-curly-spacing': ['error', 'always'], + '@stylistic/operator-linebreak': ['error', 'before', { overrides: { '?': 'after', ':': 'after', '=': 'after' } }], + '@stylistic/padded-blocks': ['error', 'never'], + '@stylistic/quotes': ['error', 'single', { 'avoidEscape': true, 'allowTemplateLiterals': false }], + '@stylistic/semi': 'error', + '@stylistic/space-before-blocks': 'error', + '@stylistic/space-infix-ops': 'error' + } + }, + + // Config files use node globals + { + ignores: [ 'src' ], + languageOptions: { + globals: { + ...globals.node + } + } + }, + + // Config files are commonjs by default + { + files: [ '**/*.{cjs,js}' ], + ignores: [ 'src' ], + languageOptions: { + sourceType: 'commonjs' + }, + rules: { + '@typescript-eslint/no-require-imports': 'off' + } + }, + + // App files + { + files: [ + 'src/**/*.{js,jsx,ts,tsx}' + ], + languageOptions: { + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname + }, + globals: { + ...globals.browser, + // Tizen globals + 'tizen': false, + 'webapis': false, + // WebOS globals + 'webOS': false, + // Dependency globals + '$': false, + 'jQuery': false, + // Jellyfin globals + 'ApiClient': true, + 'Events': true, + 'chrome': true, + 'Emby': false, + 'Hls': true, + 'LibraryMenu': true, + 'Windows': false, + // Build time definitions + __COMMIT_SHA__: false, + __JF_BUILD_VERSION__: false, + __PACKAGE_JSON_NAME__: false, + __PACKAGE_JSON_VERSION__: false, + __USE_SYSTEM_FONTS__: false, + __WEBPACK_SERVE__: false + } + }, + settings: { + 'import/resolver': { + node: { + extensions: [ + '.js', + '.ts', + '.jsx', + '.tsx' + ], + moduleDirectory: [ + 'node_modules', + 'src' + ] + } + }, + polyfills: [ + 'Promise', + // whatwg-fetch + 'fetch', + // document-register-element + 'document.registerElement', + // resize-observer-polyfill + 'ResizeObserver', + // fast-text-encoding + 'TextEncoder', + // intersection-observer + 'IntersectionObserver', + // Core-js + 'Object.assign', + 'Object.is', + 'Object.setPrototypeOf', + 'Object.toString', + 'Object.freeze', + 'Object.seal', + 'Object.preventExtensions', + 'Object.isFrozen', + 'Object.isSealed', + 'Object.isExtensible', + 'Object.getOwnPropertyDescriptor', + 'Object.getPrototypeOf', + 'Object.keys', + 'Object.entries', + 'Object.getOwnPropertyNames', + 'Function.name', + 'Function.hasInstance', + 'Array.from', + 'Array.arrayOf', + 'Array.copyWithin', + 'Array.fill', + 'Array.find', + 'Array.findIndex', + 'Array.iterator', + 'String.fromCodePoint', + 'String.raw', + 'String.iterator', + 'String.codePointAt', + 'String.endsWith', + 'String.includes', + 'String.repeat', + 'String.startsWith', + 'String.trim', + 'String.anchor', + 'String.big', + 'String.blink', + 'String.bold', + 'String.fixed', + 'String.fontcolor', + 'String.fontsize', + 'String.italics', + 'String.link', + 'String.small', + 'String.strike', + 'String.sub', + 'String.sup', + 'RegExp', + 'Number', + 'Math', + 'Date', + 'async', + 'Symbol', + 'Map', + 'Set', + 'WeakMap', + 'WeakSet', + 'ArrayBuffer', + 'DataView', + 'Int8Array', + 'Uint8Array', + 'Uint8ClampedArray', + 'Int16Array', + 'Uint16Array', + 'Int32Array', + 'Uint32Array', + 'Float32Array', + 'Float64Array', + 'Reflect' + ] + }, + rules: { + // TODO: Add typescript recommended typed rules + '@typescript-eslint/naming-convention': [ + 'error', + { + selector: 'default', + format: [ 'camelCase', 'PascalCase' ], + leadingUnderscore: 'allow' + }, + { + selector: 'variable', + format: [ 'camelCase', 'PascalCase', 'UPPER_CASE' ], + leadingUnderscore: 'allowSingleOrDouble', + trailingUnderscore: 'allowSingleOrDouble' + }, + { + selector: 'typeLike', + format: [ 'PascalCase' ] + }, + { + selector: 'enumMember', + format: [ 'PascalCase', 'UPPER_CASE' ] + }, + { + selector: [ 'objectLiteralProperty', 'typeProperty' ], + format: [ 'camelCase', 'PascalCase' ], + leadingUnderscore: 'allowSingleOrDouble', + trailingUnderscore: 'allowSingleOrDouble' + }, + // Ignore numbers, locale strings (en-us), aria/data attributes, CSS selectors, + // and api_key parameter + { + selector: [ 'objectLiteralProperty', 'typeProperty' ], + format: null, + filter: { + regex: '[ &\\-]|^([0-9]+)$|^api_key$', + match: true + } + } + ], + '@typescript-eslint/no-floating-promises': 'error', + '@typescript-eslint/prefer-string-starts-ends-with': 'error' + } + }, + + // React files + { + files: [ 'src/**/*.{jsx,tsx}' ], + plugins: { + 'react-hooks': reactHooks + }, + rules: { + 'react/jsx-filename-extension': ['error', { 'extensions': ['.jsx', '.tsx'] }], + 'react/jsx-no-bind': 'error', + 'react/jsx-no-useless-fragment': 'error', + 'react/no-array-index-key': 'error', + 'react-hooks/rules-of-hooks': 'error', + 'react-hooks/exhaustive-deps': 'warn' + } + }, + + // Service worker + { + files: [ 'src/serviceworker.js' ], + languageOptions: { + globals: { + ...globals.serviceworker + } + } + }, + + // Legacy JS (less strict) + { + files: [ 'src/**/*.{js,jsx}' ], + rules: { + '@typescript-eslint/no-floating-promises': 'off', + '@typescript-eslint/no-this-alias': 'off', + '@typescript-eslint/no-unused-vars': 'warn', + + 'sonarjs/public-static-readonly': 'off', + + // TODO: Enable the following rules and fix issues + 'sonarjs/cognitive-complexity': 'off', + 'sonarjs/constructor-for-side-effects': 'off', + 'sonarjs/function-return-type': 'off', + 'sonarjs/no-async-constructor': 'off', + 'sonarjs/no-duplicate-string': 'off', + 'sonarjs/no-ignored-exceptions': 'off', + 'sonarjs/no-invariant-returns': 'warn', + 'sonarjs/no-nested-functions': 'off', + 'sonarjs/void-use': 'off' + } + } +); diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000000..43d84114a1 --- /dev/null +++ b/flake.lock @@ -0,0 +1,60 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1739874174, + "narHash": "sha256-XGxSVtojlwjYRYGvGXex0Cw+/363EVJlbY9TPX9bARk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "d2ab2691c798f6b633be91d74b1626980ddaff30", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000000..fde1a17573 --- /dev/null +++ b/flake.nix @@ -0,0 +1,34 @@ +{ + description = "jellyfin-web nix flake"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: let + pkgs = import nixpkgs { + inherit system; + }; + in { + devShell = with pkgs; + mkShell rec { + buildInputs = [ + nodejs_20 + ]; + + shellHook = '' + # Also see: https://github.com/sass/embedded-host-node/issues/334 + echo "Removing sass-embedded from node-modules as its broken on NixOS." + rm -rf node_modules/sass-embedded* + ''; + }; + } + ); +} diff --git a/package-lock.json b/package-lock.json index 8034d8cf2c..2fce5b58d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,10 +18,10 @@ "@fontsource/noto-sans-sc": "5.1.1", "@fontsource/noto-sans-tc": "5.1.1", "@jellyfin/libass-wasm": "4.2.3", - "@jellyfin/sdk": "0.0.0-unstable.202501180501", - "@mui/icons-material": "5.16.7", - "@mui/material": "5.16.7", - "@mui/x-date-pickers": "7.20.0", + "@jellyfin/sdk": "0.0.0-unstable.202502210501", + "@mui/icons-material": "5.16.14", + "@mui/material": "5.16.14", + "@mui/x-date-pickers": "7.26.0", "@react-hook/resize-observer": "2.0.2", "@tanstack/react-query": "5.62.16", "@tanstack/react-query-devtools": "5.62.16", @@ -59,19 +59,20 @@ "resize-observer-polyfill": "1.5.1", "screenfull": "6.0.2", "sortablejs": "1.15.6", - "swiper": "11.2.1", - "usehooks-ts": "3.1.0", + "swiper": "11.2.3", + "usehooks-ts": "3.1.1", "webcomponents.js": "0.7.24", "whatwg-fetch": "3.6.20" }, "devDependencies": { - "@babel/core": "7.25.8", - "@babel/plugin-transform-modules-umd": "7.25.7", - "@babel/preset-env": "7.25.8", - "@babel/preset-react": "7.25.7", + "@babel/core": "7.26.9", + "@babel/plugin-transform-modules-umd": "7.25.9", + "@babel/preset-env": "7.26.9", + "@babel/preset-react": "7.26.3", "@eslint-community/eslint-plugin-eslint-comments": "4.4.1", - "@stylistic/eslint-plugin": "2.13.0", - "@stylistic/stylelint-plugin": "3.1.1", + "@eslint/js": "9.20.0", + "@stylistic/eslint-plugin": "3.1.0", + "@stylistic/stylelint-plugin": "3.1.2", "@types/dompurify": "3.0.5", "@types/escape-html": "1.0.4", "@types/loadable__component": "5.13.9", @@ -81,10 +82,9 @@ "@types/react-dom": "18.3.1", "@types/react-lazy-load-image-component": "1.6.4", "@types/sortablejs": "1.15.8", - "@typescript-eslint/eslint-plugin": "8.21.0", - "@typescript-eslint/parser": "8.21.0", + "@typescript-eslint/parser": "8.24.1", "@uupaa/dynamic-import-polyfill": "1.0.2", - "@vitest/coverage-v8": "3.0.4", + "@vitest/coverage-v8": "3.0.5", "autoprefixer": "10.4.20", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", @@ -94,37 +94,39 @@ "css-loader": "7.1.2", "cssnano": "7.0.6", "es-check": "7.2.1", - "eslint": "8.57.1", - "eslint-plugin-compat": "4.2.0", + "eslint": "9.20.1", + "eslint-plugin-compat": "6.0.2", "eslint-plugin-import": "2.31.0", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-react": "7.37.4", - "eslint-plugin-react-hooks": "4.6.2", - "eslint-plugin-sonarjs": "0.25.1", - "expose-loader": "5.0.0", + "eslint-plugin-react-hooks": "5.1.0", + "eslint-plugin-sonarjs": "3.0.2", + "expose-loader": "5.0.1", "fork-ts-checker-webpack-plugin": "9.0.2", + "globals": "15.15.0", "html-loader": "5.1.0", "html-webpack-plugin": "5.6.3", "jsdom": "25.0.1", "mini-css-extract-plugin": "2.9.2", - "postcss": "8.4.49", + "postcss": "8.5.2", "postcss-loader": "8.1.1", - "postcss-preset-env": "10.1.3", + "postcss-preset-env": "10.1.4", "postcss-scss": "4.0.9", - "sass": "1.83.4", - "sass-loader": "16.0.4", + "sass": "1.85.0", + "sass-loader": "16.0.5", "source-map-loader": "5.0.0", "speed-measure-webpack-plugin": "1.5.0", "style-loader": "4.0.0", - "stylelint": "16.13.2", + "stylelint": "16.14.1", "stylelint-config-rational-order": "0.1.2", "stylelint-no-browser-hacks": "1.3.0", "stylelint-order": "6.0.4", - "stylelint-scss": "6.10.1", + "stylelint-scss": "6.11.0", "ts-loader": "9.5.2", "typescript": "5.7.3", - "vitest": "3.0.4", - "webpack": "5.97.1", + "typescript-eslint": "8.24.1", + "vitest": "3.0.5", + "webpack": "5.98.0", "webpack-bundle-analyzer": "4.10.2", "webpack-cli": "5.1.4", "webpack-dev-server": "5.2.0", @@ -137,7 +139,7 @@ "yarn": "YARN NO LONGER USED - use npm instead." }, "optionalDependencies": { - "sass-embedded": "1.83.4" + "sass-embedded": "1.85.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -164,12 +166,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "license": "MIT", "dependencies": { - "@babel/highlight": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -177,9 +180,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", - "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", "dev": true, "license": "MIT", "engines": { @@ -187,22 +190,22 @@ } }, "node_modules/@babel/core": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", - "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.8", - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.8", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -225,12 +228,13 @@ "license": "MIT" }, "node_modules/@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -240,41 +244,27 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", - "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -299,18 +289,18 @@ "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", - "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.26.9", "semver": "^6.3.1" }, "engines": { @@ -321,14 +311,14 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", - "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "regexpu-core": "^6.1.1", + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", "semver": "^6.3.1" }, "engines": { @@ -339,9 +329,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dev": true, "license": "MIT", "dependencies": { @@ -356,43 +346,42 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", - "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -402,22 +391,22 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", - "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, "license": "MIT", "engines": { @@ -425,15 +414,15 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", - "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-wrap-function": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -443,15 +432,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", - "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -460,56 +449,42 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", - "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, "license": "MIT", "engines": { @@ -517,56 +492,41 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", - "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "license": "MIT", "dependencies": { - "@babel/types": "^7.25.8" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -576,14 +536,14 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", - "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -593,13 +553,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", - "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -609,13 +569,13 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", - "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -625,15 +585,15 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", - "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -643,14 +603,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", - "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -672,13 +632,13 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", - "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -688,13 +648,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -704,13 +664,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -736,13 +696,13 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", - "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -752,15 +712,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz", - "integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.26.8" }, "engines": { "node": ">=6.9.0" @@ -770,15 +730,15 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", - "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -788,13 +748,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", - "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -804,13 +764,13 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", - "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -820,14 +780,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", - "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -837,14 +797,14 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz", - "integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -854,17 +814,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", - "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -874,15 +834,24 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", - "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/template": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -892,13 +861,13 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", - "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -908,14 +877,14 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", - "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -925,13 +894,13 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", - "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -941,14 +910,14 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -958,13 +927,13 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz", - "integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -974,14 +943,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", - "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -991,13 +959,13 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz", - "integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1007,14 +975,14 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", - "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1024,15 +992,15 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", - "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1042,13 +1010,13 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz", - "integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1058,13 +1026,13 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", - "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1074,13 +1042,13 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz", - "integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1090,13 +1058,13 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", - "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1106,14 +1074,14 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", - "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1123,15 +1091,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", - "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1141,16 +1108,16 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", - "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1160,14 +1127,14 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", - "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1177,14 +1144,14 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1194,13 +1161,13 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", - "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1210,13 +1177,13 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz", - "integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==", + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1226,13 +1193,13 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz", - "integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1242,15 +1209,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz", - "integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-transform-parameters": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1260,14 +1227,14 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", - "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1277,13 +1244,13 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz", - "integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1293,14 +1260,14 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz", - "integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1310,13 +1277,13 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", - "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1326,14 +1293,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", - "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1343,15 +1310,15 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz", - "integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1361,13 +1328,13 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", - "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1377,13 +1344,13 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz", - "integrity": "sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1393,17 +1360,17 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", - "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-jsx": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1413,13 +1380,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz", - "integrity": "sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.25.7" + "@babel/plugin-transform-react-jsx": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1429,14 +1396,14 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz", - "integrity": "sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1446,13 +1413,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", - "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1462,14 +1429,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", - "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1479,13 +1463,13 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", - "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1495,14 +1479,14 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", - "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1512,13 +1496,13 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", - "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1528,13 +1512,13 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", - "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1544,13 +1528,13 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", - "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", + "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" }, "engines": { "node": ">=6.9.0" @@ -1560,13 +1544,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", - "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1576,14 +1560,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", - "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1593,14 +1577,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", - "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1610,14 +1594,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", - "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1627,79 +1611,80 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz", - "integrity": "sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", + "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.8", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", + "@babel/compat-data": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.25.7", - "@babel/plugin-syntax-import-attributes": "^7.25.7", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.8", - "@babel/plugin-transform-async-to-generator": "^7.25.7", - "@babel/plugin-transform-block-scoped-functions": "^7.25.7", - "@babel/plugin-transform-block-scoping": "^7.25.7", - "@babel/plugin-transform-class-properties": "^7.25.7", - "@babel/plugin-transform-class-static-block": "^7.25.8", - "@babel/plugin-transform-classes": "^7.25.7", - "@babel/plugin-transform-computed-properties": "^7.25.7", - "@babel/plugin-transform-destructuring": "^7.25.7", - "@babel/plugin-transform-dotall-regex": "^7.25.7", - "@babel/plugin-transform-duplicate-keys": "^7.25.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-dynamic-import": "^7.25.8", - "@babel/plugin-transform-exponentiation-operator": "^7.25.7", - "@babel/plugin-transform-export-namespace-from": "^7.25.8", - "@babel/plugin-transform-for-of": "^7.25.7", - "@babel/plugin-transform-function-name": "^7.25.7", - "@babel/plugin-transform-json-strings": "^7.25.8", - "@babel/plugin-transform-literals": "^7.25.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.8", - "@babel/plugin-transform-member-expression-literals": "^7.25.7", - "@babel/plugin-transform-modules-amd": "^7.25.7", - "@babel/plugin-transform-modules-commonjs": "^7.25.7", - "@babel/plugin-transform-modules-systemjs": "^7.25.7", - "@babel/plugin-transform-modules-umd": "^7.25.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-new-target": "^7.25.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.8", - "@babel/plugin-transform-numeric-separator": "^7.25.8", - "@babel/plugin-transform-object-rest-spread": "^7.25.8", - "@babel/plugin-transform-object-super": "^7.25.7", - "@babel/plugin-transform-optional-catch-binding": "^7.25.8", - "@babel/plugin-transform-optional-chaining": "^7.25.8", - "@babel/plugin-transform-parameters": "^7.25.7", - "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/plugin-transform-private-property-in-object": "^7.25.8", - "@babel/plugin-transform-property-literals": "^7.25.7", - "@babel/plugin-transform-regenerator": "^7.25.7", - "@babel/plugin-transform-reserved-words": "^7.25.7", - "@babel/plugin-transform-shorthand-properties": "^7.25.7", - "@babel/plugin-transform-spread": "^7.25.7", - "@babel/plugin-transform-sticky-regex": "^7.25.7", - "@babel/plugin-transform-template-literals": "^7.25.7", - "@babel/plugin-transform-typeof-symbol": "^7.25.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.7", - "@babel/plugin-transform-unicode-property-regex": "^7.25.7", - "@babel/plugin-transform-unicode-regex": "^7.25.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.26.8", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.26.5", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.26.3", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.26.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.26.3", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.26.8", + "@babel/plugin-transform-typeof-symbol": "^7.26.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.38.1", + "core-js-compat": "^3.40.0", "semver": "^6.3.1" }, "engines": { @@ -1724,18 +1709,18 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz", - "integrity": "sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.26.3.tgz", + "integrity": "sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-transform-react-display-name": "^7.25.7", - "@babel/plugin-transform-react-jsx": "^7.25.7", - "@babel/plugin-transform-react-jsx-development": "^7.25.7", - "@babel/plugin-transform-react-pure-annotations": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1757,30 +1742,30 @@ } }, "node_modules/@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -1788,15 +1773,22 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2317,9 +2309,9 @@ } }, "node_modules/@csstools/postcss-initial": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.0.tgz", - "integrity": "sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz", + "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==", "dev": true, "funding": [ { @@ -3085,14 +3077,14 @@ } }, "node_modules/@emotion/cache": { - "version": "11.13.1", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", - "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", "license": "MIT", "dependencies": { "@emotion/memoize": "^0.9.0", "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.0", + "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } @@ -3200,9 +3192,9 @@ } }, "node_modules/@emotion/utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz", - "integrity": "sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", "license": "MIT" }, "node_modules/@emotion/weak-memoize": { @@ -3219,7 +3211,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -3236,7 +3227,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -3253,7 +3243,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -3270,7 +3259,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -3287,7 +3275,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -3304,7 +3291,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -3321,7 +3307,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3338,7 +3323,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3355,7 +3339,6 @@ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3372,7 +3355,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3389,7 +3371,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3406,7 +3387,6 @@ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3423,7 +3403,6 @@ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3440,7 +3419,6 @@ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3457,7 +3435,6 @@ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3474,7 +3451,6 @@ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3491,7 +3467,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -3508,7 +3483,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -3525,7 +3499,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -3542,7 +3515,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -3559,7 +3531,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -3576,7 +3547,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -3593,7 +3563,6 @@ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -3610,7 +3579,6 @@ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -3627,7 +3595,6 @@ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -3685,24 +3652,54 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "node_modules/@eslint/config-array": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", + "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -3710,7 +3707,7 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3739,15 +3736,13 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3797,13 +3792,36 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", + "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", "dev": true, - "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.6.tgz", + "integrity": "sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.11.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@fontsource/noto-sans": { @@ -3842,20 +3860,42 @@ "integrity": "sha512-uJyenCRVZdiz+iRUyKwn99FDKQ0xMmLTOVHNzscqnp4ZwqYOl5S7fuL3IfH5FRRGYW+FTKtuY43D6gtVNtmrug==", "license": "OFL-1.1" }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">=10.10.0" + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/module-importer": { @@ -3871,13 +3911,19 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "dev": true, - "license": "BSD-3-Clause" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@isaacs/cliui": { "version": "8.0.2", @@ -3967,9 +4013,9 @@ "license": "LGPL-2.1-or-later AND (FTL OR GPL-2.0-or-later) AND MIT AND MIT-Modern-Variant AND ISC AND NTP AND Zlib AND BSL-1.0" }, "node_modules/@jellyfin/sdk": { - "version": "0.0.0-unstable.202501180501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202501180501.tgz", - "integrity": "sha512-H1K/uZlelqP330o1uKX0THWmEEw5iAplJeRkbVPAvGJKp4mgALV7UqFaexKgx7HEaulOOEFoHYweShg+FjI76Q==", + "version": "0.0.0-unstable.202502210501", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202502210501.tgz", + "integrity": "sha512-IFfgfESaHoHsLZbo+eKd+cGtwjgW7bj1hmX8Igc1eV0UHJ1SlLTvjRecm4pp85vvE7u6elrwgVhIsFS0hYucqA==", "license": "MPL-2.0", "peerDependencies": { "axios": "^1.3.4" @@ -4153,10 +4199,11 @@ } }, "node_modules/@mdn/browser-compat-data": { - "version": "5.3.29", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.3.29.tgz", - "integrity": "sha512-ipYCpMxejriKEC5OMHHN+cTTWpTQhaSg9+RGHl/Vly2LhGNml2eiGdx+LCU4XcCsi4YVVVPGcirNI/dF1xj70w==", - "dev": true + "version": "5.6.40", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.6.40.tgz", + "integrity": "sha512-cEprODy3K3rHUvHjbjcNyXrz/vK9qVB8gu3Wue9+9DaLVv9v5pKmR+FKs4ZYeQb5pMNp//MuONGnrDHm55H63A==", + "dev": true, + "license": "CC0-1.0" }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", @@ -4172,9 +4219,9 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.7.tgz", - "integrity": "sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz", + "integrity": "sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA==", "license": "MIT", "funding": { "type": "opencollective", @@ -4182,9 +4229,9 @@ } }, "node_modules/@mui/icons-material": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.7.tgz", - "integrity": "sha512-UrGwDJCXEszbDI7yV047BYU5A28eGJ79keTCP4cc74WyncuVrnurlmIRxaHL8YK+LI1Kzq+/JM52IAkNnv4u+Q==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.14.tgz", + "integrity": "sha512-heL4S+EawrP61xMXBm59QH6HODsu0gxtZi5JtnXF2r+rghzyU/3Uftlt1ij8rmJh+cFdKTQug1L9KkZB5JgpMQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9" @@ -4198,8 +4245,8 @@ }, "peerDependencies": { "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -4208,22 +4255,22 @@ } }, "node_modules/@mui/material": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.7.tgz", - "integrity": "sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.14.tgz", + "integrity": "sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/core-downloads-tracker": "^5.16.7", - "@mui/system": "^5.16.7", + "@mui/core-downloads-tracker": "^5.16.14", + "@mui/system": "^5.16.14", "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.6", + "@mui/utils": "^5.16.14", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.10", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1", - "react-is": "^18.3.1", + "react-is": "^19.0.0", "react-transition-group": "^4.4.5" }, "engines": { @@ -4236,9 +4283,9 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -4253,18 +4300,19 @@ } }, "node_modules/@mui/material/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", "license": "MIT" }, "node_modules/@mui/private-theming": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.6.tgz", - "integrity": "sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.14.tgz", + "integrity": "sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/utils": "^5.16.6", + "@mui/utils": "^5.16.14", "prop-types": "^15.8.1" }, "engines": { @@ -4275,8 +4323,8 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -4285,12 +4333,13 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.6.tgz", - "integrity": "sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.14.tgz", + "integrity": "sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@emotion/cache": "^11.11.0", + "@emotion/cache": "^11.13.5", "csstype": "^3.1.3", "prop-types": "^15.8.1" }, @@ -4304,7 +4353,7 @@ "peerDependencies": { "@emotion/react": "^11.4.1", "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -4316,15 +4365,16 @@ } }, "node_modules/@mui/system": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.7.tgz", - "integrity": "sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.14.tgz", + "integrity": "sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/private-theming": "^5.16.6", - "@mui/styled-engine": "^5.16.6", + "@mui/private-theming": "^5.16.14", + "@mui/styled-engine": "^5.16.14", "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.6", + "@mui/utils": "^5.16.14", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1" @@ -4339,8 +4389,8 @@ "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -4368,16 +4418,17 @@ } }, "node_modules/@mui/utils": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.6.tgz", - "integrity": "sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.14.tgz", + "integrity": "sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", "@mui/types": "^7.2.15", "@types/prop-types": "^15.7.12", "clsx": "^2.1.1", "prop-types": "^15.8.1", - "react-is": "^18.3.1" + "react-is": "^19.0.0" }, "engines": { "node": ">=12.0.0" @@ -4387,8 +4438,8 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -4397,19 +4448,20 @@ } }, "node_modules/@mui/utils/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", + "license": "MIT" }, "node_modules/@mui/x-date-pickers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.20.0.tgz", - "integrity": "sha512-LnijrF8IF3r7c7sAVXRX4pDurozJSMUGAJdd5xuTT7ZPQIOp5ry0kDKqx79WAjXA/ZgjropLNt/nk15GE+6ZNw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.26.0.tgz", + "integrity": "sha512-bhSDce1b5MBYYlCdHQJBThe10LGTE3D/u53TDQ41+IRj+iiNCun8jivw3DxKhmoBxlB+hVdkcltpTtIGlPjQZQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.7", "@mui/utils": "^5.16.6 || ^6.0.0", - "@mui/x-internals": "7.20.0", + "@mui/x-internals": "7.26.0", "@types/react-transition-group": "^4.4.11", "clsx": "^2.1.1", "prop-types": "^15.8.1", @@ -4428,14 +4480,14 @@ "@mui/material": "^5.15.14 || ^6.0.0", "@mui/system": "^5.15.14 || ^6.0.0", "date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0", - "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0", + "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0", "dayjs": "^1.10.7", "luxon": "^3.0.2", "moment": "^2.29.4", - "moment-hijri": "^2.1.2", + "moment-hijri": "^2.1.2 || ^3.0.0", "moment-jalaali": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -4468,9 +4520,9 @@ } }, "node_modules/@mui/x-internals": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.20.0.tgz", - "integrity": "sha512-ScXdEwtnxmBEq9umeusnotfeVQnnhjOZcM2ddXyIupmzeGmgDDtEcXGyTgrS/GOc91J74g81s6eJ4UCrlYZ2sg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.26.0.tgz", + "integrity": "sha512-VxTCYQcZ02d3190pdvys2TDg9pgbvewAVakEopiOgReKAUhLdRlgGJHcOA/eAuGLyK1YIo26A6Ow6ZKlSRLwMg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.7", @@ -4484,7 +4536,7 @@ "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/@nodelib/fs.scandir": { @@ -4888,266 +4940,247 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.1.tgz", - "integrity": "sha512-/pqA4DmqyCm8u5YIDzIdlLcEmuvxb0v8fZdFhVMszSpDTgbQKdw3/mB3eMUHIbubtJ6F9j+LtmyCnHTEqIHyzA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", + "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.1.tgz", - "integrity": "sha512-If3PDskT77q7zgqVqYuj7WG3WC08G1kwXGVFi9Jr8nY6eHucREHkfpX79c0ACAjLj3QIWKPJR7w4i+f5EdLH5Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", + "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.1.tgz", - "integrity": "sha512-zCpKHioQ9KgZToFp5Wvz6zaWbMzYQ2LJHQ+QixDKq52KKrF65ueu6Af4hLlLWHjX1Wf/0G5kSJM9PySW9IrvHA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", + "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.1.tgz", - "integrity": "sha512-sFvF+t2+TyUo/ZQqUcifrJIgznx58oFZbdHS9TvHq3xhPVL9nOp+yZ6LKrO9GWTP+6DbFtoyLDbjTpR62Mbr3Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", + "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.1.tgz", - "integrity": "sha512-NbOa+7InvMWRcY9RG+B6kKIMD/FsnQPH0MWUvDlQB1iXnF/UcKSudCXZtv4lW+C276g3w5AxPbfry5rSYvyeYA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", + "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.1.tgz", - "integrity": "sha512-JRBRmwvHPXR881j2xjry8HZ86wIPK2CcDw0EXchE1UgU0ubWp9nvlT7cZYKc6bkypBt745b4bglf3+xJ7hXWWw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", + "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.1.tgz", - "integrity": "sha512-PKvszb+9o/vVdUzCCjL0sKHukEQV39tD3fepXxYrHE3sTKrRdCydI7uldRLbjLmDA3TFDmh418XH19NOsDRH8g==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", + "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.1.tgz", - "integrity": "sha512-9WHEMV6Y89eL606ReYowXuGF1Yb2vwfKWKdD1A5h+OYnPZSJvxbEjxTRKPgi7tkP2DSnW0YLab1ooy+i/FQp/Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", + "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.1.tgz", - "integrity": "sha512-tZWc9iEt5fGJ1CL2LRPw8OttkCBDs+D8D3oEM8mH8S1ICZCtFJhD7DZ3XMGM8kpqHvhGUTvNUYVDnmkj4BDXnw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", + "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.1.tgz", - "integrity": "sha512-FTYc2YoTWUsBz5GTTgGkRYYJ5NGJIi/rCY4oK/I8aKowx1ToXeoVVbIE4LGAjsauvlhjfl0MYacxClLld1VrOw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", + "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.1.tgz", - "integrity": "sha512-F51qLdOtpS6P1zJVRzYM0v6MrBNypyPEN1GfMiz0gPu9jN8ScGaEFIZQwteSsGKg799oR5EaP7+B2jHgL+d+Kw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", + "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", "cpu": [ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.1.tgz", - "integrity": "sha512-wO0WkfSppfX4YFm5KhdCCpnpGbtgQNj/tgvYzrVYFKDpven8w2N6Gg5nB6w+wAMO3AIfSTWeTjfVe+uZ23zAlg==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", + "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", "cpu": [ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.1.tgz", - "integrity": "sha512-iWswS9cIXfJO1MFYtI/4jjlrGb/V58oMu4dYJIKnR5UIwbkzR0PJ09O0PDZT0oJ3LYWXBSWahNf/Mjo6i1E5/g==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", + "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", "cpu": [ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.1.tgz", - "integrity": "sha512-RKt8NI9tebzmEthMnfVgG3i/XeECkMPS+ibVZjZ6mNekpbbUmkNWuIN2yHsb/mBPyZke4nlI4YqIdFPgKuoyQQ==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", + "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", "cpu": [ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.1.tgz", - "integrity": "sha512-WQFLZ9c42ECqEjwg/GHHsouij3pzLXkFdz0UxHa/0OM12LzvX7DzedlY0SIEly2v18YZLRhCRoHZDxbBSWoGYg==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", + "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.1.tgz", - "integrity": "sha512-BLoiyHDOWoS3uccNSADMza6V6vCNiphi94tQlVIL5de+r6r/CCQuNnerf+1g2mnk2b6edp5dk0nhdZ7aEjOBsA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", + "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.1.tgz", - "integrity": "sha512-w2l3UnlgYTNNU+Z6wOR8YdaioqfEnwPjIsJ66KxKAf0p+AuL2FHeTX6qvM+p/Ue3XPBVNyVSfCrfZiQh7vZHLQ==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", + "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.1.tgz", - "integrity": "sha512-Am9H+TGLomPGkBnaPWie4F3x+yQ2rr4Bk2jpwy+iV+Gel9jLAu/KqT8k3X4jxFPW6Zf8OMnehyutsd+eHoq1WQ==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", + "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.1.tgz", - "integrity": "sha512-ar80GhdZb4DgmW3myIS9nRFYcpJRSME8iqWgzH2i44u+IdrzmiXVxeFnExQ5v4JYUSpg94bWjevMG8JHf1Da5Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", + "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -5173,9 +5206,9 @@ } }, "node_modules/@stylistic/eslint-plugin": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.13.0.tgz", - "integrity": "sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.1.0.tgz", + "integrity": "sha512-pA6VOrOqk0+S8toJYhQGv2MWpQQR0QpeUo9AhNkC49Y26nxBQ/nH1rta9bUU1rPw2fJ1zZEMV5oCX5AazT7J2g==", "dev": true, "license": "MIT", "dependencies": { @@ -5192,19 +5225,6 @@ "eslint": ">=8.40.0" } }, - "node_modules/@stylistic/eslint-plugin/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", @@ -5218,24 +5238,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@stylistic/eslint-plugin/node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@stylistic/eslint-plugin/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", @@ -5260,9 +5262,9 @@ } }, "node_modules/@stylistic/stylelint-plugin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.1.tgz", - "integrity": "sha512-XagAHHIa528EvyGybv8EEYGK5zrVW74cHpsjhtovVATbhDRuJYfE+X4HCaAieW9lCkwbX6L+X0I4CiUG3w/hFw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.2.tgz", + "integrity": "sha512-tylFJGMQo62alGazK74MNxFjMagYOHmBZiePZFOJK2n13JZta0uVkB3Bh5qodUmOLtRH+uxH297EibK14UKm8g==", "dev": true, "license": "MIT", "dependencies": { @@ -5574,10 +5576,11 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -5863,47 +5866,16 @@ "@types/node": "*" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz", - "integrity": "sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.21.0", - "@typescript-eslint/type-utils": "8.21.0", - "@typescript-eslint/utils": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, "node_modules/@typescript-eslint/parser": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.21.0.tgz", - "integrity": "sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.1.tgz", + "integrity": "sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.21.0", - "@typescript-eslint/types": "8.21.0", - "@typescript-eslint/typescript-estree": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", "debug": "^4.3.4" }, "engines": { @@ -5918,6 +5890,127 @@ "typescript": ">=4.8.4 <5.8.0" } }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", + "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", + "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", + "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", + "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@typescript-eslint/parser/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, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@typescript-eslint/scope-manager": { "version": "8.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.21.0.tgz", @@ -5936,30 +6029,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz", - "integrity": "sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "8.21.0", - "@typescript-eslint/utils": "8.21.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, "node_modules/@typescript-eslint/types": { "version": "8.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.21.0.tgz", @@ -6095,12 +6164,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, "node_modules/@uupaa/dynamic-import-polyfill": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@uupaa/dynamic-import-polyfill/-/dynamic-import-polyfill-1.0.2.tgz", @@ -6108,11 +6171,10 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.4.tgz", - "integrity": "sha512-f0twgRCHgbs24Dp8cLWagzcObXMcuKtAwgxjJV/nnysPAJJk1JiKu/W0gIehZLmkljhJXU/E0/dmuQzsA/4jhA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.5.tgz", + "integrity": "sha512-zOOWIsj5fHh3jjGwQg+P+J1FW3s4jBu1Zqga0qW60yutsBtqEqNEJKWYh7cYn1yGD+1bdPsPdC/eL4eVK56xMg==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^1.0.2", @@ -6131,8 +6193,8 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@vitest/browser": "3.0.4", - "vitest": "3.0.4" + "@vitest/browser": "3.0.5", + "vitest": "3.0.5" }, "peerDependenciesMeta": { "@vitest/browser": { @@ -6141,14 +6203,13 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.4.tgz", - "integrity": "sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.5.tgz", + "integrity": "sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==", "dev": true, - "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.4", - "@vitest/utils": "3.0.4", + "@vitest/spy": "3.0.5", + "@vitest/utils": "3.0.5", "chai": "^5.1.2", "tinyrainbow": "^2.0.0" }, @@ -6157,13 +6218,12 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.4.tgz", - "integrity": "sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.5.tgz", + "integrity": "sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==", "dev": true, - "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.4", + "@vitest/spy": "3.0.5", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -6184,11 +6244,10 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.4.tgz", - "integrity": "sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.6.tgz", + "integrity": "sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==", "dev": true, - "license": "MIT", "dependencies": { "tinyrainbow": "^2.0.0" }, @@ -6197,13 +6256,12 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.4.tgz", - "integrity": "sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.5.tgz", + "integrity": "sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==", "dev": true, - "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.4", + "@vitest/utils": "3.0.5", "pathe": "^2.0.2" }, "funding": { @@ -6211,13 +6269,12 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.4.tgz", - "integrity": "sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.5.tgz", + "integrity": "sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==", "dev": true, - "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.4", + "@vitest/pretty-format": "3.0.5", "magic-string": "^0.30.17", "pathe": "^2.0.2" }, @@ -6225,12 +6282,23 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/spy": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.4.tgz", - "integrity": "sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==", + "node_modules/@vitest/snapshot/node_modules/@vitest/pretty-format": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.5.tgz", + "integrity": "sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==", + "dev": true, + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.5.tgz", + "integrity": "sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==", "dev": true, - "license": "MIT", "dependencies": { "tinyspy": "^3.0.2" }, @@ -6239,13 +6307,12 @@ } }, "node_modules/@vitest/utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.4.tgz", - "integrity": "sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.5.tgz", + "integrity": "sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==", "dev": true, - "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.4", + "@vitest/pretty-format": "3.0.5", "loupe": "^3.1.2", "tinyrainbow": "^2.0.0" }, @@ -6253,6 +6320,18 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/utils/node_modules/@vitest/pretty-format": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.5.tgz", + "integrity": "sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==", + "dev": true, + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", @@ -6618,6 +6697,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -6925,7 +7005,6 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" } @@ -6940,12 +7019,13 @@ } }, "node_modules/ast-metadata-inferer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz", - "integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.1.tgz", + "integrity": "sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==", "dev": true, + "license": "MIT", "dependencies": { - "@mdn/browser-compat-data": "^5.2.34" + "@mdn/browser-compat-data": "^5.6.19" } }, "node_modules/ast-types-flow": { @@ -7182,14 +7262,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -7482,9 +7562,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, "funding": [ { @@ -7502,10 +7582,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -7552,6 +7632,19 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", @@ -7746,9 +7839,9 @@ "dev": true }, "node_modules/caniuse-lite": { - "version": "1.0.30001667", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz", - "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==", + "version": "1.0.30001700", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", + "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", "dev": true, "funding": [ { @@ -7792,11 +7885,10 @@ } }, "node_modules/chai": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", - "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", "dev": true, - "license": "MIT", "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", @@ -7812,6 +7904,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -7866,7 +7959,6 @@ "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 16" } @@ -8061,6 +8153,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -8068,7 +8161,8 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/color-string": { "version": "1.9.1", @@ -8395,13 +8489,13 @@ } }, "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", + "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", "dev": true, "license": "MIT", "dependencies": { - "browserslist": "^4.23.3" + "browserslist": "^4.24.3" }, "funding": { "type": "opencollective", @@ -8447,10 +8541,11 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "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", @@ -9097,7 +9192,6 @@ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -9324,18 +9418,6 @@ "node": ">=8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -9482,9 +9564,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.5.34", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.34.tgz", - "integrity": "sha512-/TZAiChbAflBNjCg+VvstbcwAtIL/VdMFO3NgRFIzBjpvPzWOTIbbO8kNb6RwU4bt9TP7K+3KqBKw/lOU+Y+GA==", + "version": "1.5.102", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz", + "integrity": "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==", "dev": true, "license": "ISC" }, @@ -9859,7 +9941,6 @@ "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -9895,9 +9976,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "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": { @@ -9913,64 +9994,69 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "version": "9.20.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", + "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.11.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.20.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-import-resolver-node": { @@ -10038,24 +10124,26 @@ } }, "node_modules/eslint-plugin-compat": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz", - "integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.0.2.tgz", + "integrity": "sha512-1ME+YfJjmOz1blH0nPZpHgjMGK4kjgEeoYqGCqoBPQ/mGu/dJzdoP0f1C8H2jcWZjzhZjAMccbM/VdXhPORIfA==", "dev": true, + "license": "MIT", "dependencies": { - "@mdn/browser-compat-data": "^5.3.13", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001524", + "@mdn/browser-compat-data": "^5.5.35", + "ast-metadata-inferer": "^0.8.1", + "browserslist": "^4.24.2", + "caniuse-lite": "^1.0.30001687", "find-up": "^5.0.0", + "globals": "^15.7.0", "lodash.memoize": "^4.1.2", - "semver": "^7.5.4" + "semver": "^7.6.2" }, "engines": { - "node": ">=14.x" + "node": ">=18.x" }, "peerDependencies": { - "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-plugin-compat/node_modules/find-up": { @@ -10063,6 +10151,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -10079,6 +10168,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -10094,6 +10184,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -10109,6 +10200,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -10120,13 +10212,11 @@ } }, "node_modules/eslint-plugin-compat/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -10139,7 +10229,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dev": true, - "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.8", @@ -10233,7 +10322,6 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.4.tgz", "integrity": "sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -10262,15 +10350,16 @@ } }, "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, "node_modules/eslint-plugin-react/node_modules/doctrine": { @@ -10315,15 +10404,73 @@ } }, "node_modules/eslint-plugin-sonarjs": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.25.1.tgz", - "integrity": "sha512-5IOKvj/GMBNqjxBdItfotfRHo7w48496GOu1hxdeXuD0mB1JBlDCViiLHETDTfA8pDAVSBimBEQoetRXYceQEw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-3.0.2.tgz", + "integrity": "sha512-LxjbfwI7ypENeTmGyKmDyNux3COSkMi7H/6Cal5StSLQ6edf0naP45SZR43OclaNR7WfhVTZdhOn63q3/Y6puQ==", "dev": true, - "engines": { - "node": ">=16" + "license": "LGPL-3.0-only", + "dependencies": { + "@eslint-community/regexpp": "4.12.1", + "builtin-modules": "3.3.0", + "bytes": "3.1.2", + "functional-red-black-tree": "1.0.1", + "jsx-ast-utils": "3.3.5", + "minimatch": "9.0.5", + "scslre": "0.3.0", + "semver": "7.7.1", + "typescript": "^5" }, "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.0.0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-sonarjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/eslint-plugin-sonarjs/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/eslint-plugin-sonarjs/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/eslint-plugin-sonarjs/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/eslint-scope": { @@ -10384,13 +10531,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10442,9 +10582,9 @@ } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -10452,7 +10592,20 @@ "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -10468,6 +10621,19 @@ "node": ">=4.0" } }, + "node_modules/eslint/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -10485,6 +10651,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -10498,22 +10678,6 @@ "node": ">=10.13.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -10524,29 +10688,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -10616,17 +10757,44 @@ } }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -10701,7 +10869,6 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } @@ -10823,15 +10990,14 @@ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz", "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.0.0" } }, "node_modules/expose-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-5.0.0.tgz", - "integrity": "sha512-BtUqYRmvx1bEY5HN6eK2I9URUZgNmN0x5UANuocaNjXSgfoDlkXt+wyEMe7i5DzDNh2BKJHPc5F4rBwEdSQX6w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-5.0.1.tgz", + "integrity": "sha512-5YPZuszN/eWND/B+xuq5nIpb/l5TV1HYmdO6SubYtHv+HenVw9/6bn33Mm5reY8DNid7AVtbARvyUD34edfCtg==", "dev": true, "license": "MIT", "engines": { @@ -11889,6 +12055,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true, + "license": "MIT" + }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -12088,11 +12261,15 @@ } }, "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/globalthis": { @@ -12251,6 +12428,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, "engines": { "node": ">=4" } @@ -14549,11 +14727,10 @@ } }, "node_modules/loupe": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", - "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", - "dev": true, - "license": "MIT" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", + "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", + "dev": true }, "node_modules/lower-case": { "version": "2.0.2", @@ -14581,7 +14758,6 @@ "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" } @@ -15129,9 +15305,9 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, "funding": [ { @@ -15275,9 +15451,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, "license": "MIT" }, @@ -15971,18 +16147,16 @@ } }, "node_modules/pathe": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.2.tgz", - "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==", - "dev": true, - "license": "MIT" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true }, "node_modules/pathval": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 14.16" } @@ -16091,9 +16265,9 @@ } }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", + "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", "dev": true, "funding": [ { @@ -16111,7 +16285,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -17664,9 +17838,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.3.tgz", - "integrity": "sha512-9qzVhcMFU/MnwYHyYpJz4JhGku/4+xEiPTmhn0hj3IxnUYlEF9vbh7OC1KoLAnenS6Fgg43TKNp9xcuMeAi4Zw==", + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.4.tgz", + "integrity": "sha512-awWKS3CwyY7I4Eb3YSWOZisbj3qXyuQCrylYiu2vSHxnSZAj3LHStN6jOcpCrc6EjYunLwbeNto3M5/JBtXpzg==", "dev": true, "funding": [ { @@ -17690,7 +17864,7 @@ "@csstools/postcss-gradients-interpolation-method": "^5.0.7", "@csstools/postcss-hwb-function": "^4.0.7", "@csstools/postcss-ic-unit": "^4.0.0", - "@csstools/postcss-initial": "^2.0.0", + "@csstools/postcss-initial": "^2.0.1", "@csstools/postcss-is-pseudo-class": "^5.0.1", "@csstools/postcss-light-dark-function": "^2.0.7", "@csstools/postcss-logical-float-and-clear": "^3.0.0", @@ -17713,7 +17887,7 @@ "@csstools/postcss-trigonometric-functions": "^4.0.6", "@csstools/postcss-unset-value": "^4.0.0", "autoprefixer": "^10.4.19", - "browserslist": "^4.23.1", + "browserslist": "^4.24.4", "css-blank-pseudo": "^7.0.1", "css-has-pseudo": "^7.0.2", "css-prefers-color-scheme": "^10.0.0", @@ -18495,6 +18669,19 @@ "node": ">= 10.13.0" } }, + "node_modules/refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -18565,6 +18752,20 @@ "node": ">=0.10.0" } }, + "node_modules/regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", @@ -18587,16 +18788,16 @@ } }, "node_modules/regexpu-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "license": "MIT", "dependencies": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", "regjsgen": "^0.8.0", - "regjsparser": "^0.11.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -18612,9 +18813,9 @@ "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", - "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -18829,11 +19030,10 @@ } }, "node_modules/rollup": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.32.1.tgz", - "integrity": "sha512-z+aeEsOeEa3mEbS1Tjl6sAZ8NE3+AalQz1RJGj81M+fizusbdDMoEJwdJNHfaB40Scr4qNu+welOfes7maKonA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", + "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "1.0.6" }, @@ -18845,25 +19045,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.32.1", - "@rollup/rollup-android-arm64": "4.32.1", - "@rollup/rollup-darwin-arm64": "4.32.1", - "@rollup/rollup-darwin-x64": "4.32.1", - "@rollup/rollup-freebsd-arm64": "4.32.1", - "@rollup/rollup-freebsd-x64": "4.32.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.32.1", - "@rollup/rollup-linux-arm-musleabihf": "4.32.1", - "@rollup/rollup-linux-arm64-gnu": "4.32.1", - "@rollup/rollup-linux-arm64-musl": "4.32.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.32.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.32.1", - "@rollup/rollup-linux-riscv64-gnu": "4.32.1", - "@rollup/rollup-linux-s390x-gnu": "4.32.1", - "@rollup/rollup-linux-x64-gnu": "4.32.1", - "@rollup/rollup-linux-x64-musl": "4.32.1", - "@rollup/rollup-win32-arm64-msvc": "4.32.1", - "@rollup/rollup-win32-ia32-msvc": "4.32.1", - "@rollup/rollup-win32-x64-msvc": "4.32.1", + "@rollup/rollup-android-arm-eabi": "4.34.8", + "@rollup/rollup-android-arm64": "4.34.8", + "@rollup/rollup-darwin-arm64": "4.34.8", + "@rollup/rollup-darwin-x64": "4.34.8", + "@rollup/rollup-freebsd-arm64": "4.34.8", + "@rollup/rollup-freebsd-x64": "4.34.8", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", + "@rollup/rollup-linux-arm-musleabihf": "4.34.8", + "@rollup/rollup-linux-arm64-gnu": "4.34.8", + "@rollup/rollup-linux-arm64-musl": "4.34.8", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", + "@rollup/rollup-linux-riscv64-gnu": "4.34.8", + "@rollup/rollup-linux-s390x-gnu": "4.34.8", + "@rollup/rollup-linux-x64-gnu": "4.34.8", + "@rollup/rollup-linux-x64-musl": "4.34.8", + "@rollup/rollup-win32-arm64-msvc": "4.34.8", + "@rollup/rollup-win32-ia32-msvc": "4.34.8", + "@rollup/rollup-win32-x64-msvc": "4.34.8", "fsevents": "~2.3.2" } }, @@ -19020,9 +19220,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz", - "integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", + "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", "dev": true, "license": "MIT", "dependencies": { @@ -19041,9 +19241,9 @@ } }, "node_modules/sass-embedded": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.83.4.tgz", - "integrity": "sha512-Hf2burRA/y5PGxsg6jB9UpoK/xZ6g/pgrkOcdl6j+rRg1Zj8XhGKZ1MTysZGtTPUUmiiErqzkP5+Kzp95yv9GQ==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.85.0.tgz", + "integrity": "sha512-x3Vv54g0jv1aPSW8OTA/0GzQCs/HMQOjIkLtZJ3Xsn/I4vnyjKbVTQmFTax9bQjldqLEEkdbvy6ES/cOOnYNwA==", "license": "MIT", "optional": true, "dependencies": { @@ -19063,32 +19263,32 @@ "node": ">=16.0.0" }, "optionalDependencies": { - "sass-embedded-android-arm": "1.83.4", - "sass-embedded-android-arm64": "1.83.4", - "sass-embedded-android-ia32": "1.83.4", - "sass-embedded-android-riscv64": "1.83.4", - "sass-embedded-android-x64": "1.83.4", - "sass-embedded-darwin-arm64": "1.83.4", - "sass-embedded-darwin-x64": "1.83.4", - "sass-embedded-linux-arm": "1.83.4", - "sass-embedded-linux-arm64": "1.83.4", - "sass-embedded-linux-ia32": "1.83.4", - "sass-embedded-linux-musl-arm": "1.83.4", - "sass-embedded-linux-musl-arm64": "1.83.4", - "sass-embedded-linux-musl-ia32": "1.83.4", - "sass-embedded-linux-musl-riscv64": "1.83.4", - "sass-embedded-linux-musl-x64": "1.83.4", - "sass-embedded-linux-riscv64": "1.83.4", - "sass-embedded-linux-x64": "1.83.4", - "sass-embedded-win32-arm64": "1.83.4", - "sass-embedded-win32-ia32": "1.83.4", - "sass-embedded-win32-x64": "1.83.4" + "sass-embedded-android-arm": "1.85.0", + "sass-embedded-android-arm64": "1.85.0", + "sass-embedded-android-ia32": "1.85.0", + "sass-embedded-android-riscv64": "1.85.0", + "sass-embedded-android-x64": "1.85.0", + "sass-embedded-darwin-arm64": "1.85.0", + "sass-embedded-darwin-x64": "1.85.0", + "sass-embedded-linux-arm": "1.85.0", + "sass-embedded-linux-arm64": "1.85.0", + "sass-embedded-linux-ia32": "1.85.0", + "sass-embedded-linux-musl-arm": "1.85.0", + "sass-embedded-linux-musl-arm64": "1.85.0", + "sass-embedded-linux-musl-ia32": "1.85.0", + "sass-embedded-linux-musl-riscv64": "1.85.0", + "sass-embedded-linux-musl-x64": "1.85.0", + "sass-embedded-linux-riscv64": "1.85.0", + "sass-embedded-linux-x64": "1.85.0", + "sass-embedded-win32-arm64": "1.85.0", + "sass-embedded-win32-ia32": "1.85.0", + "sass-embedded-win32-x64": "1.85.0" } }, "node_modules/sass-embedded-android-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.83.4.tgz", - "integrity": "sha512-9Z4pJAOgEkXa3VDY/o+U6l5XvV0mZTJcSl0l/mSPHihjAHSpLYnOW6+KOWeM8dxqrsqTYcd6COzhanI/a++5Gw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.85.0.tgz", + "integrity": "sha512-pPBT7Ad6G8Mlao8ypVNXW2ya7I/Bhcny+RYZ/EmrunEXfhzCNp4PWV2VAweitPO9RnPIJwvUTkLc8Fu6K3nVmw==", "cpu": [ "arm" ], @@ -19102,9 +19302,9 @@ } }, "node_modules/sass-embedded-android-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.83.4.tgz", - "integrity": "sha512-tgX4FzmbVqnQmD67ZxQDvI+qFNABrboOQgwsG05E5bA/US42zGajW9AxpECJYiMXVOHmg+d81ICbjb0fsVHskw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.85.0.tgz", + "integrity": "sha512-4itDzRwezwrW8+YzMLIwHtMeH+qrBNdBsRn9lTVI15K+cNLC8z5JWJi6UCZ8TNNZr9LDBfsh5jUdjSub0yF7jg==", "cpu": [ "arm64" ], @@ -19118,9 +19318,9 @@ } }, "node_modules/sass-embedded-android-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.83.4.tgz", - "integrity": "sha512-RsFOziFqPcfZXdFRULC4Ayzy9aK6R6FwQ411broCjlOBX+b0gurjRadkue3cfUEUR5mmy0KeCbp7zVKPLTK+5Q==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.85.0.tgz", + "integrity": "sha512-bwqKq95hzbGbMTeXCMQhH7yEdc2xJVwIXj7rGdD3McvyFWbED6362XRFFPI5YyjfD2wRJd9yWLh/hn+6VyjcYA==", "cpu": [ "ia32" ], @@ -19134,9 +19334,9 @@ } }, "node_modules/sass-embedded-android-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.83.4.tgz", - "integrity": "sha512-EHwh0nmQarBBrMRU928eTZkFGx19k/XW2YwbPR4gBVdWLkbTgCA5aGe8hTE6/1zStyx++3nDGvTZ78+b/VvvLg==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.85.0.tgz", + "integrity": "sha512-Fgkgay+5EePJXZFHR5Vlkutnsmox2V6nX4U3mfGbSN1xjLRm8F5ST72V2s5Z0mnIFpGvEu/v7hfptgViqMvaxg==", "cpu": [ "riscv64" ], @@ -19150,9 +19350,9 @@ } }, "node_modules/sass-embedded-android-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.83.4.tgz", - "integrity": "sha512-0PgQNuPWYy1jEOEPDVsV89KfqOsMLIp9CSbjBY7jRcwRhyVAcigqrUG6bDeNtojHUYKA1kU+Eh/85WxOHUOgBw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.85.0.tgz", + "integrity": "sha512-/bG3JgTn3eoIDHCiJNVkLeJgUesat4ghxqYmKMZUJx++4e6iKCDj8XwQTJAgm+QDrsPKXHBacHEANJ9LEAuTqg==", "cpu": [ "x64" ], @@ -19166,9 +19366,9 @@ } }, "node_modules/sass-embedded-darwin-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.83.4.tgz", - "integrity": "sha512-rp2ywymWc3nymnSnAFG5R/8hvxWCsuhK3wOnD10IDlmNB7o4rzKby1c+2ZfpQGowlYGWsWWTgz8FW2qzmZsQRw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.85.0.tgz", + "integrity": "sha512-plp8TyMz97YFBCB3ndftEvoW29vyfsSBJILM5U84cGzr06SvLh/Npjj8psfUeRw+upEk1zkFtw5u61sRCdgwIw==", "cpu": [ "arm64" ], @@ -19182,9 +19382,9 @@ } }, "node_modules/sass-embedded-darwin-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.83.4.tgz", - "integrity": "sha512-kLkN2lXz9PCgGfDS8Ev5YVcl/V2173L6379en/CaFuJJi7WiyPgBymW7hOmfCt4uO4R1y7CP2Uc08DRtZsBlAA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.85.0.tgz", + "integrity": "sha512-LP8Zv8DG57Gn6PmSwWzC0gEZUsGdg36Ps3m0i1fVTOelql7N3HZIrlPYRjJvidL8ZlB3ISxNANebTREUHn/wkQ==", "cpu": [ "x64" ], @@ -19198,9 +19398,9 @@ } }, "node_modules/sass-embedded-linux-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.83.4.tgz", - "integrity": "sha512-nL90ryxX2lNmFucr9jYUyHHx21AoAgdCL1O5Ltx2rKg2xTdytAGHYo2MT5S0LIeKLa/yKP/hjuSvrbICYNDvtA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.85.0.tgz", + "integrity": "sha512-18xOAEfazJt1MMVS2TRHV94n81VyMnywOoJ7/S7I79qno/zx26OoqqP4XvH107xu8+mZ9Gg54LrUH6ZcgHk08g==", "cpu": [ "arm" ], @@ -19214,9 +19414,9 @@ } }, "node_modules/sass-embedded-linux-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.83.4.tgz", - "integrity": "sha512-E0zjsZX2HgESwyqw31EHtI39DKa7RgK7nvIhIRco1d0QEw227WnoR9pjH3M/ZQy4gQj3GKilOFHM5Krs/omeIA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.85.0.tgz", + "integrity": "sha512-JRIRKVOY5Y8M1zlUOv9AQGju4P6lj8i5vLJZsVYVN/uY8Cd2dDJZPC8EOhjntp+IpF8AOGIHqCeCkHBceIyIjA==", "cpu": [ "arm64" ], @@ -19230,9 +19430,9 @@ } }, "node_modules/sass-embedded-linux-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.83.4.tgz", - "integrity": "sha512-ew5HpchSzgAYbQoriRh8QhlWn5Kw2nQ2jHoV9YLwGKe3fwwOWA0KDedssvDv7FWnY/FCqXyymhLd6Bxae4Xquw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.85.0.tgz", + "integrity": "sha512-4JH+h+gLt9So22nNPQtsKojEsLzjld9ol3zWcOtMGclv+HojZGbCuhJUrLUcK72F8adXYsULmWhJPKROLIwYMA==", "cpu": [ "ia32" ], @@ -19246,9 +19446,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.83.4.tgz", - "integrity": "sha512-0RrJRwMrmm+gG0VOB5b5Cjs7Sd+lhqpQJa6EJNEaZHljJokEfpE5GejZsGMRMIQLxEvVphZnnxl6sonCGFE/QQ==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.85.0.tgz", + "integrity": "sha512-Z1j4ageDVFihqNUBnm89fxY46pY0zD/Clp1D3ZdI7S+D280+AEpbm5vMoH8LLhBQfQLf2w7H++SZGpQwrisudQ==", "cpu": [ "arm" ], @@ -19262,9 +19462,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.83.4.tgz", - "integrity": "sha512-IzMgalf6MZOxgp4AVCgsaWAFDP/IVWOrgVXxkyhw29fyAEoSWBJH4k87wyPhEtxSuzVHLxKNbc8k3UzdWmlBFg==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.85.0.tgz", + "integrity": "sha512-aoQjUjK28bvdw9XKTjQeayn8oWQ2QqvoTD11myklGd3IHH7Jj0nwXUstI4NxDueCKt3wghuZoIQkjOheReQxlg==", "cpu": [ "arm64" ], @@ -19278,9 +19478,9 @@ } }, "node_modules/sass-embedded-linux-musl-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.83.4.tgz", - "integrity": "sha512-LLb4lYbcxPzX4UaJymYXC+WwokxUlfTJEFUv5VF0OTuSsHAGNRs/rslPtzVBTvMeG9TtlOQDhku1F7G6iaDotA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.85.0.tgz", + "integrity": "sha512-/cJCSXOfXmQFH8deE+3U9x+BSz8i0d1Tt9gKV/Gat1Xm43Oumw8pmZgno+cDuGjYQInr9ryW5121pTMlj/PBXQ==", "cpu": [ "ia32" ], @@ -19294,9 +19494,9 @@ } }, "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.83.4.tgz", - "integrity": "sha512-zoKlPzD5Z13HKin1UGR74QkEy+kZEk2AkGX5RelRG494mi+IWwRuWCppXIovor9+BQb9eDWPYPoMVahwN5F7VA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.85.0.tgz", + "integrity": "sha512-l+FJxMXkmg42RZq5RFKXg4InX0IA7yEiPHe4kVSdrczP7z3NLxk+W9wVkPnoRKYIMe1qZPPQ25y0TgI4HNWouA==", "cpu": [ "riscv64" ], @@ -19310,9 +19510,9 @@ } }, "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.83.4.tgz", - "integrity": "sha512-hB8+/PYhfEf2zTIcidO5Bpof9trK6WJjZ4T8g2MrxQh8REVtdPcgIkoxczRynqybf9+fbqbUwzXtiUao2GV+vQ==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.85.0.tgz", + "integrity": "sha512-M9ffjcYfFcRvkFA6V3DpOS955AyvmpvPAhL/xNK45d/ma1n1ehTWpd24tVeKiNK5CZkNjjMEfyw2fHa6MpqmEA==", "cpu": [ "x64" ], @@ -19326,9 +19526,9 @@ } }, "node_modules/sass-embedded-linux-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.83.4.tgz", - "integrity": "sha512-83fL4n+oeDJ0Y4KjASmZ9jHS1Vl9ESVQYHMhJE0i4xDi/P3BNarm2rsKljq/QtrwGpbqwn8ujzOu7DsNCMDSHA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.85.0.tgz", + "integrity": "sha512-yqPXQWfM+qiIPkfn++48GOlbmSvUZIyL9nwFstBk0k4x40UhbhilfknqeTUpxoHfQzylTGVhrm5JE7MjM+LNZA==", "cpu": [ "riscv64" ], @@ -19342,9 +19542,9 @@ } }, "node_modules/sass-embedded-linux-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.83.4.tgz", - "integrity": "sha512-NlnGdvCmTD5PK+LKXlK3sAuxOgbRIEoZfnHvxd157imCm/s2SYF/R28D0DAAjEViyI8DovIWghgbcqwuertXsA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.85.0.tgz", + "integrity": "sha512-NTDeQFZcuVR7COoaRy8pZD6/+QznwBR8kVFsj7NpmvX9aJ7TX/q+OQZHX7Bfb3tsfKXhf1YZozegPuYxRnMKAQ==", "cpu": [ "x64" ], @@ -19358,9 +19558,9 @@ } }, "node_modules/sass-embedded-win32-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.83.4.tgz", - "integrity": "sha512-J2BFKrEaeSrVazU2qTjyQdAk+MvbzJeTuCET0uAJEXSKtvQ3AzxvzndS7LqkDPbF32eXAHLw8GVpwcBwKbB3Uw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.85.0.tgz", + "integrity": "sha512-gO0VAuxC4AdV+uZYJESRWVVHQWCGzNs0C3OKCAdH4r1vGRugooMi7J/5wbwUdXDA1MV9ICfhlKsph2n3GiPdqA==", "cpu": [ "arm64" ], @@ -19374,9 +19574,9 @@ } }, "node_modules/sass-embedded-win32-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.83.4.tgz", - "integrity": "sha512-uPAe9T/5sANFhJS5dcfAOhOJy8/l2TRYG4r+UO3Wp4yhqbN7bggPvY9c7zMYS0OC8tU/bCvfYUDFHYMCl91FgA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.85.0.tgz", + "integrity": "sha512-PCyn6xeFIBUgBceNypuf73/5DWF2VWPlPqPuBprPsTvpZOMUJeBtP+Lf4mnu3dNy1z76mYVnpaCnQmzZ0zHZaA==", "cpu": [ "ia32" ], @@ -19390,9 +19590,9 @@ } }, "node_modules/sass-embedded-win32-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.83.4.tgz", - "integrity": "sha512-C9fkDY0jKITdJFij4UbfPFswxoXN9O/Dr79v17fJnstVwtUojzVJWKHUXvF0Zg2LIR7TCc4ju3adejKFxj7ueA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.85.0.tgz", + "integrity": "sha512-AknE2jLp6OBwrR5hQ8pDsG94KhJCeSheFJ2xgbnk8RUjZX909JiNbgh2sNt9LG+RXf4xZa55dDL537gZoCx/iw==", "cpu": [ "x64" ], @@ -19432,9 +19632,9 @@ } }, "node_modules/sass-loader": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.4.tgz", - "integrity": "sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==", + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", + "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", "dev": true, "license": "MIT", "dependencies": { @@ -19489,9 +19689,9 @@ } }, "node_modules/sass/node_modules/readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "license": "MIT", "engines": { @@ -19523,10 +19723,11 @@ } }, "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", "dev": true, + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -19534,7 +19735,7 @@ "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", @@ -19552,6 +19753,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + }, + "engines": { + "node": "^14.0.0 || >=16.0.0" + } + }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -20598,8 +20814,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/string_decoder": { "version": "1.1.1", @@ -20852,9 +21067,9 @@ } }, "node_modules/stylelint": { - "version": "16.13.2", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.13.2.tgz", - "integrity": "sha512-wDlgh0mRO9RtSa3TdidqHd0nOG8MmUyVKl+dxA6C1j8aZRzpNeEgdhFmU5y4sZx4Fc6r46p0fI7p1vR5O2DZqA==", + "version": "16.14.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.14.1.tgz", + "integrity": "sha512-oqCL7AC3786oTax35T/nuLL8p2C3k/8rHKAooezrPGRvUX0wX+qqs5kMWh5YYT4PHQgVDobHT4tw55WgpYG6Sw==", "dev": true, "funding": [ { @@ -20886,7 +21101,7 @@ "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^7.0.1", + "ignore": "^7.0.3", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", "known-css-properties": "^0.35.0", @@ -20895,7 +21110,7 @@ "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", - "postcss": "^8.4.49", + "postcss": "^8.5.1", "postcss-resolve-nested-selector": "^0.1.6", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.0.0", @@ -22755,16 +22970,16 @@ } }, "node_modules/stylelint-scss": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.10.1.tgz", - "integrity": "sha512-CBqs0jecftIyhic6xba+4OvZUp4B0wNbX19w6Rq1fPo+lBDmTevk+olo8H7u/WQpTSDCDbBN4f3oocQurvXLTQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.11.0.tgz", + "integrity": "sha512-AvJ6LVzz2iXHxPlPTR9WVy73FC/vmohH54VySNlCKX1NIXNAeuzy/VbIkMJLMyw/xKYqkgY4kAgB+qy5BfCaCg==", "dev": true, "license": "MIT", "dependencies": { "css-tree": "^3.0.1", "is-plain-object": "^5.0.0", "known-css-properties": "^0.35.0", - "mdn-data": "^2.14.0", + "mdn-data": "^2.15.0", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.6", "postcss-selector-parser": "^7.0.0", @@ -22816,9 +23031,9 @@ "license": "CC0-1.0" }, "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, "license": "MIT", "dependencies": { @@ -23005,9 +23220,9 @@ } }, "node_modules/stylelint/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -23080,6 +23295,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/stylelint/node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "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.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/stylelint/node_modules/postcss-safe-parser": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", @@ -23108,9 +23352,9 @@ } }, "node_modules/stylelint/node_modules/postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, "license": "MIT", "dependencies": { @@ -23188,6 +23432,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -23382,9 +23627,9 @@ } }, "node_modules/swiper": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.1.tgz", - "integrity": "sha512-62G69+iQRIfUqTmJkWpZDcX891Ra8O9050ckt1/JI2H+0483g+gq0m7gINecDqMtDh2zt5dK+uzBRxGhGOOvQA==", + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.3.tgz", + "integrity": "sha512-24m5tqHCd1Wmp9+86aKDoIGMsZGEjIL++3nuB1UjhAhIlvwj4k0Jikxu9PGQ/VswLpoje6JtMDWo12uu4aS2FA==", "funding": [ { "type": "patreon", @@ -23485,10 +23730,11 @@ } }, "node_modules/terser": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.0.tgz", - "integrity": "sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -23503,16 +23749,17 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" }, "engines": { "node": ">= 10.13.0" @@ -23536,55 +23783,6 @@ } } }, - "node_modules/terser-webpack-plugin/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, - "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/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/terser-webpack-plugin/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 - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -23714,22 +23912,19 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/tinyexec": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/tinypool": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==", "dev": true, - "license": "MIT", "engines": { "node": "^18.0.0 || >=20.0.0" } @@ -23739,7 +23934,6 @@ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -23749,7 +23943,6 @@ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.0.0" } @@ -23774,14 +23967,6 @@ "dev": true, "license": "MIT" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -23937,11 +24122,10 @@ } }, "node_modules/ts-api-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.12" }, @@ -24116,18 +24300,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -24243,6 +24415,224 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.1.tgz", + "integrity": "sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.24.1", + "@typescript-eslint/parser": "8.24.1", + "@typescript-eslint/utils": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", + "integrity": "sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/type-utils": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", + "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz", + "integrity": "sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", + "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", + "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", + "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", + "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/typescript-eslint/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typescript-eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/typescript-eslint/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, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typescript-eslint/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -24532,9 +24922,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "dev": true, "funding": [ { @@ -24552,8 +24942,8 @@ ], "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -24588,9 +24978,10 @@ } }, "node_modules/usehooks-ts": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-3.1.0.tgz", - "integrity": "sha512-bBIa7yUyPhE1BCc0GmR96VU/15l/9gP1Ch5mYdLcFBaFGQsdmXkvjV0TtOqW1yUd6VjIwDunm+flSciCQXujiw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-3.1.1.tgz", + "integrity": "sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==", + "license": "MIT", "dependencies": { "lodash.debounce": "^4.0.8" }, @@ -24598,7 +24989,7 @@ "node": ">=16.15.0" }, "peerDependencies": { - "react": "^16.8.0 || ^17 || ^18" + "react": "^16.8.0 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "node_modules/util-deprecate": { @@ -24703,15 +25094,14 @@ } }, "node_modules/vite": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", - "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz", + "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", "dev": true, - "license": "MIT", "dependencies": { "esbuild": "^0.24.2", - "postcss": "^8.4.49", - "rollup": "^4.23.0" + "postcss": "^8.5.2", + "rollup": "^4.30.1" }, "bin": { "vite": "bin/vite.js" @@ -24775,11 +25165,10 @@ } }, "node_modules/vite-node": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.4.tgz", - "integrity": "sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.5.tgz", + "integrity": "sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==", "dev": true, - "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.4.0", @@ -24797,20 +25186,47 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/vitest": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.4.tgz", - "integrity": "sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==", + "node_modules/vite/node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, - "license": "MIT", + "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" + } + ], "dependencies": { - "@vitest/expect": "3.0.4", - "@vitest/mocker": "3.0.4", - "@vitest/pretty-format": "^3.0.4", - "@vitest/runner": "3.0.4", - "@vitest/snapshot": "3.0.4", - "@vitest/spy": "3.0.4", - "@vitest/utils": "3.0.4", + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/vitest": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.5.tgz", + "integrity": "sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==", + "dev": true, + "dependencies": { + "@vitest/expect": "3.0.5", + "@vitest/mocker": "3.0.5", + "@vitest/pretty-format": "^3.0.5", + "@vitest/runner": "3.0.5", + "@vitest/snapshot": "3.0.5", + "@vitest/spy": "3.0.5", + "@vitest/utils": "3.0.5", "chai": "^5.1.2", "debug": "^4.4.0", "expect-type": "^1.1.0", @@ -24822,7 +25238,7 @@ "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.4", + "vite-node": "3.0.5", "why-is-node-running": "^2.3.0" }, "bin": { @@ -24838,8 +25254,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.4", - "@vitest/ui": "3.0.4", + "@vitest/browser": "3.0.5", + "@vitest/ui": "3.0.5", "happy-dom": "*", "jsdom": "*" }, @@ -24922,9 +25338,9 @@ } }, "node_modules/webpack": { - "version": "5.97.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", - "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "version": "5.98.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", + "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", "dev": true, "license": "MIT", "dependencies": { @@ -24946,9 +25362,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", + "schema-utils": "^4.3.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", + "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, @@ -25261,33 +25677,6 @@ "node": ">=0.4.0" } }, - "node_modules/webpack/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/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, "node_modules/webpack/node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", @@ -25295,32 +25684,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/webpack/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/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -25503,7 +25866,6 @@ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, - "license": "MIT", "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" @@ -25913,21 +26275,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "devOptional": true }, - "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", @@ -25978,36 +26325,37 @@ } }, "@babel/code-frame": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", - "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "requires": { - "@babel/highlight": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "@babel/compat-data": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", - "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", "dev": true }, "@babel/core": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", - "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helpers": "^7.25.7", - "@babel/parser": "^7.25.8", - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.8", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -26024,43 +26372,34 @@ } }, "@babel/generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", - "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", "requires": { - "@babel/types": "^7.25.7", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "@babel/helper-annotate-as-pure": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", - "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dev": true, "requires": { - "@babel/types": "^7.25.7" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", - "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" } }, "@babel/helper-compilation-targets": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", - "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, "requires": { - "@babel/compat-data": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -26084,35 +26423,35 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", - "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", + "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.26.9", "semver": "^6.3.1" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", - "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz", + "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "regexpu-core": "^6.1.1", + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.2.0", "semver": "^6.3.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.22.6", @@ -26123,196 +26462,174 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", - "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dev": true, "requires": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/helper-module-imports": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", - "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "requires": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/helper-module-transforms": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", - "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, "@babel/helper-optimise-call-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", - "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dev": true, "requires": { - "@babel/types": "^7.25.7" + "@babel/types": "^7.25.9" } }, "@babel/helper-plugin-utils": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", - "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", - "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-wrap-function": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, "@babel/helper-replace-supers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", - "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", + "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.25.7", - "@babel/helper-optimise-call-expression": "^7.25.7", - "@babel/traverse": "^7.25.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", - "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", - "dev": true, - "requires": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.26.5" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", - "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dev": true, "requires": { - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/helper-string-parser": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", - "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==" + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==" }, "@babel/helper-validator-identifier": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", - "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==" + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" }, "@babel/helper-validator-option": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", - "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", - "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dev": true, "requires": { - "@babel/template": "^7.25.7", - "@babel/traverse": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/helpers": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", - "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", "dev": true, "requires": { - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7" - } - }, - "@babel/highlight": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", - "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", - "requires": { - "@babel/helper-validator-identifier": "^7.25.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" } }, "@babel/parser": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", - "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "requires": { - "@babel/types": "^7.25.8" + "@babel/types": "^7.26.9" } }, "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", - "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, "@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", - "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", - "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", - "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", - "@babel/plugin-transform-optional-chaining": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" } }, "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", - "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, "@babel/plugin-proposal-private-property-in-object": { @@ -26323,30 +26640,30 @@ "requires": {} }, "@babel/plugin-syntax-import-assertions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", - "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", - "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-syntax-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", - "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-syntax-unicode-sets-regex": { @@ -26360,598 +26677,615 @@ } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", - "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz", - "integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", + "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.26.8" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", - "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-remap-async-to-generator": "^7.25.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", - "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.26.5.tgz", + "integrity": "sha512-chuTSY+hq09+/f5lMj8ZSYgCFpppV2CbYrhNFJ1BFoXpiWPnnAb7R0MqrafCpN8E1+YRrtM1MXZHJdIx8B6rMQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", - "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-class-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", - "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-class-static-block": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz", - "integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-classes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", - "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7", - "@babel/traverse": "^7.25.7", + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", - "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/template": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" } }, "@babel/plugin-transform-destructuring": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", - "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", - "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", - "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-dynamic-import": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz", - "integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", - "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz", + "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-export-namespace-from": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz", - "integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-for-of": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", - "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz", + "integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" } }, "@babel/plugin-transform-function-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", - "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, "@babel/plugin-transform-json-strings": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz", - "integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", - "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz", - "integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", - "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", - "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", - "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz", + "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-simple-access": "^7.25.7" + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", - "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "@babel/traverse": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", - "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", - "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-new-target": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", - "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz", - "integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==", + "version": "7.26.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.26.6.tgz", + "integrity": "sha512-CKW8Vu+uUZneQCPtXmSBUC6NCAUdya26hWCElAWh5mVSlSRsmiCPUUDKb3Z0szng1hiAJa098Hkhg9o4SE35Qw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" } }, "@babel/plugin-transform-numeric-separator": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz", - "integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-object-rest-spread": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz", - "integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-transform-parameters": "^7.25.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" } }, "@babel/plugin-transform-object-super": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", - "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-replace-supers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" } }, "@babel/plugin-transform-optional-catch-binding": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz", - "integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-optional-chaining": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz", - "integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" } }, "@babel/plugin-transform-parameters": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", - "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-private-methods": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", - "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-private-property-in-object": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz", - "integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-create-class-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-property-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", - "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz", - "integrity": "sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", - "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-module-imports": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/plugin-syntax-jsx": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz", - "integrity": "sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", "dev": true, "requires": { - "@babel/plugin-transform-react-jsx": "^7.25.7" + "@babel/plugin-transform-react-jsx": "^7.25.9" } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz", - "integrity": "sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-regenerator": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", - "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", - "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", + "@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", - "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-spread": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", - "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", - "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-template-literals": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", - "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz", + "integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", - "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.26.7.tgz", + "integrity": "sha512-jfoTXXZTgGg36BmhqT3cAYK5qkmqvJpvNrPhaK/52Vgjhw4Rq29s9UqpWWV0D6yuRmgiFH/BUVlkl96zJWqnaw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.26.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", - "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-unicode-property-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", - "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", - "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", - "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" } }, "@babel/preset-env": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz", - "integrity": "sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", + "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.25.8", - "@babel/helper-compilation-targets": "^7.25.7", - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", + "@babel/compat-data": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.25.7", - "@babel/plugin-syntax-import-attributes": "^7.25.7", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.8", - "@babel/plugin-transform-async-to-generator": "^7.25.7", - "@babel/plugin-transform-block-scoped-functions": "^7.25.7", - "@babel/plugin-transform-block-scoping": "^7.25.7", - "@babel/plugin-transform-class-properties": "^7.25.7", - "@babel/plugin-transform-class-static-block": "^7.25.8", - "@babel/plugin-transform-classes": "^7.25.7", - "@babel/plugin-transform-computed-properties": "^7.25.7", - "@babel/plugin-transform-destructuring": "^7.25.7", - "@babel/plugin-transform-dotall-regex": "^7.25.7", - "@babel/plugin-transform-duplicate-keys": "^7.25.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-dynamic-import": "^7.25.8", - "@babel/plugin-transform-exponentiation-operator": "^7.25.7", - "@babel/plugin-transform-export-namespace-from": "^7.25.8", - "@babel/plugin-transform-for-of": "^7.25.7", - "@babel/plugin-transform-function-name": "^7.25.7", - "@babel/plugin-transform-json-strings": "^7.25.8", - "@babel/plugin-transform-literals": "^7.25.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.8", - "@babel/plugin-transform-member-expression-literals": "^7.25.7", - "@babel/plugin-transform-modules-amd": "^7.25.7", - "@babel/plugin-transform-modules-commonjs": "^7.25.7", - "@babel/plugin-transform-modules-systemjs": "^7.25.7", - "@babel/plugin-transform-modules-umd": "^7.25.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", - "@babel/plugin-transform-new-target": "^7.25.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.8", - "@babel/plugin-transform-numeric-separator": "^7.25.8", - "@babel/plugin-transform-object-rest-spread": "^7.25.8", - "@babel/plugin-transform-object-super": "^7.25.7", - "@babel/plugin-transform-optional-catch-binding": "^7.25.8", - "@babel/plugin-transform-optional-chaining": "^7.25.8", - "@babel/plugin-transform-parameters": "^7.25.7", - "@babel/plugin-transform-private-methods": "^7.25.7", - "@babel/plugin-transform-private-property-in-object": "^7.25.8", - "@babel/plugin-transform-property-literals": "^7.25.7", - "@babel/plugin-transform-regenerator": "^7.25.7", - "@babel/plugin-transform-reserved-words": "^7.25.7", - "@babel/plugin-transform-shorthand-properties": "^7.25.7", - "@babel/plugin-transform-spread": "^7.25.7", - "@babel/plugin-transform-sticky-regex": "^7.25.7", - "@babel/plugin-transform-template-literals": "^7.25.7", - "@babel/plugin-transform-typeof-symbol": "^7.25.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.7", - "@babel/plugin-transform-unicode-property-regex": "^7.25.7", - "@babel/plugin-transform-unicode-regex": "^7.25.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.26.8", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.26.5", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.26.3", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.26.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.26.3", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.26.8", + "@babel/plugin-transform-typeof-symbol": "^7.26.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-corejs3": "^0.11.0", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.38.1", + "core-js-compat": "^3.40.0", "semver": "^6.3.1" } }, @@ -26967,17 +27301,17 @@ } }, "@babel/preset-react": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz", - "integrity": "sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==", + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.26.3.tgz", + "integrity": "sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.25.7", - "@babel/helper-validator-option": "^7.25.7", - "@babel/plugin-transform-react-display-name": "^7.25.7", - "@babel/plugin-transform-react-jsx": "^7.25.7", - "@babel/plugin-transform-react-jsx-development": "^7.25.7", - "@babel/plugin-transform-react-pure-annotations": "^7.25.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" } }, "@babel/runtime": { @@ -26989,37 +27323,43 @@ } }, "@babel/template": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", - "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "requires": { - "@babel/code-frame": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/types": "^7.25.7" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" } }, "@babel/traverse": { - "version": "7.25.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", - "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", "requires": { - "@babel/code-frame": "^7.25.7", - "@babel/generator": "^7.25.7", - "@babel/parser": "^7.25.7", - "@babel/template": "^7.25.7", - "@babel/types": "^7.25.7", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + } } }, "@babel/types": { - "version": "7.25.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", - "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", "requires": { - "@babel/helper-string-parser": "^7.25.7", - "@babel/helper-validator-identifier": "^7.25.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" } }, "@bcoe/v8-coverage": { @@ -27227,9 +27567,9 @@ } }, "@csstools/postcss-initial": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.0.tgz", - "integrity": "sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz", + "integrity": "sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg==", "dev": true, "requires": {} }, @@ -27547,13 +27887,13 @@ } }, "@emotion/cache": { - "version": "11.13.1", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.1.tgz", - "integrity": "sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", "requires": { "@emotion/memoize": "^0.9.0", "@emotion/sheet": "^1.4.0", - "@emotion/utils": "^1.4.0", + "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } @@ -27633,9 +27973,9 @@ "requires": {} }, "@emotion/utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.0.tgz", - "integrity": "sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ==" + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==" }, "@emotion/weak-memoize": { "version": "0.4.0", @@ -27845,21 +28185,41 @@ } }, "@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true }, + "@eslint/config-array": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "dev": true, + "requires": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + } + }, + "@eslint/core": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", + "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.15" + } + }, "@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -27886,13 +28246,10 @@ "dev": true }, "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true }, "import-fresh": { "version": "3.3.0", @@ -27928,11 +28285,27 @@ } }, "@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", + "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", "dev": true }, + "@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true + }, + "@eslint/plugin-kit": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.6.tgz", + "integrity": "sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA==", + "dev": true, + "requires": { + "@eslint/core": "^0.11.0", + "levn": "^0.4.1" + } + }, "@fontsource/noto-sans": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/@fontsource/noto-sans/-/noto-sans-5.1.1.tgz", @@ -27963,15 +28336,28 @@ "resolved": "https://registry.npmjs.org/@fontsource/noto-sans-tc/-/noto-sans-tc-5.1.1.tgz", "integrity": "sha512-uJyenCRVZdiz+iRUyKwn99FDKQ0xMmLTOVHNzscqnp4ZwqYOl5S7fuL3IfH5FRRGYW+FTKtuY43D6gtVNtmrug==" }, - "@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true + }, + "@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "dependencies": { + "@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true + } } }, "@humanwhocodes/module-importer": { @@ -27980,10 +28366,10 @@ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, - "@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", "dev": true }, "@isaacs/cliui": { @@ -28046,9 +28432,9 @@ "integrity": "sha512-C0OlBxIr9NdeFESMTA/OVDqNSWtog6Mi7wwzwH12xbZpxsMD0RgCupUcIP7zZgcpTNecW3fZq5d6xVo7Q8HEJw==" }, "@jellyfin/sdk": { - "version": "0.0.0-unstable.202501180501", - "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202501180501.tgz", - "integrity": "sha512-H1K/uZlelqP330o1uKX0THWmEEw5iAplJeRkbVPAvGJKp4mgALV7UqFaexKgx7HEaulOOEFoHYweShg+FjI76Q==", + "version": "0.0.0-unstable.202502210501", + "resolved": "https://registry.npmjs.org/@jellyfin/sdk/-/sdk-0.0.0-unstable.202502210501.tgz", + "integrity": "sha512-IFfgfESaHoHsLZbo+eKd+cGtwjgW7bj1hmX8Igc1eV0UHJ1SlLTvjRecm4pp85vvE7u6elrwgVhIsFS0hYucqA==", "requires": {} }, "@jridgewell/gen-mapping": { @@ -28174,9 +28560,9 @@ } }, "@mdn/browser-compat-data": { - "version": "5.3.29", - "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.3.29.tgz", - "integrity": "sha512-ipYCpMxejriKEC5OMHHN+cTTWpTQhaSg9+RGHl/Vly2LhGNml2eiGdx+LCU4XcCsi4YVVVPGcirNI/dF1xj70w==", + "version": "5.6.40", + "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.6.40.tgz", + "integrity": "sha512-cEprODy3K3rHUvHjbjcNyXrz/vK9qVB8gu3Wue9+9DaLVv9v5pKmR+FKs4ZYeQb5pMNp//MuONGnrDHm55H63A==", "dev": true }, "@mrmlnc/readdir-enhanced": { @@ -28190,75 +28576,75 @@ } }, "@mui/core-downloads-tracker": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.7.tgz", - "integrity": "sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ==" + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz", + "integrity": "sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA==" }, "@mui/icons-material": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.7.tgz", - "integrity": "sha512-UrGwDJCXEszbDI7yV047BYU5A28eGJ79keTCP4cc74WyncuVrnurlmIRxaHL8YK+LI1Kzq+/JM52IAkNnv4u+Q==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.14.tgz", + "integrity": "sha512-heL4S+EawrP61xMXBm59QH6HODsu0gxtZi5JtnXF2r+rghzyU/3Uftlt1ij8rmJh+cFdKTQug1L9KkZB5JgpMQ==", "requires": { "@babel/runtime": "^7.23.9" } }, "@mui/material": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.7.tgz", - "integrity": "sha512-cwwVQxBhK60OIOqZOVLFt55t01zmarKJiJUWbk0+8s/Ix5IaUzAShqlJchxsIQ4mSrWqgcKCCXKtIlG5H+/Jmg==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.14.tgz", + "integrity": "sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw==", "requires": { "@babel/runtime": "^7.23.9", - "@mui/core-downloads-tracker": "^5.16.7", - "@mui/system": "^5.16.7", + "@mui/core-downloads-tracker": "^5.16.14", + "@mui/system": "^5.16.14", "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.6", + "@mui/utils": "^5.16.14", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.10", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1", - "react-is": "^18.3.1", + "react-is": "^19.0.0", "react-transition-group": "^4.4.5" }, "dependencies": { "react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==" } } }, "@mui/private-theming": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.6.tgz", - "integrity": "sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.14.tgz", + "integrity": "sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg==", "requires": { "@babel/runtime": "^7.23.9", - "@mui/utils": "^5.16.6", + "@mui/utils": "^5.16.14", "prop-types": "^15.8.1" } }, "@mui/styled-engine": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.6.tgz", - "integrity": "sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.14.tgz", + "integrity": "sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw==", "requires": { "@babel/runtime": "^7.23.9", - "@emotion/cache": "^11.11.0", + "@emotion/cache": "^11.13.5", "csstype": "^3.1.3", "prop-types": "^15.8.1" } }, "@mui/system": { - "version": "5.16.7", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.7.tgz", - "integrity": "sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.14.tgz", + "integrity": "sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw==", "requires": { "@babel/runtime": "^7.23.9", - "@mui/private-theming": "^5.16.6", - "@mui/styled-engine": "^5.16.6", + "@mui/private-theming": "^5.16.14", + "@mui/styled-engine": "^5.16.14", "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.6", + "@mui/utils": "^5.16.14", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1" @@ -28271,33 +28657,33 @@ "requires": {} }, "@mui/utils": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.6.tgz", - "integrity": "sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA==", + "version": "5.16.14", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.14.tgz", + "integrity": "sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg==", "requires": { "@babel/runtime": "^7.23.9", "@mui/types": "^7.2.15", "@types/prop-types": "^15.7.12", "clsx": "^2.1.1", "prop-types": "^15.8.1", - "react-is": "^18.3.1" + "react-is": "^19.0.0" }, "dependencies": { "react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==" } } }, "@mui/x-date-pickers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.20.0.tgz", - "integrity": "sha512-LnijrF8IF3r7c7sAVXRX4pDurozJSMUGAJdd5xuTT7ZPQIOp5ry0kDKqx79WAjXA/ZgjropLNt/nk15GE+6ZNw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.26.0.tgz", + "integrity": "sha512-bhSDce1b5MBYYlCdHQJBThe10LGTE3D/u53TDQ41+IRj+iiNCun8jivw3DxKhmoBxlB+hVdkcltpTtIGlPjQZQ==", "requires": { "@babel/runtime": "^7.25.7", "@mui/utils": "^5.16.6 || ^6.0.0", - "@mui/x-internals": "7.20.0", + "@mui/x-internals": "7.26.0", "@types/react-transition-group": "^4.4.11", "clsx": "^2.1.1", "prop-types": "^15.8.1", @@ -28305,9 +28691,9 @@ } }, "@mui/x-internals": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.20.0.tgz", - "integrity": "sha512-ScXdEwtnxmBEq9umeusnotfeVQnnhjOZcM2ddXyIupmzeGmgDDtEcXGyTgrS/GOc91J74g81s6eJ4UCrlYZ2sg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@mui/x-internals/-/x-internals-7.26.0.tgz", + "integrity": "sha512-VxTCYQcZ02d3190pdvys2TDg9pgbvewAVakEopiOgReKAUhLdRlgGJHcOA/eAuGLyK1YIo26A6Ow6ZKlSRLwMg==", "requires": { "@babel/runtime": "^7.25.7", "@mui/utils": "^5.16.6 || ^6.0.0" @@ -28502,135 +28888,135 @@ "integrity": "sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==" }, "@rollup/rollup-android-arm-eabi": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.32.1.tgz", - "integrity": "sha512-/pqA4DmqyCm8u5YIDzIdlLcEmuvxb0v8fZdFhVMszSpDTgbQKdw3/mB3eMUHIbubtJ6F9j+LtmyCnHTEqIHyzA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", + "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", "dev": true, "optional": true }, "@rollup/rollup-android-arm64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.32.1.tgz", - "integrity": "sha512-If3PDskT77q7zgqVqYuj7WG3WC08G1kwXGVFi9Jr8nY6eHucREHkfpX79c0ACAjLj3QIWKPJR7w4i+f5EdLH5Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", + "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", "dev": true, "optional": true }, "@rollup/rollup-darwin-arm64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.32.1.tgz", - "integrity": "sha512-zCpKHioQ9KgZToFp5Wvz6zaWbMzYQ2LJHQ+QixDKq52KKrF65ueu6Af4hLlLWHjX1Wf/0G5kSJM9PySW9IrvHA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", + "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", "dev": true, "optional": true }, "@rollup/rollup-darwin-x64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.32.1.tgz", - "integrity": "sha512-sFvF+t2+TyUo/ZQqUcifrJIgznx58oFZbdHS9TvHq3xhPVL9nOp+yZ6LKrO9GWTP+6DbFtoyLDbjTpR62Mbr3Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", + "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-arm64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.32.1.tgz", - "integrity": "sha512-NbOa+7InvMWRcY9RG+B6kKIMD/FsnQPH0MWUvDlQB1iXnF/UcKSudCXZtv4lW+C276g3w5AxPbfry5rSYvyeYA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", + "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-x64": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.32.1.tgz", - "integrity": "sha512-JRBRmwvHPXR881j2xjry8HZ86wIPK2CcDw0EXchE1UgU0ubWp9nvlT7cZYKc6bkypBt745b4bglf3+xJ7hXWWw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", + "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.32.1.tgz", - "integrity": "sha512-PKvszb+9o/vVdUzCCjL0sKHukEQV39tD3fepXxYrHE3sTKrRdCydI7uldRLbjLmDA3TFDmh418XH19NOsDRH8g==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", + "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.32.1.tgz", - "integrity": "sha512-9WHEMV6Y89eL606ReYowXuGF1Yb2vwfKWKdD1A5h+OYnPZSJvxbEjxTRKPgi7tkP2DSnW0YLab1ooy+i/FQp/Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", + "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.32.1.tgz", - "integrity": "sha512-tZWc9iEt5fGJ1CL2LRPw8OttkCBDs+D8D3oEM8mH8S1ICZCtFJhD7DZ3XMGM8kpqHvhGUTvNUYVDnmkj4BDXnw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", + "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-musl": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.32.1.tgz", - "integrity": "sha512-FTYc2YoTWUsBz5GTTgGkRYYJ5NGJIi/rCY4oK/I8aKowx1ToXeoVVbIE4LGAjsauvlhjfl0MYacxClLld1VrOw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", + "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", "dev": true, "optional": true }, "@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.32.1.tgz", - "integrity": "sha512-F51qLdOtpS6P1zJVRzYM0v6MrBNypyPEN1GfMiz0gPu9jN8ScGaEFIZQwteSsGKg799oR5EaP7+B2jHgL+d+Kw==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", + "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.32.1.tgz", - "integrity": "sha512-wO0WkfSppfX4YFm5KhdCCpnpGbtgQNj/tgvYzrVYFKDpven8w2N6Gg5nB6w+wAMO3AIfSTWeTjfVe+uZ23zAlg==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", + "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.32.1.tgz", - "integrity": "sha512-iWswS9cIXfJO1MFYtI/4jjlrGb/V58oMu4dYJIKnR5UIwbkzR0PJ09O0PDZT0oJ3LYWXBSWahNf/Mjo6i1E5/g==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", + "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", "dev": true, "optional": true }, "@rollup/rollup-linux-s390x-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.32.1.tgz", - "integrity": "sha512-RKt8NI9tebzmEthMnfVgG3i/XeECkMPS+ibVZjZ6mNekpbbUmkNWuIN2yHsb/mBPyZke4nlI4YqIdFPgKuoyQQ==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", + "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-gnu": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.32.1.tgz", - "integrity": "sha512-WQFLZ9c42ECqEjwg/GHHsouij3pzLXkFdz0UxHa/0OM12LzvX7DzedlY0SIEly2v18YZLRhCRoHZDxbBSWoGYg==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", + "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-musl": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.32.1.tgz", - "integrity": "sha512-BLoiyHDOWoS3uccNSADMza6V6vCNiphi94tQlVIL5de+r6r/CCQuNnerf+1g2mnk2b6edp5dk0nhdZ7aEjOBsA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", + "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", "dev": true, "optional": true }, "@rollup/rollup-win32-arm64-msvc": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.32.1.tgz", - "integrity": "sha512-w2l3UnlgYTNNU+Z6wOR8YdaioqfEnwPjIsJ66KxKAf0p+AuL2FHeTX6qvM+p/Ue3XPBVNyVSfCrfZiQh7vZHLQ==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", + "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", "dev": true, "optional": true }, "@rollup/rollup-win32-ia32-msvc": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.32.1.tgz", - "integrity": "sha512-Am9H+TGLomPGkBnaPWie4F3x+yQ2rr4Bk2jpwy+iV+Gel9jLAu/KqT8k3X4jxFPW6Zf8OMnehyutsd+eHoq1WQ==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", + "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-msvc": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.32.1.tgz", - "integrity": "sha512-ar80GhdZb4DgmW3myIS9nRFYcpJRSME8iqWgzH2i44u+IdrzmiXVxeFnExQ5v4JYUSpg94bWjevMG8JHf1Da5Q==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", + "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", "dev": true, "optional": true }, @@ -28647,9 +29033,9 @@ "dev": true }, "@stylistic/eslint-plugin": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.13.0.tgz", - "integrity": "sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-3.1.0.tgz", + "integrity": "sha512-pA6VOrOqk0+S8toJYhQGv2MWpQQR0QpeUo9AhNkC49Y26nxBQ/nH1rta9bUU1rPw2fJ1zZEMV5oCX5AazT7J2g==", "dev": true, "requires": { "@typescript-eslint/utils": "^8.13.0", @@ -28659,29 +29045,12 @@ "picomatch": "^4.0.2" }, "dependencies": { - "acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "dev": true - }, "eslint-visitor-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true }, - "espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "requires": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - } - }, "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", @@ -28697,9 +29066,9 @@ } }, "@stylistic/stylelint-plugin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.1.tgz", - "integrity": "sha512-XagAHHIa528EvyGybv8EEYGK5zrVW74cHpsjhtovVATbhDRuJYfE+X4HCaAieW9lCkwbX6L+X0I4CiUG3w/hFw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.2.tgz", + "integrity": "sha512-tylFJGMQo62alGazK74MNxFjMagYOHmBZiePZFOJK2n13JZta0uVkB3Bh5qodUmOLtRH+uxH297EibK14UKm8g==", "dev": true, "requires": { "@csstools/css-parser-algorithms": "^3.0.1", @@ -28921,9 +29290,9 @@ } }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "@types/json5": { @@ -29193,34 +29562,91 @@ "@types/node": "*" } }, - "@typescript-eslint/eslint-plugin": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.21.0.tgz", - "integrity": "sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.21.0", - "@typescript-eslint/type-utils": "8.21.0", - "@typescript-eslint/utils": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.0" - } - }, "@typescript-eslint/parser": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.21.0.tgz", - "integrity": "sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==", + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.1.tgz", + "integrity": "sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "8.21.0", - "@typescript-eslint/types": "8.21.0", - "@typescript-eslint/typescript-estree": "8.21.0", - "@typescript-eslint/visitor-keys": "8.21.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", "debug": "^4.3.4" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", + "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1" + } + }, + "@typescript-eslint/types": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", + "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", + "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", + "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.24.1", + "eslint-visitor-keys": "^4.2.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true + } } }, "@typescript-eslint/scope-manager": { @@ -29233,18 +29659,6 @@ "@typescript-eslint/visitor-keys": "8.21.0" } }, - "@typescript-eslint/type-utils": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.21.0.tgz", - "integrity": "sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "8.21.0", - "@typescript-eslint/utils": "8.21.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.0" - } - }, "@typescript-eslint/types": { "version": "8.21.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.21.0.tgz", @@ -29323,12 +29737,6 @@ } } }, - "@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, "@uupaa/dynamic-import-polyfill": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@uupaa/dynamic-import-polyfill/-/dynamic-import-polyfill-1.0.2.tgz", @@ -29336,9 +29744,9 @@ "dev": true }, "@vitest/coverage-v8": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.4.tgz", - "integrity": "sha512-f0twgRCHgbs24Dp8cLWagzcObXMcuKtAwgxjJV/nnysPAJJk1JiKu/W0gIehZLmkljhJXU/E0/dmuQzsA/4jhA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.0.5.tgz", + "integrity": "sha512-zOOWIsj5fHh3jjGwQg+P+J1FW3s4jBu1Zqga0qW60yutsBtqEqNEJKWYh7cYn1yGD+1bdPsPdC/eL4eVK56xMg==", "dev": true, "requires": { "@ampproject/remapping": "^2.3.0", @@ -29356,76 +29764,98 @@ } }, "@vitest/expect": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.4.tgz", - "integrity": "sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.5.tgz", + "integrity": "sha512-nNIOqupgZ4v5jWuQx2DSlHLEs7Q4Oh/7AYwNyE+k0UQzG7tSmjPXShUikn1mpNGzYEN2jJbTvLejwShMitovBA==", "dev": true, "requires": { - "@vitest/spy": "3.0.4", - "@vitest/utils": "3.0.4", + "@vitest/spy": "3.0.5", + "@vitest/utils": "3.0.5", "chai": "^5.1.2", "tinyrainbow": "^2.0.0" } }, "@vitest/mocker": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.4.tgz", - "integrity": "sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.5.tgz", + "integrity": "sha512-CLPNBFBIE7x6aEGbIjaQAX03ZZlBMaWwAjBdMkIf/cAn6xzLTiM3zYqO/WAbieEjsAZir6tO71mzeHZoodThvw==", "dev": true, "requires": { - "@vitest/spy": "3.0.4", + "@vitest/spy": "3.0.5", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" } }, "@vitest/pretty-format": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.4.tgz", - "integrity": "sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.6.tgz", + "integrity": "sha512-Zyctv3dbNL+67qtHfRnUE/k8qxduOamRfAL1BurEIQSyOEFffoMvx2pnDSSbKAAVxY0Ej2J/GH2dQKI0W2JyVg==", "dev": true, "requires": { "tinyrainbow": "^2.0.0" } }, "@vitest/runner": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.4.tgz", - "integrity": "sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.5.tgz", + "integrity": "sha512-BAiZFityFexZQi2yN4OX3OkJC6scwRo8EhRB0Z5HIGGgd2q+Nq29LgHU/+ovCtd0fOfXj5ZI6pwdlUmC5bpi8A==", "dev": true, "requires": { - "@vitest/utils": "3.0.4", + "@vitest/utils": "3.0.5", "pathe": "^2.0.2" } }, "@vitest/snapshot": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.4.tgz", - "integrity": "sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.5.tgz", + "integrity": "sha512-GJPZYcd7v8QNUJ7vRvLDmRwl+a1fGg4T/54lZXe+UOGy47F9yUfE18hRCtXL5aHN/AONu29NGzIXSVFh9K0feA==", "dev": true, "requires": { - "@vitest/pretty-format": "3.0.4", + "@vitest/pretty-format": "3.0.5", "magic-string": "^0.30.17", "pathe": "^2.0.2" + }, + "dependencies": { + "@vitest/pretty-format": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.5.tgz", + "integrity": "sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==", + "dev": true, + "requires": { + "tinyrainbow": "^2.0.0" + } + } } }, "@vitest/spy": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.4.tgz", - "integrity": "sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.5.tgz", + "integrity": "sha512-5fOzHj0WbUNqPK6blI/8VzZdkBlQLnT25knX0r4dbZI9qoZDf3qAdjoMmDcLG5A83W6oUUFJgUd0EYBc2P5xqg==", "dev": true, "requires": { "tinyspy": "^3.0.2" } }, "@vitest/utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.4.tgz", - "integrity": "sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.5.tgz", + "integrity": "sha512-N9AX0NUoUtVwKwy21JtwzaqR5L5R5A99GAbrHfCCXK1lp593i/3AZAXhSP43wRQuxYsflrdzEfXZFo1reR1Nkg==", "dev": true, "requires": { - "@vitest/pretty-format": "3.0.4", + "@vitest/pretty-format": "3.0.5", "loupe": "^3.1.2", "tinyrainbow": "^2.0.0" + }, + "dependencies": { + "@vitest/pretty-format": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.5.tgz", + "integrity": "sha512-CjUtdmpOcm4RVtB+up8r2vVDLR16Mgm/bYdkGFe3Yj/scRfCpbSi2W/BDSDcFK7ohw8UXvjMbOp9H4fByd/cOA==", + "dev": true, + "requires": { + "tinyrainbow": "^2.0.0" + } + } } }, "@webassemblyjs/ast": { @@ -29707,6 +30137,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -29933,12 +30364,12 @@ "dev": true }, "ast-metadata-inferer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.0.tgz", - "integrity": "sha512-jOMKcHht9LxYIEQu+RVd22vtgrPaVCtDRQ/16IGmurdzxvYbDd5ynxjnyrzLnieG96eTcAyaoj/wN/4/1FyyeA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/ast-metadata-inferer/-/ast-metadata-inferer-0.8.1.tgz", + "integrity": "sha512-ht3Dm6Zr7SXv6t1Ra6gFo0+kLDglHGrEbYihTkcycrbHw7WCcuhBzPlJYHEsIpycaUwzsJHje+vUcxXUX4ztTA==", "dev": true, "requires": { - "@mdn/browser-compat-data": "^5.2.34" + "@mdn/browser-compat-data": "^5.6.19" } }, "ast-types-flow": { @@ -30092,13 +30523,13 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", - "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", + "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.2", - "core-js-compat": "^3.38.0" + "@babel/helper-define-polyfill-provider": "^0.6.3", + "core-js-compat": "^3.40.0" } }, "babel-plugin-polyfill-regenerator": { @@ -30321,15 +30752,15 @@ } }, "browserslist": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", - "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001663", - "electron-to-chromium": "^1.5.28", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" } }, "buffer": { @@ -30354,6 +30785,12 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, "bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", @@ -30504,9 +30941,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001667", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz", - "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==", + "version": "1.0.30001700", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", + "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", "dev": true }, "canvas": { @@ -30527,9 +30964,9 @@ "dev": true }, "chai": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", - "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", "dev": true, "requires": { "assertion-error": "^2.0.1", @@ -30543,6 +30980,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -30720,6 +31158,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -30727,7 +31166,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "color-string": { "version": "1.9.1", @@ -30975,12 +31415,12 @@ "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==" }, "core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz", + "integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==", "dev": true, "requires": { - "browserslist": "^4.23.3" + "browserslist": "^4.24.3" } }, "core-util-is": { @@ -31010,9 +31450,9 @@ } }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -31578,15 +32018,6 @@ "path-type": "^4.0.0" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -31710,9 +32141,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.5.34", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.34.tgz", - "integrity": "sha512-/TZAiChbAflBNjCg+VvstbcwAtIL/VdMFO3NgRFIzBjpvPzWOTIbbO8kNb6RwU4bt9TP7K+3KqBKw/lOU+Y+GA==", + "version": "1.5.102", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz", + "integrity": "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==", "dev": true }, "emoji-regex": { @@ -32037,9 +32468,9 @@ } }, "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true }, "escape-html": { @@ -32050,52 +32481,49 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "version": "9.20.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", + "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.11.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.20.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "dependencies": { "ajv": { @@ -32119,12 +32547,6 @@ "color-convert": "^2.0.1" } }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -32157,21 +32579,36 @@ "dev": true }, "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, + "eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true + }, "estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, + "file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "requires": { + "flat-cache": "^4.0.0" + } + }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -32182,6 +32619,16 @@ "path-exists": "^4.0.0" } }, + "flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + } + }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -32191,36 +32638,12 @@ "is-glob": "^4.0.3" } }, - "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -32319,18 +32742,19 @@ } }, "eslint-plugin-compat": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-4.2.0.tgz", - "integrity": "sha512-RDKSYD0maWy5r7zb5cWQS+uSPc26mgOzdORJ8hxILmWM7S/Ncwky7BcAtXVY5iRbKjBdHsWU8Yg7hfoZjtkv7w==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-6.0.2.tgz", + "integrity": "sha512-1ME+YfJjmOz1blH0nPZpHgjMGK4kjgEeoYqGCqoBPQ/mGu/dJzdoP0f1C8H2jcWZjzhZjAMccbM/VdXhPORIfA==", "dev": true, "requires": { - "@mdn/browser-compat-data": "^5.3.13", - "ast-metadata-inferer": "^0.8.0", - "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001524", + "@mdn/browser-compat-data": "^5.5.35", + "ast-metadata-inferer": "^0.8.1", + "browserslist": "^4.24.2", + "caniuse-lite": "^1.0.30001687", "find-up": "^5.0.0", + "globals": "^15.7.0", "lodash.memoize": "^4.1.2", - "semver": "^7.5.4" + "semver": "^7.6.2" }, "dependencies": { "find-up": { @@ -32371,13 +32795,10 @@ } }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true } } }, @@ -32514,18 +32935,60 @@ } }, "eslint-plugin-react-hooks": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", - "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", "dev": true, "requires": {} }, "eslint-plugin-sonarjs": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.25.1.tgz", - "integrity": "sha512-5IOKvj/GMBNqjxBdItfotfRHo7w48496GOu1hxdeXuD0mB1JBlDCViiLHETDTfA8pDAVSBimBEQoetRXYceQEw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-3.0.2.tgz", + "integrity": "sha512-LxjbfwI7ypENeTmGyKmDyNux3COSkMi7H/6Cal5StSLQ6edf0naP45SZR43OclaNR7WfhVTZdhOn63q3/Y6puQ==", "dev": true, - "requires": {} + "requires": { + "@eslint-community/regexpp": "4.12.1", + "builtin-modules": "3.3.0", + "bytes": "3.1.2", + "functional-red-black-tree": "1.0.1", + "jsx-ast-utils": "3.3.5", + "minimatch": "9.0.5", + "scslre": "0.3.0", + "semver": "7.7.1", + "typescript": "^5" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true + } + } }, "eslint-scope": { "version": "5.1.1", @@ -32544,14 +33007,28 @@ "dev": true }, "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, "requires": { - "acorn": "^8.9.0", + "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.0" + }, + "dependencies": { + "acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true + } } }, "esprima": { @@ -32708,9 +33185,9 @@ "dev": true }, "expose-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-5.0.0.tgz", - "integrity": "sha512-BtUqYRmvx1bEY5HN6eK2I9URUZgNmN0x5UANuocaNjXSgfoDlkXt+wyEMe7i5DzDNh2BKJHPc5F4rBwEdSQX6w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-5.0.1.tgz", + "integrity": "sha512-5YPZuszN/eWND/B+xuq5nIpb/l5TV1HYmdO6SubYtHv+HenVw9/6bn33Mm5reY8DNid7AVtbARvyUD34edfCtg==", "dev": true, "requires": {} }, @@ -33478,6 +33955,12 @@ "is-callable": "^1.2.7" } }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -33625,9 +34108,10 @@ } }, "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true }, "globalthis": { "version": "1.0.4", @@ -33740,7 +34224,8 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-property-descriptors": { "version": "1.0.2", @@ -35358,9 +35843,9 @@ } }, "loupe": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz", - "integrity": "sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz", + "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==", "dev": true }, "lower-case": { @@ -35767,9 +36252,9 @@ "optional": true }, "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true }, "nanomatch": { @@ -35882,9 +36367,9 @@ "dev": true }, "node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true }, "nopt": { @@ -36403,9 +36888,9 @@ "optional": true }, "pathe": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.2.tgz", - "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true }, "pathval": { @@ -36486,12 +36971,12 @@ "dev": true }, "postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", + "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", "dev": true, "requires": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } @@ -37375,9 +37860,9 @@ } }, "postcss-preset-env": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.3.tgz", - "integrity": "sha512-9qzVhcMFU/MnwYHyYpJz4JhGku/4+xEiPTmhn0hj3IxnUYlEF9vbh7OC1KoLAnenS6Fgg43TKNp9xcuMeAi4Zw==", + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.4.tgz", + "integrity": "sha512-awWKS3CwyY7I4Eb3YSWOZisbj3qXyuQCrylYiu2vSHxnSZAj3LHStN6jOcpCrc6EjYunLwbeNto3M5/JBtXpzg==", "dev": true, "requires": { "@csstools/postcss-cascade-layers": "^5.0.1", @@ -37390,7 +37875,7 @@ "@csstools/postcss-gradients-interpolation-method": "^5.0.7", "@csstools/postcss-hwb-function": "^4.0.7", "@csstools/postcss-ic-unit": "^4.0.0", - "@csstools/postcss-initial": "^2.0.0", + "@csstools/postcss-initial": "^2.0.1", "@csstools/postcss-is-pseudo-class": "^5.0.1", "@csstools/postcss-light-dark-function": "^2.0.7", "@csstools/postcss-logical-float-and-clear": "^3.0.0", @@ -37413,7 +37898,7 @@ "@csstools/postcss-trigonometric-functions": "^4.0.6", "@csstools/postcss-unset-value": "^4.0.0", "autoprefixer": "^10.4.19", - "browserslist": "^4.23.1", + "browserslist": "^4.24.4", "css-blank-pseudo": "^7.0.1", "css-has-pseudo": "^7.0.2", "css-prefers-color-scheme": "^10.0.0", @@ -37957,6 +38442,15 @@ "resolve": "^1.20.0" } }, + "refa": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", + "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.8.0" + } + }, "reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -38012,6 +38506,16 @@ "safe-regex": "^1.1.0" } }, + "regexp-ast-analysis": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", + "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.1" + } + }, "regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", @@ -38027,15 +38531,15 @@ } }, "regexpu-core": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", - "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dev": true, "requires": { "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.2.0", "regjsgen": "^0.8.0", - "regjsparser": "^0.11.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" } @@ -38047,9 +38551,9 @@ "dev": true }, "regjsparser": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", - "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dev": true, "requires": { "jsesc": "~3.0.2" @@ -38209,30 +38713,30 @@ } }, "rollup": { - "version": "4.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.32.1.tgz", - "integrity": "sha512-z+aeEsOeEa3mEbS1Tjl6sAZ8NE3+AalQz1RJGj81M+fizusbdDMoEJwdJNHfaB40Scr4qNu+welOfes7maKonA==", + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", + "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", "dev": true, "requires": { - "@rollup/rollup-android-arm-eabi": "4.32.1", - "@rollup/rollup-android-arm64": "4.32.1", - "@rollup/rollup-darwin-arm64": "4.32.1", - "@rollup/rollup-darwin-x64": "4.32.1", - "@rollup/rollup-freebsd-arm64": "4.32.1", - "@rollup/rollup-freebsd-x64": "4.32.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.32.1", - "@rollup/rollup-linux-arm-musleabihf": "4.32.1", - "@rollup/rollup-linux-arm64-gnu": "4.32.1", - "@rollup/rollup-linux-arm64-musl": "4.32.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.32.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.32.1", - "@rollup/rollup-linux-riscv64-gnu": "4.32.1", - "@rollup/rollup-linux-s390x-gnu": "4.32.1", - "@rollup/rollup-linux-x64-gnu": "4.32.1", - "@rollup/rollup-linux-x64-musl": "4.32.1", - "@rollup/rollup-win32-arm64-msvc": "4.32.1", - "@rollup/rollup-win32-ia32-msvc": "4.32.1", - "@rollup/rollup-win32-x64-msvc": "4.32.1", + "@rollup/rollup-android-arm-eabi": "4.34.8", + "@rollup/rollup-android-arm64": "4.34.8", + "@rollup/rollup-darwin-arm64": "4.34.8", + "@rollup/rollup-darwin-x64": "4.34.8", + "@rollup/rollup-freebsd-arm64": "4.34.8", + "@rollup/rollup-freebsd-x64": "4.34.8", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", + "@rollup/rollup-linux-arm-musleabihf": "4.34.8", + "@rollup/rollup-linux-arm64-gnu": "4.34.8", + "@rollup/rollup-linux-arm64-musl": "4.34.8", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", + "@rollup/rollup-linux-riscv64-gnu": "4.34.8", + "@rollup/rollup-linux-s390x-gnu": "4.34.8", + "@rollup/rollup-linux-x64-gnu": "4.34.8", + "@rollup/rollup-linux-x64-musl": "4.34.8", + "@rollup/rollup-win32-arm64-msvc": "4.34.8", + "@rollup/rollup-win32-ia32-msvc": "4.34.8", + "@rollup/rollup-win32-x64-msvc": "4.34.8", "@types/estree": "1.0.6", "fsevents": "~2.3.2" } @@ -38344,9 +38848,9 @@ "dev": true }, "sass": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz", - "integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", + "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", "dev": true, "requires": { "@parcel/watcher": "^2.4.1", @@ -38365,17 +38869,17 @@ } }, "readdirp": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.1.tgz", - "integrity": "sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true } } }, "sass-embedded": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.83.4.tgz", - "integrity": "sha512-Hf2burRA/y5PGxsg6jB9UpoK/xZ6g/pgrkOcdl6j+rRg1Zj8XhGKZ1MTysZGtTPUUmiiErqzkP5+Kzp95yv9GQ==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.85.0.tgz", + "integrity": "sha512-x3Vv54g0jv1aPSW8OTA/0GzQCs/HMQOjIkLtZJ3Xsn/I4vnyjKbVTQmFTax9bQjldqLEEkdbvy6ES/cOOnYNwA==", "optional": true, "requires": { "@bufbuild/protobuf": "^2.0.0", @@ -38383,26 +38887,26 @@ "colorjs.io": "^0.5.0", "immutable": "^5.0.2", "rxjs": "^7.4.0", - "sass-embedded-android-arm": "1.83.4", - "sass-embedded-android-arm64": "1.83.4", - "sass-embedded-android-ia32": "1.83.4", - "sass-embedded-android-riscv64": "1.83.4", - "sass-embedded-android-x64": "1.83.4", - "sass-embedded-darwin-arm64": "1.83.4", - "sass-embedded-darwin-x64": "1.83.4", - "sass-embedded-linux-arm": "1.83.4", - "sass-embedded-linux-arm64": "1.83.4", - "sass-embedded-linux-ia32": "1.83.4", - "sass-embedded-linux-musl-arm": "1.83.4", - "sass-embedded-linux-musl-arm64": "1.83.4", - "sass-embedded-linux-musl-ia32": "1.83.4", - "sass-embedded-linux-musl-riscv64": "1.83.4", - "sass-embedded-linux-musl-x64": "1.83.4", - "sass-embedded-linux-riscv64": "1.83.4", - "sass-embedded-linux-x64": "1.83.4", - "sass-embedded-win32-arm64": "1.83.4", - "sass-embedded-win32-ia32": "1.83.4", - "sass-embedded-win32-x64": "1.83.4", + "sass-embedded-android-arm": "1.85.0", + "sass-embedded-android-arm64": "1.85.0", + "sass-embedded-android-ia32": "1.85.0", + "sass-embedded-android-riscv64": "1.85.0", + "sass-embedded-android-x64": "1.85.0", + "sass-embedded-darwin-arm64": "1.85.0", + "sass-embedded-darwin-x64": "1.85.0", + "sass-embedded-linux-arm": "1.85.0", + "sass-embedded-linux-arm64": "1.85.0", + "sass-embedded-linux-ia32": "1.85.0", + "sass-embedded-linux-musl-arm": "1.85.0", + "sass-embedded-linux-musl-arm64": "1.85.0", + "sass-embedded-linux-musl-ia32": "1.85.0", + "sass-embedded-linux-musl-riscv64": "1.85.0", + "sass-embedded-linux-musl-x64": "1.85.0", + "sass-embedded-linux-riscv64": "1.85.0", + "sass-embedded-linux-x64": "1.85.0", + "sass-embedded-win32-arm64": "1.85.0", + "sass-embedded-win32-ia32": "1.85.0", + "sass-embedded-win32-x64": "1.85.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" @@ -38426,129 +38930,129 @@ } }, "sass-embedded-android-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.83.4.tgz", - "integrity": "sha512-9Z4pJAOgEkXa3VDY/o+U6l5XvV0mZTJcSl0l/mSPHihjAHSpLYnOW6+KOWeM8dxqrsqTYcd6COzhanI/a++5Gw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.85.0.tgz", + "integrity": "sha512-pPBT7Ad6G8Mlao8ypVNXW2ya7I/Bhcny+RYZ/EmrunEXfhzCNp4PWV2VAweitPO9RnPIJwvUTkLc8Fu6K3nVmw==", "optional": true }, "sass-embedded-android-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.83.4.tgz", - "integrity": "sha512-tgX4FzmbVqnQmD67ZxQDvI+qFNABrboOQgwsG05E5bA/US42zGajW9AxpECJYiMXVOHmg+d81ICbjb0fsVHskw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.85.0.tgz", + "integrity": "sha512-4itDzRwezwrW8+YzMLIwHtMeH+qrBNdBsRn9lTVI15K+cNLC8z5JWJi6UCZ8TNNZr9LDBfsh5jUdjSub0yF7jg==", "optional": true }, "sass-embedded-android-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.83.4.tgz", - "integrity": "sha512-RsFOziFqPcfZXdFRULC4Ayzy9aK6R6FwQ411broCjlOBX+b0gurjRadkue3cfUEUR5mmy0KeCbp7zVKPLTK+5Q==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.85.0.tgz", + "integrity": "sha512-bwqKq95hzbGbMTeXCMQhH7yEdc2xJVwIXj7rGdD3McvyFWbED6362XRFFPI5YyjfD2wRJd9yWLh/hn+6VyjcYA==", "optional": true }, "sass-embedded-android-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.83.4.tgz", - "integrity": "sha512-EHwh0nmQarBBrMRU928eTZkFGx19k/XW2YwbPR4gBVdWLkbTgCA5aGe8hTE6/1zStyx++3nDGvTZ78+b/VvvLg==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.85.0.tgz", + "integrity": "sha512-Fgkgay+5EePJXZFHR5Vlkutnsmox2V6nX4U3mfGbSN1xjLRm8F5ST72V2s5Z0mnIFpGvEu/v7hfptgViqMvaxg==", "optional": true }, "sass-embedded-android-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.83.4.tgz", - "integrity": "sha512-0PgQNuPWYy1jEOEPDVsV89KfqOsMLIp9CSbjBY7jRcwRhyVAcigqrUG6bDeNtojHUYKA1kU+Eh/85WxOHUOgBw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.85.0.tgz", + "integrity": "sha512-/bG3JgTn3eoIDHCiJNVkLeJgUesat4ghxqYmKMZUJx++4e6iKCDj8XwQTJAgm+QDrsPKXHBacHEANJ9LEAuTqg==", "optional": true }, "sass-embedded-darwin-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.83.4.tgz", - "integrity": "sha512-rp2ywymWc3nymnSnAFG5R/8hvxWCsuhK3wOnD10IDlmNB7o4rzKby1c+2ZfpQGowlYGWsWWTgz8FW2qzmZsQRw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.85.0.tgz", + "integrity": "sha512-plp8TyMz97YFBCB3ndftEvoW29vyfsSBJILM5U84cGzr06SvLh/Npjj8psfUeRw+upEk1zkFtw5u61sRCdgwIw==", "optional": true }, "sass-embedded-darwin-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.83.4.tgz", - "integrity": "sha512-kLkN2lXz9PCgGfDS8Ev5YVcl/V2173L6379en/CaFuJJi7WiyPgBymW7hOmfCt4uO4R1y7CP2Uc08DRtZsBlAA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.85.0.tgz", + "integrity": "sha512-LP8Zv8DG57Gn6PmSwWzC0gEZUsGdg36Ps3m0i1fVTOelql7N3HZIrlPYRjJvidL8ZlB3ISxNANebTREUHn/wkQ==", "optional": true }, "sass-embedded-linux-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.83.4.tgz", - "integrity": "sha512-nL90ryxX2lNmFucr9jYUyHHx21AoAgdCL1O5Ltx2rKg2xTdytAGHYo2MT5S0LIeKLa/yKP/hjuSvrbICYNDvtA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.85.0.tgz", + "integrity": "sha512-18xOAEfazJt1MMVS2TRHV94n81VyMnywOoJ7/S7I79qno/zx26OoqqP4XvH107xu8+mZ9Gg54LrUH6ZcgHk08g==", "optional": true }, "sass-embedded-linux-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.83.4.tgz", - "integrity": "sha512-E0zjsZX2HgESwyqw31EHtI39DKa7RgK7nvIhIRco1d0QEw227WnoR9pjH3M/ZQy4gQj3GKilOFHM5Krs/omeIA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.85.0.tgz", + "integrity": "sha512-JRIRKVOY5Y8M1zlUOv9AQGju4P6lj8i5vLJZsVYVN/uY8Cd2dDJZPC8EOhjntp+IpF8AOGIHqCeCkHBceIyIjA==", "optional": true }, "sass-embedded-linux-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.83.4.tgz", - "integrity": "sha512-ew5HpchSzgAYbQoriRh8QhlWn5Kw2nQ2jHoV9YLwGKe3fwwOWA0KDedssvDv7FWnY/FCqXyymhLd6Bxae4Xquw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.85.0.tgz", + "integrity": "sha512-4JH+h+gLt9So22nNPQtsKojEsLzjld9ol3zWcOtMGclv+HojZGbCuhJUrLUcK72F8adXYsULmWhJPKROLIwYMA==", "optional": true }, "sass-embedded-linux-musl-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.83.4.tgz", - "integrity": "sha512-0RrJRwMrmm+gG0VOB5b5Cjs7Sd+lhqpQJa6EJNEaZHljJokEfpE5GejZsGMRMIQLxEvVphZnnxl6sonCGFE/QQ==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.85.0.tgz", + "integrity": "sha512-Z1j4ageDVFihqNUBnm89fxY46pY0zD/Clp1D3ZdI7S+D280+AEpbm5vMoH8LLhBQfQLf2w7H++SZGpQwrisudQ==", "optional": true }, "sass-embedded-linux-musl-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.83.4.tgz", - "integrity": "sha512-IzMgalf6MZOxgp4AVCgsaWAFDP/IVWOrgVXxkyhw29fyAEoSWBJH4k87wyPhEtxSuzVHLxKNbc8k3UzdWmlBFg==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.85.0.tgz", + "integrity": "sha512-aoQjUjK28bvdw9XKTjQeayn8oWQ2QqvoTD11myklGd3IHH7Jj0nwXUstI4NxDueCKt3wghuZoIQkjOheReQxlg==", "optional": true }, "sass-embedded-linux-musl-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.83.4.tgz", - "integrity": "sha512-LLb4lYbcxPzX4UaJymYXC+WwokxUlfTJEFUv5VF0OTuSsHAGNRs/rslPtzVBTvMeG9TtlOQDhku1F7G6iaDotA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.85.0.tgz", + "integrity": "sha512-/cJCSXOfXmQFH8deE+3U9x+BSz8i0d1Tt9gKV/Gat1Xm43Oumw8pmZgno+cDuGjYQInr9ryW5121pTMlj/PBXQ==", "optional": true }, "sass-embedded-linux-musl-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.83.4.tgz", - "integrity": "sha512-zoKlPzD5Z13HKin1UGR74QkEy+kZEk2AkGX5RelRG494mi+IWwRuWCppXIovor9+BQb9eDWPYPoMVahwN5F7VA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.85.0.tgz", + "integrity": "sha512-l+FJxMXkmg42RZq5RFKXg4InX0IA7yEiPHe4kVSdrczP7z3NLxk+W9wVkPnoRKYIMe1qZPPQ25y0TgI4HNWouA==", "optional": true }, "sass-embedded-linux-musl-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.83.4.tgz", - "integrity": "sha512-hB8+/PYhfEf2zTIcidO5Bpof9trK6WJjZ4T8g2MrxQh8REVtdPcgIkoxczRynqybf9+fbqbUwzXtiUao2GV+vQ==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.85.0.tgz", + "integrity": "sha512-M9ffjcYfFcRvkFA6V3DpOS955AyvmpvPAhL/xNK45d/ma1n1ehTWpd24tVeKiNK5CZkNjjMEfyw2fHa6MpqmEA==", "optional": true }, "sass-embedded-linux-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.83.4.tgz", - "integrity": "sha512-83fL4n+oeDJ0Y4KjASmZ9jHS1Vl9ESVQYHMhJE0i4xDi/P3BNarm2rsKljq/QtrwGpbqwn8ujzOu7DsNCMDSHA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.85.0.tgz", + "integrity": "sha512-yqPXQWfM+qiIPkfn++48GOlbmSvUZIyL9nwFstBk0k4x40UhbhilfknqeTUpxoHfQzylTGVhrm5JE7MjM+LNZA==", "optional": true }, "sass-embedded-linux-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.83.4.tgz", - "integrity": "sha512-NlnGdvCmTD5PK+LKXlK3sAuxOgbRIEoZfnHvxd157imCm/s2SYF/R28D0DAAjEViyI8DovIWghgbcqwuertXsA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.85.0.tgz", + "integrity": "sha512-NTDeQFZcuVR7COoaRy8pZD6/+QznwBR8kVFsj7NpmvX9aJ7TX/q+OQZHX7Bfb3tsfKXhf1YZozegPuYxRnMKAQ==", "optional": true }, "sass-embedded-win32-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.83.4.tgz", - "integrity": "sha512-J2BFKrEaeSrVazU2qTjyQdAk+MvbzJeTuCET0uAJEXSKtvQ3AzxvzndS7LqkDPbF32eXAHLw8GVpwcBwKbB3Uw==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.85.0.tgz", + "integrity": "sha512-gO0VAuxC4AdV+uZYJESRWVVHQWCGzNs0C3OKCAdH4r1vGRugooMi7J/5wbwUdXDA1MV9ICfhlKsph2n3GiPdqA==", "optional": true }, "sass-embedded-win32-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.83.4.tgz", - "integrity": "sha512-uPAe9T/5sANFhJS5dcfAOhOJy8/l2TRYG4r+UO3Wp4yhqbN7bggPvY9c7zMYS0OC8tU/bCvfYUDFHYMCl91FgA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.85.0.tgz", + "integrity": "sha512-PCyn6xeFIBUgBceNypuf73/5DWF2VWPlPqPuBprPsTvpZOMUJeBtP+Lf4mnu3dNy1z76mYVnpaCnQmzZ0zHZaA==", "optional": true }, "sass-embedded-win32-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.83.4.tgz", - "integrity": "sha512-C9fkDY0jKITdJFij4UbfPFswxoXN9O/Dr79v17fJnstVwtUojzVJWKHUXvF0Zg2LIR7TCc4ju3adejKFxj7ueA==", + "version": "1.85.0", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.85.0.tgz", + "integrity": "sha512-AknE2jLp6OBwrR5hQ8pDsG94KhJCeSheFJ2xgbnk8RUjZX909JiNbgh2sNt9LG+RXf4xZa55dDL537gZoCx/iw==", "optional": true }, "sass-loader": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.4.tgz", - "integrity": "sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==", + "version": "16.0.5", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", + "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", "dev": true, "requires": { "neo-async": "^2.6.2" @@ -38572,9 +39076,9 @@ } }, "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", @@ -38588,6 +39092,17 @@ "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-6.0.2.tgz", "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==" }, + "scslre": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", + "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.8.0", + "refa": "^0.12.0", + "regexp-ast-analysis": "^0.7.0" + } + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -39591,9 +40106,9 @@ } }, "stylelint": { - "version": "16.13.2", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.13.2.tgz", - "integrity": "sha512-wDlgh0mRO9RtSa3TdidqHd0nOG8MmUyVKl+dxA6C1j8aZRzpNeEgdhFmU5y4sZx4Fc6r46p0fI7p1vR5O2DZqA==", + "version": "16.14.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.14.1.tgz", + "integrity": "sha512-oqCL7AC3786oTax35T/nuLL8p2C3k/8rHKAooezrPGRvUX0wX+qqs5kMWh5YYT4PHQgVDobHT4tw55WgpYG6Sw==", "dev": true, "requires": { "@csstools/css-parser-algorithms": "^3.0.4", @@ -39614,7 +40129,7 @@ "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^7.0.1", + "ignore": "^7.0.3", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", "known-css-properties": "^0.35.0", @@ -39623,7 +40138,7 @@ "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", - "postcss": "^8.4.49", + "postcss": "^8.5.1", "postcss-resolve-nested-selector": "^0.1.6", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.0.0", @@ -39739,9 +40254,9 @@ "dev": true }, "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -39789,6 +40304,17 @@ "lines-and-columns": "^1.1.6" } }, + "postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "requires": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + }, "postcss-safe-parser": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", @@ -39797,9 +40323,9 @@ "requires": {} }, "postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -41237,15 +41763,15 @@ } }, "stylelint-scss": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.10.1.tgz", - "integrity": "sha512-CBqs0jecftIyhic6xba+4OvZUp4B0wNbX19w6Rq1fPo+lBDmTevk+olo8H7u/WQpTSDCDbBN4f3oocQurvXLTQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.11.0.tgz", + "integrity": "sha512-AvJ6LVzz2iXHxPlPTR9WVy73FC/vmohH54VySNlCKX1NIXNAeuzy/VbIkMJLMyw/xKYqkgY4kAgB+qy5BfCaCg==", "dev": true, "requires": { "css-tree": "^3.0.1", "is-plain-object": "^5.0.0", "known-css-properties": "^0.35.0", - "mdn-data": "^2.14.0", + "mdn-data": "^2.15.0", "postcss-media-query-parser": "^0.2.3", "postcss-resolve-nested-selector": "^0.1.6", "postcss-selector-parser": "^7.0.0", @@ -41283,9 +41809,9 @@ "dev": true }, "postcss-selector-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", - "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -41340,6 +41866,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -41463,9 +41990,9 @@ } }, "swiper": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.1.tgz", - "integrity": "sha512-62G69+iQRIfUqTmJkWpZDcX891Ra8O9050ckt1/JI2H+0483g+gq0m7gINecDqMtDh2zt5dK+uzBRxGhGOOvQA==" + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-11.2.3.tgz", + "integrity": "sha512-24m5tqHCd1Wmp9+86aKDoIGMsZGEjIL++3nuB1UjhAhIlvwj4k0Jikxu9PGQ/VswLpoje6JtMDWo12uu4aS2FA==" }, "symbol-tree": { "version": "3.2.4", @@ -41530,9 +42057,9 @@ } }, "terser": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.30.0.tgz", - "integrity": "sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw==", + "version": "5.39.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", + "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -41550,54 +42077,16 @@ } }, "terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.20", + "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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 - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" } }, "test-exclude": { @@ -41731,11 +42220,6 @@ "integrity": "sha512-3gD9iKn/n2UuFH1uilBviK9gvTNT6iYwdqrj1Vr5mh8FuelvpRNaYVH4pNYqUgOGU4aAdL9X35eLuuj0gRsx+A==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -41845,9 +42329,9 @@ "dev": true }, "ts-api-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz", - "integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", "dev": true, "requires": {} }, @@ -41970,12 +42454,6 @@ "prelude-ls": "^1.2.1" } }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -42054,6 +42532,132 @@ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true }, + "typescript-eslint": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.1.tgz", + "integrity": "sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "8.24.1", + "@typescript-eslint/parser": "8.24.1", + "@typescript-eslint/utils": "8.24.1" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", + "integrity": "sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/type-utils": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", + "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz", + "integrity": "sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + } + }, + "@typescript-eslint/types": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", + "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", + "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + } + }, + "@typescript-eslint/utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", + "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", + "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "8.24.1", + "eslint-visitor-keys": "^4.2.0" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true + } + } + }, "uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -42273,13 +42877,13 @@ } }, "update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "dev": true, "requires": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" } }, "uri-js": { @@ -42304,9 +42908,9 @@ "dev": true }, "usehooks-ts": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-3.1.0.tgz", - "integrity": "sha512-bBIa7yUyPhE1BCc0GmR96VU/15l/9gP1Ch5mYdLcFBaFGQsdmXkvjV0TtOqW1yUd6VjIwDunm+flSciCQXujiw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/usehooks-ts/-/usehooks-ts-3.1.1.tgz", + "integrity": "sha512-I4diPp9Cq6ieSUH2wu+fDAVQO43xwtulo+fKEidHUwZPnYImbtkTjzIJYcDcJqxgmX31GVqNFURodvcgHcW0pA==", "requires": { "lodash.debounce": "^4.0.8" } @@ -42391,21 +42995,34 @@ } }, "vite": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", - "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.1.tgz", + "integrity": "sha512-4GgM54XrwRfrOp297aIYspIti66k56v16ZnqHvrIM7mG+HjDlAwS7p+Srr7J6fGvEdOJ5JcQ/D9T7HhtdXDTzA==", "dev": true, "requires": { "esbuild": "^0.24.2", "fsevents": "~2.3.3", - "postcss": "^8.4.49", - "rollup": "^4.23.0" + "postcss": "^8.5.2", + "rollup": "^4.30.1" + }, + "dependencies": { + "postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "dev": true, + "requires": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + } } }, "vite-node": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.4.tgz", - "integrity": "sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.5.tgz", + "integrity": "sha512-02JEJl7SbtwSDJdYS537nU6l+ktdvcREfLksk/NDAqtdKWGqHl+joXzEubHROmS3E6pip+Xgu2tFezMu75jH7A==", "dev": true, "requires": { "cac": "^6.7.14", @@ -42416,18 +43033,18 @@ } }, "vitest": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.4.tgz", - "integrity": "sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.5.tgz", + "integrity": "sha512-4dof+HvqONw9bvsYxtkfUp2uHsTN9bV2CZIi1pWgoFpL1Lld8LA1ka9q/ONSsoScAKG7NVGf2stJTI7XRkXb2Q==", "dev": true, "requires": { - "@vitest/expect": "3.0.4", - "@vitest/mocker": "3.0.4", - "@vitest/pretty-format": "^3.0.4", - "@vitest/runner": "3.0.4", - "@vitest/snapshot": "3.0.4", - "@vitest/spy": "3.0.4", - "@vitest/utils": "3.0.4", + "@vitest/expect": "3.0.5", + "@vitest/mocker": "3.0.5", + "@vitest/pretty-format": "^3.0.5", + "@vitest/runner": "3.0.5", + "@vitest/snapshot": "3.0.5", + "@vitest/spy": "3.0.5", + "@vitest/utils": "3.0.5", "chai": "^5.1.2", "debug": "^4.4.0", "expect-type": "^1.1.0", @@ -42439,7 +43056,7 @@ "tinypool": "^1.0.2", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.4", + "vite-node": "3.0.5", "why-is-node-running": "^2.3.0" } }, @@ -42491,9 +43108,9 @@ "dev": true }, "webpack": { - "version": "5.97.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", - "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "version": "5.98.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", + "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.7", @@ -42514,9 +43131,9 @@ "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", + "schema-utils": "^4.3.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", + "terser-webpack-plugin": "^5.3.11", "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, @@ -42527,47 +43144,11 @@ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, "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 - }, - "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 - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } } } }, @@ -43168,14 +43749,6 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "devOptional": true }, - "yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "optional": true, - "peer": true - }, "yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", diff --git a/package.json b/package.json index 184c96fbfe..48d6e68e94 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,14 @@ "repository": "https://github.com/jellyfin/jellyfin-web", "license": "GPL-2.0-or-later", "devDependencies": { - "@babel/core": "7.25.8", - "@babel/plugin-transform-modules-umd": "7.25.7", - "@babel/preset-env": "7.25.8", - "@babel/preset-react": "7.25.7", + "@babel/core": "7.26.9", + "@babel/plugin-transform-modules-umd": "7.25.9", + "@babel/preset-env": "7.26.9", + "@babel/preset-react": "7.26.3", "@eslint-community/eslint-plugin-eslint-comments": "4.4.1", - "@stylistic/eslint-plugin": "2.13.0", - "@stylistic/stylelint-plugin": "3.1.1", + "@eslint/js": "9.20.0", + "@stylistic/eslint-plugin": "3.1.0", + "@stylistic/stylelint-plugin": "3.1.2", "@types/dompurify": "3.0.5", "@types/escape-html": "1.0.4", "@types/loadable__component": "5.13.9", @@ -21,10 +22,9 @@ "@types/react-dom": "18.3.1", "@types/react-lazy-load-image-component": "1.6.4", "@types/sortablejs": "1.15.8", - "@typescript-eslint/eslint-plugin": "8.21.0", - "@typescript-eslint/parser": "8.21.0", + "@typescript-eslint/parser": "8.24.1", "@uupaa/dynamic-import-polyfill": "1.0.2", - "@vitest/coverage-v8": "3.0.4", + "@vitest/coverage-v8": "3.0.5", "autoprefixer": "10.4.20", "babel-loader": "9.2.1", "clean-webpack-plugin": "4.0.0", @@ -34,37 +34,39 @@ "css-loader": "7.1.2", "cssnano": "7.0.6", "es-check": "7.2.1", - "eslint": "8.57.1", - "eslint-plugin-compat": "4.2.0", + "eslint": "9.20.1", + "eslint-plugin-compat": "6.0.2", "eslint-plugin-import": "2.31.0", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-react": "7.37.4", - "eslint-plugin-react-hooks": "4.6.2", - "eslint-plugin-sonarjs": "0.25.1", - "expose-loader": "5.0.0", + "eslint-plugin-react-hooks": "5.1.0", + "eslint-plugin-sonarjs": "3.0.2", + "expose-loader": "5.0.1", "fork-ts-checker-webpack-plugin": "9.0.2", + "globals": "15.15.0", "html-loader": "5.1.0", "html-webpack-plugin": "5.6.3", "jsdom": "25.0.1", "mini-css-extract-plugin": "2.9.2", - "postcss": "8.4.49", + "postcss": "8.5.2", "postcss-loader": "8.1.1", - "postcss-preset-env": "10.1.3", + "postcss-preset-env": "10.1.4", "postcss-scss": "4.0.9", - "sass": "1.83.4", - "sass-loader": "16.0.4", + "sass": "1.85.0", + "sass-loader": "16.0.5", "source-map-loader": "5.0.0", "speed-measure-webpack-plugin": "1.5.0", "style-loader": "4.0.0", - "stylelint": "16.13.2", + "stylelint": "16.14.1", "stylelint-config-rational-order": "0.1.2", "stylelint-no-browser-hacks": "1.3.0", "stylelint-order": "6.0.4", - "stylelint-scss": "6.10.1", + "stylelint-scss": "6.11.0", "ts-loader": "9.5.2", "typescript": "5.7.3", - "vitest": "3.0.4", - "webpack": "5.97.1", + "typescript-eslint": "8.24.1", + "vitest": "3.0.5", + "webpack": "5.98.0", "webpack-bundle-analyzer": "4.10.2", "webpack-cli": "5.1.4", "webpack-dev-server": "5.2.0", @@ -81,10 +83,10 @@ "@fontsource/noto-sans-sc": "5.1.1", "@fontsource/noto-sans-tc": "5.1.1", "@jellyfin/libass-wasm": "4.2.3", - "@jellyfin/sdk": "0.0.0-unstable.202501180501", - "@mui/icons-material": "5.16.7", - "@mui/material": "5.16.7", - "@mui/x-date-pickers": "7.20.0", + "@jellyfin/sdk": "0.0.0-unstable.202502210501", + "@mui/icons-material": "5.16.14", + "@mui/material": "5.16.14", + "@mui/x-date-pickers": "7.26.0", "@react-hook/resize-observer": "2.0.2", "@tanstack/react-query": "5.62.16", "@tanstack/react-query-devtools": "5.62.16", @@ -122,13 +124,13 @@ "resize-observer-polyfill": "1.5.1", "screenfull": "6.0.2", "sortablejs": "1.15.6", - "swiper": "11.2.1", - "usehooks-ts": "3.1.0", + "swiper": "11.2.3", + "usehooks-ts": "3.1.1", "webcomponents.js": "0.7.24", "whatwg-fetch": "3.6.20" }, "optionalDependencies": { - "sass-embedded": "1.83.4" + "sass-embedded": "1.85.0" }, "browserslist": [ "last 2 Firefox versions", diff --git a/src/apps/dashboard/features/activity/components/UserAvatarButton.tsx b/src/apps/dashboard/components/UserAvatarButton.tsx similarity index 73% rename from src/apps/dashboard/features/activity/components/UserAvatarButton.tsx rename to src/apps/dashboard/components/UserAvatarButton.tsx index 91f126e92c..e8f4530de3 100644 --- a/src/apps/dashboard/features/activity/components/UserAvatarButton.tsx +++ b/src/apps/dashboard/components/UserAvatarButton.tsx @@ -1,4 +1,5 @@ import type { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto'; +import type { SxProps, Theme } from '@mui/material'; import IconButton from '@mui/material/IconButton/IconButton'; import React, { type FC } from 'react'; import { Link } from 'react-router-dom'; @@ -7,14 +8,21 @@ import UserAvatar from 'components/UserAvatar'; interface UserAvatarButtonProps { user?: UserDto + sx?: SxProps } -const UserAvatarButton: FC = ({ user }) => ( +const UserAvatarButton: FC = ({ + user, + sx +}) => ( user?.Id ? ( +} + +const DateTimeCell: FC = ({ cell }) => { + const { dateFnsLocale } = useLocale(); + + return format(cell.getValue(), 'Pp', { locale: dateFnsLocale }); +}; + +export default DateTimeCell; diff --git a/src/apps/dashboard/components/table/TablePage.tsx b/src/apps/dashboard/components/table/TablePage.tsx new file mode 100644 index 0000000000..d9724c9d1b --- /dev/null +++ b/src/apps/dashboard/components/table/TablePage.tsx @@ -0,0 +1,72 @@ +import Box from '@mui/material/Box/Box'; +import Stack from '@mui/material/Stack/Stack'; +import Typography from '@mui/material/Typography/Typography'; +import { type MRT_RowData, type MRT_TableInstance, MaterialReactTable } from 'material-react-table'; +import React from 'react'; + +import Page, { type PageProps } from 'components/Page'; + +interface TablePageProps extends PageProps { + title: string + subtitle?: string + table: MRT_TableInstance +} + +export const DEFAULT_TABLE_OPTIONS = { + // Enable custom features + enableColumnPinning: true, + enableColumnResizing: true, + + // Sticky header/footer + enableStickyFooter: true, + enableStickyHeader: true, + muiTableContainerProps: { + sx: { + maxHeight: 'calc(100% - 7rem)' // 2 x 3.5rem for header and footer + } + } +}; + +const TablePage = ({ + title, + subtitle, + table, + children, + ...pageProps +}: TablePageProps) => { + return ( + + + + + {title} + + {subtitle && ( + + {subtitle} + + )} + + + + {children} + + ); +}; + +export default TablePage; diff --git a/src/controllers/dashboard/dashboard.html b/src/apps/dashboard/controllers/dashboard.html similarity index 97% rename from src/controllers/dashboard/dashboard.html rename to src/apps/dashboard/controllers/dashboard.html index aafe8de61b..5c449c5e91 100644 --- a/src/controllers/dashboard/dashboard.html +++ b/src/apps/dashboard/controllers/dashboard.html @@ -23,10 +23,10 @@ - - diff --git a/src/controllers/dashboard/dashboard.js b/src/apps/dashboard/controllers/dashboard.js similarity index 93% rename from src/controllers/dashboard/dashboard.js rename to src/apps/dashboard/controllers/dashboard.js index 17eda6c552..e29bb4778d 100644 --- a/src/controllers/dashboard/dashboard.js +++ b/src/apps/dashboard/controllers/dashboard.js @@ -1,36 +1,36 @@ import escapeHtml from 'escape-html'; -import datetime from '../../scripts/datetime'; -import Events from '../../utils/events.ts'; -import itemHelper from '../../components/itemHelper'; -import serverNotifications from '../../scripts/serverNotifications'; -import dom from '../../scripts/dom'; -import globalize from '../../lib/globalize'; +import datetime from 'scripts/datetime'; +import Events from 'utils/events.ts'; +import itemHelper from 'components/itemHelper'; +import serverNotifications from 'scripts/serverNotifications'; +import dom from 'scripts/dom'; +import globalize from 'lib/globalize'; import { formatDistanceToNow } from 'date-fns'; -import { getLocaleWithSuffix } from '../../utils/dateFnsLocale.ts'; -import loading from '../../components/loading/loading'; -import playMethodHelper from '../../components/playback/playmethodhelper'; -import cardBuilder from '../../components/cardbuilder/cardBuilder'; -import imageLoader from '../../components/images/imageLoader'; -import ActivityLog from '../../components/activitylog'; -import imageHelper from '../../utils/image'; -import indicators from '../../components/indicators/indicators'; -import taskButton from '../../scripts/taskbutton'; -import Dashboard from '../../utils/dashboard'; -import ServerConnections from '../../components/ServerConnections'; -import alert from '../../components/alert'; -import confirm from '../../components/confirm/confirm'; -import { getDefaultBackgroundClass } from '../../components/cardbuilder/cardBuilderUtils'; +import { getLocaleWithSuffix } from 'utils/dateFnsLocale.ts'; +import loading from 'components/loading/loading'; +import playMethodHelper from 'components/playback/playmethodhelper'; +import cardBuilder from 'components/cardbuilder/cardBuilder'; +import imageLoader from 'components/images/imageLoader'; +import ActivityLog from 'components/activitylog'; +import imageHelper from 'utils/image'; +import indicators from 'components/indicators/indicators'; +import taskButton from 'scripts/taskbutton'; +import Dashboard from 'utils/dashboard'; +import ServerConnections from 'components/ServerConnections'; +import alert from 'components/alert'; +import confirm from 'components/confirm/confirm'; +import { getDefaultBackgroundClass } from 'components/cardbuilder/cardBuilderUtils'; import { getSystemInfoQuery } from 'hooks/useSystemInfo'; import { toApi } from 'utils/jellyfin-apiclient/compat'; import { queryClient } from 'utils/query/queryClient'; -import '../../elements/emby-button/emby-button'; -import '../../elements/emby-itemscontainer/emby-itemscontainer'; +import 'elements/emby-button/emby-button'; +import 'elements/emby-itemscontainer/emby-itemscontainer'; -import '../../components/listview/listview.scss'; -import '../../styles/flexstyles.scss'; +import 'components/listview/listview.scss'; +import 'styles/flexstyles.scss'; import './dashboard.scss'; function showPlaybackInfo(btn, session) { @@ -72,7 +72,7 @@ function showPlaybackInfo(btn, session) { } function showSendMessageForm(btn, session) { - import('../../components/prompt/prompt').then(({ default: prompt }) => { + import('components/prompt/prompt').then(({ default: prompt }) => { prompt({ title: globalize.translate('HeaderSendMessage'), label: globalize.translate('LabelMessageText'), @@ -89,7 +89,7 @@ function showSendMessageForm(btn, session) { } function showOptionsMenu(btn, session) { - import('../../components/actionSheet/actionSheet').then(({ default: actionsheet }) => { + import('components/actionSheet/actionSheet').then(({ default: actionsheet }) => { const menuItems = []; if (session.ServerId && session.DeviceId !== ServerConnections.deviceId()) { @@ -394,7 +394,7 @@ function renderRunningTasks(view, tasks) { view.querySelector('#divRunningTasks').innerHTML = html; } -window.DashboardPage = { +const DashboardPage = { startInterval: function (apiClient) { apiClient.sendMessage('SessionsStart', '0,1500'); apiClient.sendMessage('ScheduledTasksInfoStart', '0,1000'); @@ -714,33 +714,38 @@ window.DashboardPage = { pollForInfo(page, ApiClient); }); }, - restart: function (btn) { + restart: function (event) { confirm({ title: globalize.translate('Restart'), text: globalize.translate('MessageConfirmRestart'), confirmText: globalize.translate('Restart'), primary: 'delete' - }).then(function () { - const page = dom.parentWithClass(btn, 'page'); + }).then(() => { + const page = dom.parentWithClass(event.target, 'page'); page.querySelector('#btnRestartServer').disabled = true; page.querySelector('#btnShutdown').disabled = true; ApiClient.restartServer(); + }).catch(() => { + // Confirm dialog closed }); }, - shutdown: function (btn) { + shutdown: function (event) { confirm({ title: globalize.translate('ButtonShutdown'), text: globalize.translate('MessageConfirmShutdown'), confirmText: globalize.translate('ButtonShutdown'), primary: 'delete' - }).then(function () { - const page = dom.parentWithClass(btn, 'page'); + }).then(() => { + const page = dom.parentWithClass(event.target, 'page'); page.querySelector('#btnRestartServer').disabled = true; page.querySelector('#btnShutdown').disabled = true; ApiClient.shutdownServer(); + }).catch(() => { + // Confirm dialog closed }); } }; + export default function (view) { function onRestartRequired(evt, apiClient) { console.debug('onRestartRequired not implemented', evt, apiClient); @@ -816,7 +821,11 @@ export default function (view) { taskKey: 'RefreshLibrary', button: page.querySelector('.btnRefresh') }); + + page.querySelector('#btnRestartServer').addEventListener('click', DashboardPage.restart); + page.querySelector('#btnShutdown').addEventListener('click', DashboardPage.shutdown); }); + view.addEventListener('viewbeforehide', function () { const apiClient = ApiClient; const page = this; @@ -838,6 +847,9 @@ export default function (view) { taskKey: 'RefreshLibrary', button: page.querySelector('.btnRefresh') }); + + page.querySelector('#btnRestartServer').removeEventListener('click', DashboardPage.restart); + page.querySelector('#btnShutdown').removeEventListener('click', DashboardPage.shutdown); }); view.addEventListener('viewdestroy', function () { const page = this; diff --git a/src/controllers/dashboard/dashboard.scss b/src/apps/dashboard/controllers/dashboard.scss similarity index 100% rename from src/controllers/dashboard/dashboard.scss rename to src/apps/dashboard/controllers/dashboard.scss diff --git a/src/controllers/dashboard/encodingsettings.html b/src/apps/dashboard/controllers/encodingsettings.html similarity index 100% rename from src/controllers/dashboard/encodingsettings.html rename to src/apps/dashboard/controllers/encodingsettings.html diff --git a/src/controllers/dashboard/encodingsettings.js b/src/apps/dashboard/controllers/encodingsettings.js similarity index 97% rename from src/controllers/dashboard/encodingsettings.js rename to src/apps/dashboard/controllers/encodingsettings.js index 964529507b..6ae4fdbb28 100644 --- a/src/controllers/dashboard/encodingsettings.js +++ b/src/apps/dashboard/controllers/encodingsettings.js @@ -1,9 +1,9 @@ import 'jquery'; -import loading from '../../components/loading/loading'; -import globalize from '../../lib/globalize'; -import dom from '../../scripts/dom'; -import Dashboard from '../../utils/dashboard'; -import alert from '../../components/alert'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import dom from 'scripts/dom'; +import Dashboard from 'utils/dashboard'; +import alert from 'components/alert'; function loadPage(page, config, systemInfo) { Array.prototype.forEach.call(page.querySelectorAll('.chkDecodeCodec'), function (c) { @@ -263,7 +263,7 @@ $(document).on('pageinit', '#encodingSettingsPage', function () { setDecodingCodecsVisible(page, this.value); }); $('#btnSelectTranscodingTempPath', page).on('click.selectDirectory', function () { - import('../../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ callback: function (path) { @@ -280,7 +280,7 @@ $(document).on('pageinit', '#encodingSettingsPage', function () { }); }); $('#btnSelectFallbackFontPath', page).on('click.selectDirectory', function () { - import('../../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ includeDirectories: true, diff --git a/src/controllers/dashboard/general.html b/src/apps/dashboard/controllers/general.html similarity index 100% rename from src/controllers/dashboard/general.html rename to src/apps/dashboard/controllers/general.html diff --git a/src/controllers/dashboard/general.js b/src/apps/dashboard/controllers/general.js similarity index 86% rename from src/controllers/dashboard/general.js rename to src/apps/dashboard/controllers/general.js index a6e0a36fa9..0a2fc98f82 100644 --- a/src/controllers/dashboard/general.js +++ b/src/apps/dashboard/controllers/general.js @@ -1,14 +1,14 @@ import 'jquery'; -import loading from '../../components/loading/loading'; -import globalize from '../../lib/globalize'; -import '../../elements/emby-checkbox/emby-checkbox'; -import '../../elements/emby-textarea/emby-textarea'; -import '../../elements/emby-input/emby-input'; -import '../../elements/emby-select/emby-select'; -import '../../elements/emby-button/emby-button'; -import Dashboard from '../../utils/dashboard'; -import alert from '../../components/alert'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import 'elements/emby-checkbox/emby-checkbox'; +import 'elements/emby-textarea/emby-textarea'; +import 'elements/emby-input/emby-input'; +import 'elements/emby-select/emby-select'; +import 'elements/emby-button/emby-button'; +import Dashboard from 'utils/dashboard'; +import alert from 'components/alert'; function loadPage(page, config, languageOptions, systemInfo) { page.querySelector('#txtServerName').value = systemInfo.ServerName; @@ -53,7 +53,7 @@ function onSubmit() { export default function (view) { $('#btnSelectCachePath', view).on('click.selectDirectory', function () { - import('../../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ callback: function (path) { @@ -70,7 +70,7 @@ export default function (view) { }); }); $('#btnSelectMetadataPath', view).on('click.selectDirectory', function () { - import('../../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ path: view.querySelector('#txtMetadataPath').value, diff --git a/src/controllers/dashboard/library.html b/src/apps/dashboard/controllers/library.html similarity index 100% rename from src/controllers/dashboard/library.html rename to src/apps/dashboard/controllers/library.html diff --git a/src/apps/dashboard/controllers/library.js b/src/apps/dashboard/controllers/library.js new file mode 100644 index 0000000000..f174e86ff1 --- /dev/null +++ b/src/apps/dashboard/controllers/library.js @@ -0,0 +1,383 @@ +import escapeHtml from 'escape-html'; + +import taskButton from 'scripts/taskbutton'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import dom from 'scripts/dom'; +import imageHelper from 'utils/image'; +import 'components/cardbuilder/card.scss'; +import 'elements/emby-itemrefreshindicator/emby-itemrefreshindicator'; +import { pageClassOn, pageIdOn } from 'utils/dashboard'; +import confirm from 'components/confirm/confirm'; +import { getDefaultBackgroundClass } from 'components/cardbuilder/cardBuilderUtils'; + +function addVirtualFolder(page) { + import('components/mediaLibraryCreator/mediaLibraryCreator').then(({ default: MediaLibraryCreator }) => { + new MediaLibraryCreator({ + collectionTypeOptions: getCollectionTypeOptions().filter(function (f) { + return !f.hidden; + }), + refresh: shouldRefreshLibraryAfterChanges(page) + }).then(function (hasChanges) { + if (hasChanges) { + reloadLibrary(page); + } + }); + }); +} + +function editVirtualFolder(page, virtualFolder) { + import('components/mediaLibraryEditor/mediaLibraryEditor').then(({ default: MediaLibraryEditor }) => { + new MediaLibraryEditor({ + refresh: shouldRefreshLibraryAfterChanges(page), + library: virtualFolder + }).then(function (hasChanges) { + if (hasChanges) { + reloadLibrary(page); + } + }); + }); +} + +function deleteVirtualFolder(page, virtualFolder) { + let msg = globalize.translate('MessageAreYouSureYouWishToRemoveMediaFolder'); + + if (virtualFolder.Locations.length) { + msg += '

' + globalize.translate('MessageTheFollowingLocationWillBeRemovedFromLibrary') + '

'; + msg += virtualFolder.Locations.join('
'); + } + + confirm({ + text: msg, + title: globalize.translate('HeaderRemoveMediaFolder'), + confirmText: globalize.translate('Delete'), + primary: 'delete' + }).then(function () { + const refreshAfterChange = shouldRefreshLibraryAfterChanges(page); + ApiClient.removeVirtualFolder(virtualFolder.Name, refreshAfterChange).then(function () { + reloadLibrary(page); + }); + }); +} + +function refreshVirtualFolder(page, virtualFolder) { + import('components/refreshdialog/refreshdialog').then(({ default: RefreshDialog }) => { + new RefreshDialog({ + itemIds: [virtualFolder.ItemId], + serverId: ApiClient.serverId(), + mode: 'scan' + }).show(); + }); +} + +function renameVirtualFolder(page, virtualFolder) { + import('components/prompt/prompt').then(({ default: prompt }) => { + prompt({ + label: globalize.translate('LabelNewName'), + description: globalize.translate('MessageRenameMediaFolder'), + confirmText: globalize.translate('ButtonRename') + }).then(function (newName) { + if (newName && newName != virtualFolder.Name) { + const refreshAfterChange = shouldRefreshLibraryAfterChanges(page); + ApiClient.renameVirtualFolder(virtualFolder.Name, newName, refreshAfterChange).then(function () { + reloadLibrary(page); + }); + } + }); + }); +} + +function showCardMenu(page, elem, virtualFolders) { + const card = dom.parentWithClass(elem, 'card'); + const index = parseInt(card.getAttribute('data-index'), 10); + const virtualFolder = virtualFolders[index]; + const menuItems = []; + menuItems.push({ + name: globalize.translate('EditImages'), + id: 'editimages', + icon: 'photo' + }); + menuItems.push({ + name: globalize.translate('ManageLibrary'), + id: 'edit', + icon: 'folder' + }); + menuItems.push({ + name: globalize.translate('ButtonRename'), + id: 'rename', + icon: 'mode_edit' + }); + menuItems.push({ + name: globalize.translate('ScanLibrary'), + id: 'refresh', + icon: 'refresh' + }); + menuItems.push({ + name: globalize.translate('ButtonRemove'), + id: 'delete', + icon: 'delete' + }); + + import('components/actionSheet/actionSheet').then((actionsheet) => { + actionsheet.show({ + items: menuItems, + positionTo: elem, + callback: function (resultId) { + switch (resultId) { + case 'edit': + editVirtualFolder(page, virtualFolder); + break; + + case 'editimages': + editImages(page, virtualFolder); + break; + + case 'rename': + renameVirtualFolder(page, virtualFolder); + break; + + case 'delete': + deleteVirtualFolder(page, virtualFolder); + break; + + case 'refresh': + refreshVirtualFolder(page, virtualFolder); + } + } + }); + }); +} + +function reloadLibrary(page) { + loading.show(); + ApiClient.getVirtualFolders().then(function (result) { + reloadVirtualFolders(page, result); + }); +} + +function shouldRefreshLibraryAfterChanges(page) { + return page.id === 'mediaLibraryPage'; +} + +function reloadVirtualFolders(page, virtualFolders) { + let html = ''; + virtualFolders.push({ + Name: globalize.translate('ButtonAddMediaLibrary'), + icon: 'add_circle', + Locations: [], + showType: false, + showLocations: false, + showMenu: false, + showNameWithIcon: false, + elementId: 'addLibrary' + }); + + for (let i = 0; i < virtualFolders.length; i++) { + const virtualFolder = virtualFolders[i]; + html += getVirtualFolderHtml(page, virtualFolder, i); + } + + const divVirtualFolders = page.querySelector('#divVirtualFolders'); + divVirtualFolders.innerHTML = html; + divVirtualFolders.classList.add('itemsContainer'); + divVirtualFolders.classList.add('vertical-wrap'); + const btnCardMenuElements = divVirtualFolders.querySelectorAll('.btnCardMenu'); + btnCardMenuElements.forEach(function (btn) { + btn.addEventListener('click', function () { + showCardMenu(page, btn, virtualFolders); + }); + }); + divVirtualFolders.querySelector('#addLibrary').addEventListener('click', function () { + addVirtualFolder(page); + }); + + const libraryEditElements = divVirtualFolders.querySelectorAll('.editLibrary'); + libraryEditElements.forEach(function (btn) { + btn.addEventListener('click', function () { + const card = dom.parentWithClass(btn, 'card'); + const index = parseInt(card.getAttribute('data-index'), 10); + const virtualFolder = virtualFolders[index]; + + if (virtualFolder.ItemId) { + editVirtualFolder(page, virtualFolder); + } + }); + }); + loading.hide(); +} + +function editImages(page, virtualFolder) { + import('components/imageeditor/imageeditor').then((imageEditor) => { + imageEditor.show({ + itemId: virtualFolder.ItemId, + serverId: ApiClient.serverId() + }).then(function () { + reloadLibrary(page); + }); + }); +} + +function getLink(text, url) { + return globalize.translate(text, '', ''); +} + +function getCollectionTypeOptions() { + return [{ + name: '', + value: '' + }, { + name: globalize.translate('Movies'), + value: 'movies', + message: getLink('MovieLibraryHelp', 'https://jellyfin.org/docs/general/server/media/movies') + }, { + name: globalize.translate('TabMusic'), + value: 'music', + message: getLink('MusicLibraryHelp', 'https://jellyfin.org/docs/general/server/media/music') + }, { + name: globalize.translate('Shows'), + value: 'tvshows', + message: getLink('TvLibraryHelp', 'https://jellyfin.org/docs/general/server/media/shows') + }, { + name: globalize.translate('Books'), + value: 'books', + message: getLink('BookLibraryHelp', 'https://jellyfin.org/docs/general/server/media/books') + }, { + name: globalize.translate('HomeVideosPhotos'), + value: 'homevideos' + }, { + name: globalize.translate('MusicVideos'), + value: 'musicvideos' + }, { + name: globalize.translate('MixedMoviesShows'), + value: 'mixed', + message: globalize.translate('MessageUnsetContentHelp') + }]; +} + +function getVirtualFolderHtml(page, virtualFolder, index) { + let html = ''; + + const elementId = virtualFolder.elementId ? `id="${virtualFolder.elementId}" ` : ''; + html += '
'; + + html += '
'; + html += '
'; + html += '
'; + html += '
'; + let imgUrl = ''; + + if (virtualFolder.PrimaryImageItemId) { + imgUrl = ApiClient.getScaledImageUrl(virtualFolder.PrimaryImageItemId, { + maxWidth: Math.round(dom.getScreenWidth() * 0.40), + type: 'Primary' + }); + } + + let hasCardImageContainer; + + if (imgUrl) { + html += `
`; + html += ``; + hasCardImageContainer = true; + } else if (!virtualFolder.showNameWithIcon) { + html += `
`; + html += ''; + hasCardImageContainer = true; + } + + if (hasCardImageContainer) { + html += '
'; + html += '
'; + html += '
'; + html += '
'; + } + + if (!imgUrl && virtualFolder.showNameWithIcon) { + html += '

'; + html += ''; + + if (virtualFolder.showNameWithIcon) { + html += '
'; + html += escapeHtml(virtualFolder.Name); + html += '
'; + } + + html += '

'; + } + + html += '
'; + html += '
'; + html += '
'; // always show menu unless explicitly hidden + + if (virtualFolder.showMenu !== false) { + const dirTextAlign = globalize.getIsRTL() ? 'left' : 'right'; + html += '
'; + html += ''; + html += '
'; + } + + html += "
"; + + if (virtualFolder.showNameWithIcon) { + html += ' '; + } else { + html += escapeHtml(virtualFolder.Name); + } + + html += '
'; + let typeName = getCollectionTypeOptions().filter(function (t) { + return t.value == virtualFolder.CollectionType; + })[0]; + typeName = typeName ? typeName.name : globalize.translate('Other'); + html += "
"; + + if (virtualFolder.showType === false) { + html += ' '; + } else { + html += typeName; + } + + html += '
'; + + if (virtualFolder.showLocations === false) { + html += "
"; + html += ' '; + html += '
'; + } else if (virtualFolder.Locations.length && virtualFolder.Locations.length === 1) { + html += "
"; + html += virtualFolder.Locations[0]; + html += '
'; + } else { + html += "
"; + html += globalize.translate('NumLocationsValue', virtualFolder.Locations.length); + html += '
'; + } + + html += '
'; + html += '
'; + html += '
'; + return html; +} + +pageClassOn('pageshow', 'mediaLibraryPage', function () { + reloadLibrary(this); +}); +pageIdOn('pageshow', 'mediaLibraryPage', function () { + const page = this; + taskButton({ + mode: 'on', + progressElem: page.querySelector('.refreshProgress'), + taskKey: 'RefreshLibrary', + button: page.querySelector('.btnRefresh') + }); +}); +pageIdOn('pagebeforehide', 'mediaLibraryPage', function () { + const page = this; + taskButton({ + mode: 'off', + progressElem: page.querySelector('.refreshProgress'), + taskKey: 'RefreshLibrary', + button: page.querySelector('.btnRefresh') + }); +}); + diff --git a/src/controllers/livetvguideprovider.html b/src/apps/dashboard/controllers/livetvguideprovider.html similarity index 100% rename from src/controllers/livetvguideprovider.html rename to src/apps/dashboard/controllers/livetvguideprovider.html diff --git a/src/controllers/livetvguideprovider.js b/src/apps/dashboard/controllers/livetvguideprovider.js similarity index 61% rename from src/controllers/livetvguideprovider.js rename to src/apps/dashboard/controllers/livetvguideprovider.js index 28d60ec05c..2bb08f07c3 100644 --- a/src/controllers/livetvguideprovider.js +++ b/src/apps/dashboard/controllers/livetvguideprovider.js @@ -1,15 +1,15 @@ -import loading from '../components/loading/loading'; -import globalize from '../lib/globalize'; -import Dashboard, { pageIdOn } from '../utils/dashboard'; -import { getParameterByName } from '../utils/url.ts'; -import Events from '../utils/events.ts'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import Dashboard, { pageIdOn } from 'utils/dashboard'; +import { getParameterByName } from 'utils/url'; +import Events from 'utils/events'; function onListingsSubmitted() { Dashboard.navigate('dashboard/livetv'); } function init(page, type, providerId) { - import(`../components/tvproviders/${type}`).then(({ default: ProviderFactory }) => { + import(`components/tvproviders/${type}`).then(({ default: ProviderFactory }) => { const instance = new ProviderFactory(page, providerId, {}); Events.on(instance, 'submitted', onListingsSubmitted); instance.init(); @@ -17,7 +17,7 @@ function init(page, type, providerId) { } function loadTemplate(page, type, providerId) { - import(`../components/tvproviders/${type}.template.html`).then(({ default: html }) => { + import(`components/tvproviders/${type}.template.html`).then(({ default: html }) => { page.querySelector('.providerTemplate').innerHTML = globalize.translateHtml(html); init(page, type, providerId); }); diff --git a/src/controllers/livetvsettings.html b/src/apps/dashboard/controllers/livetvsettings.html similarity index 100% rename from src/controllers/livetvsettings.html rename to src/apps/dashboard/controllers/livetvsettings.html diff --git a/src/controllers/livetvsettings.js b/src/apps/dashboard/controllers/livetvsettings.js similarity index 88% rename from src/controllers/livetvsettings.js rename to src/apps/dashboard/controllers/livetvsettings.js index e46d2f4dde..0fd30ee5bb 100644 --- a/src/controllers/livetvsettings.js +++ b/src/apps/dashboard/controllers/livetvsettings.js @@ -1,9 +1,10 @@ import 'jquery'; -import loading from '../components/loading/loading'; -import globalize from '../lib/globalize'; -import '../elements/emby-button/emby-button'; -import Dashboard from '../utils/dashboard'; -import alert from '../components/alert'; + +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import 'elements/emby-button/emby-button'; +import Dashboard from 'utils/dashboard'; +import alert from 'components/alert'; function loadPage(page, config) { page.querySelector('.liveTvSettingsForm').classList.remove('hide'); @@ -64,7 +65,7 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () { const page = this; $('.liveTvSettingsForm').off('submit', onSubmit).on('submit', onSubmit); $('#btnSelectRecordingPath', page).on('click.selectDirectory', function () { - import('../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ callback: function (path) { @@ -79,7 +80,7 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () { }); }); $('#btnSelectMovieRecordingPath', page).on('click.selectDirectory', function () { - import('../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ callback: function (path) { @@ -94,7 +95,7 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () { }); }); $('#btnSelectSeriesRecordingPath', page).on('click.selectDirectory', function () { - import('../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ callback: function (path) { @@ -109,7 +110,7 @@ $(document).on('pageinit', '#liveTvSettingsPage', function () { }); }); $('#btnSelectPostProcessorPath', page).on('click.selectDirectory', function () { - import('../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ includeFiles: true, diff --git a/src/controllers/livetvstatus.html b/src/apps/dashboard/controllers/livetvstatus.html similarity index 100% rename from src/controllers/livetvstatus.html rename to src/apps/dashboard/controllers/livetvstatus.html diff --git a/src/controllers/livetvstatus.js b/src/apps/dashboard/controllers/livetvstatus.js similarity index 90% rename from src/controllers/livetvstatus.js rename to src/apps/dashboard/controllers/livetvstatus.js index fa3671b471..8220a3018c 100644 --- a/src/controllers/livetvstatus.js +++ b/src/apps/dashboard/controllers/livetvstatus.js @@ -1,19 +1,20 @@ import 'jquery'; -import globalize from '../lib/globalize'; -import taskButton from '../scripts/taskbutton'; -import dom from '../scripts/dom'; -import layoutManager from '../components/layoutManager'; -import loading from '../components/loading/loading'; -import browser from '../scripts/browser'; -import '../components/listview/listview.scss'; -import '../styles/flexstyles.scss'; -import '../elements/emby-itemscontainer/emby-itemscontainer'; -import '../components/cardbuilder/card.scss'; + +import globalize from 'lib/globalize'; +import taskButton from 'scripts/taskbutton'; +import dom from 'scripts/dom'; +import layoutManager from 'components/layoutManager'; +import loading from 'components/loading/loading'; +import browser from 'scripts/browser'; +import 'components/listview/listview.scss'; +import 'styles/flexstyles.scss'; +import 'elements/emby-itemscontainer/emby-itemscontainer'; +import 'components/cardbuilder/card.scss'; import 'material-design-icons-iconfont'; -import '../elements/emby-button/emby-button'; -import Dashboard from '../utils/dashboard'; -import confirm from '../components/confirm/confirm'; -import { getDefaultBackgroundClass } from '../components/cardbuilder/cardBuilderUtils'; +import 'elements/emby-button/emby-button'; +import Dashboard from 'utils/dashboard'; +import confirm from 'components/confirm/confirm'; +import { getDefaultBackgroundClass } from 'components/cardbuilder/cardBuilderUtils'; const enableFocusTransform = !browser.slow && !browser.edge; @@ -153,7 +154,7 @@ function showProviderOptions(page, providerId, button) { id: 'map' }); - import('../components/actionSheet/actionSheet').then(({ default: actionsheet }) => { + import('components/actionSheet/actionSheet').then(({ default: actionsheet }) => { actionsheet.show({ items: items, positionTo: button @@ -171,7 +172,7 @@ function showProviderOptions(page, providerId, button) { } function mapChannels(page, providerId) { - import('../components/channelMapper/channelMapper').then(({ default: ChannelMapper }) => { + import('components/channelMapper/channelMapper').then(({ default: ChannelMapper }) => { new ChannelMapper({ serverId: ApiClient.serverInfo().Id, providerId: providerId @@ -243,7 +244,7 @@ function addProvider(button) { id: 'xmltv' }); - import('../components/actionSheet/actionSheet').then(({ default: actionsheet }) => { + import('components/actionSheet/actionSheet').then(({ default: actionsheet }) => { actionsheet.show({ items: menuItems, positionTo: button, @@ -269,7 +270,7 @@ function showDeviceMenu(button, tunerDeviceId) { id: 'edit' }); - import('../components/actionSheet/actionSheet').then(({ default: actionsheet }) => { + import('components/actionSheet/actionSheet').then(({ default: actionsheet }) => { actionsheet.show({ items: items, positionTo: button diff --git a/src/controllers/livetvtuner.html b/src/apps/dashboard/controllers/livetvtuner.html similarity index 100% rename from src/controllers/livetvtuner.html rename to src/apps/dashboard/controllers/livetvtuner.html diff --git a/src/controllers/livetvtuner.js b/src/apps/dashboard/controllers/livetvtuner.js similarity index 93% rename from src/controllers/livetvtuner.js rename to src/apps/dashboard/controllers/livetvtuner.js index bdb270ac5a..b9140b17eb 100644 --- a/src/controllers/livetvtuner.js +++ b/src/apps/dashboard/controllers/livetvtuner.js @@ -1,12 +1,12 @@ -import globalize from '../lib/globalize'; -import loading from '../components/loading/loading'; -import dom from '../scripts/dom'; -import '../elements/emby-input/emby-input'; -import '../elements/emby-button/emby-button'; -import '../elements/emby-checkbox/emby-checkbox'; -import '../elements/emby-select/emby-select'; -import Dashboard from '../utils/dashboard'; -import { getParameterByName } from '../utils/url.ts'; +import globalize from 'lib/globalize'; +import loading from 'components/loading/loading'; +import dom from 'scripts/dom'; +import 'elements/emby-input/emby-input'; +import 'elements/emby-button/emby-button'; +import 'elements/emby-checkbox/emby-checkbox'; +import 'elements/emby-select/emby-select'; +import Dashboard from 'utils/dashboard'; +import { getParameterByName } from 'utils/url'; function isM3uVariant(type) { return ['nextpvr'].indexOf(type || '') !== -1; @@ -112,7 +112,7 @@ function submitForm(page) { } function getDetectedDevice() { - return import('../components/tunerPicker').then(({ default: TunerPicker }) => { + return import('components/tunerPicker').then(({ default: TunerPicker }) => { return new TunerPicker().show({ serverId: ApiClient.serverId() }); @@ -235,7 +235,7 @@ export default function (view, params) { }); }); view.querySelector('.btnSelectPath').addEventListener('click', function () { - import('../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ includeFiles: true, diff --git a/src/controllers/dashboard/networking.html b/src/apps/dashboard/controllers/networking.html similarity index 100% rename from src/controllers/dashboard/networking.html rename to src/apps/dashboard/controllers/networking.html diff --git a/src/controllers/dashboard/networking.js b/src/apps/dashboard/controllers/networking.js similarity index 95% rename from src/controllers/dashboard/networking.js rename to src/apps/dashboard/controllers/networking.js index 25bfe8d4ea..04c206dd76 100644 --- a/src/controllers/dashboard/networking.js +++ b/src/apps/dashboard/controllers/networking.js @@ -1,9 +1,9 @@ -import loading from '../../components/loading/loading'; -import globalize from '../../lib/globalize'; -import '../../elements/emby-checkbox/emby-checkbox'; -import '../../elements/emby-select/emby-select'; -import Dashboard from '../../utils/dashboard'; -import alert from '../../components/alert'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import 'elements/emby-checkbox/emby-checkbox'; +import 'elements/emby-select/emby-select'; +import Dashboard from 'utils/dashboard'; +import alert from 'components/alert'; function onSubmit(e) { const form = this; @@ -159,7 +159,7 @@ export default function (view) { } }); view.querySelector('#btnSelectCertPath').addEventListener('click', function () { - import('../../components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { + import('components/directorybrowser/directorybrowser').then(({ default: DirectoryBrowser }) => { const picker = new DirectoryBrowser(); picker.show({ includeFiles: true, diff --git a/src/controllers/dashboard/plugins/available/index.html b/src/apps/dashboard/controllers/plugins/available/index.html similarity index 100% rename from src/controllers/dashboard/plugins/available/index.html rename to src/apps/dashboard/controllers/plugins/available/index.html diff --git a/src/controllers/dashboard/plugins/available/index.js b/src/apps/dashboard/controllers/plugins/available/index.js similarity index 100% rename from src/controllers/dashboard/plugins/available/index.js rename to src/apps/dashboard/controllers/plugins/available/index.js diff --git a/src/controllers/dashboard/plugins/installed/index.html b/src/apps/dashboard/controllers/plugins/installed/index.html similarity index 100% rename from src/controllers/dashboard/plugins/installed/index.html rename to src/apps/dashboard/controllers/plugins/installed/index.html diff --git a/src/controllers/dashboard/plugins/installed/index.js b/src/apps/dashboard/controllers/plugins/installed/index.js similarity index 93% rename from src/controllers/dashboard/plugins/installed/index.js rename to src/apps/dashboard/controllers/plugins/installed/index.js index cf64bf565d..b3971ecf1c 100644 --- a/src/controllers/dashboard/plugins/installed/index.js +++ b/src/apps/dashboard/controllers/plugins/installed/index.js @@ -1,11 +1,11 @@ -import loading from '../../../../components/loading/loading'; -import dom from '../../../../scripts/dom'; -import globalize from '../../../../lib/globalize'; -import '../../../../components/cardbuilder/card.scss'; -import '../../../../elements/emby-button/emby-button'; -import Dashboard, { pageIdOn } from '../../../../utils/dashboard'; -import confirm from '../../../../components/confirm/confirm'; -import { getDefaultBackgroundClass } from '../../../../components/cardbuilder/cardBuilderUtils'; +import loading from 'components/loading/loading'; +import dom from 'scripts/dom'; +import globalize from 'lib/globalize'; +import 'components/cardbuilder/card.scss'; +import 'elements/emby-button/emby-button'; +import Dashboard, { pageIdOn } from 'utils/dashboard'; +import confirm from 'components/confirm/confirm'; +import { getDefaultBackgroundClass } from 'components/cardbuilder/cardBuilderUtils'; function deletePlugin(page, uniqueid, version, name) { const msg = globalize.translate('UninstallPluginConfirmation', name); @@ -187,7 +187,7 @@ function showPluginMenu(page, elem) { }); } - import('../../../../components/actionSheet/actionSheet').then((actionsheet) => { + import('components/actionSheet/actionSheet').then((actionsheet) => { actionsheet.show({ items: menuItems, positionTo: elem, diff --git a/src/controllers/dashboard/plugins/repositories/index.html b/src/apps/dashboard/controllers/plugins/repositories/index.html similarity index 100% rename from src/controllers/dashboard/plugins/repositories/index.html rename to src/apps/dashboard/controllers/plugins/repositories/index.html diff --git a/src/controllers/dashboard/plugins/repositories/index.js b/src/apps/dashboard/controllers/plugins/repositories/index.js similarity index 92% rename from src/controllers/dashboard/plugins/repositories/index.js rename to src/apps/dashboard/controllers/plugins/repositories/index.js index d7d9247e96..8eb0265f72 100644 --- a/src/controllers/dashboard/plugins/repositories/index.js +++ b/src/apps/dashboard/controllers/plugins/repositories/index.js @@ -1,14 +1,14 @@ -import loading from '../../../../components/loading/loading'; -import globalize from '../../../../lib/globalize'; -import dialogHelper from '../../../../components/dialogHelper/dialogHelper'; -import confirm from '../../../../components/confirm/confirm'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import dialogHelper from 'components/dialogHelper/dialogHelper'; +import confirm from 'components/confirm/confirm'; -import '../../../../elements/emby-button/emby-button'; -import '../../../../elements/emby-checkbox/emby-checkbox'; -import '../../../../elements/emby-select/emby-select'; +import 'elements/emby-button/emby-button'; +import 'elements/emby-checkbox/emby-checkbox'; +import 'elements/emby-select/emby-select'; -import '../../../../components/formdialog.scss'; -import '../../../../components/listview/listview.scss'; +import 'components/formdialog.scss'; +import 'components/listview/listview.scss'; let repositories = []; diff --git a/src/apps/dashboard/features/activity/api/useLogEntries.ts b/src/apps/dashboard/features/activity/api/useLogEntries.ts index ba956d5171..4f8b433da8 100644 --- a/src/apps/dashboard/features/activity/api/useLogEntries.ts +++ b/src/apps/dashboard/features/activity/api/useLogEntries.ts @@ -7,15 +7,10 @@ import { useQuery } from '@tanstack/react-query'; import { useApi } from 'hooks/useApi'; const fetchLogEntries = async ( - api?: Api, + api: Api, requestParams?: ActivityLogApiGetLogEntriesRequest, options?: AxiosRequestConfig ) => { - if (!api) { - console.warn('[fetchLogEntries] No API instance available'); - return; - } - const response = await getActivityLogApi(api).getLogEntries(requestParams, { signal: options?.signal }); @@ -30,7 +25,7 @@ export const useLogEntries = ( return useQuery({ queryKey: ['ActivityLogEntries', requestParams], queryFn: ({ signal }) => - fetchLogEntries(api, requestParams, { signal }), + fetchLogEntries(api!, requestParams, { signal }), enabled: !!api }); }; diff --git a/src/apps/dashboard/features/branding/api/useBrandingOptions.ts b/src/apps/dashboard/features/branding/api/useBrandingOptions.ts index 0537581018..67ccccf1a8 100644 --- a/src/apps/dashboard/features/branding/api/useBrandingOptions.ts +++ b/src/apps/dashboard/features/branding/api/useBrandingOptions.ts @@ -8,14 +8,9 @@ import { useApi } from 'hooks/useApi'; export const QUERY_KEY = 'BrandingOptions'; const fetchBrandingOptions = async ( - api?: Api, + api: Api, options?: AxiosRequestConfig ) => { - if (!api) { - console.error('[fetchBrandingOptions] no Api instance provided'); - throw new Error('No Api instance provided to fetchBrandingOptions'); - } - return getBrandingApi(api) .getBrandingOptions(options) .then(({ data }) => data); @@ -25,7 +20,7 @@ export const getBrandingOptionsQuery = ( api?: Api ) => queryOptions({ queryKey: [ QUERY_KEY ], - queryFn: ({ signal }) => fetchBrandingOptions(api, { signal }), + queryFn: ({ signal }) => fetchBrandingOptions(api!, { signal }), enabled: !!api }); diff --git a/src/apps/dashboard/features/devices/api/useDeleteDevice.ts b/src/apps/dashboard/features/devices/api/useDeleteDevice.ts new file mode 100644 index 0000000000..0caefe2b18 --- /dev/null +++ b/src/apps/dashboard/features/devices/api/useDeleteDevice.ts @@ -0,0 +1,23 @@ +import type { DevicesApiDeleteDeviceRequest } from '@jellyfin/sdk/lib/generated-client/api/devices-api'; +import { getDevicesApi } from '@jellyfin/sdk/lib/utils/api/devices-api'; +import { useMutation } from '@tanstack/react-query'; + +import { useApi } from 'hooks/useApi'; +import { queryClient } from 'utils/query/queryClient'; +import { QUERY_KEY } from './useDevices'; + +export const useDeleteDevice = () => { + const { api } = useApi(); + + return useMutation({ + mutationFn: (params: DevicesApiDeleteDeviceRequest) => ( + getDevicesApi(api!) + .deleteDevice(params) + ), + onSuccess: () => { + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + } + }); +}; diff --git a/src/apps/dashboard/features/devices/api/useDevices.ts b/src/apps/dashboard/features/devices/api/useDevices.ts new file mode 100644 index 0000000000..484624cd6d --- /dev/null +++ b/src/apps/dashboard/features/devices/api/useDevices.ts @@ -0,0 +1,33 @@ +import type { DevicesApiGetDevicesRequest } from '@jellyfin/sdk/lib/generated-client'; +import type { AxiosRequestConfig } from 'axios'; +import type { Api } from '@jellyfin/sdk'; +import { getDevicesApi } from '@jellyfin/sdk/lib/utils/api/devices-api'; +import { useQuery } from '@tanstack/react-query'; + +import { useApi } from 'hooks/useApi'; + +export const QUERY_KEY = 'Devices'; + +const fetchDevices = async ( + api: Api, + requestParams?: DevicesApiGetDevicesRequest, + options?: AxiosRequestConfig +) => { + const response = await getDevicesApi(api).getDevices(requestParams, { + signal: options?.signal + }); + + return response.data; +}; + +export const useDevices = ( + requestParams: DevicesApiGetDevicesRequest +) => { + const { api } = useApi(); + return useQuery({ + queryKey: [QUERY_KEY, requestParams], + queryFn: ({ signal }) => + fetchDevices(api!, requestParams, { signal }), + enabled: !!api + }); +}; diff --git a/src/apps/dashboard/features/devices/api/useUpdateDevice.ts b/src/apps/dashboard/features/devices/api/useUpdateDevice.ts new file mode 100644 index 0000000000..eb9ad7f94c --- /dev/null +++ b/src/apps/dashboard/features/devices/api/useUpdateDevice.ts @@ -0,0 +1,23 @@ +import type { DevicesApiUpdateDeviceOptionsRequest } from '@jellyfin/sdk/lib/generated-client/api/devices-api'; +import { getDevicesApi } from '@jellyfin/sdk/lib/utils/api/devices-api'; +import { useMutation } from '@tanstack/react-query'; + +import { useApi } from 'hooks/useApi'; +import { queryClient } from 'utils/query/queryClient'; +import { QUERY_KEY } from './useDevices'; + +export const useUpdateDevice = () => { + const { api } = useApi(); + + return useMutation({ + mutationFn: (params: DevicesApiUpdateDeviceOptionsRequest) => ( + getDevicesApi(api!) + .updateDeviceOptions(params) + ), + onSuccess: () => { + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + } + }); +}; diff --git a/src/apps/dashboard/features/devices/components/DeviceNameCell.tsx b/src/apps/dashboard/features/devices/components/DeviceNameCell.tsx new file mode 100644 index 0000000000..efcf8301f4 --- /dev/null +++ b/src/apps/dashboard/features/devices/components/DeviceNameCell.tsx @@ -0,0 +1,22 @@ +import React, { FC } from 'react'; + +import { DeviceInfoCell } from 'apps/dashboard/features/devices/types/deviceInfoCell'; +import { getDeviceIcon } from 'utils/image'; + +const DeviceNameCell: FC = ({ row, renderedCellValue }) => ( + <> + {row.original.AppName + {renderedCellValue} + +); + +export default DeviceNameCell; diff --git a/src/apps/dashboard/features/devices/types/deviceInfoCell.ts b/src/apps/dashboard/features/devices/types/deviceInfoCell.ts new file mode 100644 index 0000000000..e9b1af2ad9 --- /dev/null +++ b/src/apps/dashboard/features/devices/types/deviceInfoCell.ts @@ -0,0 +1,7 @@ +import type { DeviceInfoDto } from '@jellyfin/sdk/lib/generated-client/models/device-info-dto'; +import type { MRT_Row } from 'material-react-table'; + +export interface DeviceInfoCell { + renderedCellValue: React.ReactNode + row: MRT_Row +} diff --git a/src/apps/dashboard/features/keys/api/useApiKeys.ts b/src/apps/dashboard/features/keys/api/useApiKeys.ts index a6422ffb7b..e8f50b545c 100644 --- a/src/apps/dashboard/features/keys/api/useApiKeys.ts +++ b/src/apps/dashboard/features/keys/api/useApiKeys.ts @@ -1,17 +1,13 @@ import { Api } from '@jellyfin/sdk'; import { getApiKeyApi } from '@jellyfin/sdk/lib/utils/api/api-key-api'; import { useQuery } from '@tanstack/react-query'; +import { AxiosRequestConfig } from 'axios'; import { useApi } from 'hooks/useApi'; export const QUERY_KEY = 'ApiKeys'; -const fetchApiKeys = async (api?: Api) => { - if (!api) { - console.error('[useApiKeys] Failed to create Api instance'); - return; - } - - const response = await getApiKeyApi(api).getKeys(); +const fetchApiKeys = async (api: Api, options?: AxiosRequestConfig) => { + const response = await getApiKeyApi(api).getKeys(options); return response.data; }; @@ -21,7 +17,7 @@ export const useApiKeys = () => { return useQuery({ queryKey: [ QUERY_KEY ], - queryFn: () => fetchApiKeys(api), + queryFn: ({ signal }) => fetchApiKeys(api!, { signal }), enabled: !!api }); }; diff --git a/src/apps/dashboard/features/keys/api/useCreateKey.ts b/src/apps/dashboard/features/keys/api/useCreateKey.ts index d5f90be47c..ec7e474778 100644 --- a/src/apps/dashboard/features/keys/api/useCreateKey.ts +++ b/src/apps/dashboard/features/keys/api/useCreateKey.ts @@ -10,7 +10,6 @@ export const useCreateKey = () => { return useMutation({ mutationFn: (params: ApiKeyApiCreateKeyRequest) => ( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion getApiKeyApi(api!) .createKey(params) ), diff --git a/src/apps/dashboard/features/keys/api/useRevokeKey.ts b/src/apps/dashboard/features/keys/api/useRevokeKey.ts index 2f2f1b54b6..b0307630c1 100644 --- a/src/apps/dashboard/features/keys/api/useRevokeKey.ts +++ b/src/apps/dashboard/features/keys/api/useRevokeKey.ts @@ -10,7 +10,6 @@ export const useRevokeKey = () => { return useMutation({ mutationFn: (params: ApiKeyApiRevokeKeyRequest) => ( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion getApiKeyApi(api!) .revokeKey(params) ), diff --git a/src/apps/dashboard/features/libraries/api/useCountries.ts b/src/apps/dashboard/features/libraries/api/useCountries.ts new file mode 100644 index 0000000000..8acba7726f --- /dev/null +++ b/src/apps/dashboard/features/libraries/api/useCountries.ts @@ -0,0 +1,21 @@ +import { Api } from '@jellyfin/sdk'; +import { getLocalizationApi } from '@jellyfin/sdk/lib/utils/api/localization-api'; +import { useQuery } from '@tanstack/react-query'; +import { useApi } from 'hooks/useApi'; +import type { AxiosRequestConfig } from 'axios'; + +const fetchCountries = async (api: Api, options?: AxiosRequestConfig) => { + const response = await getLocalizationApi(api).getCountries(options); + + return response.data; +}; + +export const useCountries = () => { + const { api } = useApi(); + + return useQuery({ + queryKey: [ 'Countries' ], + queryFn: ({ signal }) => fetchCountries(api!, { signal }), + enabled: !!api + }); +}; diff --git a/src/apps/dashboard/features/libraries/api/useCultures.ts b/src/apps/dashboard/features/libraries/api/useCultures.ts new file mode 100644 index 0000000000..0df27178bf --- /dev/null +++ b/src/apps/dashboard/features/libraries/api/useCultures.ts @@ -0,0 +1,21 @@ +import { Api } from '@jellyfin/sdk'; +import { getLocalizationApi } from '@jellyfin/sdk/lib/utils/api/localization-api'; +import { useQuery } from '@tanstack/react-query'; +import { useApi } from 'hooks/useApi'; +import type { AxiosRequestConfig } from 'axios'; + +const fetchCultures = async (api: Api, options?: AxiosRequestConfig) => { + const response = await getLocalizationApi(api).getCultures(options); + + return response.data; +}; + +export const useCultures = () => { + const { api } = useApi(); + + return useQuery({ + queryKey: [ 'Cultures' ], + queryFn: ({ signal }) => fetchCultures(api!, { signal }), + enabled: !!api + }); +}; diff --git a/src/apps/dashboard/features/libraries/utils/metadataOptions.ts b/src/apps/dashboard/features/libraries/utils/metadataOptions.ts new file mode 100644 index 0000000000..2f49789e97 --- /dev/null +++ b/src/apps/dashboard/features/libraries/utils/metadataOptions.ts @@ -0,0 +1,19 @@ +import { ImageResolution } from '@jellyfin/sdk/lib/generated-client/models/image-resolution'; +import globalize from 'lib/globalize'; + +export function getImageResolutionOptions() { + return [ + { + name: globalize.translate('ResolutionMatchSource'), + value: ImageResolution.MatchSource + }, + { name: '2160p', value: ImageResolution.P2160 }, + { name: '1440p', value: ImageResolution.P1440 }, + { name: '1080p', value: ImageResolution.P1080 }, + { name: '720p', value: ImageResolution.P720 }, + { name: '480p', value: ImageResolution.P480 }, + { name: '360p', value: ImageResolution.P360 }, + { name: '240p', value: ImageResolution.P240 }, + { name: '144p', value: ImageResolution.P144 } + ]; +}; diff --git a/src/apps/dashboard/features/logs/api/useServerLog.ts b/src/apps/dashboard/features/logs/api/useServerLog.ts new file mode 100644 index 0000000000..21b2d10057 --- /dev/null +++ b/src/apps/dashboard/features/logs/api/useServerLog.ts @@ -0,0 +1,25 @@ +import { Api } from '@jellyfin/sdk'; +import { getSystemApi } from '@jellyfin/sdk/lib/utils/api/system-api'; +import { useQuery } from '@tanstack/react-query'; +import { useApi } from 'hooks/useApi'; +import type { AxiosRequestConfig } from 'axios'; + +const fetchServerLog = async ( + api: Api, + name: string, + options?: AxiosRequestConfig +) => { + const response = await getSystemApi(api).getLogFile({ name }, options); + + // FIXME: TypeScript SDK thinks it is returning a File but in reality it is a string + return response.data as never as string; +}; +export const useServerLog = (name: string) => { + const { api } = useApi(); + + return useQuery({ + queryKey: ['ServerLog', name], + queryFn: ({ signal }) => fetchServerLog(api!, name, { signal }), + enabled: !!api + }); +}; diff --git a/src/apps/dashboard/features/logs/api/useServerLogs.ts b/src/apps/dashboard/features/logs/api/useServerLogs.ts index fa00dc9afa..aab50cd3a4 100644 --- a/src/apps/dashboard/features/logs/api/useServerLogs.ts +++ b/src/apps/dashboard/features/logs/api/useServerLogs.ts @@ -4,13 +4,8 @@ import { useQuery } from '@tanstack/react-query'; import { useApi } from 'hooks/useApi'; import type { AxiosRequestConfig } from 'axios'; -const fetchServerLogs = async (api?: Api, options?: AxiosRequestConfig) => { - if (!api) { - console.error('[useServerLogs] No API instance available'); - return; - } - - const response = await getSystemApi(api).getServerLogs(options); +const fetchServerLogs = async (api: Api, options?: AxiosRequestConfig) => { + const response = await getSystemApi(api!).getServerLogs(options); return response.data; }; @@ -20,7 +15,7 @@ export const useServerLogs = () => { return useQuery({ queryKey: [ 'ServerLogs' ], - queryFn: ({ signal }) => fetchServerLogs(api, { signal }), + queryFn: ({ signal }) => fetchServerLogs(api!, { signal }), enabled: !!api }); }; diff --git a/src/apps/dashboard/features/logs/components/LogItemList.tsx b/src/apps/dashboard/features/logs/components/LogItemList.tsx index a7f2aa69f6..eed1509726 100644 --- a/src/apps/dashboard/features/logs/components/LogItemList.tsx +++ b/src/apps/dashboard/features/logs/components/LogItemList.tsx @@ -2,28 +2,15 @@ import React, { FunctionComponent } from 'react'; import type { LogFile } from '@jellyfin/sdk/lib/generated-client/models/log-file'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; -import ListItemButton from '@mui/material/ListItemButton'; import ListItemText from '@mui/material/ListItemText'; -import OpenInNewIcon from '@mui/icons-material/OpenInNew'; -import { useApi } from 'hooks/useApi'; import datetime from 'scripts/datetime'; +import ListItemLink from 'components/ListItemLink'; type LogItemProps = { logs: LogFile[]; }; const LogItemList: FunctionComponent = ({ logs }: LogItemProps) => { - const { api } = useApi(); - - const getLogFileUrl = (logFile: LogFile) => { - if (!api) return ''; - - return api.getUri('/System/Logs/Log', { - name: logFile.Name, - api_key: api.accessToken - }); - }; - const getDate = (logFile: LogFile) => { const date = datetime.parseISO8601Date(logFile.DateModified, true); return datetime.toLocaleDateString(date) + ' ' + datetime.getDisplayTime(date); @@ -34,15 +21,14 @@ const LogItemList: FunctionComponent = ({ logs }: LogItemProps) => {logs.map(log => { return ( - + - - + ); })} diff --git a/src/apps/dashboard/features/plugins/api/useConfigurationPages.ts b/src/apps/dashboard/features/plugins/api/useConfigurationPages.ts index 0d6b83ff89..9161c89265 100644 --- a/src/apps/dashboard/features/plugins/api/useConfigurationPages.ts +++ b/src/apps/dashboard/features/plugins/api/useConfigurationPages.ts @@ -9,15 +9,10 @@ import { useApi } from 'hooks/useApi'; import { QueryKey } from './queryKey'; const fetchConfigurationPages = async ( - api?: Api, + api: Api, params?: DashboardApiGetConfigurationPagesRequest, options?: AxiosRequestConfig ) => { - if (!api) { - console.warn('[fetchConfigurationPages] No API instance available'); - return []; - } - const response = await getDashboardApi(api) .getConfigurationPages(params, options); return response.data; @@ -28,7 +23,7 @@ const getConfigurationPagesQuery = ( params?: DashboardApiGetConfigurationPagesRequest ) => queryOptions({ queryKey: [ QueryKey.ConfigurationPages, params?.enableInMainMenu ], - queryFn: ({ signal }) => fetchConfigurationPages(api, params, { signal }), + queryFn: ({ signal }) => fetchConfigurationPages(api!, params, { signal }), enabled: !!api }); diff --git a/src/apps/dashboard/features/plugins/api/useDisablePlugin.ts b/src/apps/dashboard/features/plugins/api/useDisablePlugin.ts index 271f7519cb..4285213fa8 100644 --- a/src/apps/dashboard/features/plugins/api/useDisablePlugin.ts +++ b/src/apps/dashboard/features/plugins/api/useDisablePlugin.ts @@ -11,7 +11,6 @@ export const useDisablePlugin = () => { const { api } = useApi(); return useMutation({ mutationFn: (params: PluginsApiDisablePluginRequest) => ( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion getPluginsApi(api!) .disablePlugin(params) ), diff --git a/src/apps/dashboard/features/plugins/api/useEnablePlugin.ts b/src/apps/dashboard/features/plugins/api/useEnablePlugin.ts index 15aa6ac6b4..a89eab5c57 100644 --- a/src/apps/dashboard/features/plugins/api/useEnablePlugin.ts +++ b/src/apps/dashboard/features/plugins/api/useEnablePlugin.ts @@ -11,7 +11,6 @@ export const useEnablePlugin = () => { const { api } = useApi(); return useMutation({ mutationFn: (params: PluginsApiEnablePluginRequest) => ( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion getPluginsApi(api!) .enablePlugin(params) ), diff --git a/src/apps/dashboard/features/plugins/api/useInstallPackage.ts b/src/apps/dashboard/features/plugins/api/useInstallPackage.ts index ec25f35d6c..93aeb1e8e7 100644 --- a/src/apps/dashboard/features/plugins/api/useInstallPackage.ts +++ b/src/apps/dashboard/features/plugins/api/useInstallPackage.ts @@ -11,7 +11,6 @@ export const useInstallPackage = () => { const { api } = useApi(); return useMutation({ mutationFn: (params: PackageApiInstallPackageRequest) => ( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion getPackageApi(api!) .installPackage(params) ), diff --git a/src/apps/dashboard/features/plugins/api/usePackageInfo.ts b/src/apps/dashboard/features/plugins/api/usePackageInfo.ts index 21bda3f83c..e98ac50d3b 100644 --- a/src/apps/dashboard/features/plugins/api/usePackageInfo.ts +++ b/src/apps/dashboard/features/plugins/api/usePackageInfo.ts @@ -9,34 +9,24 @@ import { useApi } from 'hooks/useApi'; import { QueryKey } from './queryKey'; const fetchPackageInfo = async ( - api?: Api, - params?: PackageApiGetPackageInfoRequest, + api: Api, + params: PackageApiGetPackageInfoRequest, options?: AxiosRequestConfig ) => { - if (!api) { - console.warn('[fetchPackageInfo] No API instance available'); - return; - } - - if (!params) { - console.warn('[fetchPackageInfo] Missing request params'); - return; - } - const response = await getPackageApi(api) .getPackageInfo(params, options); return response.data; }; const getPackageInfoQuery = ( - api?: Api, + api: Api | undefined, params?: PackageApiGetPackageInfoRequest ) => queryOptions({ // Don't retry since requests for plugins not available in repos fail retry: false, queryKey: [ QueryKey.PackageInfo, params?.name, params?.assemblyGuid ], - queryFn: ({ signal }) => fetchPackageInfo(api, params, { signal }), - enabled: !!api && !!params?.name + queryFn: ({ signal }) => fetchPackageInfo(api!, params!, { signal }), + enabled: !!params && !!api && !!params.name }); export const usePackageInfo = ( diff --git a/src/apps/dashboard/features/plugins/api/usePlugins.ts b/src/apps/dashboard/features/plugins/api/usePlugins.ts index be73680222..a44ce474ee 100644 --- a/src/apps/dashboard/features/plugins/api/usePlugins.ts +++ b/src/apps/dashboard/features/plugins/api/usePlugins.ts @@ -8,14 +8,9 @@ import { useApi } from 'hooks/useApi'; import { QueryKey } from './queryKey'; const fetchPlugins = async ( - api?: Api, + api: Api, options?: AxiosRequestConfig ) => { - if (!api) { - console.warn('[fetchPlugins] No API instance available'); - return []; - } - const response = await getPluginsApi(api) .getPlugins(options); return response.data; @@ -25,7 +20,7 @@ const getPluginsQuery = ( api?: Api ) => queryOptions({ queryKey: [ QueryKey.Plugins ], - queryFn: ({ signal }) => fetchPlugins(api, { signal }), + queryFn: ({ signal }) => fetchPlugins(api!, { signal }), enabled: !!api }); diff --git a/src/apps/dashboard/features/plugins/api/useUninstallPlugin.ts b/src/apps/dashboard/features/plugins/api/useUninstallPlugin.ts index d8a646c792..99ca9ec7c9 100644 --- a/src/apps/dashboard/features/plugins/api/useUninstallPlugin.ts +++ b/src/apps/dashboard/features/plugins/api/useUninstallPlugin.ts @@ -11,7 +11,6 @@ export const useUninstallPlugin = () => { const { api } = useApi(); return useMutation({ mutationFn: (params: PluginsApiUninstallPluginByVersionRequest) => ( - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion getPluginsApi(api!) .uninstallPluginByVersion(params) ), diff --git a/src/apps/dashboard/features/tasks/api/useStartTask.ts b/src/apps/dashboard/features/tasks/api/useStartTask.ts new file mode 100644 index 0000000000..ef37b7e6e8 --- /dev/null +++ b/src/apps/dashboard/features/tasks/api/useStartTask.ts @@ -0,0 +1,22 @@ +import { ScheduledTasksApiStartTaskRequest } from '@jellyfin/sdk/lib/generated-client/api/scheduled-tasks-api'; +import { getScheduledTasksApi } from '@jellyfin/sdk/lib/utils/api/scheduled-tasks-api'; +import { useMutation } from '@tanstack/react-query'; +import { useApi } from 'hooks/useApi'; +import { queryClient } from 'utils/query/queryClient'; +import { QUERY_KEY } from './useTasks'; + +export const useStartTask = () => { + const { api } = useApi(); + + return useMutation({ + mutationFn: (params: ScheduledTasksApiStartTaskRequest) => ( + getScheduledTasksApi(api!) + .startTask(params) + ), + onSuccess: () => { + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + } + }); +}; diff --git a/src/apps/dashboard/features/tasks/api/useStopTask.ts b/src/apps/dashboard/features/tasks/api/useStopTask.ts new file mode 100644 index 0000000000..30421ee6af --- /dev/null +++ b/src/apps/dashboard/features/tasks/api/useStopTask.ts @@ -0,0 +1,22 @@ +import { ScheduledTasksApiStartTaskRequest } from '@jellyfin/sdk/lib/generated-client/api/scheduled-tasks-api'; +import { getScheduledTasksApi } from '@jellyfin/sdk/lib/utils/api/scheduled-tasks-api'; +import { useMutation } from '@tanstack/react-query'; +import { useApi } from 'hooks/useApi'; +import { queryClient } from 'utils/query/queryClient'; +import { QUERY_KEY } from './useTasks'; + +export const useStopTask = () => { + const { api } = useApi(); + + return useMutation({ + mutationFn: (params: ScheduledTasksApiStartTaskRequest) => ( + getScheduledTasksApi(api!) + .stopTask(params) + ), + onSuccess: () => { + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + } + }); +}; diff --git a/src/apps/dashboard/features/tasks/api/useTask.ts b/src/apps/dashboard/features/tasks/api/useTask.ts new file mode 100644 index 0000000000..9df4adaefa --- /dev/null +++ b/src/apps/dashboard/features/tasks/api/useTask.ts @@ -0,0 +1,29 @@ +import type { ScheduledTasksApiGetTaskRequest } from '@jellyfin/sdk/lib/generated-client/api/scheduled-tasks-api'; +import type { AxiosRequestConfig } from 'axios'; +import type { Api } from '@jellyfin/sdk'; +import { getScheduledTasksApi } from '@jellyfin/sdk/lib/utils/api/scheduled-tasks-api'; +import { useQuery } from '@tanstack/react-query'; + +import { useApi } from 'hooks/useApi'; +import { QUERY_KEY } from './useTasks'; + +const fetchTask = async ( + api: Api, + params: ScheduledTasksApiGetTaskRequest, + options?: AxiosRequestConfig +) => { + const response = await getScheduledTasksApi(api).getTask(params, options); + + return response.data; +}; + +export const useTask = (params: ScheduledTasksApiGetTaskRequest) => { + const { api } = useApi(); + + return useQuery({ + queryKey: [ QUERY_KEY, params.taskId ], + queryFn: ({ signal }) => + fetchTask(api!, params, { signal }), + enabled: !!api + }); +}; diff --git a/src/apps/dashboard/features/tasks/api/useTasks.ts b/src/apps/dashboard/features/tasks/api/useTasks.ts new file mode 100644 index 0000000000..7a4b6e1c4d --- /dev/null +++ b/src/apps/dashboard/features/tasks/api/useTasks.ts @@ -0,0 +1,30 @@ +import type { ScheduledTasksApiGetTasksRequest } from '@jellyfin/sdk/lib/generated-client/api/scheduled-tasks-api'; +import type { AxiosRequestConfig } from 'axios'; +import type { Api } from '@jellyfin/sdk'; +import { getScheduledTasksApi } from '@jellyfin/sdk/lib/utils/api/scheduled-tasks-api'; +import { useQuery } from '@tanstack/react-query'; + +import { useApi } from 'hooks/useApi'; + +export const QUERY_KEY = 'Tasks'; + +const fetchTasks = async ( + api: Api, + params?: ScheduledTasksApiGetTasksRequest, + options?: AxiosRequestConfig +) => { + const response = await getScheduledTasksApi(api).getTasks(params, options); + + return response.data; +}; + +export const useTasks = (params?: ScheduledTasksApiGetTasksRequest) => { + const { api } = useApi(); + + return useQuery({ + queryKey: [ QUERY_KEY ], + queryFn: ({ signal }) => + fetchTasks(api!, params, { signal }), + enabled: !!api + }); +}; diff --git a/src/apps/dashboard/features/tasks/api/useUpdateTask.ts b/src/apps/dashboard/features/tasks/api/useUpdateTask.ts new file mode 100644 index 0000000000..dd0e8ac72b --- /dev/null +++ b/src/apps/dashboard/features/tasks/api/useUpdateTask.ts @@ -0,0 +1,22 @@ +import { ScheduledTasksApiUpdateTaskRequest } from '@jellyfin/sdk/lib/generated-client/api/scheduled-tasks-api'; +import { getScheduledTasksApi } from '@jellyfin/sdk/lib/utils/api/scheduled-tasks-api'; +import { useMutation } from '@tanstack/react-query'; +import { useApi } from 'hooks/useApi'; +import { queryClient } from 'utils/query/queryClient'; +import { QUERY_KEY } from './useTasks'; + +export const useUpdateTask = () => { + const { api } = useApi(); + + return useMutation({ + mutationFn: (params: ScheduledTasksApiUpdateTaskRequest) => ( + getScheduledTasksApi(api!) + .updateTask(params) + ), + onSuccess: (_data, params) => { + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY, params.taskId ] + }); + } + }); +}; diff --git a/src/apps/dashboard/features/tasks/components/NewTriggerForm.tsx b/src/apps/dashboard/features/tasks/components/NewTriggerForm.tsx new file mode 100644 index 0000000000..4cec4b0474 --- /dev/null +++ b/src/apps/dashboard/features/tasks/components/NewTriggerForm.tsx @@ -0,0 +1,171 @@ +import React, { FunctionComponent, useCallback, useMemo, useState } from 'react'; +import Dialog from '@mui/material/Dialog'; +import Button from '@mui/material/Button'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogTitle from '@mui/material/DialogTitle'; +import MenuItem from '@mui/material/MenuItem'; +import Stack from '@mui/material/Stack'; +import TextField from '@mui/material/TextField'; +import type { TaskTriggerInfo } from '@jellyfin/sdk/lib/generated-client/models/task-trigger-info'; +import { TaskTriggerInfoType } from '@jellyfin/sdk/lib/generated-client/models/task-trigger-info-type'; +import { DayOfWeek } from '@jellyfin/sdk/lib/generated-client/models/day-of-week'; +import globalize from 'lib/globalize'; +import { getIntervalOptions, getTimeOfDayOptions } from '../utils/edit'; +import { useLocale } from 'hooks/useLocale'; + +type IProps = { + open: boolean, + title: string, + onClose?: () => void, + onAdd?: (trigger: TaskTriggerInfo) => void +}; + +const NewTriggerForm: FunctionComponent = ({ open, title, onClose, onAdd }: IProps) => { + const { dateFnsLocale } = useLocale(); + const [triggerType, setTriggerType] = useState(TaskTriggerInfoType.DailyTrigger); + + const timeOfDayOptions = useMemo(() => getTimeOfDayOptions(dateFnsLocale), [dateFnsLocale]); + const intervalOptions = useMemo(() => getIntervalOptions(dateFnsLocale), [dateFnsLocale]); + + const onTriggerTypeChange = useCallback((e: React.ChangeEvent) => { + setTriggerType(e.target.value as TaskTriggerInfoType); + }, []); + + const onSubmit = useCallback((e: React.FormEvent) => { + e.preventDefault(); + + const formData = new FormData(e.currentTarget); + const data = Object.fromEntries(formData.entries()); + const trigger: TaskTriggerInfo = { + Type: data.TriggerType.toString() as TaskTriggerInfoType + }; + + if (trigger.Type == TaskTriggerInfoType.WeeklyTrigger) { + trigger.DayOfWeek = data.DayOfWeek.toString() as DayOfWeek; + } + + if (trigger.Type == TaskTriggerInfoType.DailyTrigger || trigger.Type == TaskTriggerInfoType.WeeklyTrigger) { + trigger.TimeOfDayTicks = parseInt(data.TimeOfDay.toString(), 10); + } + + if (trigger.Type == TaskTriggerInfoType.IntervalTrigger) { + trigger.IntervalTicks = parseInt(data.Interval.toString(), 10); + } + + if (data.TimeLimit.toString()) { + trigger.MaxRuntimeTicks = parseFloat(data.TimeLimit.toString()) * 36e9; + } + + if (onAdd) { + onAdd(trigger); + } + }, [ onAdd ]); + + return ( + + {title} + + + + + {globalize.translate('OptionDaily')} + {globalize.translate('OptionWeekly')} + {globalize.translate('OptionOnInterval')} + {globalize.translate('OnApplicationStartup')} + + + {triggerType == TaskTriggerInfoType.WeeklyTrigger && ( + + {globalize.translate('Sunday')} + {globalize.translate('Monday')} + {globalize.translate('Tuesday')} + {globalize.translate('Wednesday')} + {globalize.translate('Thursday')} + {globalize.translate('Friday')} + {globalize.translate('Saturday')} + + )} + + {(triggerType == TaskTriggerInfoType.DailyTrigger || triggerType == TaskTriggerInfoType.WeeklyTrigger) && ( + + {timeOfDayOptions.map((option) => { + return {option.name}; + })} + + )} + + {triggerType == TaskTriggerInfoType.IntervalTrigger && ( + + {intervalOptions.map((option) => { + return {option.name}; + })} + + )} + + + + + + + + + + + ); +}; + +export default NewTriggerForm; diff --git a/src/apps/dashboard/features/tasks/components/Task.tsx b/src/apps/dashboard/features/tasks/components/Task.tsx new file mode 100644 index 0000000000..ef140c0cb3 --- /dev/null +++ b/src/apps/dashboard/features/tasks/components/Task.tsx @@ -0,0 +1,59 @@ +import React, { FunctionComponent, useCallback } from 'react'; +import ListItem from '@mui/material/ListItem'; +import Avatar from '@mui/material/Avatar'; +import AccessTimeIcon from '@mui/icons-material/AccessTime'; +import ListItemAvatar from '@mui/material/ListItemAvatar'; +import ListItemText from '@mui/material/ListItemText'; +import Typography from '@mui/material/Typography'; +import { TaskProps } from '../types/taskProps'; +import TaskProgress from './TaskProgress'; +import TaskLastRan from './TaskLastRan'; +import IconButton from '@mui/material/IconButton'; +import PlayArrow from '@mui/icons-material/PlayArrow'; +import Stop from '@mui/icons-material/Stop'; +import { useStartTask } from '../api/useStartTask'; +import { useStopTask } from '../api/useStopTask'; +import ListItemLink from 'components/ListItemLink'; + +const Task: FunctionComponent = ({ task }: TaskProps) => { + const startTask = useStartTask(); + const stopTask = useStopTask(); + + const handleStartTask = useCallback(() => { + if (task.Id) { + startTask.mutate({ taskId: task.Id }); + } + }, [task, startTask]); + + const handleStopTask = useCallback(() => { + if (task.Id) { + stopTask.mutate({ taskId: task.Id }); + } + }, [task, stopTask]); + + return ( + + {task.State == 'Running' ? : } + + } + > + + + + + + + {task.Name}} + secondary={task.State == 'Running' ? : } + disableTypography + /> + + + ); +}; + +export default Task; diff --git a/src/apps/dashboard/features/tasks/components/TaskLastRan.tsx b/src/apps/dashboard/features/tasks/components/TaskLastRan.tsx new file mode 100644 index 0000000000..7261cf685d --- /dev/null +++ b/src/apps/dashboard/features/tasks/components/TaskLastRan.tsx @@ -0,0 +1,45 @@ +import React, { FunctionComponent, useMemo } from 'react'; +import { TaskProps } from '../types/taskProps'; +import { useLocale } from 'hooks/useLocale'; +import { formatDistance, formatDistanceToNow, parseISO } from 'date-fns'; +import Typography from '@mui/material/Typography'; +import globalize from 'lib/globalize'; + +const TaskLastRan: FunctionComponent = ({ task }: TaskProps) => { + const { dateFnsLocale } = useLocale(); + + const [ lastRan, timeTaken ] = useMemo(() => { + if (task.LastExecutionResult?.StartTimeUtc && task.LastExecutionResult?.EndTimeUtc) { + const endTime = parseISO(task.LastExecutionResult.EndTimeUtc); + const startTime = parseISO(task.LastExecutionResult.StartTimeUtc); + + return [ + formatDistanceToNow(endTime, { locale: dateFnsLocale, addSuffix: true }), + formatDistance(startTime, endTime, { locale: dateFnsLocale }) + ]; + } + return []; + }, [task, dateFnsLocale]); + + if (task.State == 'Idle') { + if (task.LastExecutionResult?.StartTimeUtc && task.LastExecutionResult?.EndTimeUtc) { + const lastResultStatus = task.LastExecutionResult.Status; + + return ( + + {globalize.translate('LabelScheduledTaskLastRan', lastRan, timeTaken)} + + {lastResultStatus == 'Failed' && {` (${globalize.translate('LabelFailed')})`}} + {lastResultStatus == 'Cancelled' && {` (${globalize.translate('LabelCancelled')})`}} + {lastResultStatus == 'Aborted' && {` (${globalize.translate('LabelAbortedByServerShutdown')})`}} + + ); + } + } else { + return ( + {globalize.translate('LabelStopping')} + ); + } +}; + +export default TaskLastRan; diff --git a/src/apps/dashboard/features/tasks/components/TaskProgress.tsx b/src/apps/dashboard/features/tasks/components/TaskProgress.tsx new file mode 100644 index 0000000000..6482dd57fe --- /dev/null +++ b/src/apps/dashboard/features/tasks/components/TaskProgress.tsx @@ -0,0 +1,32 @@ +import React, { FunctionComponent } from 'react'; +import { TaskProps } from '../types/taskProps'; +import Box from '@mui/material/Box'; +import LinearProgress from '@mui/material/LinearProgress'; +import Typography from '@mui/material/Typography'; + +const TaskProgress: FunctionComponent = ({ task }: TaskProps) => { + const progress = task.CurrentProgressPercentage; + + return ( + + {progress != null ? ( + <> + + + + + {`${Math.round(progress)}%`} + + + ) : ( + + + + )} + + ); +}; + +export default TaskProgress; diff --git a/src/apps/dashboard/features/tasks/components/TaskTriggerCell.tsx b/src/apps/dashboard/features/tasks/components/TaskTriggerCell.tsx new file mode 100644 index 0000000000..9f4f8502c9 --- /dev/null +++ b/src/apps/dashboard/features/tasks/components/TaskTriggerCell.tsx @@ -0,0 +1,34 @@ +import React, { FC } from 'react'; +import type { MRT_Cell, MRT_RowData } from 'material-react-table'; +import { useLocale } from 'hooks/useLocale'; +import Box from '@mui/material/Box'; +import Typography from '@mui/material/Typography'; +import { getTriggerFriendlyName } from '../utils/edit'; +import type { TaskTriggerInfo } from '@jellyfin/sdk/lib/generated-client/models/task-trigger-info'; +import globalize from 'lib/globalize'; + +interface CellProps { + cell: MRT_Cell +} + +const TaskTriggerCell: FC = ({ cell }) => { + const { dateFnsLocale } = useLocale(); + const trigger = cell.getValue(); + + const timeLimitHours = trigger.MaxRuntimeTicks ? trigger.MaxRuntimeTicks / 36e9 : false; + + return ( + + {getTriggerFriendlyName(trigger, dateFnsLocale)} + {timeLimitHours && ( + + {timeLimitHours == 1 ? + globalize.translate('ValueTimeLimitSingleHour') : + globalize.translate('ValueTimeLimitMultiHour', timeLimitHours)} + + )} + + ); +}; + +export default TaskTriggerCell; diff --git a/src/apps/dashboard/features/tasks/components/Tasks.tsx b/src/apps/dashboard/features/tasks/components/Tasks.tsx new file mode 100644 index 0000000000..6635ce0b3a --- /dev/null +++ b/src/apps/dashboard/features/tasks/components/Tasks.tsx @@ -0,0 +1,29 @@ +import React, { FunctionComponent } from 'react'; +import type { TaskInfo } from '@jellyfin/sdk/lib/generated-client/models/task-info'; +import List from '@mui/material/List'; +import Typography from '@mui/material/Typography'; +import Stack from '@mui/material/Stack'; +import Task from './Task'; + +type TasksProps = { + category: string; + tasks: TaskInfo[]; +}; + +const Tasks: FunctionComponent = ({ category, tasks }: TasksProps) => { + return ( + + {category} + + {tasks.map(task => { + return ; + })} + + + ); +}; + +export default Tasks; diff --git a/src/apps/dashboard/features/tasks/constants/intervalDurations.ts b/src/apps/dashboard/features/tasks/constants/intervalDurations.ts new file mode 100644 index 0000000000..f90d0f0ddd --- /dev/null +++ b/src/apps/dashboard/features/tasks/constants/intervalDurations.ts @@ -0,0 +1,13 @@ +export const INTERVAL_DURATIONS: number[] = [ + 9000000000, // 15 minutes + 18000000000, // 30 minutes + 27000000000, // 45 minutes + 36000000000, // 1 hour + 72000000000, // 2 hours + 108000000000, // 3 hours + 144000000000, // 4 hours + 216000000000, // 6 hours + 288000000000, // 8 hours + 432000000000, // 12 hours + 864000000000 // 24 hours +]; diff --git a/src/apps/dashboard/features/tasks/types/taskProps.ts b/src/apps/dashboard/features/tasks/types/taskProps.ts new file mode 100644 index 0000000000..31683422ea --- /dev/null +++ b/src/apps/dashboard/features/tasks/types/taskProps.ts @@ -0,0 +1,5 @@ +import type { TaskInfo } from '@jellyfin/sdk/lib/generated-client/models/task-info'; + +export type TaskProps = { + task: TaskInfo; +}; diff --git a/src/apps/dashboard/features/tasks/utils/edit.ts b/src/apps/dashboard/features/tasks/utils/edit.ts new file mode 100644 index 0000000000..536146e9c5 --- /dev/null +++ b/src/apps/dashboard/features/tasks/utils/edit.ts @@ -0,0 +1,80 @@ +import type { TaskTriggerInfo } from '@jellyfin/sdk/lib/generated-client/models/task-trigger-info'; +import { format, formatDistanceStrict, Locale, parse } from 'date-fns'; +import globalize from 'lib/globalize'; +import { INTERVAL_DURATIONS } from '../constants/intervalDurations'; + +function getDisplayTime(ticks: number, locale: Locale) { + const ms = ticks / 1e4; + const now = new Date(); + now.setHours(0, 0, 0, 0); + now.setTime(now.getTime() + ms); + return format(now, 'p', { locale: locale }); +} + +export function getTimeOfDayOptions(locale: Locale) { + const options = []; + + for (let i = 0; i < 86400000; i += 900000) { + options.push({ + name: getDisplayTime(i * 10000, locale), + value: i * 10000 + }); + } + + return options; +} + +export function getIntervalOptions(locale: Locale) { + const options = []; + + for (const ticksDuration of INTERVAL_DURATIONS) { + const durationMs = Math.floor(ticksDuration / 1e4); + const unit = durationMs < 36e5 ? 'minute' : 'hour'; + options.push({ + name: formatDistanceStrict(0, durationMs, { locale: locale, unit: unit }), + value: ticksDuration + }); + } + + return options; +} + +function getIntervalTriggerTime(ticks: number) { + const hours = ticks / 36e9; + + switch (hours) { + case 0.25: + return globalize.translate('EveryXMinutes', '15'); + case 0.5: + return globalize.translate('EveryXMinutes', '30'); + case 0.75: + return globalize.translate('EveryXMinutes', '45'); + case 1: + return globalize.translate('EveryHour'); + default: + return globalize.translate('EveryXHours', hours); + } +} + +function localizeDayOfWeek(dayOfWeek: string | null | undefined, locale: Locale) { + if (!dayOfWeek) return ''; + + const parsedDayOfWeek = parse(dayOfWeek, 'cccc', new Date()); + + return format(parsedDayOfWeek, 'cccc', { locale: locale }); +} + +export function getTriggerFriendlyName(trigger: TaskTriggerInfo, locale: Locale) { + switch (trigger.Type) { + case 'DailyTrigger': + return globalize.translate('DailyAt', getDisplayTime(trigger.TimeOfDayTicks || 0, locale)); + case 'WeeklyTrigger': + return globalize.translate('WeeklyAt', localizeDayOfWeek(trigger.DayOfWeek, locale), getDisplayTime(trigger.TimeOfDayTicks || 0, locale)); + case 'IntervalTrigger': + return getIntervalTriggerTime(trigger.IntervalTicks || 0); + case 'StartupTrigger': + return globalize.translate('OnApplicationStartup'); + default: + return trigger.Type; + } +} diff --git a/src/apps/dashboard/features/tasks/utils/tasks.ts b/src/apps/dashboard/features/tasks/utils/tasks.ts new file mode 100644 index 0000000000..b0bc1aa5b1 --- /dev/null +++ b/src/apps/dashboard/features/tasks/utils/tasks.ts @@ -0,0 +1,27 @@ +import type { TaskInfo } from '@jellyfin/sdk/lib/generated-client/models/task-info'; + +export function getCategories(tasks: TaskInfo[] | undefined) { + if (!tasks) return []; + + const categories: string[] = []; + + for (const task of tasks) { + if (task.Category && !categories.includes(task.Category)) { + categories.push(task.Category); + } + } + + return categories.sort((a, b) => a.localeCompare(b)); +} + +export function getTasksByCategory(tasks: TaskInfo[] | undefined, category: string) { + if (!tasks) return []; + + return tasks.filter(task => task.Category == category).sort((a, b) => { + if (a.Name && b.Name) { + return a.Name?.localeCompare(b.Name); + } else { + return 0; + } + }); +} diff --git a/src/apps/dashboard/routes/_asyncRoutes.ts b/src/apps/dashboard/routes/_asyncRoutes.ts index eb42010cf3..1b65cd44c0 100644 --- a/src/apps/dashboard/routes/_asyncRoutes.ts +++ b/src/apps/dashboard/routes/_asyncRoutes.ts @@ -4,10 +4,19 @@ import { AppType } from 'constants/appType'; export const ASYNC_ADMIN_ROUTES: AsyncRoute[] = [ { path: 'activity', type: AppType.Dashboard }, { path: 'branding', type: AppType.Dashboard }, + { path: 'devices', type: AppType.Dashboard }, { path: 'keys', type: AppType.Dashboard }, + { path: 'libraries/display', type: AppType.Dashboard }, + { path: 'libraries/metadata', type: AppType.Dashboard }, + { path: 'libraries/nfo', type: AppType.Dashboard }, { path: 'logs', type: AppType.Dashboard }, + { path: 'logs/:file', page: 'logs/file', type: AppType.Dashboard }, + { path: 'playback/resume', type: AppType.Dashboard }, + { path: 'playback/streaming', type: AppType.Dashboard }, { path: 'playback/trickplay', type: AppType.Dashboard }, { path: 'plugins/:pluginId', page: 'plugins/plugin', type: AppType.Dashboard }, + { path: 'tasks', type: AppType.Dashboard }, + { path: 'tasks/:id', page: 'tasks/task', type: AppType.Dashboard }, { path: 'users', type: AppType.Dashboard }, { path: 'users/access', type: AppType.Dashboard }, { path: 'users/add', type: AppType.Dashboard }, diff --git a/src/apps/dashboard/routes/_legacyRoutes.ts b/src/apps/dashboard/routes/_legacyRoutes.ts index 56e19ccc11..3227988735 100644 --- a/src/apps/dashboard/routes/_legacyRoutes.ts +++ b/src/apps/dashboard/routes/_legacyRoutes.ts @@ -6,92 +6,50 @@ export const LEGACY_ADMIN_ROUTES: LegacyRoute[] = [ path: '/dashboard', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/dashboard', - view: 'dashboard/dashboard.html' + controller: 'dashboard', + view: 'dashboard.html' } }, { path: 'settings', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/general', - view: 'dashboard/general.html' + controller: 'general', + view: 'general.html' } }, { path: 'networking', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/networking', - view: 'dashboard/networking.html' - } - }, { - path: 'devices', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/devices/devices', - view: 'dashboard/devices/devices.html' - } - }, { - path: 'devices/edit', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/devices/device', - view: 'dashboard/devices/device.html' + controller: 'networking', + view: 'networking.html' } }, { path: 'libraries', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/library', - view: 'dashboard/library.html' - } - }, { - path: 'libraries/display', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/librarydisplay', - view: 'dashboard/librarydisplay.html' + controller: 'library', + view: 'library.html' } }, { path: 'playback/transcoding', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/encodingsettings', - view: 'dashboard/encodingsettings.html' - } - }, { - path: 'libraries/metadata', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/metadataImages', - view: 'dashboard/metadataimages.html' - } - }, { - path: 'libraries/nfo', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/metadatanfo', - view: 'dashboard/metadatanfo.html' - } - }, { - path: 'playback/resume', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/playback', - view: 'dashboard/playback.html' + controller: 'encodingsettings', + view: 'encodingsettings.html' } }, { path: 'plugins/catalog', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/plugins/available/index', - view: 'dashboard/plugins/available/index.html' + controller: 'plugins/available/index', + view: 'plugins/available/index.html' } }, { path: 'plugins/repositories', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/plugins/repositories/index', - view: 'dashboard/plugins/repositories/index.html' + controller: 'plugins/repositories/index', + view: 'plugins/repositories/index.html' } }, { path: 'livetv/guide', @@ -125,29 +83,8 @@ export const LEGACY_ADMIN_ROUTES: LegacyRoute[] = [ path: 'plugins', pageProps: { appType: AppType.Dashboard, - controller: 'dashboard/plugins/installed/index', - view: 'dashboard/plugins/installed/index.html' - } - }, { - path: 'tasks/edit', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/scheduledtasks/scheduledtask', - view: 'dashboard/scheduledtasks/scheduledtask.html' - } - }, { - path: 'tasks', - pageProps: { - appType: AppType.Dashboard, - controller: 'dashboard/scheduledtasks/scheduledtasks', - view: 'dashboard/scheduledtasks/scheduledtasks.html' - } - }, { - path: 'playback/streaming', - pageProps: { - appType: AppType.Dashboard, - view: 'dashboard/streaming.html', - controller: 'dashboard/streaming' + controller: 'plugins/installed/index', + view: 'plugins/installed/index.html' } } ]; diff --git a/src/apps/dashboard/routes/activity/index.tsx b/src/apps/dashboard/routes/activity/index.tsx index 5b0e328777..09547af0b7 100644 --- a/src/apps/dashboard/routes/activity/index.tsx +++ b/src/apps/dashboard/routes/activity/index.tsx @@ -1,28 +1,24 @@ +import parseISO from 'date-fns/parseISO'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; import type { ActivityLogEntry } from '@jellyfin/sdk/lib/generated-client/models/activity-log-entry'; import { LogLevel } from '@jellyfin/sdk/lib/generated-client/models/log-level'; -import type { UserDto } from '@jellyfin/sdk/lib/generated-client/models/user-dto'; -import Box from '@mui/material/Box'; import ToggleButton from '@mui/material/ToggleButton'; import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; -import Typography from '@mui/material/Typography'; -import { type MRT_ColumnDef, MaterialReactTable, useMaterialReactTable } from 'material-react-table'; +import { type MRT_ColumnDef, useMaterialReactTable } from 'material-react-table'; import { useSearchParams } from 'react-router-dom'; +import DateTimeCell from 'apps/dashboard/components/table/DateTimeCell'; +import TablePage, { DEFAULT_TABLE_OPTIONS } from 'apps/dashboard/components/table/TablePage'; import { useLogEntries } from 'apps/dashboard/features/activity/api/useLogEntries'; import ActionsCell from 'apps/dashboard/features/activity/components/ActionsCell'; import LogLevelCell from 'apps/dashboard/features/activity/components/LogLevelCell'; import OverviewCell from 'apps/dashboard/features/activity/components/OverviewCell'; -import UserAvatarButton from 'apps/dashboard/features/activity/components/UserAvatarButton'; +import UserAvatarButton from 'apps/dashboard/components/UserAvatarButton'; import type { ActivityLogEntryCell } from 'apps/dashboard/features/activity/types/ActivityLogEntryCell'; -import Page from 'components/Page'; -import { useUsers } from 'hooks/useUsers'; -import { parseISO8601Date, toLocaleString } from 'scripts/datetime'; +import { type UsersRecords, useUsersDetails } from 'hooks/useUsers'; import globalize from 'lib/globalize'; import { toBoolean } from 'utils/string'; -type UsersRecords = Record; - const DEFAULT_PAGE_SIZE = 25; const VIEW_PARAM = 'useractivity'; @@ -44,7 +40,7 @@ const getUserCell = (users: UsersRecords) => function UserCell({ row }: Activity ); }; -const Activity = () => { +export const Component = () => { const [ searchParams, setSearchParams ] = useSearchParams(); const [ activityView, setActivityView ] = useState( @@ -55,29 +51,7 @@ const Activity = () => { pageSize: DEFAULT_PAGE_SIZE }); - const { data: usersData, isLoading: isUsersLoading } = useUsers(); - - const users: UsersRecords = useMemo(() => { - if (!usersData) return {}; - - return usersData.reduce((acc, user) => { - const userId = user.Id; - if (!userId) return acc; - - return { - ...acc, - [userId]: user - }; - }, {}); - }, [ usersData ]); - - const userNames = useMemo(() => { - const names: string[] = []; - usersData?.forEach(user => { - if (user.Name) names.push(user.Name); - }); - return names; - }, [ usersData ]); + const { usersById: users, names: userNames, isLoading: isUsersLoading } = useUsersDetails(); const UserCell = getUserCell(users); @@ -87,7 +61,13 @@ const Activity = () => { hasUserId: activityView !== ActivityView.All ? activityView === ActivityView.User : undefined }), [activityView, pagination.pageIndex, pagination.pageSize]); - const { data: logEntries, isLoading: isLogEntriesLoading } = useLogEntries(activityParams); + const { data, isLoading: isLogEntriesLoading } = useLogEntries(activityParams); + const logEntries = useMemo(() => ( + data?.Items || [] + ), [ data ]); + const rowCount = useMemo(() => ( + data?.TotalRecordCount || 0 + ), [ data ]); const isLoading = isUsersLoading || isLogEntriesLoading; @@ -109,10 +89,10 @@ const Activity = () => { const columns = useMemo[]>(() => [ { id: 'Date', - accessorFn: row => parseISO8601Date(row.Date), + accessorFn: row => row.Date ? parseISO(row.Date) : undefined, header: globalize.translate('LabelTime'), size: 160, - Cell: ({ cell }) => toLocaleString(cell.getValue()), + Cell: DateTimeCell, filterVariant: 'datetime-range' }, { @@ -177,21 +157,10 @@ const Activity = () => { }, [ activityView, searchParams, setSearchParams ]); const table = useMaterialReactTable({ + ...DEFAULT_TABLE_OPTIONS, + columns, - data: logEntries?.Items || [], - - // Enable custom features - enableColumnPinning: true, - enableColumnResizing: true, - - // Sticky header/footer - enableStickyFooter: true, - enableStickyHeader: true, - muiTableContainerProps: { - sx: { - maxHeight: 'calc(100% - 7rem)' // 2 x 3.5rem for header and footer - } - }, + data: logEntries, // State initialState: { @@ -205,7 +174,7 @@ const Activity = () => { // Server pagination manualPagination: true, onPaginationChange: setPagination, - rowCount: logEntries?.TotalRecordCount || 0, + rowCount, // Custom toolbar contents renderTopToolbarCustomActions: () => ( @@ -229,32 +198,13 @@ const Activity = () => { }); return ( - - - - - {globalize.translate('HeaderActivity')} - - - - - + table={table} + /> ); }; -export default Activity; +Component.displayName = 'ActivityPage'; diff --git a/src/apps/dashboard/routes/branding/index.tsx b/src/apps/dashboard/routes/branding/index.tsx index 7859610a5c..a62cd929ba 100644 --- a/src/apps/dashboard/routes/branding/index.tsx +++ b/src/apps/dashboard/routes/branding/index.tsx @@ -8,8 +8,8 @@ import Stack from '@mui/material/Stack'; import Switch from '@mui/material/Switch'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; -import React, { useCallback, useEffect, useState } from 'react'; -import { type ActionFunctionArgs, Form, useActionData } from 'react-router-dom'; +import React, { useCallback, useState } from 'react'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; import { getBrandingOptionsQuery, QUERY_KEY, useBrandingOptions } from 'apps/dashboard/features/branding/api/useBrandingOptions'; import Loading from 'components/loading/LoadingComponent'; @@ -60,8 +60,9 @@ export const loader = () => { }; export const Component = () => { + const navigation = useNavigation(); const actionData = useActionData() as ActionData | undefined; - const [ isSubmitting, setIsSubmitting ] = useState(false); + const isSubmitting = navigation.state === 'submitting'; const { data: defaultBrandingOptions, @@ -69,14 +70,6 @@ export const Component = () => { } = useBrandingOptions(); const [ brandingOptions, setBrandingOptions ] = useState(defaultBrandingOptions || {}); - useEffect(() => { - setIsSubmitting(false); - }, [ actionData ]); - - const onSubmit = useCallback(() => { - setIsSubmitting(true); - }, []); - const setSplashscreenEnabled = useCallback((_: React.ChangeEvent, isEnabled: boolean) => { setBrandingOptions({ ...brandingOptions, @@ -98,13 +91,11 @@ export const Component = () => { return ( -
+ {globalize.translate('HeaderBranding')} diff --git a/src/apps/dashboard/routes/devices/index.tsx b/src/apps/dashboard/routes/devices/index.tsx new file mode 100644 index 0000000000..c554971834 --- /dev/null +++ b/src/apps/dashboard/routes/devices/index.tsx @@ -0,0 +1,265 @@ +import type { DeviceInfoDto } from '@jellyfin/sdk/lib/generated-client/models/device-info-dto'; +import Delete from '@mui/icons-material/Delete'; +import Edit from '@mui/icons-material/Edit'; +import Box from '@mui/material/Box/Box'; +import Button from '@mui/material/Button/Button'; +import IconButton from '@mui/material/IconButton/IconButton'; +import Tooltip from '@mui/material/Tooltip/Tooltip'; +import parseISO from 'date-fns/parseISO'; +import { type MRT_ColumnDef, useMaterialReactTable } from 'material-react-table'; +import React, { useCallback, useMemo, useState } from 'react'; + +import DateTimeCell from 'apps/dashboard/components/table/DateTimeCell'; +import TablePage, { DEFAULT_TABLE_OPTIONS } from 'apps/dashboard/components/table/TablePage'; +import UserAvatarButton from 'apps/dashboard/components/UserAvatarButton'; +import { useDeleteDevice } from 'apps/dashboard/features/devices/api/useDeleteDevice'; +import { useDevices } from 'apps/dashboard/features/devices/api/useDevices'; +import { useUpdateDevice } from 'apps/dashboard/features/devices/api/useUpdateDevice'; +import DeviceNameCell from 'apps/dashboard/features/devices/components/DeviceNameCell'; +import type { DeviceInfoCell } from 'apps/dashboard/features/devices/types/deviceInfoCell'; +import ConfirmDialog from 'components/ConfirmDialog'; +import { useApi } from 'hooks/useApi'; +import { type UsersRecords, useUsersDetails } from 'hooks/useUsers'; +import globalize from 'lib/globalize'; + +const getUserCell = (users: UsersRecords) => function UserCell({ renderedCellValue, row }: DeviceInfoCell) { + return ( + <> + + {renderedCellValue} + + ); +}; + +export const Component = () => { + const { api } = useApi(); + const { data, isLoading: isDevicesLoading, isRefetching } = useDevices({}); + const devices = useMemo(() => ( + data?.Items || [] + ), [ data ]); + const { usersById: users, names: userNames, isLoading: isUsersLoading } = useUsersDetails(); + + const [ isDeleteConfirmOpen, setIsDeleteConfirmOpen ] = useState(false); + const [ isDeleteAllConfirmOpen, setIsDeleteAllConfirmOpen ] = useState(false); + const [ pendingDeleteDeviceId, setPendingDeleteDeviceId ] = useState(); + const deleteDevice = useDeleteDevice(); + const updateDevice = useUpdateDevice(); + + const isLoading = isDevicesLoading || isUsersLoading; + + const onDeleteDevice = useCallback((id: string | null | undefined) => () => { + if (id) { + setPendingDeleteDeviceId(id); + setIsDeleteConfirmOpen(true); + } + }, []); + + const onCloseDeleteConfirmDialog = useCallback(() => { + setPendingDeleteDeviceId(undefined); + setIsDeleteConfirmOpen(false); + }, []); + + const onConfirmDelete = useCallback(() => { + if (pendingDeleteDeviceId) { + deleteDevice.mutate({ + id: pendingDeleteDeviceId + }, { + onSettled: onCloseDeleteConfirmDialog + }); + } + }, [ deleteDevice, onCloseDeleteConfirmDialog, pendingDeleteDeviceId ]); + + const onDeleteAll = useCallback(() => { + setIsDeleteAllConfirmOpen(true); + }, []); + + const onCloseDeleteAllConfirmDialog = useCallback(() => { + setIsDeleteAllConfirmOpen(false); + }, []); + + const onConfirmDeleteAll = useCallback(() => { + if (devices) { + Promise + .all(devices.map(item => { + if (api && item.Id && api.deviceInfo.id === item.Id) { + return deleteDevice.mutateAsync({ id: item.Id }); + } + return Promise.resolve(); + })) + .catch(err => { + console.error('[DevicesPage] failed deleting all devices', err); + }) + .finally(() => { + onCloseDeleteAllConfirmDialog(); + }); + } + }, [ api, deleteDevice, devices, onCloseDeleteAllConfirmDialog ]); + + const UserCell = getUserCell(users); + + const columns = useMemo[]>(() => [ + { + id: 'DateLastActivity', + accessorFn: row => row.DateLastActivity ? parseISO(row.DateLastActivity) : undefined, + header: globalize.translate('LastActive'), + size: 160, + Cell: DateTimeCell, + filterVariant: 'datetime-range', + enableEditing: false + }, + { + id: 'Name', + accessorFn: row => row.CustomName || row.Name, + header: globalize.translate('LabelDevice'), + size: 200, + Cell: DeviceNameCell + }, + { + id: 'App', + accessorFn: row => [row.AppName, row.AppVersion] + .filter(v => !!v) // filter missing values + .join(' '), + header: globalize.translate('LabelAppName'), + size: 200, + enableEditing: false + }, + { + accessorKey: 'LastUserName', + header: globalize.translate('LabelUser'), + size: 120, + enableEditing: false, + Cell: UserCell, + filterVariant: 'multi-select', + filterSelectOptions: userNames + } + ], [ UserCell, userNames ]); + + const mrTable = useMaterialReactTable({ + ...DEFAULT_TABLE_OPTIONS, + + columns, + data: devices, + + // State + initialState: { + density: 'compact', + pagination: { + pageIndex: 0, + pageSize: 25 + } + }, + state: { + isLoading + }, + + // Do not reset the page index when refetching data + autoResetPageIndex: !isRefetching, + + // Editing device name + enableEditing: true, + onEditingRowSave: ({ table, row, values }) => { + const newName = values.Name?.trim(); + const hasChanged = row.original.CustomName ? + newName !== row.original.CustomName : + newName !== row.original.Name; + + // If the name has changed, save it as the custom name + if (row.original.Id && hasChanged) { + updateDevice.mutate({ + id: row.original.Id, + deviceOptionsDto: { + CustomName: newName || undefined + } + }); + } + + table.setEditingRow(null); //exit editing mode + }, + + // Custom actions + enableRowActions: true, + positionActionsColumn: 'last', + displayColumnDefOptions: { + 'mrt-row-actions': { + header: '' + } + }, + renderRowActions: ({ row, table }) => { + const isDeletable = api && row.original.Id && api.deviceInfo.id === row.original.Id; + return ( + + + table.setEditingRow(row)} + > + + + + {/* Don't include Tooltip when disabled */} + {isDeletable ? ( + + + + ) : ( + + + + + + )} + + ); + }, + + // Custom toolbar contents + renderTopToolbarCustomActions: () => ( + + ) + }); + + return ( + + + + + ); +}; + +Component.displayName = 'DevicesPage'; diff --git a/src/apps/dashboard/routes/keys/index.tsx b/src/apps/dashboard/routes/keys/index.tsx index daedaa74b4..1abb66884f 100644 --- a/src/apps/dashboard/routes/keys/index.tsx +++ b/src/apps/dashboard/routes/keys/index.tsx @@ -1,26 +1,30 @@ -import Page from 'components/Page'; -import { useApi } from 'hooks/useApi'; -import globalize from 'lib/globalize'; -import React, { useCallback, useMemo } from 'react'; import type { AuthenticationInfo } from '@jellyfin/sdk/lib/generated-client/models/authentication-info'; -import confirm from 'components/confirm/confirm'; -import { useApiKeys } from 'apps/dashboard/features/keys/api/useApiKeys'; -import { useRevokeKey } from 'apps/dashboard/features/keys/api/useRevokeKey'; -import { useCreateKey } from 'apps/dashboard/features/keys/api/useCreateKey'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import IconButton from '@mui/material/IconButton'; -import Stack from '@mui/material/Stack'; import Tooltip from '@mui/material/Tooltip'; -import Typography from '@mui/material/Typography'; -import { MaterialReactTable, MRT_ColumnDef, useMaterialReactTable } from 'material-react-table'; -import { getDisplayTime, parseISO8601Date, toLocaleDateString } from 'scripts/datetime'; -import DeleteIcon from '@mui/icons-material/Delete'; import AddIcon from '@mui/icons-material/Add'; +import DeleteIcon from '@mui/icons-material/Delete'; +import parseISO from 'date-fns/parseISO'; +import { type MRT_ColumnDef, useMaterialReactTable } from 'material-react-table'; +import React, { useCallback, useMemo } from 'react'; -const ApiKeys = () => { +import DateTimeCell from 'apps/dashboard/components/table/DateTimeCell'; +import TablePage, { DEFAULT_TABLE_OPTIONS } from 'apps/dashboard/components/table/TablePage'; +import { useApiKeys } from 'apps/dashboard/features/keys/api/useApiKeys'; +import { useRevokeKey } from 'apps/dashboard/features/keys/api/useRevokeKey'; +import { useCreateKey } from 'apps/dashboard/features/keys/api/useCreateKey'; +import confirm from 'components/confirm/confirm'; +import prompt from 'components/prompt/prompt'; +import { useApi } from 'hooks/useApi'; +import globalize from 'lib/globalize'; + +export const Component = () => { const { api } = useApi(); - const { data: keys, isLoading } = useApiKeys(); + const { data, isLoading } = useApiKeys(); + const keys = useMemo(() => ( + data?.Items || [] + ), [ data ]); const revokeKey = useRevokeKey(); const createKey = useCreateKey(); @@ -38,34 +42,23 @@ const ApiKeys = () => { }, { id: 'DateIssued', - accessorFn: item => parseISO8601Date(item.DateCreated), - Cell: ({ cell }) => toLocaleDateString(cell.getValue()) + ' ' + getDisplayTime(cell.getValue()), + accessorFn: item => item.DateCreated ? parseISO(item.DateCreated) : undefined, + Cell: DateTimeCell, header: globalize.translate('HeaderDateIssued'), filterVariant: 'datetime-range' } ], []); const table = useMaterialReactTable({ + ...DEFAULT_TABLE_OPTIONS, + columns, - data: keys?.Items || [], + data: keys, state: { isLoading }, - rowCount: keys?.TotalRecordCount || 0, - - enableColumnPinning: true, - enableColumnResizing: true, - - enableStickyFooter: true, - enableStickyHeader: true, - muiTableContainerProps: { - sx: { - maxHeight: 'calc(100% - 7rem)' // 2 x 3.5rem for header and footer - } - }, - // Enable (delete) row actions enableRowActions: true, positionActionsColumn: 'last', @@ -77,8 +70,10 @@ const ApiKeys = () => { }, renderTopToolbarCustomActions: () => ( - ), @@ -115,53 +110,28 @@ const ApiKeys = () => { const showNewKeyPopup = useCallback(() => { if (!api) return; - import('../../../../components/prompt/prompt').then(({ default: prompt }) => { - prompt({ - title: globalize.translate('HeaderNewApiKey'), - label: globalize.translate('LabelAppName'), - description: globalize.translate('LabelAppNameExample') - }).then((value) => { - createKey.mutate({ - app: value - }); - }).catch(() => { - // popup closed + prompt({ + title: globalize.translate('HeaderNewApiKey'), + label: globalize.translate('LabelAppName'), + description: globalize.translate('LabelAppNameExample') + }).then((value) => { + createKey.mutate({ + app: value }); - }).catch(err => { - console.error('[apikeys] failed to load api key popup', err); + }).catch(() => { + // popup closed }); }, [api, createKey]); return ( - - - - - - {globalize.translate('HeaderApiKeys')} - - {globalize.translate('HeaderApiKeysHelp')} - - - - - + table={table} + /> ); }; -export default ApiKeys; +Component.displayName = 'ApiKeysPage'; diff --git a/src/apps/dashboard/routes/libraries/display.tsx b/src/apps/dashboard/routes/libraries/display.tsx new file mode 100644 index 0000000000..8da3f2453b --- /dev/null +++ b/src/apps/dashboard/routes/libraries/display.tsx @@ -0,0 +1,176 @@ +import React from 'react'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import FormControl from '@mui/material/FormControl'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormHelperText from '@mui/material/FormHelperText'; +import MenuItem from '@mui/material/MenuItem'; +import Stack from '@mui/material/Stack'; +import Switch from '@mui/material/Switch'; +import TextField from '@mui/material/TextField'; +import Typography from '@mui/material/Typography'; +import Loading from 'components/loading/LoadingComponent'; +import Page from 'components/Page'; +import ServerConnections from 'components/ServerConnections'; +import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; +import { QUERY_KEY as CONFIG_QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; +import { QUERY_KEY as NAMED_CONFIG_QUERY_KEY, NamedConfiguration, useNamedConfiguration } from 'hooks/useNamedConfiguration'; +import globalize from 'lib/globalize'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; +import { ActionData } from 'types/actionData'; +import { queryClient } from 'utils/query/queryClient'; + +const CONFIG_KEY = 'metadata'; + +export const action = async ({ request }: ActionFunctionArgs) => { + const api = ServerConnections.getCurrentApi(); + if (!api) throw new Error('No Api instance available'); + + const formData = await request.formData(); + const data = Object.fromEntries(formData); + + const { data: config } = await getConfigurationApi(api).getConfiguration(); + + const metadataConfig: NamedConfiguration = { + UseFileCreationTimeForDateAdded: data.DateAddedBehavior.toString() === '1' + }; + + config.EnableFolderView = data.DisplayFolderView?.toString() === 'on'; + config.DisplaySpecialsWithinSeasons = data.DisplaySpecialsWithinSeasons?.toString() === 'on'; + config.EnableGroupingIntoCollections = data.GroupMoviesIntoCollections?.toString() === 'on'; + config.EnableExternalContentInSuggestions = data.EnableExternalContentInSuggestions?.toString() === 'on'; + + await getConfigurationApi(api) + .updateConfiguration({ serverConfiguration: config }); + + await getConfigurationApi(api) + .updateNamedConfiguration({ key: CONFIG_KEY, body: metadataConfig }); + + void queryClient.invalidateQueries({ + queryKey: [ CONFIG_QUERY_KEY ] + }); + void queryClient.invalidateQueries({ + queryKey: [ NAMED_CONFIG_QUERY_KEY, CONFIG_KEY ] + }); + + return { + isSaved: true + }; +}; + +export const Component = () => { + const { + data: config, + isPending: isConfigPending, + isError: isConfigError + } = useConfiguration(); + const { + data: namedConfig, + isPending: isNamedConfigPending, + isError: isNamedConfigError + } = useNamedConfiguration(CONFIG_KEY); + + const navigation = useNavigation(); + const actionData = useActionData() as ActionData | undefined; + const isSubmitting = navigation.state === 'submitting'; + + if (isConfigPending || isNamedConfigPending) { + return ; + } + + return ( + + + {isConfigError || isNamedConfigError ? ( + {globalize.translate('DisplayLoadError')} + ) : ( + + + {!isSubmitting && actionData?.isSaved && ( + + {globalize.translate('SettingsSaved')} + + )} + {globalize.translate('Display')} + + {globalize.translate('OptionDateAddedImportTime')} + {globalize.translate('OptionDateAddedFileTime')} + + + + + } + label={globalize.translate('OptionDisplayFolderView')} + /> + {globalize.translate('OptionDisplayFolderViewHelp')} + + + + + } + label={globalize.translate('LabelDisplaySpecialsWithinSeasons')} + /> + + + + + } + label={globalize.translate('LabelGroupMoviesIntoCollections')} + /> + {globalize.translate('LabelGroupMoviesIntoCollectionsHelp')} + + + + + } + label={globalize.translate('OptionEnableExternalContentInSuggestions')} + /> + {globalize.translate('OptionEnableExternalContentInSuggestionsHelp')} + + + + + + )} + + + ); +}; + +Component.displayName = 'DisplayPage'; diff --git a/src/apps/dashboard/routes/libraries/metadata.tsx b/src/apps/dashboard/routes/libraries/metadata.tsx new file mode 100644 index 0000000000..61ba4bb513 --- /dev/null +++ b/src/apps/dashboard/routes/libraries/metadata.tsx @@ -0,0 +1,164 @@ +import { ImageResolution } from '@jellyfin/sdk/lib/generated-client/models/image-resolution'; +import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import MenuItem from '@mui/material/MenuItem'; +import Stack from '@mui/material/Stack'; +import TextField from '@mui/material/TextField'; +import Typography from '@mui/material/Typography'; +import { useCountries } from 'apps/dashboard/features/libraries/api/useCountries'; +import { useCultures } from 'apps/dashboard/features/libraries/api/useCultures'; +import { getImageResolutionOptions } from 'apps/dashboard/features/libraries/utils/metadataOptions'; +import Loading from 'components/loading/LoadingComponent'; +import Page from 'components/Page'; +import ServerConnections from 'components/ServerConnections'; +import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; +import globalize from 'lib/globalize'; +import React from 'react'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; +import { ActionData } from 'types/actionData'; +import { queryClient } from 'utils/query/queryClient'; + +export const action = async ({ request }: ActionFunctionArgs) => { + const api = ServerConnections.getCurrentApi(); + if (!api) throw new Error('No Api instance available'); + + const formData = await request.formData(); + const data = Object.fromEntries(formData); + + const { data: config } = await getConfigurationApi(api).getConfiguration(); + + config.PreferredMetadataLanguage = data.Language.toString(); + config.MetadataCountryCode = data.Country.toString(); + config.DummyChapterDuration = parseInt(data.DummyChapterDuration.toString(), 10); + config.ChapterImageResolution = data.ChapterImageResolution.toString() as ImageResolution; + + await getConfigurationApi(api) + .updateConfiguration({ serverConfiguration: config }); + + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + + return { + isSaved: true + }; +}; + +export const Component = () => { + const { + data: config, + isPending: isConfigPending, + isError: isConfigError + } = useConfiguration(); + const { + data: cultures, + isPending: isCulturesPending, + isError: isCulturesError + } = useCultures(); + const { + data: countries, + isPending: isCountriesPending, + isError: isCountriesError + } = useCountries(); + + const navigation = useNavigation(); + const actionData = useActionData() as ActionData | undefined; + const isSubmitting = navigation.state === 'submitting'; + + const imageResolutions = getImageResolutionOptions(); + + if (isConfigPending || isCulturesPending || isCountriesPending) { + return ; + } + + return ( + + + {isConfigError || isCulturesError || isCountriesError ? ( + {globalize.translate('MetadataImagesLoadError')} + ) : ( +
+ + {!isSubmitting && actionData?.isSaved && ( + + {globalize.translate('SettingsSaved')} + + )} + {globalize.translate('HeaderPreferredMetadataLanguage')} + {globalize.translate('DefaultMetadataLangaugeDescription')} + + + {cultures.map(culture => { + return {culture.DisplayName}; + })} + + + + {countries.map(country => { + return {country.DisplayName}; + })} + + + {globalize.translate('HeaderDummyChapter')} + + + + + {imageResolutions.map(resolution => { + return {resolution.name}; + })} + + + + +
+ )} +
+
+ ); +}; + +Component.displayName = 'MetadataImagesPage'; diff --git a/src/apps/dashboard/routes/libraries/nfo.tsx b/src/apps/dashboard/routes/libraries/nfo.tsx new file mode 100644 index 0000000000..661bc6dad4 --- /dev/null +++ b/src/apps/dashboard/routes/libraries/nfo.tsx @@ -0,0 +1,186 @@ +import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import FormControl from '@mui/material/FormControl'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormHelperText from '@mui/material/FormHelperText'; +import MenuItem from '@mui/material/MenuItem'; +import Stack from '@mui/material/Stack'; +import Switch from '@mui/material/Switch'; +import TextField from '@mui/material/TextField'; +import Typography from '@mui/material/Typography'; +import Loading from 'components/loading/LoadingComponent'; +import Page from 'components/Page'; +import ServerConnections from 'components/ServerConnections'; +import SimpleAlert from 'components/SimpleAlert'; +import { QUERY_KEY, useNamedConfiguration } from 'hooks/useNamedConfiguration'; +import { useUsers } from 'hooks/useUsers'; +import globalize from 'lib/globalize'; +import React, { useCallback, useState } from 'react'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; +import { ActionData } from 'types/actionData'; +import { queryClient } from 'utils/query/queryClient'; + +const CONFIG_KEY = 'xbmcmetadata'; + +interface NFOSettingsConfig { + UserId?: string; + EnableExtraThumbsDuplication?: boolean; + EnablePathSubstitution?: boolean; + ReleaseDateFormat?: string; + SaveImagePathsInNfo?: boolean; +}; + +export const action = async ({ request }: ActionFunctionArgs) => { + const api = ServerConnections.getCurrentApi(); + if (!api) throw new Error('No Api instance available'); + + const formData = await request.formData(); + const data = Object.fromEntries(formData); + + const newConfig: NFOSettingsConfig = { + UserId: data.UserId?.toString(), + ReleaseDateFormat: 'yyyy-MM-dd', + SaveImagePathsInNfo: data.SaveImagePathsInNfo?.toString() === 'on', + EnablePathSubstitution: data.EnablePathSubstitution?.toString() === 'on', + EnableExtraThumbsDuplication: data.EnableExtraThumbsDuplication?.toString() === 'on' + }; + + await getConfigurationApi(api) + .updateNamedConfiguration({ key: CONFIG_KEY, body: newConfig }); + + void queryClient.invalidateQueries({ + queryKey: [QUERY_KEY, CONFIG_KEY] + }); + + return { + isSaved: true + }; +}; + +export const Component = () => { + const { + data: config, + isPending: isConfigPending, + isError: isConfigError + } = useNamedConfiguration(CONFIG_KEY); + const { + data: users, + isPending: isUsersPending, + isError: isUsersError + } = useUsers(); + const navigation = useNavigation(); + const actionData = useActionData() as ActionData | undefined; + const isSubmitting = navigation.state === 'submitting'; + const [isAlertOpen, setIsAlertOpen] = useState(false); + + const nfoConfig = config as NFOSettingsConfig; + + const onAlertClose = useCallback(() => { + setIsAlertOpen(false); + }, []); + + const onSubmit = useCallback(() => { + setIsAlertOpen(true); + }, []); + + if (isConfigPending || isUsersPending) { + return ; + } + + return ( + + + + {isConfigError || isUsersError ? ( + {globalize.translate('MetadataNfoLoadError')} + ) : ( +
+ + {!isSubmitting && actionData?.isSaved && ( + + {globalize.translate('SettingsSaved')} + + )} + {globalize.translate('TabNfoSettings')} + {globalize.translate('HeaderKodiMetadataHelp')} + + + {globalize.translate('None')} + {users.map(user => + {user.Name} + )} + + + + + } + label={globalize.translate('LabelKodiMetadataSaveImagePaths')} + /> + {globalize.translate('LabelKodiMetadataSaveImagePathsHelp')} + + + + + } + label={globalize.translate('LabelKodiMetadataEnablePathSubstitution')} + /> + {globalize.translate('LabelKodiMetadataEnablePathSubstitutionHelp')} + + + + + } + label={globalize.translate('LabelKodiMetadataEnableExtraThumbs')} + /> + {globalize.translate('LabelKodiMetadataEnableExtraThumbsHelp')} + + + + +
+ )} +
+
+ ); +}; + +Component.displayName = 'NFOSettingsPage'; diff --git a/src/apps/dashboard/routes/logs/file.tsx b/src/apps/dashboard/routes/logs/file.tsx new file mode 100644 index 0000000000..019e8447c7 --- /dev/null +++ b/src/apps/dashboard/routes/logs/file.tsx @@ -0,0 +1,109 @@ +import Loading from 'components/loading/LoadingComponent'; +import Page from 'components/Page'; +import React, { useCallback } from 'react'; +import { useParams } from 'react-router-dom'; +import { useServerLog } from 'apps/dashboard/features/logs/api/useServerLog'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import ButtonGroup from '@mui/material/ButtonGroup'; +import Container from '@mui/material/Container'; +import Paper from '@mui/material/Paper'; +import Typography from '@mui/material/Typography'; +import { ContentCopy, FileDownload } from '@mui/icons-material'; +import globalize from 'lib/globalize'; +import toast from 'components/toast/toast'; +import { copy } from 'scripts/clipboard'; + +export const Component = () => { + const { file: fileName } = useParams(); + const { + isError: error, + isPending: loading, + data: log, + refetch + } = useServerLog(fileName ?? ''); + + const retry = useCallback(() => refetch(), [refetch]); + + const copyToClipboard = useCallback(async () => { + if (log) { + await copy(log); + toast({ text: globalize.translate('CopyLogSuccess') }); + } + }, [log]); + + const downloadFile = useCallback(() => { + if ('URL' in globalThis && log && fileName) { + const blob = new Blob([log], { type: 'text/plain' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = fileName; + a.click(); + URL.revokeObjectURL(url); + } + }, [log, fileName]); + + return ( + + + + {fileName} + + {error && ( + + {globalize.translate('Retry')} + + } + > + {globalize.translate('LogLoadFailure')} + + )} + + {loading && } + + {!error && !loading && ( + <> + + + + + + + +
{log}
+
+
+ + )} +
+
+
+ ); +}; + +Component.displayName = 'LogPage'; diff --git a/src/apps/dashboard/routes/logs/index.tsx b/src/apps/dashboard/routes/logs/index.tsx index bafab8f763..1cb085c914 100644 --- a/src/apps/dashboard/routes/logs/index.tsx +++ b/src/apps/dashboard/routes/logs/index.tsx @@ -11,7 +11,7 @@ import Stack from '@mui/material/Stack'; import Switch from '@mui/material/Switch'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; -import { type ActionFunctionArgs, Form, useActionData } from 'react-router-dom'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; import ServerConnections from 'components/ServerConnections'; import { useServerLogs } from 'apps/dashboard/features/logs/api/useServerLogs'; import { useConfiguration } from 'hooks/useConfiguration'; @@ -42,9 +42,10 @@ export const action = async ({ request }: ActionFunctionArgs) => { }; }; -const Logs = () => { +export const Component = () => { + const navigation = useNavigation(); const actionData = useActionData() as ActionData | undefined; - const [ isSubmitting, setIsSubmitting ] = useState(false); + const isSubmitting = navigation.state === 'submitting'; const { isPending: isLogEntriesPending, data: logs } = useServerLogs(); const { isPending: isConfigurationPending, data: defaultConfiguration } = useConfiguration(); @@ -72,10 +73,6 @@ const Logs = () => { }); }, [configuration]); - const onSubmit = useCallback(() => { - setIsSubmitting(true); - }, []); - if (isLogEntriesPending || isConfigurationPending || loading || !logs) { return ; } @@ -87,13 +84,13 @@ const Logs = () => { className='mainAnimatedPage type-interior' > -
+ {globalize.translate('TabLogs')} - {isSubmitting && actionData?.isSaved && ( + {!isSubmitting && actionData?.isSaved && ( {globalize.translate('SettingsSaved')} @@ -113,7 +110,7 @@ const Logs = () => { { ); }; -export default Logs; +Component.displayName = 'LogsPage'; diff --git a/src/apps/dashboard/routes/playback/resume.tsx b/src/apps/dashboard/routes/playback/resume.tsx new file mode 100644 index 0000000000..3009825cfd --- /dev/null +++ b/src/apps/dashboard/routes/playback/resume.tsx @@ -0,0 +1,156 @@ +import React from 'react'; +import Page from 'components/Page'; +import globalize from 'lib/globalize'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import Stack from '@mui/material/Stack'; +import TextField from '@mui/material/TextField'; +import Typography from '@mui/material/Typography'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; +import { ActionData } from 'types/actionData'; +import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; +import Loading from 'components/loading/LoadingComponent'; +import ServerConnections from 'components/ServerConnections'; +import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; +import { queryClient } from 'utils/query/queryClient'; + +export const action = async ({ request }: ActionFunctionArgs) => { + const api = ServerConnections.getCurrentApi(); + if (!api) throw new Error('No Api instance available'); + + const { data: config } = await getConfigurationApi(api).getConfiguration(); + const formData = await request.formData(); + + const minResumePercentage = formData.get('MinResumePercentage')?.toString(); + const maxResumePercentage = formData.get('MaxResumePercentage')?.toString(); + const minAudiobookResume = formData.get('MinAudiobookResume')?.toString(); + const maxAudiobookResume = formData.get('MaxAudiobookResume')?.toString(); + const minResumeDuration = formData.get('MinResumeDuration')?.toString(); + + if (minResumePercentage) config.MinResumePct = parseInt(minResumePercentage, 10); + if (maxResumePercentage) config.MaxResumePct = parseInt(maxResumePercentage, 10); + if (minAudiobookResume) config.MinAudiobookResume = parseInt(minAudiobookResume, 10); + if (maxAudiobookResume) config.MaxAudiobookResume = parseInt(maxAudiobookResume, 10); + if (minResumeDuration) config.MinResumeDurationSeconds = parseInt(minResumeDuration, 10); + + await getConfigurationApi(api) + .updateConfiguration({ serverConfiguration: config }); + + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + + return { + isSaved: true + }; +}; + +export const Component = () => { + const navigation = useNavigation(); + const actionData = useActionData() as ActionData | undefined; + const isSubmitting = navigation.state === 'submitting'; + + const { isPending: isConfigurationPending, data: config } = useConfiguration(); + + if (isConfigurationPending) { + return ; + } + + return ( + + + + + + {globalize.translate('ButtonResume')} + + + {!isSubmitting && actionData?.isSaved && ( + + {globalize.translate('SettingsSaved')} + + )} + + + + + + + + + + + + + + + + + ); +}; + +Component.displayName = 'ResumePage'; diff --git a/src/apps/dashboard/routes/playback/streaming.tsx b/src/apps/dashboard/routes/playback/streaming.tsx new file mode 100644 index 0000000000..e329277303 --- /dev/null +++ b/src/apps/dashboard/routes/playback/streaming.tsx @@ -0,0 +1,95 @@ +import React from 'react'; +import Page from 'components/Page'; +import globalize from 'lib/globalize'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import Stack from '@mui/material/Stack'; +import TextField from '@mui/material/TextField'; +import Typography from '@mui/material/Typography'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; +import ServerConnections from 'components/ServerConnections'; +import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; +import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; +import Loading from 'components/loading/LoadingComponent'; +import { ActionData } from 'types/actionData'; +import { queryClient } from 'utils/query/queryClient'; + +export const action = async ({ request }: ActionFunctionArgs) => { + const api = ServerConnections.getCurrentApi(); + if (!api) throw new Error('No Api instance available'); + + const { data: config } = await getConfigurationApi(api).getConfiguration(); + const formData = await request.formData(); + + const bitrateLimit = formData.get('StreamingBitrateLimit')?.toString(); + config.RemoteClientBitrateLimit = Math.trunc(1e6 * parseFloat(bitrateLimit || '0')); + + await getConfigurationApi(api) + .updateConfiguration({ serverConfiguration: config }); + + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + + return { + isSaved: true + }; +}; + +export const Component = () => { + const navigation = useNavigation(); + const actionData = useActionData() as ActionData | undefined; + const isSubmitting = navigation.state === 'submitting'; + + const { isPending: isConfigurationPending, data: defaultConfiguration } = useConfiguration(); + + if (isConfigurationPending) { + return ; + } + + return ( + + +
+ + + {globalize.translate('TabStreaming')} + + + {!isSubmitting && actionData?.isSaved && ( + + {globalize.translate('SettingsSaved')} + + )} + + + + +
+
+
+ ); +}; + +Component.displayName = 'StreamingPage'; diff --git a/src/apps/dashboard/routes/playback/trickplay.tsx b/src/apps/dashboard/routes/playback/trickplay.tsx index 442111145d..81ef076961 100644 --- a/src/apps/dashboard/routes/playback/trickplay.tsx +++ b/src/apps/dashboard/routes/playback/trickplay.tsx @@ -1,325 +1,259 @@ -import type { ServerConfiguration } from '@jellyfin/sdk/lib/generated-client/models/server-configuration'; +import React from 'react'; + +import globalize from 'lib/globalize'; +import { type ActionFunctionArgs, Form, useActionData, useNavigation } from 'react-router-dom'; +import { QUERY_KEY, useConfiguration } from 'hooks/useConfiguration'; +import Page from 'components/Page'; +import Box from '@mui/material/Box'; +import Stack from '@mui/material/Stack'; +import Typography from '@mui/material/Typography'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import FormControl from '@mui/material/FormControl'; +import Switch from '@mui/material/Switch'; +import Loading from 'components/loading/LoadingComponent'; +import FormHelperText from '@mui/material/FormHelperText'; +import MenuItem from '@mui/material/MenuItem'; +import TextField from '@mui/material/TextField'; +import Button from '@mui/material/Button'; +import Alert from '@mui/material/Alert'; +import ServerConnections from 'components/ServerConnections'; +import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; import { TrickplayScanBehavior } from '@jellyfin/sdk/lib/generated-client/models/trickplay-scan-behavior'; import { ProcessPriorityClass } from '@jellyfin/sdk/lib/generated-client/models/process-priority-class'; -import React, { type FC, useCallback, useEffect, useRef } from 'react'; +import { ActionData } from 'types/actionData'; +import { queryClient } from 'utils/query/queryClient'; -import globalize from '../../../../lib/globalize'; -import Page from '../../../../components/Page'; -import SectionTitleContainer from '../../../../elements/SectionTitleContainer'; -import ButtonElement from '../../../../elements/ButtonElement'; -import CheckBoxElement from '../../../../elements/CheckBoxElement'; -import SelectElement from '../../../../elements/SelectElement'; -import InputElement from '../../../../elements/InputElement'; -import loading from '../../../../components/loading/loading'; -import toast from '../../../../components/toast/toast'; -import ServerConnections from '../../../../components/ServerConnections'; +export const action = async ({ request }: ActionFunctionArgs) => { + const api = ServerConnections.getCurrentApi(); + if (!api) throw new Error('No Api instance available'); -function onSaveComplete() { - loading.hide(); - toast(globalize.translate('SettingsSaved')); -} + const formData = await request.formData(); + const data = Object.fromEntries(formData); -const PlaybackTrickplay: FC = () => { - const element = useRef(null); + const { data: config } = await getConfigurationApi(api).getConfiguration(); - const loadConfig = useCallback((config: ServerConfiguration) => { - const page = element.current; - const options = config.TrickplayOptions; + const options = config.TrickplayOptions; + if (!options) throw new Error('Unexpected null TrickplayOptions'); - if (!page) { - console.error('Unexpected null reference'); - return; - } + options.EnableHwAcceleration = data.HwAcceleration?.toString() === 'on'; + options.EnableHwEncoding = data.HwEncoding?.toString() === 'on'; + options.EnableKeyFrameOnlyExtraction = data.KeyFrameOnlyExtraction?.toString() === 'on'; + options.ScanBehavior = data.ScanBehavior.toString() as TrickplayScanBehavior; + options.ProcessPriority = data.ProcessPriority.toString() as ProcessPriorityClass; + options.Interval = parseInt(data.ImageInterval.toString() || '10000', 10); + options.WidthResolutions = data.WidthResolutions.toString().replace(' ', '').split(',').map(Number); + options.TileWidth = parseInt(data.TileWidth.toString() || '10', 10); + options.TileHeight = parseInt(data.TileHeight.toString() || '10', 10); + options.Qscale = parseInt(data.Qscale.toString() || '4', 10); + options.JpegQuality = parseInt(data.JpegQuality.toString() || '90', 10); + options.ProcessThreads = parseInt(data.TrickplayThreads.toString() || '1', 10); - (page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked = options?.EnableHwAcceleration || false; - (page.querySelector('.chkEnableHwEncoding') as HTMLInputElement).checked = options?.EnableHwEncoding || false; - (page.querySelector('.chkEnableKeyFrameOnlyExtraction') as HTMLInputElement).checked = options?.EnableKeyFrameOnlyExtraction || false; - (page.querySelector('#selectScanBehavior') as HTMLSelectElement).value = (options?.ScanBehavior || TrickplayScanBehavior.NonBlocking); - (page.querySelector('#selectProcessPriority') as HTMLSelectElement).value = (options?.ProcessPriority || ProcessPriorityClass.Normal); - (page.querySelector('#txtInterval') as HTMLInputElement).value = options?.Interval?.toString() || '10000'; - (page.querySelector('#txtWidthResolutions') as HTMLInputElement).value = options?.WidthResolutions?.join(',') || ''; - (page.querySelector('#txtTileWidth') as HTMLInputElement).value = options?.TileWidth?.toString() || '10'; - (page.querySelector('#txtTileHeight') as HTMLInputElement).value = options?.TileHeight?.toString() || '10'; - (page.querySelector('#txtQscale') as HTMLInputElement).value = options?.Qscale?.toString() || '4'; - (page.querySelector('#txtJpegQuality') as HTMLInputElement).value = options?.JpegQuality?.toString() || '90'; - (page.querySelector('#txtProcessThreads') as HTMLInputElement).value = options?.ProcessThreads?.toString() || '1'; + await getConfigurationApi(api) + .updateConfiguration({ serverConfiguration: config }); - loading.hide(); - }, []); + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); - const loadData = useCallback(() => { - loading.show(); - - ServerConnections.currentApiClient()?.getServerConfiguration().then(function (config) { - loadConfig(config); - }).catch(err => { - console.error('[PlaybackTrickplay] failed to fetch server config', err); - }); - }, [loadConfig]); - - useEffect(() => { - const page = element.current; - - if (!page) { - console.error('Unexpected null reference'); - return; - } - - const saveConfig = (config: ServerConfiguration) => { - const apiClient = ServerConnections.currentApiClient(); - - if (!apiClient) { - console.error('[PlaybackTrickplay] No current apiclient instance'); - return; - } - - if (!config.TrickplayOptions) { - throw new Error('Unexpected null TrickplayOptions'); - } - - const options = config.TrickplayOptions; - options.EnableHwAcceleration = (page.querySelector('.chkEnableHwAcceleration') as HTMLInputElement).checked; - options.EnableHwEncoding = (page.querySelector('.chkEnableHwEncoding') as HTMLInputElement).checked; - options.EnableKeyFrameOnlyExtraction = (page.querySelector('.chkEnableKeyFrameOnlyExtraction') as HTMLInputElement).checked; - options.ScanBehavior = (page.querySelector('#selectScanBehavior') as HTMLSelectElement).value as TrickplayScanBehavior; - options.ProcessPriority = (page.querySelector('#selectProcessPriority') as HTMLSelectElement).value as ProcessPriorityClass; - options.Interval = Math.max(1, parseInt((page.querySelector('#txtInterval') as HTMLInputElement).value || '10000', 10)); - options.WidthResolutions = (page.querySelector('#txtWidthResolutions') as HTMLInputElement).value.replace(' ', '').split(',').map(Number); - options.TileWidth = Math.max(1, parseInt((page.querySelector('#txtTileWidth') as HTMLInputElement).value || '10', 10)); - options.TileHeight = Math.max(1, parseInt((page.querySelector('#txtTileHeight') as HTMLInputElement).value || '10', 10)); - options.Qscale = Math.min(31, parseInt((page.querySelector('#txtQscale') as HTMLInputElement).value || '4', 10)); - options.JpegQuality = Math.min(100, parseInt((page.querySelector('#txtJpegQuality') as HTMLInputElement).value || '90', 10)); - options.ProcessThreads = parseInt((page.querySelector('#txtProcessThreads') as HTMLInputElement).value || '1', 10); - - apiClient.updateServerConfiguration(config).then(() => { - onSaveComplete(); - }).catch(err => { - console.error('[PlaybackTrickplay] failed to update config', err); - }); - }; - - const onSubmit = (e: Event) => { - const apiClient = ServerConnections.currentApiClient(); - - if (!apiClient) { - console.error('[PlaybackTrickplay] No current apiclient instance'); - return; - } - - loading.show(); - apiClient.getServerConfiguration().then(function (config) { - saveConfig(config); - }).catch(err => { - console.error('[PlaybackTrickplay] failed to fetch server config', err); - }); - - e.preventDefault(); - e.stopPropagation(); - return false; - }; - - (page.querySelector('.trickplayConfigurationForm') as HTMLFormElement).addEventListener('submit', onSubmit); - - loadData(); - }, [loadData]); - - const optionScanBehavior = () => { - let content = ''; - content += ``; - content += ``; - return content; + return { + isSaved: true }; +}; - const optionProcessPriority = () => { - let content = ''; - content += ``; - content += ``; - content += ``; - content += ``; - content += ``; - return content; - }; +export const Component = () => { + const navigation = useNavigation(); + const actionData = useActionData() as ActionData | undefined; + const { data: defaultConfig, isPending } = useConfiguration(); + const isSubmitting = navigation.state === 'submitting'; + + if (!defaultConfig || isPending) { + return ; + } return ( -
-
- -
+ +
+ + + {globalize.translate('Trickplay')} + - -
- + {globalize.translate('SettingsSaved')} + + )} + + + + } + label={globalize.translate('LabelTrickplayAccel')} + /> + + + + + } + label={globalize.translate('LabelTrickplayAccelEncoding')} + /> + {globalize.translate('LabelTrickplayAccelEncodingHelp')} + + + + + } + label={globalize.translate('LabelTrickplayKeyFrameOnlyExtraction')} + /> + {globalize.translate('LabelTrickplayKeyFrameOnlyExtractionHelp')} + + + + {globalize.translate('NonBlockingScan')} + {globalize.translate('BlockingScan')} + + + + {globalize.translate('PriorityHigh')} + {globalize.translate('PriorityAboveNormal')} + {globalize.translate('PriorityNormal')} + {globalize.translate('PriorityBelowNormal')} + {globalize.translate('PriorityIdle')} + + + -
-
- -
-
- {globalize.translate('LabelTrickplayAccelEncodingHelp')} -
-
-
-
- -
-
- {globalize.translate('LabelTrickplayKeyFrameOnlyExtractionHelp')} -
-
-
-
-
- - {optionScanBehavior()} - -
- {globalize.translate('LabelScanBehaviorHelp')} -
-
-
+ -
-
- - {optionProcessPriority()} - -
- {globalize.translate('LabelProcessPriorityHelp')} -
-
-
+ -
-
- -
- {globalize.translate('LabelImageIntervalHelp')} -
-
-
+ -
-
- -
- {globalize.translate('LabelWidthResolutionsHelp')} -
-
-
+ -
-
- -
- {globalize.translate('LabelTileWidthHelp')} -
-
-
- -
-
- -
- {globalize.translate('LabelTileHeightHelp')} -
-
-
- -
-
- -
- {globalize.translate('LabelJpegQualityHelp')} -
-
-
- -
-
- -
- {globalize.translate('LabelQscaleHelp')} -
-
-
- -
-
- -
- {globalize.translate('LabelTrickplayThreadsHelp')} -
-
-
- -
- -
- -
+ size='large' + > + {globalize.translate('Save')} + +
+ +
); }; -export default PlaybackTrickplay; +Component.displayName = 'TrickplayPage'; diff --git a/src/apps/dashboard/routes/plugins/plugin.tsx b/src/apps/dashboard/routes/plugins/plugin.tsx index 1e455ac5b5..b75ea1346f 100644 --- a/src/apps/dashboard/routes/plugins/plugin.tsx +++ b/src/apps/dashboard/routes/plugins/plugin.tsx @@ -303,6 +303,7 @@ const PluginPage: FC = () => { return ( diff --git a/src/apps/dashboard/routes/tasks/index.tsx b/src/apps/dashboard/routes/tasks/index.tsx new file mode 100644 index 0000000000..232fb34950 --- /dev/null +++ b/src/apps/dashboard/routes/tasks/index.tsx @@ -0,0 +1,75 @@ +import React, { useEffect } from 'react'; +import Page from 'components/Page'; +import globalize from 'lib/globalize'; +import Box from '@mui/material/Box'; +import Stack from '@mui/material/Stack'; +import { QUERY_KEY, useTasks } from '../../features/tasks/api/useTasks'; +import { getCategories, getTasksByCategory } from '../../features/tasks/utils/tasks'; +import Loading from 'components/loading/LoadingComponent'; +import Tasks from '../../features/tasks/components/Tasks'; +import type { TaskInfo } from '@jellyfin/sdk/lib/generated-client/models/task-info'; +import { SessionMessageType } from '@jellyfin/sdk/lib/generated-client/models/session-message-type'; +import serverNotifications from 'scripts/serverNotifications'; +import Events, { Event } from 'utils/events'; +import { ApiClient } from 'jellyfin-apiclient'; +import { useApi } from 'hooks/useApi'; +import { queryClient } from 'utils/query/queryClient'; + +export const Component = () => { + const { __legacyApiClient__ } = useApi(); + const { data: tasks, isPending } = useTasks({ isHidden: false }); + + // TODO: Replace usage of the legacy apiclient when websocket support is added to the TS SDK. + useEffect(() => { + const onScheduledTasksUpdate = (_e: Event, _apiClient: ApiClient, info: TaskInfo[]) => { + queryClient.setQueryData([ QUERY_KEY ], info); + }; + + const fallbackInterval = setInterval(() => { + if (!__legacyApiClient__?.isMessageChannelOpen()) { + void queryClient.invalidateQueries({ + queryKey: [ QUERY_KEY ] + }); + } + }, 1e4); + + __legacyApiClient__?.sendMessage(SessionMessageType.ScheduledTasksInfoStart, '1000,1000'); + Events.on(serverNotifications, SessionMessageType.ScheduledTasksInfo, onScheduledTasksUpdate); + + return () => { + clearInterval(fallbackInterval); + __legacyApiClient__?.sendMessage(SessionMessageType.ScheduledTasksInfoStop, null); + Events.off(serverNotifications, SessionMessageType.ScheduledTasksInfo, onScheduledTasksUpdate); + }; + }, [__legacyApiClient__]); + + if (isPending || !tasks) { + return ; + } + + const categories = getCategories(tasks); + + return ( + + + + + {categories.map(category => { + return ; + })} + + + + + ); +}; + +Component.displayName = 'TasksPage'; diff --git a/src/apps/dashboard/routes/tasks/task.tsx b/src/apps/dashboard/routes/tasks/task.tsx new file mode 100644 index 0000000000..2aa00f886c --- /dev/null +++ b/src/apps/dashboard/routes/tasks/task.tsx @@ -0,0 +1,172 @@ +import React, { useCallback, useMemo, useState } from 'react'; +import Page from 'components/Page'; +import { useParams } from 'react-router-dom'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import Stack from '@mui/material/Stack'; +import Typography from '@mui/material/Typography'; +import AddIcon from '@mui/icons-material/Add'; +import IconButton from '@mui/material/IconButton'; +import Tooltip from '@mui/material/Tooltip'; +import RemoveCircleIcon from '@mui/icons-material/RemoveCircle'; +import Loading from 'components/loading/LoadingComponent'; +import { MRT_ColumnDef, MRT_Table, useMaterialReactTable } from 'material-react-table'; +import type { TaskTriggerInfo } from '@jellyfin/sdk/lib/generated-client/models/task-trigger-info'; +import globalize from '../../../../lib/globalize'; +import { useTask } from 'apps/dashboard/features/tasks/api/useTask'; +import { useUpdateTask } from 'apps/dashboard/features/tasks/api/useUpdateTask'; +import ConfirmDialog from 'components/ConfirmDialog'; +import TaskTriggerCell from 'apps/dashboard/features/tasks/components/TaskTriggerCell'; +import NewTriggerForm from 'apps/dashboard/features/tasks/components/NewTriggerForm'; + +export const Component = () => { + const { id: taskId } = useParams(); + const updateTask = useUpdateTask(); + const { data: task, isLoading } = useTask({ taskId: taskId || '' }); + const [ isAddTriggerDialogOpen, setIsAddTriggerDialogOpen ] = useState(false); + const [ isRemoveConfirmOpen, setIsRemoveConfirmOpen ] = useState(false); + const [ pendingDeleteTrigger, setPendingDeleteTrigger ] = useState(null); + + const onCloseRemoveConfirmDialog = useCallback(() => { + setPendingDeleteTrigger(null); + setIsRemoveConfirmOpen(false); + }, []); + + const onDeleteTrigger = useCallback((trigger: TaskTriggerInfo | null | undefined) => { + if (trigger) { + setPendingDeleteTrigger(trigger); + setIsRemoveConfirmOpen(true); + } + }, []); + + const onConfirmDelete = useCallback(() => { + const triggersRemaining = task?.Triggers?.filter(trigger => trigger != pendingDeleteTrigger); + + if (task?.Id && triggersRemaining) { + updateTask.mutate({ + taskId: task.Id, + taskTriggerInfo: triggersRemaining + }); + setIsRemoveConfirmOpen(false); + } + }, [task, pendingDeleteTrigger, updateTask]); + + const showAddTriggerDialog = useCallback(() => { + setIsAddTriggerDialogOpen(true); + }, []); + + const handleNewTriggerDialogClose = useCallback(() => { + setIsAddTriggerDialogOpen(false); + }, []); + + const onNewTriggerAdd = useCallback((trigger: TaskTriggerInfo) => { + if (task?.Triggers && task?.Id) { + const triggers = [...task.Triggers, trigger]; + + updateTask.mutate({ + taskId: task.Id, + taskTriggerInfo: triggers + }); + setIsAddTriggerDialogOpen(false); + } + }, [task, updateTask]); + + const columns = useMemo[]>(() => [ + { + id: 'TriggerTime', + accessorFn: row => row, + Cell: TaskTriggerCell, + header: globalize.translate('LabelTime') + } + ], []); + + const table = useMaterialReactTable({ + columns, + data: task?.Triggers || [], + + enableSorting: false, + enableFilters: false, + enableColumnActions: false, + enablePagination: false, + + state: { + isLoading + }, + + muiTableContainerProps: { + sx: { + maxHeight: 'calc(100% - 7rem)' // 2 x 3.5rem for header and footer + } + }, + + // Custom actions + enableRowActions: true, + positionActionsColumn: 'last', + displayColumnDefOptions: { + 'mrt-row-actions': { + header: '' + } + }, + renderRowActions: ({ row }) => { + return ( + + + onDeleteTrigger(row.original)} + > + + + + + ); + } + }); + + if (isLoading || !task) { + return ; + } + + return ( + + + + + + + {task.Name} + {task.Description} + + + + + + + ); +}; + +Component.displayName = 'TaskPage'; diff --git a/src/apps/dashboard/routes/users/add.tsx b/src/apps/dashboard/routes/users/add.tsx index 98cc928887..ffb8d3dc04 100644 --- a/src/apps/dashboard/routes/users/add.tsx +++ b/src/apps/dashboard/routes/users/add.tsx @@ -111,8 +111,9 @@ const UserNew = () => { const saveUser = () => { const userInput: UserInput = {}; - userInput.Name = (page.querySelector('#txtUsername') as HTMLInputElement).value; + userInput.Name = (page.querySelector('#txtUsername') as HTMLInputElement).value.trim(); userInput.Password = (page.querySelector('#txtPassword') as HTMLInputElement).value; + window.ApiClient.createUser(userInput).then(function (user) { if (!user.Id || !user.Policy) { throw new Error('Unexpected null user id or policy'); diff --git a/src/apps/dashboard/routes/users/profile.tsx b/src/apps/dashboard/routes/users/profile.tsx index fa4b077845..2f98d67bd3 100644 --- a/src/apps/dashboard/routes/users/profile.tsx +++ b/src/apps/dashboard/routes/users/profile.tsx @@ -199,7 +199,7 @@ const UserEdit = () => { throw new Error('Unexpected null user id or policy'); } - user.Name = (page.querySelector('#txtUserName') as HTMLInputElement).value; + user.Name = (page.querySelector('#txtUserName') as HTMLInputElement).value.trim(); user.Policy.IsAdministrator = (page.querySelector('.chkIsAdmin') as HTMLInputElement).checked; user.Policy.IsHidden = (page.querySelector('.chkIsHidden') as HTMLInputElement).checked; user.Policy.IsDisabled = (page.querySelector('.chkDisabled') as HTMLInputElement).checked; diff --git a/src/apps/experimental/components/library/GenresItemsContainer.tsx b/src/apps/experimental/components/library/GenresItemsContainer.tsx index ee77eeef2a..3885c77ece 100644 --- a/src/apps/experimental/components/library/GenresItemsContainer.tsx +++ b/src/apps/experimental/components/library/GenresItemsContainer.tsx @@ -17,6 +17,7 @@ const GenresItemsContainer: FC = ({ parentId, collectionType, itemType +// eslint-disable-next-line sonarjs/function-return-type }) => { const { isLoading, data: genresResult } = useGetGenres(itemType, parentId); diff --git a/src/apps/experimental/components/library/GenresSectionContainer.tsx b/src/apps/experimental/components/library/GenresSectionContainer.tsx index 04f28233e6..eded36d938 100644 --- a/src/apps/experimental/components/library/GenresSectionContainer.tsx +++ b/src/apps/experimental/components/library/GenresSectionContainer.tsx @@ -5,6 +5,8 @@ import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-ite import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort-by'; import { SortOrder } from '@jellyfin/sdk/lib/generated-client/models/sort-order'; import React, { type FC } from 'react'; + +import { useApi } from 'hooks/useApi'; import { useGetItems } from 'hooks/useFetchItems'; import Loading from 'components/loading/LoadingComponent'; import { appRouter } from 'components/router/appRouter'; @@ -26,6 +28,7 @@ const GenresSectionContainer: FC = ({ itemType, genre }) => { + const { __legacyApiClient__ } = useApi(); const getParametersOptions = () => { return { sortBy: [ItemSortBy.Random], @@ -73,7 +76,8 @@ const GenresSectionContainer: FC = ({ cardLayout: false, shape: collectionType === CollectionType.Music ? CardShape.SquareOverflow : CardShape.PortraitOverflow, showParentTitle: collectionType === CollectionType.Music, - showYear: collectionType !== CollectionType.Music + showYear: collectionType !== CollectionType.Music, + serverId: __legacyApiClient__?.serverId() }} />; }; diff --git a/src/apps/experimental/components/library/ItemsView.tsx b/src/apps/experimental/components/library/ItemsView.tsx index e296720805..dbe1753fd3 100644 --- a/src/apps/experimental/components/library/ItemsView.tsx +++ b/src/apps/experimental/components/library/ItemsView.tsx @@ -5,6 +5,8 @@ import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client/models/item-sort- import React, { type FC, useCallback } from 'react'; import Box from '@mui/material/Box'; import classNames from 'classnames'; + +import { useApi } from 'hooks/useApi'; import { useLocalStorage } from 'hooks/useLocalStorage'; import { useGetItemsViewByType } from 'hooks/useFetchItems'; import { getDefaultLibraryViewSettings, getSettingsKey } from 'utils/items'; @@ -69,6 +71,7 @@ const ItemsView: FC = ({ getDefaultLibraryViewSettings(viewType) ); + const { __legacyApiClient__ } = useApi(); const { isLoading, data: itemsResult, @@ -138,7 +141,8 @@ const ItemsView: FC = ({ preferLogo: preferLogo, overlayText: !libraryViewSettings.ShowTitle, imageType: libraryViewSettings.ImageType, - queryKey: ['ItemsViewByType'] + queryKey: ['ItemsViewByType'], + serverId: __legacyApiClient__?.serverId() }; if ( diff --git a/src/apps/experimental/components/library/ProgramsSectionView.tsx b/src/apps/experimental/components/library/ProgramsSectionView.tsx index d1a7bfdb8a..87b882dd0b 100644 --- a/src/apps/experimental/components/library/ProgramsSectionView.tsx +++ b/src/apps/experimental/components/library/ProgramsSectionView.tsx @@ -1,4 +1,5 @@ import React, { type FC } from 'react'; +import { useApi } from 'hooks/useApi'; import { useGetProgramsSectionsWithItems, useGetTimers } from 'hooks/useFetchItems'; import { appRouter } from 'components/router/appRouter'; import globalize from 'lib/globalize'; @@ -20,6 +21,7 @@ const ProgramsSectionView: FC = ({ sectionType, isUpcomingRecordingsEnabled = false }) => { + const { __legacyApiClient__ } = useApi(); const { isLoading, data: sectionsWithItems, refetch } = useGetProgramsSectionsWithItems(parentId, sectionType); const { isLoading: isUpcomingRecordingsLoading, @@ -63,7 +65,8 @@ const ProgramsSectionView: FC = ({ items={items} cardOptions={{ ...section.cardOptions, - queryKey: ['ProgramSectionWithItems'] + queryKey: ['ProgramSectionWithItems'], + serverId: __legacyApiClient__?.serverId() }} /> ))} @@ -95,7 +98,8 @@ const ProgramsSectionView: FC = ({ coverImage: true, allowBottomPadding: false, overlayText: false, - showChannelLogo: true + showChannelLogo: true, + serverId: __legacyApiClient__?.serverId() }} /> ))} diff --git a/src/apps/experimental/components/library/SuggestionsSectionView.tsx b/src/apps/experimental/components/library/SuggestionsSectionView.tsx index c036451e7f..0aa346b94f 100644 --- a/src/apps/experimental/components/library/SuggestionsSectionView.tsx +++ b/src/apps/experimental/components/library/SuggestionsSectionView.tsx @@ -1,6 +1,8 @@ import type { RecommendationDto } from '@jellyfin/sdk/lib/generated-client/models/recommendation-dto'; import { RecommendationType } from '@jellyfin/sdk/lib/generated-client/models/recommendation-type'; import React, { type FC } from 'react'; + +import { useApi } from 'hooks/useApi'; import { useGetMovieRecommendations, useGetSuggestionSectionsWithItems @@ -26,6 +28,7 @@ const SuggestionsSectionView: FC = ({ sectionType, isMovieRecommendationEnabled = false }) => { + const { __legacyApiClient__ } = useApi(); const { isLoading, data: sectionsWithItems } = useGetSuggestionSectionsWithItems(parentId, sectionType); @@ -106,7 +109,8 @@ const SuggestionsSectionView: FC = ({ showTitle: true, centerText: true, cardLayout: false, - overlayText: false + overlayText: false, + serverId: __legacyApiClient__?.serverId() }} /> ))} @@ -130,7 +134,8 @@ const SuggestionsSectionView: FC = ({ overlayPlayButton: true, showTitle: true, centerText: true, - cardLayout: false + cardLayout: false, + serverId: __legacyApiClient__?.serverId() }} /> ))} diff --git a/src/apps/experimental/components/library/UpcomingView.tsx b/src/apps/experimental/components/library/UpcomingView.tsx index bef4fc36bc..da80eaca0e 100644 --- a/src/apps/experimental/components/library/UpcomingView.tsx +++ b/src/apps/experimental/components/library/UpcomingView.tsx @@ -1,4 +1,6 @@ import React, { type FC } from 'react'; + +import { useApi } from 'hooks/useApi'; import { useGetGroupsUpcomingEpisodes } from 'hooks/useFetchItems'; import Loading from 'components/loading/LoadingComponent'; import NoItemsMessage from 'components/common/NoItemsMessage'; @@ -6,7 +8,9 @@ import SectionContainer from 'components/common/SectionContainer'; import { CardShape } from 'utils/card'; import type { LibraryViewProps } from 'types/library'; +// eslint-disable-next-line sonarjs/function-return-type const UpcomingView: FC = ({ parentId }) => { + const { __legacyApiClient__ } = useApi(); const { isLoading, data: groupsUpcomingEpisodes } = useGetGroupsUpcomingEpisodes(parentId); @@ -35,7 +39,8 @@ const UpcomingView: FC = ({ parentId }) => { showDetailsMenu: true, missingIndicator: false, cardLayout: false, - queryKey: ['GroupsUpcomingEpisodes'] + queryKey: ['GroupsUpcomingEpisodes'], + serverId: __legacyApiClient__?.serverId() }} /> )); diff --git a/src/apps/experimental/routes/legacyRoutes/public.ts b/src/apps/experimental/routes/legacyRoutes/public.ts index 4fdb6a9395..1fec40eaad 100644 --- a/src/apps/experimental/routes/legacyRoutes/public.ts +++ b/src/apps/experimental/routes/legacyRoutes/public.ts @@ -53,7 +53,7 @@ export const LEGACY_PUBLIC_ROUTES: LegacyRoute[] = [ { path: 'wizardlibrary.html', pageProps: { - controller: 'dashboard/library', + controller: 'wizard/library', view: 'wizard/library.html' } }, diff --git a/src/apps/experimental/routes/video/index.tsx b/src/apps/experimental/routes/video/index.tsx index f9322352d5..b3ded898a8 100644 --- a/src/apps/experimental/routes/video/index.tsx +++ b/src/apps/experimental/routes/video/index.tsx @@ -46,6 +46,7 @@ const VideoPage: FC = () => { diff --git a/src/apps/stable/features/playback/types/callbacks.ts b/src/apps/stable/features/playback/types/callbacks.ts index 1bede1b2c0..4eb039a71e 100644 --- a/src/apps/stable/features/playback/types/callbacks.ts +++ b/src/apps/stable/features/playback/types/callbacks.ts @@ -17,6 +17,7 @@ export interface MovedItem { playlistItemId: string } +// eslint-disable-next-line sonarjs/redundant-type-aliases export type PlayerErrorCode = string; export interface PlayerStopInfo { diff --git a/src/apps/stable/features/playback/utils/itemText.test.ts b/src/apps/stable/features/playback/utils/itemText.test.ts new file mode 100644 index 0000000000..53c8d707ed --- /dev/null +++ b/src/apps/stable/features/playback/utils/itemText.test.ts @@ -0,0 +1,102 @@ +import { MediaType } from '@jellyfin/sdk/lib/generated-client/models/media-type'; +import { describe, expect, it } from 'vitest'; + +import type { ItemDto } from 'types/base/models/item-dto'; + +import { getItemTextLines } from './itemText'; + +describe('getItemTextLines', () => { + it('Should return undefined if item is invalid', () => { + let lines = getItemTextLines({}); + expect(lines).toBeUndefined(); + lines = getItemTextLines(null); + expect(lines).toBeUndefined(); + lines = getItemTextLines(undefined); + expect(lines).toBeUndefined(); + }); + + it('Should return the name and index number', () => { + const item: ItemDto = { + Name: 'Item Name' + }; + let lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(1); + expect(lines?.[0]).toBe(item.Name); + + item.MediaType = MediaType.Video; + item.IndexNumber = 5; + lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(1); + expect(lines?.[0]).toBe(`${item.IndexNumber} - ${item.Name}`); + + item.ParentIndexNumber = 2; + lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(1); + expect(lines?.[0]).toBe(`${item.ParentIndexNumber}.${item.IndexNumber} - ${item.Name}`); + }); + + it('Should add artist names', () => { + let item: ItemDto = { + Name: 'Item Name', + ArtistItems: [ + { Name: 'Artist 1' }, + { Name: 'Artist 2' } + ] + }; + let lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(2); + expect(lines?.[0]).toBe(item.Name); + expect(lines?.[1]).toBe('Artist 1, Artist 2'); + + item = { + Name: 'Item Name', + Artists: [ + 'Artist 1', + 'Artist 2' + ] + }; + lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(2); + expect(lines?.[0]).toBe(item.Name); + expect(lines?.[1]).toBe('Artist 1, Artist 2'); + }); + + it('Should add album or series name', () => { + let item: ItemDto = { + Name: 'Item Name', + SeriesName: 'Series' + }; + let lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(2); + expect(lines?.[0]).toBe(item.SeriesName); + expect(lines?.[1]).toBe(item.Name); + + item = { + Name: 'Item Name', + Album: 'Album' + }; + lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(2); + expect(lines?.[0]).toBe(item.Album); + expect(lines?.[1]).toBe(item.Name); + }); + + it('Should add production year', () => { + const item = { + Name: 'Item Name', + ProductionYear: 2025 + }; + const lines = getItemTextLines(item); + expect(lines).toBeDefined(); + expect(lines).toHaveLength(2); + expect(lines?.[0]).toBe(item.Name); + expect(lines?.[1]).toBe(String(item.ProductionYear)); + }); +}); diff --git a/src/apps/stable/features/playback/utils/itemText.ts b/src/apps/stable/features/playback/utils/itemText.ts new file mode 100644 index 0000000000..ae8dc837f7 --- /dev/null +++ b/src/apps/stable/features/playback/utils/itemText.ts @@ -0,0 +1,44 @@ +import { MediaType } from '@jellyfin/sdk/lib/generated-client/models/media-type'; + +import type { ItemDto } from 'types/base/models/item-dto'; + +/** + * Gets lines of text used to describe an item for display. + * @param nowPlayingItem The item to describe + * @param isYearIncluded Should the production year be included + * @returns The list of strings describing the item for display + */ +export function getItemTextLines( + nowPlayingItem: ItemDto | null | undefined, + isYearIncluded = true +) { + let line1 = nowPlayingItem?.Name; + if (nowPlayingItem?.MediaType === MediaType.Video) { + if (nowPlayingItem.IndexNumber != null) { + line1 = nowPlayingItem.IndexNumber + ' - ' + line1; + } + if (nowPlayingItem.ParentIndexNumber != null) { + line1 = nowPlayingItem.ParentIndexNumber + '.' + line1; + } + } + + let line2: string | null | undefined; + if (nowPlayingItem?.ArtistItems?.length) { + line2 = nowPlayingItem.ArtistItems.map(a => a.Name).join(', '); + } else if (nowPlayingItem?.Artists?.length) { + line2 = nowPlayingItem.Artists.join(', '); + } else if (nowPlayingItem?.SeriesName || nowPlayingItem?.Album) { + line2 = line1; + line1 = nowPlayingItem.SeriesName || nowPlayingItem.Album; + } else if (nowPlayingItem?.ProductionYear && isYearIncluded) { + line2 = String(nowPlayingItem.ProductionYear); + } + + if (!line1) return; + + const lines = [ line1 ]; + + if (line2) lines.push(line2); + + return lines; +} diff --git a/src/apps/stable/features/playback/utils/mediaSessionSubscriber.ts b/src/apps/stable/features/playback/utils/mediaSessionSubscriber.ts index d5287e065c..911635bbf4 100644 --- a/src/apps/stable/features/playback/utils/mediaSessionSubscriber.ts +++ b/src/apps/stable/features/playback/utils/mediaSessionSubscriber.ts @@ -1,8 +1,8 @@ import { MediaType } from '@jellyfin/sdk/lib/generated-client/models/media-type'; import { getImageUrl } from 'apps/stable/features/playback/utils/image'; +import { getItemTextLines } from 'apps/stable/features/playback/utils/itemText'; import { PlaybackSubscriber } from 'apps/stable/features/playback/utils/playbackSubscriber'; -import { getNowPlayingNames } from 'components/playback/nowplayinghelper'; import type { PlaybackManager } from 'components/playback/playbackmanager'; import { MILLISECONDS_PER_SECOND, TICKS_PER_MILLISECOND } from 'constants/time'; import browser from 'scripts/browser'; @@ -110,11 +110,11 @@ class MediaSessionSubscriber extends PlaybackSubscriber { } const album = item.Album || undefined; - const [ line1, line2 ] = getNowPlayingNames(item, false) || []; + const [ line1, line2 ] = getItemTextLines(item, false) || []; // The artist will be the second line if present or the first line otherwise - const artist = (line2 || line1)?.text; + const artist = line2 || line1; // The title will be the first line if there are two lines - const title = (line2 && line1)?.text; + const title = line2 && line1; if (hasNavigatorSession) { if ( diff --git a/src/apps/stable/routes/legacyRoutes/public.ts b/src/apps/stable/routes/legacyRoutes/public.ts index 4fdb6a9395..1fec40eaad 100644 --- a/src/apps/stable/routes/legacyRoutes/public.ts +++ b/src/apps/stable/routes/legacyRoutes/public.ts @@ -53,7 +53,7 @@ export const LEGACY_PUBLIC_ROUTES: LegacyRoute[] = [ { path: 'wizardlibrary.html', pageProps: { - controller: 'dashboard/library', + controller: 'wizard/library', view: 'wizard/library.html' } }, diff --git a/src/components/ConfirmDialog.tsx b/src/components/ConfirmDialog.tsx index 08efb3dd2b..bc3c31ced1 100644 --- a/src/components/ConfirmDialog.tsx +++ b/src/components/ConfirmDialog.tsx @@ -27,7 +27,7 @@ const ConfirmDialog: FC = ({ onConfirm, ...dialogProps }) => ( - + {title} diff --git a/src/components/MarkdownBox.tsx b/src/components/MarkdownBox.tsx index b5023ce1eb..5274b7e796 100644 --- a/src/components/MarkdownBox.tsx +++ b/src/components/MarkdownBox.tsx @@ -16,6 +16,7 @@ const MarkdownBox: FC = ({ ; + /** * Page component that handles hiding active non-react views, triggering the required events for * navigation and appRouter state updates, and setting the correct classes and data attributes. */ -const Page: FC>> = ({ +const Page: FC> = ({ children, id, className = '', diff --git a/src/components/SimpleAlert.tsx b/src/components/SimpleAlert.tsx new file mode 100644 index 0000000000..5322662d7d --- /dev/null +++ b/src/components/SimpleAlert.tsx @@ -0,0 +1,38 @@ +import Button from '@mui/material/Button'; +import Dialog, { type DialogProps } from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import globalize from 'lib/globalize'; +import React from 'react'; + +interface SimpleAlertDialog extends DialogProps { + title?: string; + text: string; + onClose: () => void +}; + +const SimpleAlert = ({ open, title, text, onClose }: SimpleAlertDialog) => { + return ( + + {title && ( + + {title} + + )} + + + {text} + + + + + + + ); +}; + +export default SimpleAlert; diff --git a/src/components/alphaPicker/style.scss b/src/components/alphaPicker/style.scss index 66410efafd..a1fefcf0a8 100644 --- a/src/components/alphaPicker/style.scss +++ b/src/components/alphaPicker/style.scss @@ -1,4 +1,4 @@ -@import '../../styles/mixins'; +@use '../../styles/mixins' as *; .alphaPicker { text-align: center; diff --git a/src/components/cardbuilder/Card/CardText.tsx b/src/components/cardbuilder/Card/CardText.tsx index b95a6adb03..b1230c5ec8 100644 --- a/src/components/cardbuilder/Card/CardText.tsx +++ b/src/components/cardbuilder/Card/CardText.tsx @@ -9,6 +9,7 @@ interface CardTextProps { const CardText: FC = ({ className, textLine }) => { const { title, titleAction } = textLine; + // eslint-disable-next-line sonarjs/function-return-type const renderCardText = () => { if (titleAction) { return ( diff --git a/src/components/cardbuilder/Card/cardHelper.ts b/src/components/cardbuilder/Card/cardHelper.ts index e64e7bfdd1..070c8085df 100644 --- a/src/components/cardbuilder/Card/cardHelper.ts +++ b/src/components/cardbuilder/Card/cardHelper.ts @@ -82,7 +82,7 @@ export function getTextActionButton( }; } - const url = appRouter.getRouteUrl(item); + const url = appRouter.getRouteUrl(item, { serverId }); const dataAttributes = getDataAttributes( { @@ -323,7 +323,7 @@ function shouldShowMediaTitle( } function shouldShowExtraType(itemExtraType: NullableString) { - return itemExtraType && itemExtraType !== 'Unknown'; + return !!(itemExtraType && itemExtraType !== 'Unknown'); } function shouldShowSeriesYearOrYear( @@ -351,7 +351,7 @@ function shouldShowPersonRoleOrType( showPersonRoleOrType: boolean | undefined, item: ItemDto ) { - return showPersonRoleOrType && (item as BaseItemPerson).Role; + return !!(showPersonRoleOrType && (item as BaseItemPerson).Role); } function shouldShowParentTitle( diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js index bdcc0f8aea..54e9d33a8e 100644 --- a/src/components/cardbuilder/cardBuilder.js +++ b/src/components/cardbuilder/cardBuilder.js @@ -195,6 +195,7 @@ function buildCardsHtmlInternal(items, options) { if (isVertical) { html += '
'; } + // eslint-disable-next-line sonarjs/no-dead-store hasOpenSection = false; } @@ -215,6 +216,7 @@ function buildCardsHtmlInternal(items, options) { if (options.rows && itemsInRow === 0) { if (hasOpenRow) { html += ''; + // eslint-disable-next-line sonarjs/no-dead-store hasOpenRow = false; } @@ -704,7 +706,8 @@ function getCardFooterText(item, apiClient, options, footerClass, progressHtml, if (item.Role) { if ([ PersonKind.Actor, PersonKind.GuestStar ].includes(item.Type)) { // List actor roles formatted like "as Character Name" - lines.push(globalize.translate('PersonRole', escapeHtml(item.Role))); + const roleText = globalize.translate('PersonRole', escapeHtml(item.Role)); + lines.push(`${roleText}`); } else if (item.Role.toLowerCase() === item.Type.toLowerCase()) { // Role and Type are the same so use the localized Type lines.push(escapeHtml(globalize.translate(item.Type))); diff --git a/src/components/dashboard/users/AccessScheduleList.tsx b/src/components/dashboard/users/AccessScheduleList.tsx index 91a789017f..a88a6c61b5 100644 --- a/src/components/dashboard/users/AccessScheduleList.tsx +++ b/src/components/dashboard/users/AccessScheduleList.tsx @@ -4,7 +4,7 @@ import globalize from '../../../lib/globalize'; import IconButtonElement from '../../../elements/IconButtonElement'; type AccessScheduleListProps = { - index: number; + index?: number; DayOfWeek?: string; StartHour?: number ; EndHour?: number; diff --git a/src/components/favoriteitems.js b/src/components/favoriteitems.js index 8a1b5c4738..e3e33be2f3 100644 --- a/src/components/favoriteitems.js +++ b/src/components/favoriteitems.js @@ -3,7 +3,6 @@ import globalize from 'lib/globalize'; import { getBackdropShape, getPortraitShape, getSquareShape } from 'utils/card'; import { getParameterByName } from 'utils/url'; -import { appHost } from './apphost'; import cardBuilder from './cardbuilder/cardBuilder'; import imageLoader from './images/imageLoader'; import layoutManager from './layoutManager'; @@ -160,8 +159,10 @@ function loadSection(elem, userId, topParentId, section, isSingleSection) { html += '
'; } - let cardLayout = appHost.preferVisualCards && section.autoCardLayout && section.showTitle; - cardLayout = false; + // NOTE: Why is card layout always disabled? + // let cardLayout = appHost.preferVisualCards && section.autoCardLayout && section.showTitle; + const cardLayout = false; + html += cardBuilder.getCardsHtml(result.Items, { preferThumb: section.preferThumb, shape: section.shape, diff --git a/src/components/fetchhelper.js b/src/components/fetchhelper.js index f63fa62ced..9de1dd7e3e 100644 --- a/src/components/fetchhelper.js +++ b/src/components/fetchhelper.js @@ -74,6 +74,7 @@ function fetchWithTimeout(url, options, timeoutMs) { */ function paramsToString(params) { return Object.entries(params) + // eslint-disable-next-line sonarjs/different-types-comparison .filter(([, v]) => v !== null && v !== undefined && v !== '') .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`) .join('&'); diff --git a/src/components/focusManager.js b/src/components/focusManager.js index 8dd0f6dd51..dc58fcc584 100644 --- a/src/components/focusManager.js +++ b/src/components/focusManager.js @@ -389,6 +389,7 @@ function intersectsInternal(a1, a2, b1, b2) { } function intersects(a1, a2, b1, b2) { + // eslint-disable-next-line sonarjs/arguments-order return intersectsInternal(a1, a2, b1, b2) || intersectsInternal(b1, b2, a1, a2); } diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index ab1a215656..f876568ce4 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -80,7 +80,7 @@ export function handleHlsJsMediaError(instance, reject) { let now = Date.now(); if (window.performance?.now) { - now = performance.now(); // eslint-disable-line compat/compat + now = performance.now(); } if (!recoverDecodingErrorDate || (now - recoverDecodingErrorDate) > 3000) { @@ -373,6 +373,7 @@ export function getBufferedRanges(instance, elem) { start = 0; } if (!isValidDuration(end)) { + // eslint-disable-next-line sonarjs/no-dead-store end = 0; continue; } diff --git a/src/components/listview/listview.js b/src/components/listview/listview.js index 8240ee047b..916b9a44a1 100644 --- a/src/components/listview/listview.js +++ b/src/components/listview/listview.js @@ -417,6 +417,7 @@ export function getListViewHtml(options) { } if (enableOverview && item.Overview) { + // eslint-disable-next-line sonarjs/disabled-auto-escaping const overview = DOMPurify.sanitize(markdownIt({ html: true }).render(item.Overview || '')); html += '
'; html += '' + overview + ''; diff --git a/src/components/mediaLibraryCreator/mediaLibraryCreator.js b/src/components/mediaLibraryCreator/mediaLibraryCreator.js index cb2a85dbbf..81e957e342 100644 --- a/src/components/mediaLibraryCreator/mediaLibraryCreator.js +++ b/src/components/mediaLibraryCreator/mediaLibraryCreator.js @@ -42,9 +42,21 @@ function onAddLibrary(e) { isCreating = true; loading.show(); const dlg = dom.parentWithClass(this, 'dlg-librarycreator'); - const name = dlg.querySelector('#txtValue').value; + const name = dlg.querySelector('#txtValue').value.trim(); let type = dlg.querySelector('#selectCollectionType').value; + if (name.length === 0) { + alert({ + text: globalize.translate('LibraryNameInvalid'), + type: 'error' + }); + + isCreating = false; + loading.hide(); + + return false; + } + if (type == 'mixed') { type = null; } diff --git a/src/components/mediainfo/MediaInfoItem.tsx b/src/components/mediainfo/MediaInfoItem.tsx index 35159ddfc6..58ce9952c2 100644 --- a/src/components/mediainfo/MediaInfoItem.tsx +++ b/src/components/mediainfo/MediaInfoItem.tsx @@ -13,6 +13,7 @@ interface MediaInfoItemProps { const MediaInfoItem: FC = ({ className, miscInfo }) => { const { text, textAction, cssClass, type } = miscInfo; + // eslint-disable-next-line sonarjs/function-return-type const renderText = () => { if (textAction) { return ( diff --git a/src/components/multiSelect/multiSelect.scss b/src/components/multiSelect/multiSelect.scss index 317d274683..351b6192b3 100644 --- a/src/components/multiSelect/multiSelect.scss +++ b/src/components/multiSelect/multiSelect.scss @@ -1,4 +1,4 @@ -@import '../../styles/mixins'; +@use '../../styles/mixins' as *; .itemSelectionPanel { position: absolute; diff --git a/src/components/nowPlayingBar/nowPlayingBar.js b/src/components/nowPlayingBar/nowPlayingBar.js index 3e205651b2..c16b167d0d 100644 --- a/src/components/nowPlayingBar/nowPlayingBar.js +++ b/src/components/nowPlayingBar/nowPlayingBar.js @@ -1,11 +1,13 @@ +import { getImageUrl } from 'apps/stable/features/playback/utils/image'; +import { getItemTextLines } from 'apps/stable/features/playback/utils/itemText'; import { appRouter, isLyricsPage } from 'components/router/appRouter'; + import datetime from '../../scripts/datetime'; import Events from '../../utils/events.ts'; import browser from '../../scripts/browser'; import imageLoader from '../images/imageLoader'; import layoutManager from '../layoutManager'; import { playbackManager } from '../playback/playbackmanager'; -import nowPlayingHelper from '../playback/nowplayinghelper'; import { appHost } from '../apphost'; import dom from '../../scripts/dom'; import globalize from 'lib/globalize'; @@ -17,7 +19,6 @@ import appFooter from '../appFooter/appFooter'; import itemShortcuts from '../shortcuts'; import './nowPlayingBar.scss'; import '../../elements/emby-slider/emby-slider'; -import { getImageUrl } from 'apps/stable/features/playback/utils/image'; let currentPlayer; let currentPlayerSupportedCommands = []; @@ -474,24 +475,21 @@ function setLyricButtonActiveStatus() { function updateNowPlayingInfo(state) { const nowPlayingItem = state.NowPlayingItem; - const textLines = nowPlayingItem ? nowPlayingHelper.getNowPlayingNames(nowPlayingItem) : []; + const textLines = nowPlayingItem ? getItemTextLines(nowPlayingItem) : undefined; nowPlayingTextElement.innerHTML = ''; if (textLines) { const itemText = document.createElement('div'); const secondaryText = document.createElement('div'); secondaryText.classList.add('nowPlayingBarSecondaryText'); - if (textLines.length > 1) { - textLines[1].secondary = true; - if (textLines[1].text) { - const text = document.createElement('a'); - text.innerText = textLines[1].text; - secondaryText.appendChild(text); - } + if (textLines.length > 1 && textLines[1]) { + const text = document.createElement('a'); + text.innerText = textLines[1]; + secondaryText.appendChild(text); } - if (textLines[0].text) { + if (textLines[0]) { const text = document.createElement('a'); - text.innerText = textLines[0].text; + text.innerText = textLines[0]; itemText.appendChild(text); } nowPlayingTextElement.appendChild(itemText); diff --git a/src/components/playback/displayMirrorManager.ts b/src/components/playback/displayMirrorManager.ts index a8a7b1b7a1..00856421fa 100644 --- a/src/components/playback/displayMirrorManager.ts +++ b/src/components/playback/displayMirrorManager.ts @@ -17,8 +17,8 @@ async function mirrorIfEnabled(serverId: string, itemId: string) { try { const item = await queryClient.fetchQuery(getItemQuery( api, - userId, - itemId)); + itemId, + userId)); playbackManager.displayContent({ ItemName: item.Name, diff --git a/src/components/playback/nowplayinghelper.js b/src/components/playback/nowplayinghelper.js deleted file mode 100644 index 7c5dccaf35..0000000000 --- a/src/components/playback/nowplayinghelper.js +++ /dev/null @@ -1,78 +0,0 @@ -export function getNowPlayingNames(nowPlayingItem, includeNonNameInfo) { - let topItem = nowPlayingItem; - let bottomItem = null; - let topText = nowPlayingItem.Name; - - if (nowPlayingItem.AlbumId && nowPlayingItem.MediaType === 'Audio') { - topItem = { - Id: nowPlayingItem.AlbumId, - Name: nowPlayingItem.Album, - Type: 'MusicAlbum', - IsFolder: true - }; - } - - if (nowPlayingItem.MediaType === 'Video') { - if (nowPlayingItem.IndexNumber != null) { - topText = nowPlayingItem.IndexNumber + ' - ' + topText; - } - if (nowPlayingItem.ParentIndexNumber != null) { - topText = nowPlayingItem.ParentIndexNumber + '.' + topText; - } - } - - let bottomText = ''; - - if (nowPlayingItem.ArtistItems?.length) { - bottomItem = { - Id: nowPlayingItem.ArtistItems[0].Id, - Name: nowPlayingItem.ArtistItems[0].Name, - Type: 'MusicArtist', - IsFolder: true - }; - - bottomText = nowPlayingItem.ArtistItems.map(function (a) { - return a.Name; - }).join(', '); - } else if (nowPlayingItem.Artists?.length) { - bottomText = nowPlayingItem.Artists.join(', '); - } else if (nowPlayingItem.SeriesName || nowPlayingItem.Album) { - bottomText = topText; - topText = nowPlayingItem.SeriesName || nowPlayingItem.Album; - - bottomItem = topItem; - - if (nowPlayingItem.SeriesId) { - topItem = { - Id: nowPlayingItem.SeriesId, - Name: nowPlayingItem.SeriesName, - Type: 'Series', - IsFolder: true - }; - } else { - topItem = null; - } - } else if (nowPlayingItem.ProductionYear && includeNonNameInfo !== false) { - bottomText = nowPlayingItem.ProductionYear; - } - - const list = []; - - list.push({ - text: topText, - item: topItem - }); - - if (bottomText) { - list.push({ - text: bottomText, - item: bottomItem - }); - } - - return list; -} - -export default { - getNowPlayingNames: getNowPlayingNames -}; diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index de0c50e57d..f4e8ec02c1 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -208,6 +208,7 @@ function getMimeType(type, container) { } function getParam(name, url) { + // eslint-disable-next-line sonarjs/single-char-in-character-classes name = name.replace(/[[]/, '\\[').replace(/[\]]/, '\\]'); const regexS = '[\\?&]' + name + '=([^&#]*)'; const regex = new RegExp(regexS, 'i'); @@ -2115,6 +2116,7 @@ export class PlaybackManager { if (!state) { playerStates[player.name] = {}; + // eslint-disable-next-line sonarjs/no-dead-store state = playerStates[player.name]; } diff --git a/src/components/playback/skipsegment.ts b/src/components/playback/skipsegment.ts index b73576c721..a6d3373b10 100644 --- a/src/components/playback/skipsegment.ts +++ b/src/components/playback/skipsegment.ts @@ -90,6 +90,7 @@ class SkipSegment extends PlaybackSubscriber { elem.classList.remove('no-transition'); } + // eslint-disable-next-line sonarjs/void-use void elem.offsetWidth; const hasFocus = document.activeElement && focusManager.isCurrentlyFocusable(document.activeElement); @@ -111,6 +112,7 @@ class SkipSegment extends PlaybackSubscriber { const elem = this.skipElement; if (elem) { elem.classList.remove('no-transition'); + // eslint-disable-next-line sonarjs/void-use void elem.offsetWidth; requestAnimationFrame(() => { diff --git a/src/components/remotecontrol/remotecontrol.js b/src/components/remotecontrol/remotecontrol.js index 8702da65a6..b4344b5f1f 100644 --- a/src/components/remotecontrol/remotecontrol.js +++ b/src/components/remotecontrol/remotecontrol.js @@ -1,10 +1,13 @@ import escapeHtml from 'escape-html'; + +import { getImageUrl } from 'apps/stable/features/playback/utils/image'; +import { getItemTextLines } from 'apps/stable/features/playback/utils/itemText'; + import datetime from '../../scripts/datetime'; import { clearBackdrop, setBackdrops } from '../backdrop/backdrop'; import listView from '../listview/listview'; import imageLoader from '../images/imageLoader'; import { playbackManager } from '../playback/playbackmanager'; -import nowPlayingHelper from '../playback/nowplayinghelper'; import Events from '../../utils/events.ts'; import { appHost } from '../apphost'; import globalize from '../../lib/globalize'; @@ -22,7 +25,6 @@ import ServerConnections from '../ServerConnections'; import toast from '../toast/toast'; import { appRouter } from '../router/appRouter'; import { getDefaultBackgroundClass } from '../cardbuilder/cardBuilderUtils'; -import { getImageUrl } from 'apps/stable/features/playback/utils/image'; let showMuteButton = true; let showVolumeSlider = true; @@ -86,15 +88,11 @@ function showSubtitleMenu(context, player, button) { }); } -function getNowPlayingNameHtml(nowPlayingItem, includeNonNameInfo) { - return nowPlayingHelper.getNowPlayingNames(nowPlayingItem, includeNonNameInfo).map(function (i) { - return escapeHtml(i.text); - }).join('
'); -} - function updateNowPlayingInfo(context, state, serverId) { const item = state.NowPlayingItem; - const displayName = item ? getNowPlayingNameHtml(item).replace('
', ' - ') : ''; + const displayName = item ? + getItemTextLines(item).map(escapeHtml).join(' - ') : + ''; if (item) { const nowPlayingServerId = (item.ServerId || serverId); if (item.Type == 'AudioBook' || item.Type == 'Audio' || item.MediaStreams[0].Type == 'Audio') { diff --git a/src/components/remotecontrol/remotecontrol.scss b/src/components/remotecontrol/remotecontrol.scss index d89d9192e5..ecab697a39 100644 --- a/src/components/remotecontrol/remotecontrol.scss +++ b/src/components/remotecontrol/remotecontrol.scss @@ -1,4 +1,4 @@ -@import '../../styles/mixins'; +@use '../../styles/mixins' as *; .nowPlayingPage { padding: 5em 0 0 0 !important; diff --git a/src/components/router/appRouter.js b/src/components/router/appRouter.js index 6e156073b3..a56a7209ac 100644 --- a/src/components/router/appRouter.js +++ b/src/components/router/appRouter.js @@ -142,7 +142,7 @@ class AppRouter { const userId = apiClient.getCurrentUserId(); queryClient - .fetchQuery(getItemQuery(api, userId, item)) + .fetchQuery(getItemQuery(api, item, userId)) .then(itemObject => { this.showItem(itemObject, options); }) diff --git a/src/components/sanitizeFilename.js b/src/components/sanitizeFilename.js index 77e06d359c..d0e32164f3 100644 --- a/src/components/sanitizeFilename.js +++ b/src/components/sanitizeFilename.js @@ -1,11 +1,14 @@ // TODO: Check if needed and move to external dependency // From https://github.com/parshap/node-sanitize-filename +// eslint-disable-next-line sonarjs/duplicates-in-character-class const illegalRe = /[/?<>\\:*|":]/g; -// eslint-disable-next-line no-control-regex +// eslint-disable-next-line no-control-regex, sonarjs/no-control-regex const controlRe = /[\x00-\x1f\x80-\x9f]/g; const reservedRe = /^\.+$/; +// eslint-disable-next-line sonarjs/concise-regex const windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i; +// eslint-disable-next-line sonarjs/slow-regex const windowsTrailingRe = /[. ]+$/; function isHighSurrogate(codePoint) { @@ -64,6 +67,7 @@ function truncate(string, byteLength) { segment = string[i]; if (isHighSurrogate(codePoint) && isLowSurrogate(string.charCodeAt(i + 1))) { + // eslint-disable-next-line sonarjs/updated-loop-counter i += 1; segment += string[i]; } diff --git a/src/components/themeMediaPlayer.js b/src/components/themeMediaPlayer.js index 87d86b7a4b..cda0ddc97b 100644 --- a/src/components/themeMediaPlayer.js +++ b/src/components/themeMediaPlayer.js @@ -10,6 +10,7 @@ import { queryClient } from 'utils/query/queryClient'; import { playbackManager } from './playback/playbackmanager'; import ServerConnections from './ServerConnections'; +import { ItemSortBy } from '@jellyfin/sdk/lib/generated-client'; let currentOwnerId; let currentThemeIds = []; @@ -83,8 +84,9 @@ async function loadThemeMedia(serverId, itemId) { try { const item = await queryClient.fetchQuery(getItemQuery( api, - userId, - itemId)); + itemId, + userId + )); if (item.CollectionType) { stopIfPlaying(); @@ -96,8 +98,12 @@ async function loadThemeMedia(serverId, itemId) { return; } - const { data: themeMedia } = await getLibraryApi(api) - .getThemeMedia({ userId, itemId: item.Id, inheritFromParent: true }); + const { data: themeMedia } = await getLibraryApi(api).getThemeMedia({ + userId, + itemId: item.Id, + inheritFromParent: true, + sortBy: [ItemSortBy.Random] + }); const result = userSettings.enableThemeVideos() && themeMedia.ThemeVideosResult?.Items?.length ? themeMedia.ThemeVideosResult : themeMedia.ThemeSongsResult; diff --git a/src/components/toast/toast.scss b/src/components/toast/toast.scss index da9b505a26..e1a4e1721a 100644 --- a/src/components/toast/toast.scss +++ b/src/components/toast/toast.scss @@ -1,4 +1,4 @@ -@import '../../styles/mixins'; +@use '../../styles/mixins' as *; .toastContainer { position: fixed; diff --git a/src/components/toolbar/AppToolbar.tsx b/src/components/toolbar/AppToolbar.tsx index c06355a2db..4c34aaf3c1 100644 --- a/src/components/toolbar/AppToolbar.tsx +++ b/src/components/toolbar/AppToolbar.tsx @@ -17,6 +17,7 @@ interface AppToolbarProps { isDrawerAvailable: boolean isDrawerOpen: boolean onDrawerButtonClick?: (event: React.MouseEvent) => void, + isFullscreen?: boolean, isUserMenuAvailable?: boolean } @@ -33,6 +34,7 @@ const AppToolbar: FC> = ({ isDrawerAvailable, isDrawerOpen, onDrawerButtonClick = () => { /* no-op */ }, + isFullscreen = false, isUserMenuAvailable = true }) => { const { user } = useApi(); @@ -40,6 +42,9 @@ const AppToolbar: FC> = ({ const isBackButtonAvailable = appRouter.canGoBack(); + // Only use the left safe area padding when the drawer is not pinned or in a fullscreen view + const useSafeAreaLeft = isDrawerAvailable || isFullscreen; + return ( > = ({ flexWrap: { xs: 'wrap', lg: 'nowrap' + }, + ...(useSafeAreaLeft && { + pl: { + xs: 'max(16px, env(safe-area-inset-left))', + sm: 'max(24px, env(safe-area-inset-left))' + } + }), + pr: { + xs: 'max(16px, env(safe-area-inset-left))', + sm: 'max(24px, env(safe-area-inset-left))' } }} > diff --git a/src/components/viewManager/ViewManagerPage.tsx b/src/components/viewManager/ViewManagerPage.tsx index 3f6d258d98..1aea49ba64 100644 --- a/src/components/viewManager/ViewManagerPage.tsx +++ b/src/components/viewManager/ViewManagerPage.tsx @@ -33,17 +33,33 @@ interface ViewOptions { } } +const importController = ( + appType: AppType, + controller: string, + view: string +) => { + if (appType === AppType.Dashboard) { + return Promise.all([ + import(/* webpackChunkName: "[request]" */ `../../apps/dashboard/controllers/${controller}`), + import(/* webpackChunkName: "[request]" */ `../../apps/dashboard/controllers/${view}`) + .then(html => globalize.translateHtml(html)) + ]); + } + + return Promise.all([ + import(/* webpackChunkName: "[request]" */ `../../controllers/${controller}`), + import(/* webpackChunkName: "[request]" */ `../../controllers/${view}`) + .then(html => globalize.translateHtml(html)) + ]); +}; + const loadView = async ( appType: AppType, controller: string, view: string, viewOptions: ViewOptions ) => { - const [ controllerFactory, viewHtml ] = await Promise.all([ - import(/* webpackChunkName: "[request]" */ `../../controllers/${controller}`), - import(/* webpackChunkName: "[request]" */ `../../controllers/${view}`) - .then(html => globalize.translateHtml(html)) - ]); + const [ controllerFactory, viewHtml ] = await importController(appType, controller, view); viewManager.loadView({ ...viewOptions, diff --git a/src/controllers/dashboard/devices/device.html b/src/controllers/dashboard/devices/device.html deleted file mode 100644 index 45dd733f72..0000000000 --- a/src/controllers/dashboard/devices/device.html +++ /dev/null @@ -1,23 +0,0 @@ -
-
-
-
-
-
-

-
- -
- -
${LabelCustomDeviceDisplayNameHelp}
-
-
-
- -
-
-
-
-
diff --git a/src/controllers/dashboard/devices/device.js b/src/controllers/dashboard/devices/device.js deleted file mode 100644 index 120b478163..0000000000 --- a/src/controllers/dashboard/devices/device.js +++ /dev/null @@ -1,54 +0,0 @@ -import loading from '../../../components/loading/loading'; -import dom from '../../../scripts/dom'; -import '../../../elements/emby-input/emby-input'; -import '../../../elements/emby-button/emby-button'; -import Dashboard from '../../../utils/dashboard'; -import { getParameterByName } from '../../../utils/url.ts'; - -function load(page, device, deviceOptions) { - page.querySelector('#txtCustomName', page).value = deviceOptions?.CustomName || ''; - page.querySelector('.reportedName', page).innerText = device.Name || ''; -} - -function loadData() { - const page = this; - loading.show(); - const id = getParameterByName('id'); - const device = ApiClient.getJSON(ApiClient.getUrl('Devices/Info', { - Id: id - })); - const deviceOptions = ApiClient.getJSON(ApiClient.getUrl('Devices/Options', { - Id: id - })).catch(() => undefined); - Promise.all([device, deviceOptions]).then(function (responses) { - load(page, responses[0], responses[1]); - loading.hide(); - }); -} - -function save(page) { - const id = getParameterByName('id'); - ApiClient.ajax({ - url: ApiClient.getUrl('Devices/Options', { - Id: id - }), - type: 'POST', - data: JSON.stringify({ - CustomName: page.querySelector('#txtCustomName').value - }), - contentType: 'application/json' - }).then(Dashboard.processServerConfigurationUpdateResult); -} - -function onSubmit(e) { - const form = this; - save(dom.parentWithClass(form, 'page')); - e.preventDefault(); - return false; -} - -export default function (view) { - view.querySelector('form').addEventListener('submit', onSubmit); - view.addEventListener('viewshow', loadData); -} - diff --git a/src/controllers/dashboard/devices/devices.html b/src/controllers/dashboard/devices/devices.html deleted file mode 100644 index 3d8825a339..0000000000 --- a/src/controllers/dashboard/devices/devices.html +++ /dev/null @@ -1,21 +0,0 @@ -
-
-
-
-
-

${HeaderDevices}

- -
-
-
-
-
-
diff --git a/src/controllers/dashboard/devices/devices.js b/src/controllers/dashboard/devices/devices.js deleted file mode 100644 index ab11884709..0000000000 --- a/src/controllers/dashboard/devices/devices.js +++ /dev/null @@ -1,170 +0,0 @@ -import escapeHtml from 'escape-html'; -import loading from '../../../components/loading/loading'; -import dom from '../../../scripts/dom'; -import globalize from '../../../lib/globalize'; -import imageHelper from '../../../utils/image'; -import { formatDistanceToNow } from 'date-fns'; -import { getLocaleWithSuffix } from '../../../utils/dateFnsLocale.ts'; -import '../../../elements/emby-button/emby-button'; -import '../../../elements/emby-itemscontainer/emby-itemscontainer'; -import '../../../components/cardbuilder/card.scss'; -import Dashboard from '../../../utils/dashboard'; -import confirm from '../../../components/confirm/confirm'; -import { getDefaultBackgroundClass } from '../../../components/cardbuilder/cardBuilderUtils'; - -// Local cache of loaded -let deviceIds = []; - -function canDelete(deviceId) { - return deviceId !== ApiClient.deviceId(); -} - -function deleteAllDevices(page) { - const msg = globalize.translate('DeleteDevicesConfirmation'); - - confirm({ - text: msg, - title: globalize.translate('HeaderDeleteDevices'), - confirmText: globalize.translate('Delete'), - primary: 'delete' - }).then(async () => { - loading.show(); - await Promise.all( - deviceIds.filter(canDelete).map((id) => ApiClient.deleteDevice(id)) - ); - loadData(page); - }); -} - -function deleteDevice(page, id) { - const msg = globalize.translate('DeleteDeviceConfirmation'); - - confirm({ - text: msg, - title: globalize.translate('HeaderDeleteDevice'), - confirmText: globalize.translate('Delete'), - primary: 'delete' - }).then(async () => { - loading.show(); - await ApiClient.deleteDevice(id); - loadData(page); - }); -} - -function showDeviceMenu(view, btn, deviceId) { - const menuItems = [{ - name: globalize.translate('Edit'), - id: 'open', - icon: 'mode_edit' - }]; - - if (canDelete(deviceId)) { - menuItems.push({ - name: globalize.translate('Delete'), - id: 'delete', - icon: 'delete' - }); - } - - import('../../../components/actionSheet/actionSheet').then(({ default: actionsheet }) => { - actionsheet.show({ - items: menuItems, - positionTo: btn, - callback: function (id) { - switch (id) { - case 'open': - Dashboard.navigate('dashboard/devices/edit?id=' + deviceId); - break; - - case 'delete': - deleteDevice(view, deviceId); - } - } - }); - }); -} - -function load(page, devices) { - const localeWithSuffix = getLocaleWithSuffix(); - - let html = ''; - html += devices.map(function (device) { - let deviceHtml = ''; - deviceHtml += "
"; - deviceHtml += '
'; - deviceHtml += ''; - deviceHtml += '
'; - - if (canDelete(device.Id)) { - if (globalize.getIsRTL()) { - deviceHtml += '
'; - } else { - deviceHtml += '
'; - } - deviceHtml += ''; - deviceHtml += '
'; - } - - deviceHtml += "
"; - deviceHtml += escapeHtml(device.CustomName || device.Name); - deviceHtml += '
'; - deviceHtml += "
"; - deviceHtml += escapeHtml(device.AppName + ' ' + device.AppVersion); - deviceHtml += '
'; - deviceHtml += "
"; - - if (device.LastUserName) { - deviceHtml += escapeHtml(device.LastUserName); - deviceHtml += ', ' + formatDistanceToNow(Date.parse(device.DateLastActivity), localeWithSuffix); - } - - deviceHtml += ' '; - deviceHtml += '
'; - deviceHtml += '
'; - deviceHtml += '
'; - deviceHtml += '
'; - return deviceHtml; - }).join(''); - page.querySelector('.devicesList').innerHTML = html; -} - -function loadData(page) { - loading.show(); - ApiClient.getJSON(ApiClient.getUrl('Devices')).then(function (result) { - load(page, result.Items); - deviceIds = result.Items.map((device) => device.Id); - loading.hide(); - }); -} - -export default function (view) { - view.querySelector('.devicesList').addEventListener('click', function (e) { - const btnDeviceMenu = dom.parentWithClass(e.target, 'btnDeviceMenu'); - - if (btnDeviceMenu) { - showDeviceMenu(view, btnDeviceMenu, btnDeviceMenu.getAttribute('data-id')); - } - }); - view.addEventListener('viewshow', function () { - loadData(this); - }); - - view.querySelector('#deviceDeleteAll').addEventListener('click', function() { - deleteAllDevices(view); - }); -} - diff --git a/src/controllers/dashboard/librarydisplay.html b/src/controllers/dashboard/librarydisplay.html deleted file mode 100644 index d641e30c1e..0000000000 --- a/src/controllers/dashboard/librarydisplay.html +++ /dev/null @@ -1,57 +0,0 @@ -
-
-
-
-
- -
${LabelDateAddedBehaviorHelp}
-
- -
- -
${OptionDisplayFolderViewHelp}
-
- - - -
- -
${LabelGroupMoviesIntoCollectionsHelp}
-
- -
- -
${OptionEnableExternalContentInSuggestionsHelp}
-
- -
- -
${OptionSaveMetadataAsHiddenHelp}
-
- -
- -
-
-
-
diff --git a/src/controllers/dashboard/librarydisplay.js b/src/controllers/dashboard/librarydisplay.js deleted file mode 100644 index 236f1515c6..0000000000 --- a/src/controllers/dashboard/librarydisplay.js +++ /dev/null @@ -1,52 +0,0 @@ -import loading from '../../components/loading/loading'; -import '../../elements/emby-checkbox/emby-checkbox'; -import '../../elements/emby-button/emby-button'; -import Dashboard from '../../utils/dashboard'; - -export default function(view) { - function loadData() { - ApiClient.getServerConfiguration().then(function(config) { - view.querySelector('.chkFolderView').checked = config.EnableFolderView; - view.querySelector('.chkGroupMoviesIntoCollections').checked = config.EnableGroupingIntoCollections; - view.querySelector('.chkDisplaySpecialsWithinSeasons').checked = config.DisplaySpecialsWithinSeasons; - view.querySelector('.chkExternalContentInSuggestions').checked = config.EnableExternalContentInSuggestions; - view.querySelector('#chkSaveMetadataHidden').checked = config.SaveMetadataHidden; - }); - ApiClient.getNamedConfiguration('metadata').then(function(metadata) { - view.querySelector('#selectDateAdded').selectedIndex = metadata.UseFileCreationTimeForDateAdded ? 1 : 0; - }); - } - - view.querySelector('form').addEventListener('submit', function(e) { - loading.show(); - const form = this; - ApiClient.getServerConfiguration().then(function(config) { - config.EnableFolderView = form.querySelector('.chkFolderView').checked; - config.EnableGroupingIntoCollections = form.querySelector('.chkGroupMoviesIntoCollections').checked; - config.DisplaySpecialsWithinSeasons = form.querySelector('.chkDisplaySpecialsWithinSeasons').checked; - config.EnableExternalContentInSuggestions = form.querySelector('.chkExternalContentInSuggestions').checked; - config.SaveMetadataHidden = form.querySelector('#chkSaveMetadataHidden').checked; - ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); - }); - ApiClient.getNamedConfiguration('metadata').then(function(config) { - config.UseFileCreationTimeForDateAdded = form.querySelector('#selectDateAdded').value === '1'; - ApiClient.updateNamedConfiguration('metadata', config); - }); - - e.preventDefault(); - loading.hide(); - return false; - }); - - view.addEventListener('viewshow', function() { - loadData(); - ApiClient.getSystemInfo().then(function(info) { - if (info.OperatingSystem === 'Windows') { - view.querySelector('.fldSaveMetadataHidden').classList.remove('hide'); - } else { - view.querySelector('.fldSaveMetadataHidden').classList.add('hide'); - } - }); - }); -} - diff --git a/src/controllers/dashboard/metadataImages.js b/src/controllers/dashboard/metadataImages.js deleted file mode 100644 index 0230cd6568..0000000000 --- a/src/controllers/dashboard/metadataImages.js +++ /dev/null @@ -1,94 +0,0 @@ -import { ImageResolution } from '@jellyfin/sdk/lib/generated-client/models/image-resolution'; - -import 'jquery'; - -import loading from '../../components/loading/loading'; -import globalize from '../../lib/globalize'; -import Dashboard from '../../utils/dashboard'; - -import '../../components/listview/listview.scss'; - -function populateImageResolutionOptions(select) { - let html = ''; - [ - { - name: globalize.translate('ResolutionMatchSource'), - value: ImageResolution.MatchSource - }, - { name: '2160p', value: ImageResolution.P2160 }, - { name: '1440p', value: ImageResolution.P1440 }, - { name: '1080p', value: ImageResolution.P1080 }, - { name: '720p', value: ImageResolution.P720 }, - { name: '480p', value: ImageResolution.P480 }, - { name: '360p', value: ImageResolution.P360 }, - { name: '240p', value: ImageResolution.P240 }, - { name: '144p', value: ImageResolution.P144 } - ].forEach(({ value, name }) => { - html += ``; - }); - select.innerHTML = html; -} - -function populateLanguages(select) { - return ApiClient.getCultures().then(function(languages) { - let html = ''; - html += ""; - for (let i = 0, length = languages.length; i < length; i++) { - const culture = languages[i]; - html += "'; - } - select.innerHTML = html; - }); -} - -function populateCountries(select) { - return ApiClient.getCountries().then(function(allCountries) { - let html = ''; - html += ""; - for (let i = 0, length = allCountries.length; i < length; i++) { - const culture = allCountries[i]; - html += "'; - } - select.innerHTML = html; - }); -} - -function loadPage(page) { - const promises = [ - ApiClient.getServerConfiguration(), - populateLanguages(page.querySelector('#selectLanguage')), - populateCountries(page.querySelector('#selectCountry')) - ]; - - populateImageResolutionOptions(page.querySelector('#txtChapterImageResolution')); - - Promise.all(promises).then(function(responses) { - const config = responses[0]; - page.querySelector('#selectLanguage').value = config.PreferredMetadataLanguage || ''; - page.querySelector('#selectCountry').value = config.MetadataCountryCode || ''; - page.querySelector('#valDummyChapterDuration').value = config.DummyChapterDuration || '0'; - page.querySelector('#txtChapterImageResolution').value = config.ChapterImageResolution || ''; - loading.hide(); - }); -} - -function onSubmit() { - const form = this; - loading.show(); - ApiClient.getServerConfiguration().then(function(config) { - config.PreferredMetadataLanguage = form.querySelector('#selectLanguage').value; - config.MetadataCountryCode = form.querySelector('#selectCountry').value; - config.DummyChapterDuration = form.querySelector('#valDummyChapterDuration').value; - config.ChapterImageResolution = form.querySelector('#txtChapterImageResolution').value; - ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); - }); - return false; -} - -$(document).on('pageinit', '#metadataImagesConfigurationPage', function() { - $('.metadataImagesConfigurationForm').off('submit', onSubmit).on('submit', onSubmit); -}).on('pageshow', '#metadataImagesConfigurationPage', function() { - loading.show(); - loadPage(this); -}); - diff --git a/src/controllers/dashboard/metadataimages.html b/src/controllers/dashboard/metadataimages.html deleted file mode 100644 index a79d59fc63..0000000000 --- a/src/controllers/dashboard/metadataimages.html +++ /dev/null @@ -1,44 +0,0 @@ -
- -
- -
- -
-
-

${HeaderPreferredMetadataLanguage}

- -

${DefaultMetadataLangaugeDescription}

- -
- -
- -
- -
-
- -
-

${HeaderDummyChapter}

-
- -
${LabelDummyChapterDurationHelp}
-
-
- -
-
${LabelChapterImageResolutionHelp}
-
-
-
- -
-
- -
-
-
- -
-
diff --git a/src/controllers/dashboard/metadatanfo.html b/src/controllers/dashboard/metadatanfo.html deleted file mode 100644 index 62f18b2641..0000000000 --- a/src/controllers/dashboard/metadatanfo.html +++ /dev/null @@ -1,49 +0,0 @@ -
- -
- -
-
- -

${HeaderKodiMetadataHelp}

-
-
- -
${LabelKodiMetadataUserHelp}
-
- -
- -
${LabelKodiMetadataDateFormatHelp}
-
-
- -
${LabelKodiMetadataSaveImagePathsHelp}
-
-
- -
-
${LabelKodiMetadataEnablePathSubstitutionHelp}
-
-
-
- -
${LabelKodiMetadataEnableExtraThumbsHelp}
-
-
-
-
- -
-
diff --git a/src/controllers/dashboard/metadatanfo.js b/src/controllers/dashboard/metadatanfo.js deleted file mode 100644 index 6d8c62a642..0000000000 --- a/src/controllers/dashboard/metadatanfo.js +++ /dev/null @@ -1,60 +0,0 @@ -import escapeHtml from 'escape-html'; -import 'jquery'; -import loading from '../../components/loading/loading'; -import globalize from '../../lib/globalize'; -import Dashboard from '../../utils/dashboard'; -import alert from '../../components/alert'; - -function loadPage(page, config, users) { - let html = ''; - html += users.map(function (user) { - return ''; - }).join(''); - const elem = page.querySelector('#selectUser'); - elem.innerHTML = html; - elem.value = config.UserId || ''; - page.querySelector('#selectReleaseDateFormat').value = config.ReleaseDateFormat; - page.querySelector('#chkSaveImagePaths').checked = config.SaveImagePathsInNfo; - page.querySelector('#chkEnablePathSubstitution').checked = config.EnablePathSubstitution; - page.querySelector('#chkEnableExtraThumbs').checked = config.EnableExtraThumbsDuplication; - loading.hide(); -} - -function onSubmit() { - loading.show(); - const form = this; - ApiClient.getNamedConfiguration(metadataKey).then(function (config) { - config.UserId = form.querySelector('#selectUser').value || null; - config.ReleaseDateFormat = form.querySelector('#selectReleaseDateFormat').value; - config.SaveImagePathsInNfo = form.querySelector('#chkSaveImagePaths').checked; - config.EnablePathSubstitution = form.querySelector('#chkEnablePathSubstitution').checked; - config.EnableExtraThumbsDuplication = form.querySelector('#chkEnableExtraThumbs').checked; - ApiClient.updateNamedConfiguration(metadataKey, config).then(function () { - Dashboard.processServerConfigurationUpdateResult(); - showConfirmMessage(); - }); - }); - return false; -} - -function showConfirmMessage() { - const msg = []; - msg.push(globalize.translate('MetadataSettingChangeHelp')); - alert({ - text: msg.join('

') - }); -} - -const metadataKey = 'xbmcmetadata'; -$(document).on('pageinit', '#metadataNfoPage', function () { - $('.metadataNfoForm').off('submit', onSubmit).on('submit', onSubmit); -}).on('pageshow', '#metadataNfoPage', function () { - loading.show(); - const page = this; - const promise1 = ApiClient.getUsers(); - const promise2 = ApiClient.getNamedConfiguration(metadataKey); - Promise.all([promise1, promise2]).then(function (responses) { - loadPage(page, responses[1], responses[0]); - }); -}); - diff --git a/src/controllers/dashboard/playback.html b/src/controllers/dashboard/playback.html deleted file mode 100644 index 87438cf86e..0000000000 --- a/src/controllers/dashboard/playback.html +++ /dev/null @@ -1,42 +0,0 @@ -
-
-
-
-
-

${ButtonResume}

-
-
- -
- ${LabelMinResumePercentageHelp} -
-
-
- -
- ${LabelMaxResumePercentageHelp} -
-
-
- -
- ${LabelMinAudiobookResumeHelp} -
-
-
- -
- ${LabelMaxAudiobookResumeHelp} -
-
-
- -
- ${LabelMinResumeDurationHelp} -
-
-
-
-
-
-
diff --git a/src/controllers/dashboard/playback.js b/src/controllers/dashboard/playback.js deleted file mode 100644 index 86787f2968..0000000000 --- a/src/controllers/dashboard/playback.js +++ /dev/null @@ -1,38 +0,0 @@ -import 'jquery'; -import loading from '../../components/loading/loading'; -import Dashboard from '../../utils/dashboard'; - -function loadPage(page, config) { - page.querySelector('#txtMinResumePct').value = config.MinResumePct; - page.querySelector('#txtMaxResumePct').value = config.MaxResumePct; - page.querySelector('#txtMinAudiobookResume').value = config.MinAudiobookResume; - page.querySelector('#txtMaxAudiobookResume').value = config.MaxAudiobookResume; - page.querySelector('#txtMinResumeDuration').value = config.MinResumeDurationSeconds; - loading.hide(); -} - -function onSubmit() { - loading.show(); - const form = this; - ApiClient.getServerConfiguration().then(function (config) { - config.MinResumePct = form.querySelector('#txtMinResumePct').value; - config.MaxResumePct = form.querySelector('#txtMaxResumePct').value; - config.MinAudiobookResume = form.querySelector('#txtMinAudiobookResume').value; - config.MaxAudiobookResume = form.querySelector('#txtMaxAudiobookResume').value; - config.MinResumeDurationSeconds = form.querySelector('#txtMinResumeDuration').value; - - ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); - }); - - return false; -} - -$(document).on('pageinit', '#playbackConfigurationPage', function () { - $('.playbackConfigurationForm').off('submit', onSubmit).on('submit', onSubmit); -}).on('pageshow', '#playbackConfigurationPage', function () { - loading.show(); - const page = this; - ApiClient.getServerConfiguration().then(function (config) { - loadPage(page, config); - }); -}); diff --git a/src/controllers/dashboard/scheduledtasks/scheduledtask.html b/src/controllers/dashboard/scheduledtasks/scheduledtask.html deleted file mode 100644 index a2352e6470..0000000000 --- a/src/controllers/dashboard/scheduledtasks/scheduledtask.html +++ /dev/null @@ -1,84 +0,0 @@ -
-
-
-
-
-

-
-

-
- -
-
-

${HeaderTaskTriggers}

- -
-
-
-
-
-
-
-
-

${ButtonAddScheduledTaskTrigger}

-
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - -
-
-
-
-
diff --git a/src/controllers/dashboard/scheduledtasks/scheduledtask.js b/src/controllers/dashboard/scheduledtasks/scheduledtask.js deleted file mode 100644 index 5ad8e3123c..0000000000 --- a/src/controllers/dashboard/scheduledtasks/scheduledtask.js +++ /dev/null @@ -1,236 +0,0 @@ -import loading from '../../../components/loading/loading'; -import datetime from '../../../scripts/datetime'; -import dom from '../../../scripts/dom'; -import globalize from '../../../lib/globalize'; -import '../../../elements/emby-input/emby-input'; -import '../../../elements/emby-button/emby-button'; -import '../../../elements/emby-select/emby-select'; -import confirm from '../../../components/confirm/confirm'; -import { getParameterByName } from '../../../utils/url.ts'; - -function fillTimeOfDay(select) { - const options = []; - - for (let i = 0; i < 86400000; i += 900000) { - options.push({ - name: ScheduledTaskPage.getDisplayTime(i * 10000), - value: i * 10000 - }); - } - - select.innerHTML = options.map(function (o) { - return ''; - }).join(''); -} - -const ScheduledTaskPage = { - refreshScheduledTask: function (view) { - loading.show(); - const id = getParameterByName('id'); - ApiClient.getScheduledTask(id).then(function (task) { - ScheduledTaskPage.loadScheduledTask(view, task); - }); - }, - loadScheduledTask: function (view, task) { - view.querySelector('.taskName').innerHTML = task.Name; - view.querySelector('#pTaskDescription').innerHTML = task.Description; - - import('../../../components/listview/listview.scss').then(() => { - ScheduledTaskPage.loadTaskTriggers(view, task); - }); - - loading.hide(); - }, - loadTaskTriggers: function (context, task) { - let html = ''; - html += '
'; - - for (let i = 0, length = task.Triggers.length; i < length; i++) { - const trigger = task.Triggers[i]; - - html += '
'; - html += ''; - if (trigger.MaxRuntimeTicks) { - html += '
'; - } else { - html += '
'; - } - html += "
" + ScheduledTaskPage.getTriggerFriendlyName(trigger) + '
'; - if (trigger.MaxRuntimeTicks) { - html += '
'; - const hours = trigger.MaxRuntimeTicks / 36e9; - if (hours == 1) { - html += globalize.translate('ValueTimeLimitSingleHour'); - } else { - html += globalize.translate('ValueTimeLimitMultiHour', hours); - } - html += '
'; - } - - html += '
'; - html += ''; - html += '
'; - } - - html += '
'; - context.querySelector('.taskTriggers').innerHTML = html; - }, - // TODO: Replace this mess with date-fns and remove datetime completely - getTriggerFriendlyName: function (trigger) { - if (trigger.Type == 'DailyTrigger') { - return globalize.translate('DailyAt', ScheduledTaskPage.getDisplayTime(trigger.TimeOfDayTicks)); - } - - if (trigger.Type == 'WeeklyTrigger') { - // TODO: The day of week isn't localised as well - return globalize.translate('WeeklyAt', trigger.DayOfWeek, ScheduledTaskPage.getDisplayTime(trigger.TimeOfDayTicks)); - } - - if (trigger.Type == 'SystemEventTrigger' && trigger.SystemEvent == 'WakeFromSleep') { - return globalize.translate('OnWakeFromSleep'); - } - - if (trigger.Type == 'IntervalTrigger') { - const hours = trigger.IntervalTicks / 36e9; - - if (hours == 0.25) { - return globalize.translate('EveryXMinutes', '15'); - } - if (hours == 0.5) { - return globalize.translate('EveryXMinutes', '30'); - } - if (hours == 0.75) { - return globalize.translate('EveryXMinutes', '45'); - } - if (hours == 1) { - return globalize.translate('EveryHour'); - } - - return globalize.translate('EveryXHours', hours); - } - - if (trigger.Type == 'StartupTrigger') { - return globalize.translate('OnApplicationStartup'); - } - - return trigger.Type; - }, - getDisplayTime: function (ticks) { - const ms = ticks / 1e4; - const now = new Date(); - now.setHours(0, 0, 0, 0); - now.setTime(now.getTime() + ms); - return datetime.getDisplayTime(now); - }, - showAddTriggerPopup: function (view) { - view.querySelector('#selectTriggerType').value = 'DailyTrigger'; - view.querySelector('#selectTriggerType').dispatchEvent(new CustomEvent('change', {})); - view.querySelector('#popupAddTrigger').classList.remove('hide'); - }, - confirmDeleteTrigger: function (view, index) { - confirm(globalize.translate('MessageDeleteTaskTrigger'), globalize.translate('HeaderDeleteTaskTrigger')).then(function () { - ScheduledTaskPage.deleteTrigger(view, index); - }); - }, - deleteTrigger: function (view, index) { - loading.show(); - const id = getParameterByName('id'); - ApiClient.getScheduledTask(id).then(function (task) { - task.Triggers.splice(index, 1); - ApiClient.updateScheduledTaskTriggers(task.Id, task.Triggers).then(function () { - ScheduledTaskPage.refreshScheduledTask(view); - }); - }); - }, - refreshTriggerFields: function (page, triggerType) { - if (triggerType == 'DailyTrigger') { - page.querySelector('#fldTimeOfDay').classList.remove('hide'); - page.querySelector('#fldDayOfWeek').classList.add('hide'); - page.querySelector('#fldSelectSystemEvent').classList.add('hide'); - page.querySelector('#fldSelectInterval').classList.add('hide'); - page.querySelector('#selectTimeOfDay').setAttribute('required', 'required'); - } else if (triggerType == 'WeeklyTrigger') { - page.querySelector('#fldTimeOfDay').classList.remove('hide'); - page.querySelector('#fldDayOfWeek').classList.remove('hide'); - page.querySelector('#fldSelectSystemEvent').classList.add('hide'); - page.querySelector('#fldSelectInterval').classList.add('hide'); - page.querySelector('#selectTimeOfDay').setAttribute('required', 'required'); - } else if (triggerType == 'SystemEventTrigger') { - page.querySelector('#fldTimeOfDay').classList.add('hide'); - page.querySelector('#fldDayOfWeek').classList.add('hide'); - page.querySelector('#fldSelectSystemEvent').classList.remove('hide'); - page.querySelector('#fldSelectInterval').classList.add('hide'); - page.querySelector('#selectTimeOfDay').removeAttribute('required'); - } else if (triggerType == 'IntervalTrigger') { - page.querySelector('#fldTimeOfDay').classList.add('hide'); - page.querySelector('#fldDayOfWeek').classList.add('hide'); - page.querySelector('#fldSelectSystemEvent').classList.add('hide'); - page.querySelector('#fldSelectInterval').classList.remove('hide'); - page.querySelector('#selectTimeOfDay').removeAttribute('required'); - } else if (triggerType == 'StartupTrigger') { - page.querySelector('#fldTimeOfDay').classList.add('hide'); - page.querySelector('#fldDayOfWeek').classList.add('hide'); - page.querySelector('#fldSelectSystemEvent').classList.add('hide'); - page.querySelector('#fldSelectInterval').classList.add('hide'); - page.querySelector('#selectTimeOfDay').removeAttribute('required'); - } - }, - getTriggerToAdd: function (page) { - const trigger = { - Type: page.querySelector('#selectTriggerType').value - }; - - if (trigger.Type == 'DailyTrigger') { - trigger.TimeOfDayTicks = page.querySelector('#selectTimeOfDay').value; - } else if (trigger.Type == 'WeeklyTrigger') { - trigger.DayOfWeek = page.querySelector('#selectDayOfWeek').value; - trigger.TimeOfDayTicks = page.querySelector('#selectTimeOfDay').value; - } else if (trigger.Type == 'SystemEventTrigger') { - trigger.SystemEvent = page.querySelector('#selectSystemEvent').value; - } else if (trigger.Type == 'IntervalTrigger') { - trigger.IntervalTicks = page.querySelector('#selectInterval').value; - } - - let timeLimit = page.querySelector('#txtTimeLimit').value || '0'; - timeLimit = parseFloat(timeLimit) * 3600000; - - trigger.MaxRuntimeTicks = timeLimit * 1e4 || null; - - return trigger; - } -}; -export default function (view) { - function onSubmit(e) { - loading.show(); - const id = getParameterByName('id'); - ApiClient.getScheduledTask(id).then(function (task) { - task.Triggers.push(ScheduledTaskPage.getTriggerToAdd(view)); - ApiClient.updateScheduledTaskTriggers(task.Id, task.Triggers).then(function () { - document.querySelector('#popupAddTrigger').classList.add('hide'); - ScheduledTaskPage.refreshScheduledTask(view); - }); - }); - e.preventDefault(); - } - - view.querySelector('.addTriggerForm').addEventListener('submit', onSubmit); - fillTimeOfDay(view.querySelector('#selectTimeOfDay')); - view.querySelector('#popupAddTrigger').parentNode.trigger(new Event('create')); - view.querySelector('.selectTriggerType').addEventListener('change', function () { - ScheduledTaskPage.refreshTriggerFields(view, this.value); - }); - view.querySelector('.btnAddTrigger').addEventListener('click', function () { - ScheduledTaskPage.showAddTriggerPopup(view); - }); - view.addEventListener('click', function (e) { - const btnDeleteTrigger = dom.parentWithClass(e.target, 'btnDeleteTrigger'); - - if (btnDeleteTrigger) { - ScheduledTaskPage.confirmDeleteTrigger(view, parseInt(btnDeleteTrigger.getAttribute('data-index'), 10)); - } - }); - view.addEventListener('viewshow', function () { - ScheduledTaskPage.refreshScheduledTask(view); - }); -} - diff --git a/src/controllers/dashboard/scheduledtasks/scheduledtasks.html b/src/controllers/dashboard/scheduledtasks/scheduledtasks.html deleted file mode 100644 index 299bed531f..0000000000 --- a/src/controllers/dashboard/scheduledtasks/scheduledtasks.html +++ /dev/null @@ -1,20 +0,0 @@ -
- -
-
-
-
-
-
diff --git a/src/controllers/dashboard/scheduledtasks/scheduledtasks.js b/src/controllers/dashboard/scheduledtasks/scheduledtasks.js deleted file mode 100644 index 3b96d8c3a1..0000000000 --- a/src/controllers/dashboard/scheduledtasks/scheduledtasks.js +++ /dev/null @@ -1,196 +0,0 @@ -import 'jquery'; -import loading from '../../../components/loading/loading'; -import globalize from '../../../lib/globalize'; -import serverNotifications from '../../../scripts/serverNotifications'; -import { formatDistance, formatDistanceToNow } from 'date-fns'; -import { getLocale, getLocaleWithSuffix } from '../../../utils/dateFnsLocale.ts'; -import Events from '../../../utils/events.ts'; - -import '../../../components/listview/listview.scss'; -import '../../../elements/emby-button/emby-button'; -import dom from 'scripts/dom'; - -function reloadList(page) { - ApiClient.getScheduledTasks({ - isHidden: false - }).then(function(tasks) { - populateList(page, tasks); - loading.hide(); - }); -} - -function populateList(page, tasks) { - tasks = tasks.sort(function(a, b) { - a = a.Category + ' ' + a.Name; - b = b.Category + ' ' + b.Name; - if (a > b) { - return 1; - } else if (a < b) { - return -1; - } else { - return 0; - } - }); - - let currentCategory; - let html = ''; - for (const task of tasks) { - if (task.Category != currentCategory) { - currentCategory = task.Category; - if (currentCategory) { - html += '
'; - html += '
'; - } - html += '
'; - html += '
'; - html += '

'; - html += currentCategory; - html += '

'; - html += '
'; - html += '
'; - } - html += '
'; - html += ""; - html += ''; - html += ''; - html += '
'; - const textAlignStyle = globalize.getIsRTL() ? 'right' : 'left'; - html += ""; - html += "

" + task.Name + '

'; - html += "
" + getTaskProgressHtml(task) + '
'; - html += '
'; - html += '
'; - if (task.State === 'Running') { - html += ''; - } else if (task.State === 'Idle') { - html += ''; - } - html += '
'; - } - if (tasks.length) { - html += '
'; - html += '
'; - } - page.querySelector('.divScheduledTasks').innerHTML = html; -} - -function getTaskProgressHtml(task) { - let html = ''; - if (task.State === 'Idle') { - if (task.LastExecutionResult) { - const endtime = Date.parse(task.LastExecutionResult.EndTimeUtc); - const starttime = Date.parse(task.LastExecutionResult.StartTimeUtc); - html += globalize.translate('LabelScheduledTaskLastRan', formatDistanceToNow(endtime, getLocaleWithSuffix()), - formatDistance(starttime, endtime, { locale: getLocale() })); - if (task.LastExecutionResult.Status === 'Failed') { - html += " (" + globalize.translate('LabelFailed') + ')'; - } else if (task.LastExecutionResult.Status === 'Cancelled') { - html += " (" + globalize.translate('LabelCancelled') + ')'; - } else if (task.LastExecutionResult.Status === 'Aborted') { - html += " " + globalize.translate('LabelAbortedByServerShutdown') + ''; - } - } - } else if (task.State === 'Running') { - const progress = (task.CurrentProgressPercentage || 0).toFixed(1); - html += '
'; - html += '
'; - html += '
'; - html += '
'; - html += '
'; - html += "" + progress + '%'; - html += '
'; - } else { - html += "" + globalize.translate('LabelStopping') + ''; - } - return html; -} - -function setTaskButtonIcon(button, icon) { - const inner = button.querySelector('.material-icons'); - inner.classList.remove('stop', 'play_arrow'); - inner.classList.add(icon); -} - -function updateTaskButton(elem, state) { - if (state === 'Running') { - elem.classList.remove('btnStartTask'); - elem.classList.add('btnStopTask'); - setTaskButtonIcon(elem, 'stop'); - elem.title = globalize.translate('ButtonStop'); - } else if (state === 'Idle') { - elem.classList.add('btnStartTask'); - elem.classList.remove('btnStopTask'); - setTaskButtonIcon(elem, 'play_arrow'); - elem.title = globalize.translate('ButtonStart'); - } - dom.parentWithClass(elem, 'listItem').setAttribute('data-status', state); -} - -export default function(view) { - function updateTasks(tasks) { - for (const task of tasks) { - const taskProgress = view.querySelector(`#taskProgress${task.Id}`); - if (taskProgress) taskProgress.innerHTML = getTaskProgressHtml(task); - - const taskButton = view.querySelector(`#btnTask${task.Id}`); - if (taskButton) updateTaskButton(taskButton, task.State); - } - } - - function onPollIntervalFired() { - if (!ApiClient.isMessageChannelOpen()) { - reloadList(view); - } - } - - function onScheduledTasksUpdate(e, apiClient, info) { - if (apiClient.serverId() === serverId) { - updateTasks(info); - } - } - - function startInterval() { - ApiClient.sendMessage('ScheduledTasksInfoStart', '1000,1000'); - pollInterval && clearInterval(pollInterval); - pollInterval = setInterval(onPollIntervalFired, 1e4); - } - - function stopInterval() { - ApiClient.sendMessage('ScheduledTasksInfoStop'); - pollInterval && clearInterval(pollInterval); - } - - let pollInterval; - const serverId = ApiClient.serverId(); - - $('.divScheduledTasks', view).on('click', '.btnStartTask', function() { - const button = this; - const id = button.getAttribute('data-taskid'); - ApiClient.startScheduledTask(id).then(function() { - updateTaskButton(button, 'Running'); - reloadList(view); - }); - }); - - $('.divScheduledTasks', view).on('click', '.btnStopTask', function() { - const button = this; - const id = button.getAttribute('data-taskid'); - ApiClient.stopScheduledTask(id).then(function() { - updateTaskButton(button, ''); - reloadList(view); - }); - }); - - view.addEventListener('viewbeforehide', function() { - Events.off(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); - stopInterval(); - }); - - view.addEventListener('viewshow', function() { - loading.show(); - startInterval(); - reloadList(view); - Events.on(serverNotifications, 'ScheduledTasksInfo', onScheduledTasksUpdate); - }); -} - diff --git a/src/controllers/dashboard/streaming.html b/src/controllers/dashboard/streaming.html deleted file mode 100644 index 54cb895623..0000000000 --- a/src/controllers/dashboard/streaming.html +++ /dev/null @@ -1,20 +0,0 @@ -
-
-
-
-
-
-

${TabStreaming}

-
-
- -
${LabelRemoteClientBitrateLimitHelp}
-
-
- -
-
-
-
diff --git a/src/controllers/dashboard/streaming.js b/src/controllers/dashboard/streaming.js deleted file mode 100644 index 9dab432cba..0000000000 --- a/src/controllers/dashboard/streaming.js +++ /dev/null @@ -1,30 +0,0 @@ -import 'jquery'; -import loading from '../../components/loading/loading'; -import Dashboard from '../../utils/dashboard'; - -function loadPage(page, config) { - page.querySelector('#txtRemoteClientBitrateLimit').value = config.RemoteClientBitrateLimit / 1e6 || ''; - loading.hide(); -} - -function onSubmit() { - loading.show(); - const form = this; - ApiClient.getServerConfiguration().then(function (config) { - config.RemoteClientBitrateLimit = parseInt(1e6 * parseFloat(form.querySelector('#txtRemoteClientBitrateLimit').value || '0'), 10); - ApiClient.updateServerConfiguration(config).then(Dashboard.processServerConfigurationUpdateResult); - }); - - return false; -} - -$(document).on('pageinit', '#streamingSettingsPage', function () { - $('.streamingSettingsForm').off('submit', onSubmit).on('submit', onSubmit); -}).on('pageshow', '#streamingSettingsPage', function () { - loading.show(); - const page = this; - ApiClient.getServerConfiguration().then(function (config) { - loadPage(page, config); - }); -}); - diff --git a/src/controllers/edititemmetadata.js b/src/controllers/edititemmetadata.js index a5ac202cc7..5502772db9 100644 --- a/src/controllers/edititemmetadata.js +++ b/src/controllers/edititemmetadata.js @@ -1,5 +1,5 @@ -import loading from '../components/loading/loading'; -import '../scripts/editorsidebar'; +import loading from 'components/loading/loading'; +import { getCurrentItemId, setCurrentItemId } from 'scripts/editorsidebar'; function reload(context, itemId) { loading.show(); @@ -16,14 +16,16 @@ function reload(context, itemId) { export default function (view) { view.addEventListener('viewshow', function () { - reload(this, MetadataEditor.getCurrentItemId()); + reload(this, getCurrentItemId()); }); - MetadataEditor.setCurrentItemId(null); + + setCurrentItemId(null); + view.querySelector('.libraryTree').addEventListener('itemclicked', function (event) { const data = event.detail; - if (data.id != MetadataEditor.getCurrentItemId()) { - MetadataEditor.setCurrentItemId(data.id); + if (data.id != getCurrentItemId()) { + setCurrentItemId(data.id); reload(view, data.id); } }); diff --git a/src/controllers/favorites.js b/src/controllers/favorites.js index 9e9cd0f26e..ccc689fc24 100644 --- a/src/controllers/favorites.js +++ b/src/controllers/favorites.js @@ -1,4 +1,3 @@ -import { appHost } from 'components/apphost'; import cardBuilder from 'components/cardbuilder/cardBuilder'; import focusManager from 'components/focusManager'; import layoutManager from 'components/layoutManager'; @@ -54,6 +53,15 @@ function getSections() { overlayPlayButton: true, overlayText: false, centerText: true + }, { + name: 'MusicVideos', + types: 'MusicVideo', + shape: getBackdropShape(enableScrollX()), + preferThumb: true, + showTitle: true, + overlayPlayButton: true, + overlayText: false, + centerText: true }, { name: 'Collections', types: 'BoxSet', @@ -135,6 +143,22 @@ function getSections() { overlayPlayButton: true, overlayText: false, centerText: true + }, { + name: 'HeaderPhotoAlbums', + types: 'PhotoAlbum', + shape: getBackdropShape(enableScrollX()), + showTitle: true, + overlayPlayButton: true, + overlayText: false, + centerText: true + }, { + name: 'Photos', + types: 'Photo', + shape: getBackdropShape(enableScrollX()), + showTitle: true, + overlayPlayButton: true, + overlayText: false, + centerText: true }]; } @@ -177,8 +201,9 @@ function getRouteUrl(section, serverId) { function getItemsHtmlFn(section) { return function (items) { - let cardLayout = appHost.preferVisualCards && section.autoCardLayout && section.showTitle; - cardLayout = false; + // NOTE: Why is card layout always disabled? + // let cardLayout = appHost.preferVisualCards && section.autoCardLayout && section.showTitle; + const cardLayout = false; const serverId = this.apiClient.serverId(); const leadingButtons = layoutManager.tv ? [{ name: globalize.translate('All'), diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index bdb5a9fe08..344b316210 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -877,6 +877,7 @@ function renderOverview(page, item) { const overviewElements = page.querySelectorAll('.overview'); if (overviewElements.length > 0) { + // eslint-disable-next-line sonarjs/disabled-auto-escaping const overview = DOMPurify.sanitize(markdownIt({ html: true }).render(item.Overview || '')); if (overview) { @@ -1378,6 +1379,7 @@ function renderChildren(page, item) { if (item.Type == 'MusicAlbum') { let showArtist = false; for (const track of result.Items) { + // eslint-disable-next-line sonarjs/no-alphabetical-sort if (!isEqual(track.ArtistItems.map(x => x.Id).sort(), track.AlbumArtists.map(x => x.Id).sort())) { showArtist = true; break; diff --git a/src/controllers/list.js b/src/controllers/list.js index 74f2c6bfa0..97dc60f1f1 100644 --- a/src/controllers/list.js +++ b/src/controllers/list.js @@ -255,7 +255,7 @@ function getItems(instance, params, item, sortBy, startIndex, limit) { if (params.type === 'nextup') { return apiClient.getNextUpEpisodes(modifyQueryWithFilters(instance, { Limit: limit, - Fields: 'PrimaryImageAspectRatio,DateCreated,MediaSourceCount', + Fields: 'PrimaryImageAspectRatio,DateCreated,MediaSourceCount,Chapters,Trickplay', UserId: apiClient.getCurrentUserId(), ImageTypeLimit: 1, EnableImageTypes: 'Primary,Backdrop,Thumb', @@ -278,7 +278,7 @@ function getItems(instance, params, item, sortBy, startIndex, limit) { return apiClient[method](apiClient.getCurrentUserId(), modifyQueryWithFilters(instance, { StartIndex: startIndex, Limit: limit, - Fields: 'PrimaryImageAspectRatio,SortName', + Fields: 'PrimaryImageAspectRatio,SortName,Chapters,Trickplay', ImageTypeLimit: 1, IncludeItemTypes: params.type === 'MusicArtist' || params.type === 'Person' ? null : params.type, Recursive: true, diff --git a/src/controllers/livetv/livetvschedule.js b/src/controllers/livetv/livetvschedule.js index 84d51b6513..2ececff07a 100644 --- a/src/controllers/livetv/livetvschedule.js +++ b/src/controllers/livetv/livetvschedule.js @@ -2,12 +2,12 @@ import cardBuilder from 'components/cardbuilder/cardBuilder'; import imageLoader from 'components/images/imageLoader'; import layoutManager from 'components/layoutManager'; import loading from 'components/loading/loading'; +import { getTimersHtml } from 'scripts/livetvcomponents'; import { getBackdropShape } from 'utils/card'; import Dashboard from 'utils/dashboard'; import 'elements/emby-button/emby-button'; import 'elements/emby-itemscontainer/emby-itemscontainer'; -import 'scripts/livetvcomponents'; function enableScrollX() { return !layoutManager.desktop; @@ -71,7 +71,7 @@ function renderActiveRecordings(context, promise) { } function renderTimers(context, timers, options) { - LiveTvHelpers.getTimersHtml(timers, options).then(function (html) { + getTimersHtml(timers, options).then(function (html) { const elem = context; if (html) { diff --git a/src/controllers/movies/movies.js b/src/controllers/movies/movies.js index a8eabfce2b..80d3f1d375 100644 --- a/src/controllers/movies/movies.js +++ b/src/controllers/movies/movies.js @@ -277,7 +277,7 @@ export default function (view, params, tabContent, options) { SortOrder: 'Ascending', IncludeItemTypes: 'Movie', Recursive: true, - Fields: 'PrimaryImageAspectRatio,MediaSourceCount', + Fields: 'PrimaryImageAspectRatio,MediaSourceCount,Chapters,Trickplay', ImageTypeLimit: 1, EnableImageTypes: 'Primary,Backdrop,Banner,Thumb', StartIndex: 0, diff --git a/src/controllers/session/addServer/index.js b/src/controllers/session/addServer/index.js index d7c02947f8..068fc6134d 100644 --- a/src/controllers/session/addServer/index.js +++ b/src/controllers/session/addServer/index.js @@ -36,6 +36,7 @@ function handleConnectionResult(page, result) { function submitServer(page) { loading.show(); + // eslint-disable-next-line sonarjs/slow-regex const host = page.querySelector('#txtServerHost').value.replace(/\/+$/, ''); ServerConnections.connectToAddress(host, { enableAutoLogin: appSettings.enableAutoLogin() diff --git a/src/controllers/session/login/index.js b/src/controllers/session/login/index.js index 93f8e03de0..2b61fb6e2b 100644 --- a/src/controllers/session/login/index.js +++ b/src/controllers/session/login/index.js @@ -292,6 +292,7 @@ export default function (view, params) { apiClient.getJSON(apiClient.getUrl('Branding/Configuration')).then(function (options) { const loginDisclaimer = view.querySelector('.loginDisclaimer'); + // eslint-disable-next-line sonarjs/disabled-auto-escaping loginDisclaimer.innerHTML = DOMPurify.sanitize(markdownIt({ html: true }).render(options.LoginDisclaimer || '')); for (const elem of loginDisclaimer.querySelectorAll('a')) { diff --git a/src/controllers/session/selectServer/index.js b/src/controllers/session/selectServer/index.js index 1c9fdf9ae3..8af9054edb 100644 --- a/src/controllers/session/selectServer/index.js +++ b/src/controllers/session/selectServer/index.js @@ -7,6 +7,7 @@ import appSettings from '../../../scripts/settings/appSettings'; import focusManager from '../../../components/focusManager'; import globalize from '../../../lib/globalize'; import actionSheet from '../../../components/actionSheet/actionSheet'; +import confirm from '../../../components/confirm/confirm'; import dom from '../../../scripts/dom'; import browser from '../../../scripts/browser'; import 'material-design-icons-iconfont'; @@ -136,10 +137,21 @@ export default function (view, params) { } function deleteServer(server) { - loading.show(); - ServerConnections.deleteServer(server.Id).then(function () { - loading.hide(); - loadServers(); + confirm({ + title: globalize.translate('DeleteName', server.Name), + text: globalize.translate('DeleteServerConfirmation'), + confirmText: globalize.translate('Delete'), + primary: 'delete' + }).then(function () { + loading.show(); + ServerConnections.deleteServer(server.Id).then(function () { + loading.hide(); + loadServers(); + }).catch(err => { + console.error('[selectServer] failed to delete server', err); + }); + }).catch(() => { + // confirm dialog closed }); } diff --git a/src/controllers/dashboard/library.js b/src/controllers/wizard/library.js similarity index 90% rename from src/controllers/dashboard/library.js rename to src/controllers/wizard/library.js index 89f385a91f..27bcde9c52 100644 --- a/src/controllers/dashboard/library.js +++ b/src/controllers/wizard/library.js @@ -1,17 +1,18 @@ import escapeHtml from 'escape-html'; -import taskButton from '../../scripts/taskbutton'; -import loading from '../../components/loading/loading'; -import globalize from '../../lib/globalize'; -import dom from '../../scripts/dom'; -import imageHelper from '../../utils/image'; -import '../../components/cardbuilder/card.scss'; -import '../../elements/emby-itemrefreshindicator/emby-itemrefreshindicator'; -import Dashboard, { pageClassOn, pageIdOn } from '../../utils/dashboard'; -import confirm from '../../components/confirm/confirm'; -import { getDefaultBackgroundClass } from '../../components/cardbuilder/cardBuilderUtils'; + +import taskButton from 'scripts/taskbutton'; +import loading from 'components/loading/loading'; +import globalize from 'lib/globalize'; +import dom from 'scripts/dom'; +import imageHelper from 'utils/image'; +import 'components/cardbuilder/card.scss'; +import 'elements/emby-itemrefreshindicator/emby-itemrefreshindicator'; +import Dashboard, { pageClassOn, pageIdOn } from 'utils/dashboard'; +import confirm from 'components/confirm/confirm'; +import { getDefaultBackgroundClass } from 'components/cardbuilder/cardBuilderUtils'; function addVirtualFolder(page) { - import('../../components/mediaLibraryCreator/mediaLibraryCreator').then(({ default: MediaLibraryCreator }) => { + import('components/mediaLibraryCreator/mediaLibraryCreator').then(({ default: MediaLibraryCreator }) => { new MediaLibraryCreator({ collectionTypeOptions: getCollectionTypeOptions().filter(function (f) { return !f.hidden; @@ -26,7 +27,7 @@ function addVirtualFolder(page) { } function editVirtualFolder(page, virtualFolder) { - import('../../components/mediaLibraryEditor/mediaLibraryEditor').then(({ default: MediaLibraryEditor }) => { + import('components/mediaLibraryEditor/mediaLibraryEditor').then(({ default: MediaLibraryEditor }) => { new MediaLibraryEditor({ refresh: shouldRefreshLibraryAfterChanges(page), library: virtualFolder @@ -60,7 +61,7 @@ function deleteVirtualFolder(page, virtualFolder) { } function refreshVirtualFolder(page, virtualFolder) { - import('../../components/refreshdialog/refreshdialog').then(({ default: RefreshDialog }) => { + import('components/refreshdialog/refreshdialog').then(({ default: RefreshDialog }) => { new RefreshDialog({ itemIds: [virtualFolder.ItemId], serverId: ApiClient.serverId(), @@ -70,7 +71,7 @@ function refreshVirtualFolder(page, virtualFolder) { } function renameVirtualFolder(page, virtualFolder) { - import('../../components/prompt/prompt').then(({ default: prompt }) => { + import('components/prompt/prompt').then(({ default: prompt }) => { prompt({ label: globalize.translate('LabelNewName'), description: globalize.translate('MessageRenameMediaFolder'), @@ -117,7 +118,7 @@ function showCardMenu(page, elem, virtualFolders) { icon: 'delete' }); - import('../../components/actionSheet/actionSheet').then((actionsheet) => { + import('components/actionSheet/actionSheet').then((actionsheet) => { actionsheet.show({ items: menuItems, positionTo: elem, @@ -206,7 +207,7 @@ function reloadVirtualFolders(page, virtualFolders) { } function editImages(page, virtualFolder) { - import('../../components/imageeditor/imageeditor').then((imageEditor) => { + import('components/imageeditor/imageeditor').then((imageEditor) => { imageEditor.show({ itemId: virtualFolder.ItemId, serverId: ApiClient.serverId() @@ -255,14 +256,9 @@ function getCollectionTypeOptions() { function getVirtualFolderHtml(page, virtualFolder, index) { let html = ''; - let style = ''; - - if (page.classList.contains('wizardPage')) { - style += 'min-width:33.3%;'; - } const elementId = virtualFolder.elementId ? `id="${virtualFolder.elementId}" ` : ''; - html += '
'; + html += '
'; html += '
'; html += '
'; diff --git a/src/controllers/wizard/user/index.js b/src/controllers/wizard/user/index.js index eb521c87af..1d064bf382 100644 --- a/src/controllers/wizard/user/index.js +++ b/src/controllers/wizard/user/index.js @@ -37,7 +37,7 @@ function submit(form) { .ajax({ type: 'POST', data: JSON.stringify({ - Name: form.querySelector('#txtUsername').value, + Name: form.querySelector('#txtUsername').value.trim(), Password: form.querySelector('#txtManualPassword').value }), url: apiClient.getUrl('Startup/User'), diff --git a/src/elements/emby-collapse/emby-collapse.js b/src/elements/emby-collapse/emby-collapse.js index bf281d1257..1f47db55b1 100644 --- a/src/elements/emby-collapse/emby-collapse.js +++ b/src/elements/emby-collapse/emby-collapse.js @@ -13,7 +13,8 @@ function slideDownToShow(button, elem) { elem.style.height = '0'; // trigger reflow // TODO: Find a better way to do this - const newHeight = elem.offsetHeight; /* eslint-disable-line no-unused-vars */ + // eslint-disable-next-line @typescript-eslint/no-unused-vars, sonarjs/no-unused-vars, sonarjs/no-dead-store + const newHeight = elem.offsetHeight; elem.style.height = height; setTimeout(function () { @@ -35,7 +36,8 @@ function slideUpToHide(button, elem) { elem.style.height = elem.offsetHeight + 'px'; // trigger reflow // TODO: Find a better way to do this - const newHeight = elem.offsetHeight; /* eslint-disable-line no-unused-vars */ + // eslint-disable-next-line @typescript-eslint/no-unused-vars, sonarjs/no-unused-vars, sonarjs/no-dead-store + const newHeight = elem.offsetHeight; elem.classList.remove('expanded'); elem.style.height = '0'; diff --git a/src/elements/emby-scroller/emby-scroller.scss b/src/elements/emby-scroller/emby-scroller.scss index 66b20e376f..4ca228eda2 100644 --- a/src/elements/emby-scroller/emby-scroller.scss +++ b/src/elements/emby-scroller/emby-scroller.scss @@ -1,4 +1,4 @@ -@import '../../styles/mixins'; +@use '../../styles/mixins' as *; .emby-scroller-container { position: relative; diff --git a/src/elements/emby-select/emby-select.js b/src/elements/emby-select/emby-select.js index 2ed9e7c89b..b845c68c16 100644 --- a/src/elements/emby-select/emby-select.js +++ b/src/elements/emby-select/emby-select.js @@ -79,23 +79,9 @@ function onMouseDown(e) { } function onKeyDown(e) { - switch (e.keyCode) { - case 13: - if (!enableNativeMenu()) { - e.preventDefault(); - showActionSheet(this); - } - return; - case 37: - case 38: - case 39: - case 40: - if (layoutManager.tv) { - e.preventDefault(); - } - return; - default: - break; + if (e.keyCode === 13 && !enableNativeMenu()) { + e.preventDefault(); + showActionSheet(this); } } diff --git a/src/elements/emby-slider/emby-slider.js b/src/elements/emby-slider/emby-slider.js index 474fd430c2..e4575ecaff 100644 --- a/src/elements/emby-slider/emby-slider.js +++ b/src/elements/emby-slider/emby-slider.js @@ -161,6 +161,7 @@ function updateValues(isValueSet) { if (!!isValueSet && !supportsValueAutoSnap) { const value = snapValue(this, parseFloat(this.value)).toString(); + // eslint-disable-next-line sonarjs/different-types-comparison if (this.value !== value) { this.value = value; diff --git a/src/hooks/useConfiguration.ts b/src/hooks/useConfiguration.ts index 2d5dbd5a2a..81ddb79f03 100644 --- a/src/hooks/useConfiguration.ts +++ b/src/hooks/useConfiguration.ts @@ -4,12 +4,9 @@ import { useQuery } from '@tanstack/react-query'; import { useApi } from 'hooks/useApi'; import type { AxiosRequestConfig } from 'axios'; -export const fetchConfiguration = async (api?: Api, options?: AxiosRequestConfig) => { - if (!api) { - console.error('[useLogOptions] No API instance available'); - return; - } +export const QUERY_KEY = 'Configuration'; +export const fetchConfiguration = async (api: Api, options?: AxiosRequestConfig) => { const response = await getConfigurationApi(api).getConfiguration(options); return response.data; @@ -19,8 +16,8 @@ export const useConfiguration = () => { const { api } = useApi(); return useQuery({ - queryKey: ['Configuration'], - queryFn: ({ signal }) => fetchConfiguration(api, { signal }), + queryKey: [ QUERY_KEY ], + queryFn: ({ signal }) => fetchConfiguration(api!, { signal }), enabled: !!api }); }; diff --git a/src/hooks/useItem.ts b/src/hooks/useItem.ts index f094a0b678..06040f3810 100644 --- a/src/hooks/useItem.ts +++ b/src/hooks/useItem.ts @@ -7,26 +7,23 @@ import { useApi } from './useApi'; import type { ItemDto } from 'types/base/models/item-dto'; const fetchItem = async ( - api?: Api, - userId?: string, - itemId?: string, + api: Api, + itemId: string, + userId: string, options?: AxiosRequestConfig ) => { - if (!api) throw new Error('No API instance available'); - if (!itemId) throw new Error('No item ID provided'); - const response = await getUserLibraryApi(api) .getItem({ userId, itemId }, options); return response.data as ItemDto; }; export const getItemQuery = ( - api?: Api, - userId?: string, - itemId?: string + api: Api | undefined, + itemId?: string, + userId?: string ) => queryOptions({ queryKey: [ 'User', userId, 'Items', itemId ], - queryFn: ({ signal }) => fetchItem(api, userId, itemId, { signal }), + queryFn: ({ signal }) => fetchItem(api!, itemId!, userId!, { signal }), staleTime: 1000, // 1 second enabled: !!api && !!userId && !!itemId }); @@ -36,5 +33,5 @@ export const useItem = ( ) => { const apiContext = useApi(); const { api, user } = apiContext; - return useQuery(getItemQuery(api, user?.Id, itemId)); + return useQuery(getItemQuery(api, itemId, user?.Id)); }; diff --git a/src/hooks/useNamedConfiguration.ts b/src/hooks/useNamedConfiguration.ts new file mode 100644 index 0000000000..138355b608 --- /dev/null +++ b/src/hooks/useNamedConfiguration.ts @@ -0,0 +1,27 @@ +import { Api } from '@jellyfin/sdk'; +import { getConfigurationApi } from '@jellyfin/sdk/lib/utils/api/configuration-api'; +import { useQuery } from '@tanstack/react-query'; +import { useApi } from 'hooks/useApi'; +import type { AxiosRequestConfig } from 'axios'; + +export const QUERY_KEY = 'NamedConfiguration'; + +export interface NamedConfiguration { + [key: string]: unknown; +} + +const fetchNamedConfiguration = async (api: Api, key: string, options?: AxiosRequestConfig) => { + const response = await getConfigurationApi(api).getNamedConfiguration({ key }, options); + + return response.data as unknown as NamedConfiguration; +}; + +export const useNamedConfiguration = (key: string) => { + const { api } = useApi(); + + return useQuery({ + queryKey: [ QUERY_KEY, key ], + queryFn: ({ signal }) => fetchNamedConfiguration(api!, key, { signal }), + enabled: !!api + }); +}; diff --git a/src/hooks/useSyncPlayGroups.ts b/src/hooks/useSyncPlayGroups.ts index 910a6cf104..69d22d2117 100644 --- a/src/hooks/useSyncPlayGroups.ts +++ b/src/hooks/useSyncPlayGroups.ts @@ -6,14 +6,9 @@ import type { AxiosRequestConfig } from 'axios'; import { useApi } from './useApi'; const fetchSyncPlayGroups = async ( - api?: Api, + api: Api, options?: AxiosRequestConfig ) => { - if (!api) { - console.warn('[fetchSyncPlayGroups] No API instance available'); - return; - } - const response = await getSyncPlayApi(api) .syncPlayGetGroups(options); return response.data; @@ -23,7 +18,7 @@ export const useSyncPlayGroups = () => { const { api } = useApi(); return useQuery({ queryKey: [ 'SyncPlay', 'Groups' ], - queryFn: ({ signal }) => fetchSyncPlayGroups(api, { signal }), + queryFn: ({ signal }) => fetchSyncPlayGroups(api!, { signal }), enabled: !!api }); }; diff --git a/src/hooks/useSystemInfo.ts b/src/hooks/useSystemInfo.ts index 0fa4604a59..1ac2570988 100644 --- a/src/hooks/useSystemInfo.ts +++ b/src/hooks/useSystemInfo.ts @@ -6,14 +6,9 @@ import type { AxiosRequestConfig } from 'axios'; import { useApi } from './useApi'; const fetchSystemInfo = async ( - api?: Api, + api: Api, options?: AxiosRequestConfig ) => { - if (!api) { - console.warn('[fetchSystemInfo] No API instance available'); - return; - } - const response = await getSystemApi(api) .getSystemInfo(options); return response.data; @@ -23,7 +18,7 @@ export const getSystemInfoQuery = ( api?: Api ) => queryOptions({ queryKey: [ 'SystemInfo' ], - queryFn: ({ signal }) => fetchSystemInfo(api, { signal, headers: { 'Cache-Control': 'no-cache' } }), + queryFn: ({ signal }) => fetchSystemInfo(api!, { signal, headers: { 'Cache-Control': 'no-cache' } }), // Allow for query reuse in legacy javascript. staleTime: 1000, // 1 second enabled: !!api diff --git a/src/hooks/useUserViews.ts b/src/hooks/useUserViews.ts index 77fbd4d60a..1e1b76f415 100644 --- a/src/hooks/useUserViews.ts +++ b/src/hooks/useUserViews.ts @@ -7,14 +7,11 @@ import type { AxiosRequestConfig } from 'axios'; import { useApi } from './useApi'; const fetchUserViews = async ( - api?: Api, - userId?: string, + api: Api, + userId: string, params?: UserViewsApiGetUserViewsRequest, options?: AxiosRequestConfig ) => { - if (!api) throw new Error('No API instance available'); - if (!userId) throw new Error('No User ID provided'); - const response = await getUserViewsApi(api) .getUserViews({ ...params, userId }, options); return response.data; @@ -26,7 +23,7 @@ export const getUserViewsQuery = ( params?: UserViewsApiGetUserViewsRequest ) => queryOptions({ queryKey: [ 'User', userId, 'Views', params ], - queryFn: ({ signal }) => fetchUserViews(api, userId, params, { signal }), + queryFn: ({ signal }) => fetchUserViews(api!, userId!, params, { signal }), // On initial page load we request user views 3x. Setting a 1 second stale time // allows a single request to be made to resolve all 3. staleTime: 1000, // 1 second diff --git a/src/hooks/useUsers.ts b/src/hooks/useUsers.ts index cc62d6b2c3..ec11920f87 100644 --- a/src/hooks/useUsers.ts +++ b/src/hooks/useUsers.ts @@ -1,21 +1,18 @@ import type { AxiosRequestConfig } from 'axios'; import type { Api } from '@jellyfin/sdk'; -import type { UserApiGetUsersRequest } from '@jellyfin/sdk/lib/generated-client'; +import type { UserApiGetUsersRequest, UserDto } from '@jellyfin/sdk/lib/generated-client'; import { getUserApi } from '@jellyfin/sdk/lib/utils/api/user-api'; import { useQuery } from '@tanstack/react-query'; import { useApi } from './useApi'; +export type UsersRecords = Record; + const fetchUsers = async ( - api?: Api, + api: Api, requestParams?: UserApiGetUsersRequest, options?: AxiosRequestConfig ) => { - if (!api) { - console.warn('[fetchUsers] No API instance available'); - return; - } - const response = await getUserApi(api).getUsers(requestParams, { signal: options?.signal }); @@ -28,7 +25,28 @@ export const useUsers = (requestParams?: UserApiGetUsersRequest) => { return useQuery({ queryKey: ['Users'], queryFn: ({ signal }) => - fetchUsers(api, requestParams, { signal }), + fetchUsers(api!, requestParams, { signal }), enabled: !!api }); }; + +export const useUsersDetails = () => { + const { data: users, ...rest } = useUsers(); + const usersById: UsersRecords = {}; + const names: string[] = []; + + if (users) { + users.forEach(user => { + const userId = user.Id; + if (userId) usersById[userId] = user; + if (user.Name) names.push(user.Name); + }); + } + + return { + users, + usersById, + names, + ...rest + }; +}; diff --git a/src/lib/legacy/htmlMediaElement.js b/src/lib/legacy/htmlMediaElement.js index b01389fded..9c76389168 100644 --- a/src/lib/legacy/htmlMediaElement.js +++ b/src/lib/legacy/htmlMediaElement.js @@ -11,6 +11,7 @@ const realPlay = HTMLMediaElementPrototype.play; HTMLMediaElementPrototype.play = function () { + // eslint-disable-next-line sonarjs/no-try-promise try { const promise = realPlay.apply(this, arguments); diff --git a/src/lib/scroller/index.js b/src/lib/scroller/index.js index 0292cb5688..d84cffc7b9 100644 --- a/src/lib/scroller/index.js +++ b/src/lib/scroller/index.js @@ -24,6 +24,7 @@ function type(value) { } if (typeof value === 'object' || typeof value === 'function') { + // eslint-disable-next-line sonarjs/prefer-regexp-exec return Object.prototype.toString.call(value).match(/\s([a-z]+)/i)[1].toLowerCase() || 'object'; } diff --git a/src/scripts/browser.js b/src/scripts/browser.js index e2f593e70b..d93b91dded 100644 --- a/src/scripts/browser.js +++ b/src/scripts/browser.js @@ -86,7 +86,7 @@ function iOSversion() { /Version\/(\d+)/ ]; for (const test of tests) { - const matches = (navigator.appVersion).match(test); + const matches = RegExp(test).exec(navigator.appVersion); if (matches) { return [ parseInt(matches[1], 10), @@ -163,6 +163,7 @@ function supportsCssAnimation(allowPrefix) { const domPrefixes = ['Webkit', 'O', 'Moz']; const elm = document.createElement('div'); + // eslint-disable-next-line sonarjs/different-types-comparison if (elm.style.animationName !== undefined) { animation = true; } @@ -298,7 +299,7 @@ if (browser.web0s) { delete browser.chrome; delete browser.safari; } else if (browser.tizen) { - const v = (navigator.appVersion).match(/Tizen (\d+).(\d+)/); + const v = RegExp(/Tizen (\d+).(\d+)/).exec(navigator.appVersion); browser.tizenVersion = parseInt(v[1], 10); // UserAgent string contains 'Chrome' and 'Safari', but we only want 'tizen' to be true @@ -319,7 +320,6 @@ if (browser.mobile || browser.tv) { browser.slow = true; } -/* eslint-disable-next-line compat/compat */ if (typeof document !== 'undefined' && ('ontouchstart' in window) || (navigator.maxTouchPoints > 0)) { browser.touch = true; } diff --git a/src/scripts/browserDeviceProfile.js b/src/scripts/browserDeviceProfile.js index 8e43b1fb2f..4370edaeaf 100644 --- a/src/scripts/browserDeviceProfile.js +++ b/src/scripts/browserDeviceProfile.js @@ -230,7 +230,8 @@ function supportsVc1(videoTestElement) { } function supportsHdr10(options) { - return options.supportsHdr10 ?? (false // eslint-disable-line sonarjs/no-redundant-boolean + // eslint-disable-next-line no-constant-binary-expression, sonarjs/no-redundant-boolean + return options.supportsHdr10 ?? (false || browser.vidaa || browser.tizen || browser.web0s @@ -253,7 +254,8 @@ function supportsHlg(options) { } function supportsDolbyVision(options) { - return options.supportsDolbyVision ?? (false // eslint-disable-line sonarjs/no-redundant-boolean + // eslint-disable-next-line no-constant-binary-expression, sonarjs/no-redundant-boolean + return options.supportsDolbyVision ?? (false || browser.safari && ((browser.iOS && browser.iOSVersion >= 13) || browser.osx) ); } @@ -512,10 +514,8 @@ export default function (options) { } } - /* eslint-disable compat/compat */ let maxVideoWidth = browser.xboxOne ? window.screen?.width : null; - /* eslint-enable compat/compat */ if (options.maxVideoWidth) { maxVideoWidth = options.maxVideoWidth; } @@ -651,7 +651,7 @@ export default function (options) { } if (canPlayHevc(videoTestElement, options) - && (browser.edgeChromium || browser.safari || browser.tizen || browser.web0s || (browser.chrome && (!browser.android || browser.versionMajor >= 105)) || (browser.opera && !browser.mobile))) { + && (browser.edgeChromium || browser.safari || browser.tizen || browser.web0s || (browser.chrome && (!browser.android || browser.versionMajor >= 105)) || (browser.opera && !browser.mobile) || (browser.firefox && browser.versionMajor >= 134))) { // Chromium used to support HEVC on Android but not via MSE hlsInFmp4VideoCodecs.push('hevc'); } diff --git a/src/scripts/clipboard.js b/src/scripts/clipboard.js index 7e7170b7a1..79bee57f18 100644 --- a/src/scripts/clipboard.js +++ b/src/scripts/clipboard.js @@ -33,7 +33,7 @@ function textAreaCopy(text) { } else { ret = Promise.reject(); } - } catch (_) { + } catch { ret = Promise.reject(); } @@ -48,11 +48,10 @@ function textAreaCopy(text) { * @returns {Promise} Promise. */ export function copy(text) { - /* eslint-disable-next-line compat/compat */ + // eslint-disable-next-line sonarjs/different-types-comparison if (navigator.clipboard === undefined) { return textAreaCopy(text); } else { - /* eslint-disable-next-line compat/compat */ return navigator.clipboard.writeText(text).catch(() => { return textAreaCopy(text); }); diff --git a/src/scripts/editorsidebar.js b/src/scripts/editorsidebar.js index 37094e5d03..0074d34260 100644 --- a/src/scripts/editorsidebar.js +++ b/src/scripts/editorsidebar.js @@ -287,11 +287,12 @@ function updateEditorNode(page, item) { } } -function setCurrentItemId(id) { +let itemId; +export function setCurrentItemId(id) { itemId = id; } -function getCurrentItemId() { +export function getCurrentItemId() { if (itemId) { return itemId; } @@ -326,16 +327,4 @@ $(document).on('itemsaved', '.metadataEditorPage', function (e, item) { .off('open_node.jstree', onNodeOpen) .off('load_node.jstree', onNodeOpen); }); -let itemId; -window.MetadataEditor = { - getItemPromise: function () { - const currentItemId = getCurrentItemId(); - if (currentItemId) { - return ApiClient.getItem(Dashboard.getCurrentUserId(), currentItemId); - } - return ApiClient.getRootFolder(Dashboard.getCurrentUserId()); - }, - getCurrentItemId: getCurrentItemId, - setCurrentItemId: setCurrentItemId -}; /* eslint-enable @typescript-eslint/naming-convention */ diff --git a/src/scripts/livetvcomponents.js b/src/scripts/livetvcomponents.js index 68a2c53453..6f35db3cae 100644 --- a/src/scripts/livetvcomponents.js +++ b/src/scripts/livetvcomponents.js @@ -8,7 +8,7 @@ function enableScrollX() { return !layoutManager.desktop; } -function getTimersHtml(timers, options) { +export function getTimersHtml(timers, options) { options = options || {}; const items = timers.map(function (t) { @@ -102,7 +102,3 @@ function getTimersHtml(timers, options) { } return Promise.resolve(html); } - -window.LiveTvHelpers = { - getTimersHtml: getTimersHtml -}; diff --git a/src/strings/ar.json b/src/strings/ar.json index 327c79d890..f5419ef628 100644 --- a/src/strings/ar.json +++ b/src/strings/ar.json @@ -240,7 +240,7 @@ "LabelAlbumArtists": "فنانو الألبومات", "LabelAllowHWTranscoding": "السماح بالتشفير البيني بعتاد الحاسب", "LabelAppName": "اسم التطبيق", - "LabelAppNameExample": "مثال: Sickbeard، Sonarr", + "LabelAppNameExample": "اسم قابل للقراءة بشرياً لتحديد مفاتيح API. هذا الإعداد لن يؤثر على الوظائف.", "LabelArtists": "الفنانون", "LabelArtistsHelp": "افصل بين الفنانين ب ; فاصلة منقوطة.", "LabelAudioLanguagePreference": "اللغة المفضلة للصوت", @@ -907,7 +907,7 @@ "HeaderDetectMyDevices": "كشف أجهزتي", "HeaderDeleteItems": "حذف العناصر", "HeaderContinueListening": "استمر في الاستماع", - "HeaderConfigureRemoteAccess": "إعدادات الوصول عن بعد", + "HeaderConfigureRemoteAccess": "إعداد الوصول عن بعد", "HeaderChapterImages": "صور الفصل", "HeaderCancelSeries": "إلغاء السلسلة", "HeaderCancelRecording": "إلغاء التسجيل", @@ -1423,7 +1423,7 @@ "LabelRefreshMode": "وضع التحديث", "LabelRecord": "سجل", "LabelReasonForTranscoding": "سبب التحويل", - "LabelPublishedServerUriHelp": "تجاوز URI المستخدم بواسطة Jellyfin ، بناءً على الواجهة ، أو عنوان IP للعميل.", + "LabelPublishedServerUriHelp": "تجاوز عنوان URI المستخدم بواسطة Jellyfin، بناءً على الواجهة أو عنوان IP الخاص بالعميل. على سبيل المثال: internal=http://jellyfin.example.com, external=https://jellyfin.example.com, أو all=https://jellyfin.example.com", "LabelPublishedServerUri": "عناوين URI للخادم المنشورة", "LabelPreferredSubtitleLanguage": "لغة الترجمة المفضلة", "LabelPlaylist": "قائمة التشغيل", @@ -1782,13 +1782,13 @@ "HeaderGuestCast": "النجوم الضيوف", "EnableHi10pHelp": "تمكين لتجنب تحويل ترميز مقاطع الفيديو H.264 10 بت. قم بتعطيل هذا الخيار إذا كان الفيديو يعرض إطارات فارغة.", "Colorist": "الملون", - "ChannelResolutionHD": "720", - "ChannelResolutionSD": "480 او أقل", + "ChannelResolutionHD": "HD", + "ChannelResolutionSD": "SD", "AllowTonemappingSoftwareHelp": "يمكن لتعيين الدرجة اللونية تحويل النطاق الديناميكي للفيديو من HDR إلى SDR مع الحفاظ على تفاصيل الصورة والألوان، وهي معلومات مهمة جدًا لتمثيل المشهد الأصلي. يعمل حاليًا فقط مع مقاطع فيديو HDR10 وHLG وDVi 10 بت فقط.", "AndOtherArtists": "{0} و {1} فنانين آخرين.", "BlockContentWithTagsHelp": "إخفاء الوسائط بعلامة واحدة على الأقل من العلامات المحددة.", "CoverArtist": "غلاف الفنان", - "ChannelResolutionUHD4K": "4K", + "ChannelResolutionUHD4K": "UHD (4K)", "DlnaMovedMessage": "تم نقل وظيفة DLNA إلى مكون إضافي.", "ConfirmDeleteSeries": "سيؤدي حذف هذه السلسلة إلى حذف جميع الحلقات {0} من نظام الملفات ومكتبة الوسائط الخاصة بك. هل أنت متأكد من رغبتك في المتابعة؟", "EnableHi10p": "تمكين ملف تعريف H.264 عالي 10", @@ -1813,11 +1813,11 @@ "AllowFmp4TranscodingContainerHelp": "اسمح بحاوية تحويل الترميز fMP4 لهذا الموالف لتمكين محتويات HEVC و HDR. ليست كل الموالفات متوافقة مع هذه الحاوية. قم بتعطيل هذا إذا واجهت مشاكل في التشغيل.", "AlwaysRemuxFlacAudioFilesHelp": "إذا كانت لديك ملفات يرفض متصفحك تشغيلها أو إذا كان المتصفح يرفض تشغيلها أو إذا كان يحسب الطوابع الزمنية بشكل غير دقيق، فقم بتمكين هذا كحل بديل.", "AlwaysRemuxMp3AudioFilesHelp": "إذا كانت لديك ملفات يقوم متصفحك بحساب الطوابع الزمنية بشكل غير دقيق، فقم بتمكين هذا كحل بديل.", - "ChannelResolutionFullHD": "1080", + "ChannelResolutionFullHD": "Full HD", "FallbackMaxStreamingBitrateHelp": "يُستخدم الحد الأقصى لمعدل بت البث الأقصى كمعدل بت احتياطي عندما يتعذر على ffprobe تحديد معدل بت الدفق المصدر. يساعد هذا في منع العملاء من طلب معدل بت مرتفع للغاية لتحويل الترميز، مما قد يتسبب في فشل المشغل وزيادة التحميل على المشفر.", "HeaderAddLyrics": "إضافة كلمات", "AlwaysBurnInSubtitleWhenTranscoding": "انسخ الترجمة دائماً عند تحويل الترميز", "AlwaysBurnInSubtitleWhenTranscodingHelp": "نسخ جميع العناوين الفرعية عند تشغيل تحويل الترميز. يضمن ذلك مزامنة الترجمة بعد تحويل الترميز على حساب انخفاض سرعة التحويل.", - "ChannelResolutionSDPAL": "480 (25 اطار) او أقل", + "ChannelResolutionSDPAL": "SD (PAL)", "EnableTrueHdHelp": "لا تفعّلها إلا إذا كان جهازك يدعم TrueHD أو كان متصلاً بجهاز استقبال صوتي متوافق، وإلا فقد يتسبب ذلك في فشل التشغيل." } diff --git a/src/strings/be-by.json b/src/strings/be-by.json index 2f88a57405..8b263a77ca 100644 --- a/src/strings/be-by.json +++ b/src/strings/be-by.json @@ -16,7 +16,7 @@ "WizardCompleted": "Гэта ўсё, што нам трэба зараз. Jellyfin пачынае збіраць звесткі аб вашай медыятэцы. Азнаёмцеся пакуль з некаторымі нашымі праграмамі, а затым націсніце Гатова, каб праглядзець Панэль кіравання.", "ButtonSyncPlay": "Функцыя SyncPlay", "Sync": "Сінхранізаваць", - "Playlists": "Плэйлісты", + "Playlists": "Спісы прайгравання", "OptionBluray": "BD", "AddToCollection": "Дадаць у калекцыю", "AdditionalNotificationServices": "Праглядзіце каталог плагінаў, каб усталяваць дадатковыя службы апавяшчэнняў.", @@ -31,7 +31,7 @@ "ButtonCast": "Вяшчаць на прыладу", "Movies": "Фільмы", "Genres": "Жанры", - "Folders": "Папкі", + "Folders": "Тэчкі", "Photos": "Фатаграфіі", "Songs": "Песні", "Channels": "Каналы", @@ -93,11 +93,11 @@ "Aired": "Эфір", "AnyLanguage": "Любая мова", "Artist": "Выканаўца", - "AllowMediaConversionHelp": "Дайце або забараніце доступ да функцыі перакадзіравання мультымедыя.", + "AllowMediaConversionHelp": "Дайце або забараніце доступ да функцыі канвертавання медыяфайлаў.", "AlwaysPlaySubtitlesHelp": "Субтытры, якія адпавядаюць параметрам мовы, будуць загружаны незалежна ад мовы гуку.", - "AllowMediaConversion": "Дазволіць перакадзіраванне мультымедыя", + "AllowMediaConversion": "Дазволіць канвертаванне медыяфайлаў", "AllowFfmpegThrottling": "Абмежаваць перакадзіраванне", - "AddToPlaylist": "Дадаць у плэйліст", + "AddToPlaylist": "Дадаць у спіс прайгравання", "Album": "Альбом", "Anytime": "У любы час", "ButtonBackspace": "Сьцерці", @@ -123,7 +123,7 @@ "ButtonRename": "Перайменаваць", "ButtonResume": "Працягнуць", "ButtonScanAllLibraries": "Сканаваць усе бібліятэкі", - "ChangingMetadataImageSettingsNewContent": "Змены ў метаданых або наладах спампоўкі ілюстрацый будуць прымяняцца толькі да новага кантэнту, дададзенага ў вашу бібліятэку. Каб прымяніць змены да існуючых назваў, вам трэба будзе абнавіць іх метаданыя ўручную.", + "ChangingMetadataImageSettingsNewContent": "Змены ў метададзеных або наладах спампоўкі ілюстрацый будуць прымяняцца толькі да новага кантэнту, дададзенага ў вашу бібліятэку. Каб прымяніць змены да існуючых назваў, вам трэба будзе абнавіць іх метададзеныя ўручную.", "ButtonMore": "Больш", "BoxRear": "Скрынка (задняя)", "ButtonManualLogin": "Уваход уручную", @@ -144,7 +144,7 @@ "ButtonParentalControl": "Бацькоўскі кантроль", "ButtonShutdown": "Адключыць", "Backdrop": "Заднік", - "ButtonAddMediaLibrary": "Дадаць медыятэку", + "ButtonAddMediaLibrary": "Дадаць бібліятэку медыяфайлаў", "ButtonEditOtherUserPreferences": "Рэдагаваць профіль, выяву і асабістыя налады гэтага карыстальніка.", "ButtonRefreshGuideData": "Абнавіць даныя даведніка", "Authorize": "Аўтарызаваць", @@ -168,7 +168,7 @@ "ButtonStart": "Пачаць", "ButtonStop": "Спыніць", "ButtonSubmit": "Падаць", - "ButtonTogglePlaylist": "Плэйліст", + "ButtonTogglePlaylist": "Спіс прайгравання", "ButtonTrailer": "Трэйлер", "ButtonUninstall": "Выдаліць", "ButtonWebsite": "Вэб-сайт", @@ -232,11 +232,11 @@ "LabelWeb": "Вэб", "Localization": "Лакалізацыя", "MediaInfoBitDepth": "Разрадная глыбіня", - "MediaInfoCodecTag": "Тэг кодэка", + "MediaInfoCodecTag": "Метка кодэка", "MediaInfoFramerate": "Частата кадраў", "MediaInfoProfile": "Профіль", "MessageAlreadyInstalled": "Гэтая версія ўжо ўстаноўлена.", - "MessageAreYouSureYouWishToRemoveMediaFolder": "Вы ўпэўнены, што жадаеце выдаліць гэту медыяпапку?", + "MessageAreYouSureYouWishToRemoveMediaFolder": "Вы ўпэўнены, што жадаеце выдаліць гэту тэчку з медыяфайламі?", "LabelModelUrl": "URL мадэлі", "MoveLeft": "Рухайцесь налева", "Mute": "Адключыць аўдыё", @@ -257,7 +257,7 @@ "Recordings": "Запісы", "Ended": "Скончылася", "RememberSubtitleSelections": "Усталюйце дарожку субтытраў на аснове папярэдняга элемента", - "RemoveFromPlaylist": "Выдаліць з плэйліста", + "RemoveFromPlaylist": "Выдаліць з спіса прайгравання", "ChannelNameOnly": "Толькі канал {0}", "Composer": "Кампазітар", "CopyFailed": "Не атрымалася скапіраваць", @@ -281,8 +281,8 @@ "ValueOneSeries": "1 серыя", "ValueSeriesCount": "{0} серый", "Writer": "Сцэнарыст", - "HeaderSelectFallbackFontPath": "Выберыце шлях да папкі рэзервовага шрыфта", - "LabelFallbackFontPath": "Шлях да папкі рэзервовага шрыфта", + "HeaderSelectFallbackFontPath": "Выберыце шлях да тэчкі з рэзервовымі шрыфтамі", + "LabelFallbackFontPath": "Шлях да тэчкі з рэзервовымі шрыфтамі", "AspectRatioFill": "Запоўніць", "LabelRemuxingInfo": "Інфармацыя аб рэмуксаванні", "EnableGamepadHelp": "Праслухоўванне ўводу ад любых падлучаных кантролераў. (Патрабуецца: Рэжым адлюстравання \"ТБ\")", @@ -337,17 +337,17 @@ "LabelMetadataPathHelp": "Укажыце карыстацкае месцазнаходжанне для спампаваных ілюстрацый і метададзеных.", "LabelMetadataReaders": "Счытвальнікі метададзеных", "LabelMetadataSavers": "Захавальнікі метаданых", - "LabelOptionalNetworkPath": "Агульная сеткавая папка", + "LabelOptionalNetworkPath": "Агульная сеткавая тэчка", "LabelParentNumber": "Бацькоўскі нумар", "LabelPasswordConfirm": "Пароль (пацвердзіць)", - "LabelPlaylist": "Плэйліст", + "LabelPlaylist": "Спіс прайгравання", "LabelPlayMethod": "Спосаб прайгравання", "LabelProfileVideoCodecs": "Відэа кодэкі", "LabelPublicHttpsPort": "Нумар публічнага порта HTTPS", "Controls": "Элементы кіравання", "LabelRefreshMode": "Рэжым абнаўлення", "LabelSendNotificationToUsers": "Адправіць апавяшчэнне на", - "LabelSkipIfAudioTrackPresent": "Прапусціць, калі аўдыёдарожка па змаўчанні адпавядае мове спампоўкі", + "LabelSkipIfAudioTrackPresent": "Прапусціць, калі па змаўчанні аўдыядарожка адпавядае мове для спампоўкі", "LabelSkipIfGraphicalSubsPresent": "Прапусціць, калі відэа ўжо змяшчае ўбудаваныя субтытры", "LabelSkipIfGraphicalSubsPresentHelp": "Захаванне тэкставых версій субтытраў прывядзе да больш эфектыўнай дастаўкі і знізіць верагоднасць перакадзіравання відэа.", "LabelSortBy": "Сартаваць па", @@ -356,10 +356,10 @@ "LabelSource": "Крыніца", "ClearQueue": "Ачысціць чаргу", "Conductor": "Дырыжор", - "ConfigureDateAdded": "Наладзьце спосаб вызначэння метададзеных для \"Дата дадання\" ў \"Панэль кіравання\" > \"Медыятэка\" > \"Налады NFO\"", + "ConfigureDateAdded": "Наладзьце, як вызначаюцца метададзеныя для 'Дата дадання' ў раздзеле Панэль кіравання > Бібліятэкі > Адлюстраванне", "ConfirmDeleteImage": "Выдаліць выяву?", - "ConfirmDeleteItem": "Пры выдаленні гэтага элемента ён будзе выдалены як з файлавай сістэмы, так і з вашай медыятэкі. Вы ўпэўнены, што хочаце працягнуць?", - "ConfirmDeleteItems": "Выдаленне гэтых элементаў прывядзе да іх выдалення як з файлавай сістэмы, так і з вашай медыятэкі. Вы ўпэўнены, што хочаце працягнуць?", + "ConfirmDeleteItem": "Выдаленне гэтага элемента прывядзе да яго выдалення як з файлавай сістэмы, так і з вашай бібліятэкі медыяфайлаў. Вы ўпэўнены, што жадаеце працягнуць?", + "ConfirmDeleteItems": "Выдаленне гэтых элементаў прывядзе да іх выдалення як з файлавай сістэмы, так і з вашай бібліятэкі медыяфайлаў. Вы ўпэўнены, што хочаце працягнуць?", "ConfirmEndPlayerSession": "Вы хочаце адключыць Jellyfin на {0}?", "Console": "Кансоль", "Copy": "Копія", @@ -380,13 +380,13 @@ "DeviceAccessHelp": "Гэта адносіцца толькі да прылад, якія могуць быць адназначна ідэнтыфікаваныя і не перашкаджаюць доступу ў браўзеры. Фільтраванне доступу карыстальнікаў да прылад не дазволіць ім выкарыстоўваць новыя прылады, пакуль яны не будуць зацверджаны тут.", "DirectPlaying": "Прамое прайграванне", "DirectPlayHelp": "Зыходны файл цалкам сумяшчальны з гэтым кліентам і сеанс атрымлівае файл без мадыфікацый.", - "LabelTag": "Тэг", + "LabelTag": "Метка", "LabelTextBackgroundColor": "Колер фону тэксту", "LabelTextWeight": "Вага тэксту", "LabelTime": "Час", "DirectStreamHelp1": "Відэапаток сумяшчальны з прыладай, але мае несумяшчальны аўдыяфармат (DTS, Dolby TrueHD і г.д.) або колькасць аўдыё каналаў. Відэапаток будзе перапакоўвацца без страт у якасці на хаду перад адпраўкай на прыладу. Будзе перакадзіраваны толькі аўдыё паток.", "Disc": "Дыск", - "DisplayInMyMedia": "Паказаць на галоўным экране", + "DisplayInMyMedia": "Адлюстроўваць на галоўным экране", "DisplayMissingEpisodesWithinSeasonsHelp": "Гэта таксама павінна быць уключана для ТБ-бібліятэк у канфігурацыі сервера.", "DisplayModeHelp": "Выберыце патрэбны стыль раскладкі інтэрфейсу.", "DoNotRecord": "Не запісваць", @@ -410,7 +410,7 @@ "Episode": "Эпізод", "Episodes": "Эпізоды", "ErrorAddingListingsToSchedulesDirect": "Пры даданні раскладу ў ваш уліковы запіс Schedules Direct адбылася памылка. Schedules Direct дазваляе толькі абмежаваную колькасць складаў на ўліковы запіс. Магчыма, вам спатрэбіцца ўвайсці на вэб-сайт Schedules Direct і выдаліць іншыя спісы са свайго ўліковага запісу, перш чым працягнуць.", - "ErrorAddingMediaPathToVirtualFolder": "Пры даданні шляху медыя адбылася памылка. Упэўніцеся, што шлях сапраўдны і Jellyfin мае доступ да гэтага месца.", + "ErrorAddingMediaPathToVirtualFolder": "Адбылася памылка пры даданні шляху да медыяфайлаў. Калі ласка, пераканайцеся, што шлях карэктны і Jellyfin мае доступ да гэтага месца.", "ErrorAddingXmlTvFile": "Адбылася памылка доступу да файла XMLTV. Пераканайцеся, што файл існуе, і паўтарыце спробу.", "ErrorPleaseSelectLineup": "Выберыце склад і паўтарыце спробу. Калі няма даступных лінейак, праверце правільнасць вашага імя карыстальніка, пароля і паштовага індэкса.", "LabelTypeText": "Тэкст", @@ -456,7 +456,7 @@ "NoSubtitlesHelp": "Субтытры не загружаюцца па змаўчанні. Іх усё яшчэ можна ўключыць уручную падчас прайгравання.", "OnApplicationStartup": "Пры запуску прыкладання", "OptionAllowBrowsingLiveTv": "Дазволіць доступ да тэлеканалаў", - "OptionAllowContentDownload": "Дазволіць загрузку мультымедыя", + "OptionAllowContentDownload": "Дазволіць спампоўку медыяфайлаў", "OptionCaptionInfoExSamsung": "CaptionInfoEx ( Samsung )", "OptionCommunityRating": "Рэйтынг супольнасці", "OptionCriticRating": "Рэйтынг крытыкаў", @@ -465,7 +465,7 @@ "OptionDvd": "DVD", "OptionHasThemeSong": "Тэматычная песня", "OptionHideUserFromLoginHelp": "Карысна для прыватных або схаваных уліковых запісаў адміністратара. Карыстальнік павінен будзе ўвайсці ўручную, увёўшы сваё імя карыстальніка і пароль.", - "FFmpegSavePathNotFound": "Мы не можам знайсці FFmpeg па шляху, які вы ўвялі. FFprobe таксама патрабуецца і павінен знаходзіцца ў той жа папцы. Гэтыя кампаненты звычайна злучаны разам у адной загрузцы. Праверце шлях і паўтарыце спробу.", + "FFmpegSavePathNotFound": "Мы не можам знайсці FFmpeg па ўказаным шляху. FFprobe таксама неабходны і павінен знаходзіцца ў той жа тэчцы. Гэтыя кампаненты звычайна ідуць разам у адным спампоўванні. Калі ласка, праверце шлях і паспрабуйце яшчэ раз.", "Filters": "Фільтры", "Genre": "Жанр", "GoogleCastUnsupported": "Google Cast не падтрымліваецца", @@ -478,7 +478,7 @@ "OtherArtist": "Іншы выканаўца", "Overview": "Агляд", "PackageInstallCancelled": "Усталяванне {0} (версія {1}) адменена.", - "PackageInstallFailed": "Памылка ўстаноўкі {0} (версія {1}).", + "PackageInstallFailed": "Не ўдалося ўсталяваць {0} (версія {1}).", "PasswordMatchError": "Пароль і пацвярджэнне пароля павінны супадаць.", "PasswordResetConfirmation": "Вы ўпэўнены, што хочаце скінуць пароль?", "PasswordResetProviderHelp": "Выберыце пастаўшчыка скіду пароля, які будзе выкарыстоўвацца, калі гэты карыстальнік запытвае скід пароля.", @@ -487,7 +487,7 @@ "PinCodeResetComplete": "Easy PIN-код быў скінуты.", "PlayAllFromHere": "Прайграць усё адсюль", "PlayFromBeginning": "Прайграць з пачатку", - "PleaseAddAtLeastOneFolder": "Калі ласка, дадайце хаця б адну папку ў гэту бібліятэку, націснуўшы кнопку \"+\" у раздзеле \"Папкі\".", + "PleaseAddAtLeastOneFolder": "Калі ласка, дадайце хаця б адну тэчку ў гэтую бібліятэку, націснуўшы кнопку \"+\" у раздзеле \"Тэчкі\".", "PleaseSelectTwoItems": "Калі ласка, абярыце як мінімум два пункты.", "Poster": "Плакат", "PreferEmbeddedTitlesOverFileNames": "Аддавайце перавагу ўбудаваным назвам перад назвамі файлаў", @@ -624,14 +624,14 @@ "HeaderParentalRatings": "Бацькоўскі рэйтынг", "HeaderPhotoAlbums": "Фотаальбомы", "HeaderPlayAll": "Прайграваць усе", - "HeaderPlayback": "Прайграванне мультымедыя", + "HeaderPlayback": "Праіграванне медыяфайлаў", "HeaderPlayOn": "Прайграваць далей", "HeaderPleaseSignIn": "Калі ласка, увайдзіце", "HeaderPluginInstallation": "Ўстаноўка плагіна", "HeaderProfileServerSettingsHelp": "Гэтыя значэнні кантралююць, як сервер будзе прадстаўляць сябе кліентам.", "HeaderRecordingPostProcessing": "Пост-апрацоўка запісу", "HeaderRemoteControl": "Пульт дыстанцыйнага кіравання", - "HeaderRemoveMediaLocation": "Выдаліць месцазнаходжанне мультымедыя", + "HeaderRemoveMediaLocation": "Выдаліць месцазнаходжанне медыяфайлаў", "HeaderResponseProfile": "Профіль адказу", "HeaderResponseProfileHelp": "Профілі адказу дазваляюць наладзіць інфармацыю, якая адпраўляецца на прыладу падчас прайгравання пэўных відаў мультымедыя.", "HeaderRevisionHistory": "Гісторыя версій", @@ -640,16 +640,16 @@ "HeaderSeasons": "Сезоны", "HeaderSelectCertificatePath": "Выберыце шлях да сертыфіката", "HeaderSelectMetadataPath": "Выберыце шлях да метададзеных", - "HeaderSelectMetadataPathHelp": "Праглядзіце або ўвядзіце шлях, які вы хочаце выкарыстоўваць для метададзеных. Папка павінна быць даступнай для запісу.", + "HeaderSelectMetadataPathHelp": "Праглядзіце або ўвядзіце шлях, які вы хочаце выкарыстоўваць для метададзеных. Тэчка павінна быць даступнай для запісу.", "HeaderSelectServerCachePath": "Выберыце шлях да кэша сервера", - "HeaderSelectServerCachePathHelp": "Праглядзіце або ўвядзіце шлях для выкарыстання файлаў кэша сервера. Папка павінна быць даступнай для запісу.", + "HeaderSelectServerCachePathHelp": "Праглядзіце або ўвядзіце шлях для выкарыстання файлаў кэша сервера. Тэчка павінна быць даступнай для запісу.", "HeaderSelectTranscodingPath": "Выберыце часовы шлях перакадзіравання", - "HeaderSelectTranscodingPathHelp": "Праглядзіце або ўвядзіце шлях для перакадзіравання файлаў. Папка павінна быць даступнай для запісу.", + "HeaderSelectTranscodingPathHelp": "Праглядзіце або ўвядзіце шлях для перакадзіравання файлаў. Тэчка павінна быць даступнай для запісу.", "HeaderSeriesOptions": "Параметры серыі", "HeaderSeriesStatus": "Статус серыі", "HeaderServerAddressSettings": "Налады адраса сервера", "HeaderServerSettings": "Налады сервера", - "HeaderSetupLibrary": "Наладзьце свае медыятэкі", + "HeaderSetupLibrary": "Наладзіць бібліятэкі медыяфайлаў", "HeaderSubtitleAppearance": "Знешні выгляд субтытраў", "HeaderSubtitleDownloads": "Спампоўка субтытраў", "HeaderSubtitleProfile": "Профіль субтытраў", @@ -694,7 +694,7 @@ "LabelBaseUrlHelp": "Дадайце карыстальніцкі падкаталог да URL-адраса сервера. Напрыклад: http://example.com/<baseurl>", "LabelBindToLocalNetworkAddressHelp": "Перавызначыць лакальны IP-адрас для сервера HTTP. Калі пакінуць пустым, сервер будзе прывязвацца да ўсіх даступных адрасоў. Змена гэтага значэння патрабуе перазапуску.", "LabelBlastMessageIntervalHelp": "Вызначце працягласць у секундах паміж паведамленнямі blast alive.", - "LabelBlockContentWithTags": "Блакіраваць элементы з тэгамі", + "LabelBlockContentWithTags": "Блакіраваць элементы з меткамі", "LabelBurnSubtitles": "Запісаць субтытры", "LabelCache": "Кэш", "LabelCachePathHelp": "Укажыце карыстацкае размяшчэнне для файлаў кэша сервера, такіх як выявы. Пакіньце пустым, каб выкарыстоўваць сервер па змаўчанні.", @@ -753,7 +753,7 @@ "LabelMaxMuxingQueueSizeHelp": "Максімальная колькасць пакетаў, якія можна буферызаваць падчас чакання ініцыялізацыі ўсіх патокаў. Паспрабуйце павялічыць яго, калі ў журналах FFmpeg вы па-ранейшаму сустракаеце памылку \"Занадта шмат пакетаў у буферы для выхаднога патоку\". Рэкамендаванае значэнне - 2048.", "LabelMaxStreamingBitrateHelp": "Укажыце максімальны бітрэйт пры трансляцыі.", "LabelMessageText": "Тэкст паведамлення", - "LabelMetadataDownloadersHelp": "Уключыце і зранжыравайце вашыя пераважныя спампавальнікі метададзеных у парадку прыярытэту. Спампавальнікі з меншым прыярытэтам будуць выкарыстоўвацца толькі для запаўнення адсутнай інфармацыі.", + "LabelMetadataDownloadersHelp": "Уключыце і расстаўце вашых пераважных спампоўшчыкаў метаданых у парадку прыярытэту. Спампоўшчыкі з ніжэйшым прыярытэтам будуць выкарыстоўвацца толькі для запаўнення адсутнай інфармацыі.", "LabelName": "Імя", "LabelNewName": "Новая назва", "LabelNewPassword": "Новы пароль", @@ -761,7 +761,7 @@ "LabelNewsCategories": "Катэгорыі навін", "LabelNotificationEnabled": "Уключыць гэта апавяшчэнне", "LabelOpenclDeviceHelp": "Гэта прылада OpenCL, якая выкарыстоўваецца для танальнага адлюстравання. Левы бок кропкі - гэта нумар платформы, а правы - нумар прылады на платформе. Значэнне па змаўчанні - 0,0. Патрабуецца файл прыкладання FFmpeg, які змяшчае метад апаратнага паскарэння OpenCL.", - "LabelOptionalNetworkPathHelp": "Калі гэтая папка агульнадаступная ў вашай сетцы, прадастаўленне шляху сеткавага абагульвання можа дазволіць кліентам на іншых прыладах атрымаць непасрэдны доступ да медыяфайлаў. Напрыклад, {0} або {1}.", + "LabelOptionalNetworkPathHelp": "Калі гэтая тэчка агульнадаступная ў вашай сетцы, указанне сеткавага шляху дасць магчымасць кліентам на іншых прыладах атрымліваць доступ да медыяфайлаў. Напрыклад, {0} або {1}.", "LabelOriginalAspectRatio": "Зыходныя суадносіны бакоў", "LabelOriginalTitle": "Арыгінальная назва", "LabelParentalRating": "Бацькоўскі рэйтынг", @@ -789,18 +789,18 @@ "LabelQuickConnectCode": "Код Quick Connect", "LabelReasonForTranscoding": "Прычына перакадавання", "LabelRecordingPath": "Шлях запісу па змаўчанні", - "LabelRecordingPathHelp": "Укажыце месца па змаўчанні для захавання запісаў. Калі пакінуць пустым, будзе выкарыстоўвацца папка дадзеных праграмы сервера.", + "LabelRecordingPathHelp": "Вызначце месца для захавання запісаў па змаўчанні. Калі поле пакінуць пустым, запісы будуць захоўвацца ў тэчцы з праграмнымі дадзенымі сервера.", "LabelReleaseDate": "Дата выпуску", "LabelRemoteClientBitrateLimit": "Ліміт бітрэйту струменевай перадачы Інтэрнэту (Мбіт/с)", "LabelRemoteClientBitrateLimitHelp": "Дадатковы ліміт бітрэйту для кожнага патоку для ўсіх сеткавых прылад. Гэта карысна, каб прылады не запытвалі больш высокі бітрэйт, чым можа вытрымаць ваша інтэрнэт-злучэнне. Гэта можа прывесці да павелічэння нагрузкі на працэсар вашага сервера для перакадзіравання відэа на хаду да больш нізкага бітрэйту.", "LabelRepositoryName": "Назва сховішча", "LabelRepositoryNameHelp": "Карыстальніцкая назва, каб адрозніць гэтае сховішча ад іншых, дададзеных на ваш сервер.", - "LabelSaveLocalMetadata": "Захоўвайце ілюстрацыі ў папках мультымедыя", - "LabelSaveLocalMetadataHelp": "Захаванне ілюстрацыі ў папках мультымедыя змесціць іх у месца, дзе іх можна будзе лёгка рэдагаваць.", + "LabelSaveLocalMetadata": "Захоўвайце ілюстрацыі ў тэчках з медыяфайламі", + "LabelSaveLocalMetadataHelp": "Захаванне ілюстрацый у тэчках з медыяфайламі дазволіць лёгка іх рэдагаваць.", "LabelScheduledTaskLastRan": "Апошні запуск {0}, заняў {1}.", "LabelSeasonNumber": "Нумар сезона", - "LabelSelectFolderGroups": "Аўтаматычна групаваць змесціва з наступных папак у віды, такія як \"Фільмы\", \"Музыка\" і \"ТБ\"", - "LabelSelectFolderGroupsHelp": "Папкі, якія не адзначаны, будуць паказвацца самастойна ў іх уласным праглядзе.", + "LabelSelectFolderGroups": "Аўтаматычна групаваць змесціва з наступных тэчак у прадстаўленні, такія як \"Фільмы\", \"Музыка\" і \"ТБ\"", + "LabelSelectFolderGroupsHelp": "Тэчкі, якія не адзначаны, будуць адлюстроўвацца асобна ў сваім уласным прадстаўленні.", "LabelSelectUsers": "Выберыце карыстальнікаў", "LabelSelectVersionToInstall": "Выберыце версію для ўстаноўкі", "LabelSerialNumber": "Серыйны нумар", @@ -818,7 +818,7 @@ "LabelStopping": "Прыпынак", "LabelStopWhenPossible": "Пры магчымасці спыніцеся", "LabelStreamType": "Тып потоку", - "LabelSubtitleDownloaders": "Праграмы для загрузкі субтытраў", + "LabelSubtitleDownloaders": "Спампоўшчыкі субтытраў", "LabelSubtitleFormatHelp": "Прыклад: srt", "LabelSubtitleVerticalPosition": "Вертыкальнае становішча", "LabelSupportedMediaTypes": "Падтрымліваюцца тыпы носьбітаў", @@ -848,7 +848,7 @@ "LabelTitle": "Назва", "LabelTonemappingAlgorithm": "Выберыце алгарытм танальнага адлюстравання для выкарыстання", "LabelTonemappingDesat": "Тонавае адлюстраванне desat", - "ChannelAccessHelp": "Выберыце каналы, каб даць доступ гэтаму карыстальніку. Адміністратары змогуць рэдагаваць усе каналы з дапамогай дыспетчара метададзеных.", + "ChannelAccessHelp": "Выберыце каналы для агульнага доступу з гэтым карыстальнікам. Адміністратары змогуць рэдагаваць усе каналы з дапамогай мэнэджара метададзеных.", "ChannelNumber": "Нумар канала", "ClientSettings": "Налады кліента", "ColorPrimaries": "Асноўныя колеры", @@ -876,7 +876,7 @@ "DeleteDevicesConfirmation": "Вы ўпэўнены, што хочаце выдаліць усе прылады? Усе астатнія сеансы будуць выключаны. Прылады зноў з'явяцца пры наступным уваходзе карыстальніка.", "DeleteImage": "Выдаліць выяву", "DeleteImageConfirmation": "Вы ўпэўнены, што хочаце выдаліць гэты відарыс?", - "DeleteMedia": "Выдаліць медыя", + "DeleteMedia": "Выдаліць медыяфайл", "DeleteUserConfirmation": "Вы ўпэўнены, што хочаце выдаліць гэтага карыстальніка?", "Depressed": "Прыгнечаны", "Descending": "Па сыходзе", @@ -887,7 +887,7 @@ "EnablePlugin": "Уключыць", "DisableCustomCss": "Адключыць карыстальніцкі код CSS, прадастаўлены серверам", "DisablePlugin": "Адключыць", - "DisplayInOtherHomeScreenSections": "Паказаць ў раздзелах галоўнага экрана такія секцыі як \"Нядаўна дададзеныя мультымедыя\" і \"Працягнуць прагляд\"", + "DisplayInOtherHomeScreenSections": "Адлюстроўваць у раздзелах галоўнага экрана, такіх як \"Нядаўна даданыя медыяфайлы\" і \"Працягнуць прагляд\"", "DisplayMissingEpisodesWithinSeasons": "Паказаць адсутныя серыі ў сезону", "DrmChannelsNotImported": "Каналы з DRM не будуць імпартаваны.", "DropShadow": "Цень", @@ -925,11 +925,11 @@ "HeaderDevices": "Прылады", "HeaderEnabledFields": "Уключаныя палі", "HeaderError": "Памылка", - "HeaderMyMedia": "Мае медыя", + "HeaderMyMedia": "Мае медыяфайлы", "HeaderOnNow": "У эфіры", "HeaderPassword": "Пароль", "HeaderRemoteAccessSettings": "Налады аддаленага доступу", - "HeaderRemoveMediaFolder": "Выдаліць папку мультымедыя", + "HeaderRemoveMediaFolder": "Выдаліць тэчку з медыяфайламі", "Help": "Даведка", "LabelTonemappingDesatHelp": "Ужывайце дэсатурацыю для блікаў, якія перавышаюць гэты ўзровень яркасці. Чым вышэй параметр, тым больш інфармацыі аб колеры будзе захавана. Гэта налада дапамагае прадухіліць ненатуральна цьмяныя колеры для суперблікаў, замест гэтага (плаўна) ператвараючыся ў белыя. Гэта робіць выявы больш натуральнымі, за кошт памяншэння інфармацыі аб колерах, якія не ўваходзяць у дыяпазон. Рэкамендуемыя значэнні і значэнні па змаўчанні - 0 і 0,5.", "LabelTonemappingParamHelp": "Наладзьце алгарытм танальнага адлюстравання. Рэкамендаваныя значэнні і значэнні па змаўчанні - NaN. Як правіла, пакіньце яго пустым.", @@ -939,10 +939,10 @@ "LabelTonemappingThresholdHelp": "Параметры алгарытму адлюстравання тонаў наладжваюцца для кожнай сцэны. І парог выкарыстоўваецца, каб вызначыць, змянілася сцэна ці не. Калі адлегласць паміж бягучай сярэдняй яркасцю кадра і бягучай сярэдняй яркасцю перавышае парогавае значэнне, мы пералічым сярэднюю і пікавую яркасць сцэны. Рэкамендуемыя значэнні і значэнні па змаўчанні - 0,8 і 0,2.", "LabelTranscodingProgress": "Ход перакадзіравання", "LabelTranscodingTempPathHelp": "Укажыце карыстальніцкі шлях для перакадаваных файлаў, якія абслугоўваюцца кліентамі. Пакіньце пустым, каб выкарыстоўваць сервер па змаўчанні.", - "LabelTranscodingThreadCountHelp": "Выберыце максімальную колькасць патокаў для выкарыстання пры перакадзіраванні. Памяншэнне колькасці патокаў знізіць загрузку працэсара, але можа быць недастаткова хутка пераўтворана для гладкага прайгравання.", + "LabelTranscodingThreadCountHelp": "Выберыце максімальную колькасць патокаў для выкарыстання пры перакодзіраванні. Памяншэнне колькасці патокаў знізіць нагрузку на працэсар, але можа прывесці да недастаткова хуткага канвертавання для бесперапыннага прайгравання.", "LabelTunerIpAddress": "IP-адрас цюнэра", "LabelTunerType": "Тып цюнэра", - "LabelTypeMetadataDownloaders": "Сродкі загрузкі метададзеных ({0})", + "LabelTypeMetadataDownloaders": "Спампоўшчыкі метададзеных ({0})", "LabelUDPPortRange": "Дыяпазон сувязі UDP", "LabelUDPPortRangeHelp": "Забараніць Jellyfin выкарыстоўваць гэты дыяпазон партоў пры падключэнні UDP. (Па змаўчанні 1024 - 645535).
Заўвага: некаторыя функцыі патрабуюць фіксаваных партоў, якія могуць знаходзіцца па-за межамі гэтага дыяпазону.", "LabelUnstable": "Няўстойлівы", @@ -950,7 +950,7 @@ "LabelUserAgent": "Агент карыстальніка", "LabelUserLibrary": "Карыстальніцкая медыятэка", "LabelUserLibraryHelp": "Выберыце, якую медыятэку карыстальніка паказаць на прыладзе. Пакіньце пустым, каб атрымаць налады па змаўчанні.", - "LabelUserLoginAttemptsBeforeLockout": "Няўдалыя спробы ўваходу перад тым, як карыстальнік будзе заблакіраваны", + "LabelUserLoginAttemptsBeforeLockout": "Колькасць няўдалых спроб уваходу да блакіроўкі карыстальніка", "LabelUserMaxActiveSessions": "Максімальная колькасць адначасовых карыстальніцкіх сеансаў", "LabelVersion": "Версія", "LabelVideoResolution": "Разрозненне відэа", @@ -970,12 +970,12 @@ "LabelAllowHWTranscoding": "Дазволіць апаратнае перакадзіраванне", "MediaInfoLevel": "Узровень", "MediaInfoRefFrames": "Рэферальныя кадры", - "MediaIsBeingConverted": "Медыя пераўтворыцца ў фармат, сумяшчальны з прыладай, якая прайгравае мультымедыя.", + "MediaIsBeingConverted": "Медыяфайл канвертуецца ў фармат, які сумяшчальны з прыладай, якая яго прайграе.", "MessageAddRepository": "Калі вы хочаце дадаць рэпазітар, націсніце кнопку побач з загалоўкам і запоўніце запытаную інфармацыю.", "LabelAutomaticDiscovery": "Уключыць аўтаматычнае выяўленне", "MessageAreYouSureDeleteSubtitles": "Вы ўпэўнены, што хочаце выдаліць гэты файл субтытраў?", "MessageBrowsePluginCatalog": "Праглядзіце наш каталог плагінаў, каб убачыць даступныя плагіны.", - "MessageChangeRecordingPath": "Змена папкі запісу не прывядзе да пераносу існуючых запісаў са старога месца ў новае. Пры жаданні вам трэба будзе перамясціць іх уручную.", + "MessageChangeRecordingPath": "Змена тэчкі для запісаў не пераносіць існуючыя запісы са старога месца захоўвання на новае. Калі неабходна, вам трэба будзе перанесці іх уручную.", "MessageConfirmDeleteGuideProvider": "Вы ўпэўнены, што хочаце выдаліць гэтага пастаўшчыка даведніка?", "MessageConfirmProfileDeletion": "Вы ўпэўнены, што хочаце выдаліць гэты профіль?", "MessageConfirmRevokeApiKey": "Вы ўпэўнены, што хочаце адклікаць гэты ключ API? Злучэнне прыкладання з гэтым серверам будзе раптоўна спынена.", @@ -995,7 +995,7 @@ "LabelImageType": "Тып выявы", "MessagePasswordResetForUsers": "У наступных карыстальнікаў былі скінуты паролі. Цяпер яны могуць увайсці з дапамогай PIN-кодаў, якія выкарыстоўваліся для скіду.", "MessagePlayAccessRestricted": "Прайграванне гэтага кантэнту зараз абмежавана. Калі ласка, звярніцеся да адміністратара вашага сервера для атрымання дадатковай інфармацыі.", - "MessagePleaseEnsureInternetMetadata": "Пераканайцеся, што спампоўка інтэрнэт-метададзеных уключана.", + "MessagePleaseEnsureInternetMetadata": "Калі ласка, пераканайцеся, што спампоўка метаданых з інтэрнэту ўключана.", "LabelKodiMetadataUserHelp": "Захоўвайце даныя гадзінніка ў файлы NFO для выкарыстання іншымі праграмамі.", "LabelLineup": "Склад", "MessagePluginConfigurationRequiresLocalAccess": "Каб наладзіць гэты плагін, увайдзіце непасрэдна на лакальны сервер.", @@ -1096,7 +1096,7 @@ "LabelEnableDlnaServer": "Уключыць сервер DLNA", "LabelEnableIP4": "Уключыць IPv4", "NoNewDevicesFound": "Новыя прылады не знойдзены. Каб дадаць новы цюнэр, зачыніце гэтае дыялогавае акно і ўвядзіце інфармацыю аб прыладзе ўручную.", - "NumLocationsValue": "{0} папак", + "NumLocationsValue": "{0} тэчак", "OneChannel": "Адзін канал", "LabelEncoderPreset": "Папярэдні набор кадавання", "OnlyForcedSubtitlesHelp": "Будуць загружаныя толькі субтытры, пазначаныя як абавязковыя.", @@ -1118,10 +1118,10 @@ "OptionAllowVideoPlaybackTranscoding": "Дазволіць прайграванне відэа, якое патрабуе перакадзіравання", "LabelMaxParentalRating": "Максімальна дазволены бацькоўскі рэйтынг", "OptionAllUsers": "Усе карыстальнікі", - "OptionAutomaticallyGroupSeries": "Аўтаматычна аб'ядноўваць серыі, якія размеркаваны па некалькіх папках", + "OptionAutomaticallyGroupSeries": "Аўтаматычна аб'ядноўваць серыялы, якія размешчаны ў некалькіх тэчках", "LabelMaxStreamingBitrate": "Максімальная якасць трансляцыі", - "LabelMetadataDownloadLanguage": "Пажаданая мова спампоўкі", - "OptionAutomaticallyGroupSeriesHelp": "Серыі, якія размешчаны ў некалькіх папках у гэтай бібліятэцы, будуць аўтаматычна аб'яднаны ў адну серыю.", + "LabelMetadataDownloadLanguage": "Пераважная мова для спампоўкі", + "OptionAutomaticallyGroupSeriesHelp": "Серыялы, якія размешчаны ў некалькіх тэчках у гэтай бібліятэцы, будуць аўтаматычна аб'яднаны ў адзін серыял.", "LabelMinResumeDurationHelp": "Самая кароткая працягласць відэа ў секундах, якая захавае месца прайгравання і дазволіць вам аднавіць.", "OptionDaily": "Штодня", "LabelModelDescription": "Апісанне мадэлі", @@ -1132,7 +1132,7 @@ "OptionDateAddedImportTime": "Выкарыстоўвайце адсканіраваную дату ў бібліятэцы", "OptionDisableUser": "Адключыць гэтага карыстальніка", "OptionDisableUserHelp": "Сервер не дазволіць ніякіх злучэнняў ад гэтага карыстальніка. Існуючыя сувязі будуць раптоўна спынены.", - "OptionDisplayFolderView": "Адлюстраванне прагляду папак, каб паказаць простыя папкі мультымедыя", + "OptionDisplayFolderView": "Адлюстраваць прагляд тэчак, каб паказваць звычайныя тэчкі з медыяфайламі", "LabelOverview": "Агляд", "LabelPreferredSubtitleLanguage": "Пажаданая мова субтытраў", "LabelProtocolInfo": "Інфармацыя аб пратаколе", @@ -1143,7 +1143,7 @@ "LabelServerNameHelp": "Гэта імя будзе выкарыстоўвацца для ідэнтыфікацыі сервера і па змаўчанні будзе імем хоста сервера.", "LabelSonyAggregationFlags": "Сцягі агрэгацыі Sony", "LabelSportsCategories": "Спартыўныя катэгорыі", - "OptionDisplayFolderViewHelp": "Адлюстроўвайце папкі разам з іншымі медыятэкамі. Гэта можа спатрэбіцца, калі вы жадаеце мець просты выгляд тэчак.", + "OptionDisplayFolderViewHelp": "Адлюстраваць тэчкі побач з іншымі бібліятэкамі медыяфайлаў. Гэта можа быць карысна, калі вы хочаце мець звычайны прагляд тэчак.", "LabelSyncPlayAccessNone": "Адключана для гэтага карыстальніка", "LabelSyncPlayHaltPlaybackDescription": "І ігнаруйце бягучыя абнаўленні спісаў прайгравання", "OptionEnableForAllTuners": "Уключыць для ўсіх цюнэраў", @@ -1174,7 +1174,7 @@ "OptionReportByteRangeSeekingWhenTranscoding": "Паведаміце, што сервер падтрымлівае пошук байтаў пры перакадзіраванні", "MediaInfoExternal": "Знешні", "OptionReportByteRangeSeekingWhenTranscodingHelp": "Гэта патрабуецца для некаторых прылад, якія не вельмі добра шукаюць час.", - "OptionRequirePerfectSubtitleMatch": "Загружаць толькі субтытры, якія ідэальна падыходзяць для відэафайлаў", + "OptionRequirePerfectSubtitleMatch": "Спампоўваць толькі тыя субтытры, якія цалкам адпавядаюць відэафайлам", "MessageConfirmAppExit": "Вы хочаце выйсці?", "MessageConfirmRemoveMediaLocation": "Вы ўпэўнены, што хочаце выдаліць гэта месца?", "MessageCreateAccountAt": "Стварыце ўліковы запіс на {0}", @@ -1212,7 +1212,7 @@ "OptionEnableExternalContentInSuggestions": "Уключыць знешні кантэнт у прапановах", "OptionEnableM2tsModeHelp": "Уключыце рэжым M2TS пры кадзіраванні ў MPEG-TS.", "OptionEquals": "Роўна", - "PreferEmbeddedTitlesOverFileNamesHelp": "Вызначце загаловак для адлюстравання, які будзе выкарыстоўвацца, калі інтэрнэт-метададзеныя або лакальныя метаданыя недаступныя.", + "PreferEmbeddedTitlesOverFileNamesHelp": "Вызначце загаловак для адлюстравання, які будзе выкарыстоўвацца, калі інтэрнэт-метададзеныя або лакальныя метададзеныя недаступныя.", "OptionImdbRating": "Рэйтынг IMDb", "AllowEmbeddedSubtitles": "Адключыць розныя тыпы ўбудаваных субтытраў", "OptionMax": "Макс", @@ -1261,7 +1261,7 @@ "Save": "Захаваць", "SaveChanges": "Захавайце змены", "PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Выкарыстоўвайце інфармацыю аб серыі з убудаваных метаданых, калі яны ёсць.", - "SaveSubtitlesIntoMediaFolders": "Захаваць субтытры ў папках мультымедыя", + "SaveSubtitlesIntoMediaFolders": "Захоўваць субтытры ў тэчкі з медыяфайламі", "AllowEmbeddedSubtitlesAllowAllOption": "Дазволіць усе", "AllowEmbeddedSubtitlesAllowImageOption": "Дазволіць малюнак", "Producer": "Прадзюсер", @@ -1313,8 +1313,8 @@ "TabRepositories": "Сховішчы", "TabResponses": "Адказы", "TabUpcoming": "Маючы адбыцца", - "Tags": "Тэгі", - "TagsValue": "Тэгі: {0}", + "Tags": "Меткі", + "TagsValue": "Меткі: {0}", "TheseSettingsAffectSubtitlesOnThisDevice": "Гэтыя налады ўплываюць на субтытры на гэтай прыладзе", "Thumb": "Эскіз", "TonemappingAlgorithmHelp": "Тональнае адлюстраванне можна дакладна наладзіць. Калі вы не знаёмыя з гэтымі параметрамі, проста захавайце стандартныя. Рэкамендаванае значэнне - \"BT.2390\".", @@ -1347,7 +1347,7 @@ "XmlTvSportsCategoriesHelp": "Праграмы з гэтымі катэгорыямі будуць адлюстроўвацца як спартыўныя праграмы. Раздзяляйце некалькі знакамі '|'.", "Yes": "Так", "Yesterday": "Учора", - "HeaderSelectFallbackFontPathHelp": "Праглядзіце або ўвядзіце шлях да папкі рэзервовага шрыфта, які будзе выкарыстоўвацца для візуалізацыі субтытраў ASS/SSA.", + "HeaderSelectFallbackFontPathHelp": "Абярыце або ўвядзіце шлях да тэчкі з рэзервовымі шрыфтамі для адлюстравання субтытраў у фармаце ASS/SSA.", "LabelFallbackFontPathHelp": "Гэтыя шрыфты выкарыстоўваюцца некаторымі кліентамі для адлюстравання субтытраў. Для атрымання дадатковай інфармацыі звярніцеся да дакументацыі.", "Remuxing": "Рэмуксаванне", "RemuxHelp1": "Мультымедыя знаходзіцца ў несумяшчальным файлавым кантэйнеры (MKV, AVI, WMV і г.д.), але як відэапаток, так і аўдыяпаток сумяшчальныя з прыладай. Мультымедыя будзе перапакоўвацца без страт на хаду перад адпраўкай на прыладу.", @@ -1409,7 +1409,7 @@ "ConfirmDeletion": "Пацвердзіце выдаленне", "Images": "Выявы", "HeaderDebugging": "Адладка і трасіроўка", - "HeaderMyMediaSmall": "Мае мультымедыя (маленькія)", + "HeaderMyMediaSmall": "Мае медыяфайлы (маленькія)", "General": "Агульны", "VideoProfileNotSupported": "Профіль відэакодэка не падтрымліваецца", "AudioBitDepthNotSupported": "Разраднасць аўдыя не падтрымліваецца", @@ -1435,10 +1435,10 @@ "Studios": "Студыі", "Subtitle": "Падзагаловак", "SubtitleVerticalPositionHelp": "Нумар радка, дзе з'яўляецца тэкст. Дадатныя лічбы паказваюць зверху ўніз. Адмоўныя лічбы паказваюць знізу ўверх.", - "HideWatchedContentFromLatestMedia": "Схаваць прагледжанае змесціва з \"Нядаўна дададзеных медыя\"", - "MessageRenameMediaFolder": "Перайменаванне медыятэкі прывядзе да страты ўсіх метададзеных, будзьце асцярожныя.", + "HideWatchedContentFromLatestMedia": "Схаваць прагледжаны змест у \"Нядаўна дададзеныя медыяфайлы\"", + "MessageRenameMediaFolder": "Перайменаванне бібліятэкі медыяфайлаў прывядзе да страты ўсіх метададзеных, будзьце асцярожныя.", "LabelMaxDaysForNextUpHelp": "Усталюйце максімальную колькасць дзён, на працягу якіх серыя павінна заставацца ў спісе \"Наступны\", без прагляду.", - "MessageTheFollowingLocationWillBeRemovedFromLibrary": "Наступныя медыя-месцы будуць выдалены з вашай бібліятэкі", + "MessageTheFollowingLocationWillBeRemovedFromLibrary": "Наступныя месцы захоўвання медыяфайлаў будуць выдалены з вашай бібліятэкі", "Metadata": "Метададзеныя", "MinutesAfter": "хвілін пасля", "MusicAlbum": "Музычны альбом", @@ -1454,9 +1454,9 @@ "EnableDetailsBanner": "Банер з падрабязнасцямі", "EnableDetailsBannerHelp": "Адлюстраваць выявы банера ўверсе старонкі з інфармацыяй аб тавары.", "ErrorAddingTunerDevice": "Пры даданні цюнэра адбылася памылка. Пераканайцеся, што ён даступны, і паўтарыце спробу.", - "ErrorDeletingItem": "Пры выдаленні элемента з сервера адбылася памылка. Калі ласка, праверце, што Jellyfin мае доступ для запісу ў тэчку мультымедыя, і паўтарыце спробу.", - "ErrorGettingTvLineups": "Адбылася памылка спампоўвання падборак ТБ. Пераканайцеся, што ваша інфармацыя правільная, і паўтарыце спробу.", - "ErrorPlayerNotFound": "Прайгравальнік для запытанага носьбіта не знойдзены.", + "ErrorDeletingItem": "Адбылася памылка пры выдаленні элемента з сервера. Калі ласка, праверце, ці мае Jellyfin правы на запіс у тэчку з медыяфайламі, і паспрабуйце яшчэ раз.", + "ErrorGettingTvLineups": "Адбылася памылка пры спампоўцы тэлепраграм. Калі ласка, пераканайцеся, што ваша інфармацыя правільная, і паспрабуйце яшчэ раз.", + "ErrorPlayerNotFound": "Прайгравальнік для запытанага медыяфайла не знойдзены.", "ErrorSavingTvProvider": "Адбылася памылка пры захаванні правайдэра ТБ. Пераканайцеся, што ён даступны, і паўтарыце спробу.", "EveryNDays": "Кожныя {0} дзён", "File": "Файл", @@ -1467,7 +1467,7 @@ "GuestStar": "Запрошаная зорка", "HeaderAccessScheduleHelp": "Стварыце графік доступу, каб абмежаваць доступ да пэўных гадзін.", "HeaderAdmin": "Адміністраванне", - "HeaderAllowMediaDeletionFrom": "Дазволіць выдаленне мультымедыя з", + "HeaderAllowMediaDeletionFrom": "Дазволіць выдаленне медыяфайлаў з", "HeaderApiKeys": "Ключы API", "HeaderApiKeysHelp": "Знешнія прыкладанні павінны мець ключ API для сувязі з серверам. Ключы выдаюцца шляхам ўваходу ў сістэму са звычайным уліковым запісам карыстальніка або ўручную прадастаўлення ключа праграме.", "HeaderCancelRecording": "Адмяніць запіс", @@ -1492,14 +1492,14 @@ "HeaderInstall": "Усталяваць", "HeaderInstantMix": "Імгненны мікс", "HeaderKeepSeries": "Захоўвацт серыял", - "HeaderLatestMedia": "Нядаўна дададзеныя медыя", + "HeaderLatestMedia": "Нядаўна даданыя медыяфайлы", "HeaderLatestMovies": "Нядаўна дададзеныя фільмы", "HeaderLatestMusic": "Нядаўна дададзеная музыка", "HeaderLatestRecordings": "Нядаўна дададзеныя запісы", "HeaderLibraries": "Медыятэкі", - "HeaderLibraryFolders": "Папкі медыятэкі", + "HeaderLibraryFolders": "Тэчкі бібліятэкі", "HeaderLibraryOrder": "Парадак медыятэк", - "HeaderMediaFolders": "Папкі медыятэкі", + "HeaderMediaFolders": "Тэчкі з медыяфайламі", "HeaderMetadataSettings": "Налады метаданых", "HeaderMoreLikeThis": "Больш падобнага", "HeaderMusicQuality": "Якасць музыкі", @@ -1539,10 +1539,10 @@ "LabelEnableHttpsHelp": "Праслухоўванне праз наладжаны порт HTTPS. Для таго, каб гэта ўступіла ў сілу, таксама неабходна падаць сапраўдны сертыфікат.", "LabelExtractChaptersDuringLibraryScan": "Выманне выяў раздзелаў падчас сканавання бібліятэкі", "LabelExtractChaptersDuringLibraryScanHelp": "Стварайце выявы раздзелаў, калі відэа імпартуюцца падчас сканавання бібліятэкі. У адваротным выпадку яны будуць выняты падчас запланаванай задачы выявы раздзелаў, што дазволіць звычайнаму сканаванню бібліятэкі завяршыцца хутчэй.", - "LabelFailed": "Не атрымалася", - "LabelffmpegPathHelp": "Шлях да файла або папкі прыкладання FFmpeg, якая змяшчае FFmpeg.", + "LabelFailed": "Не ўдалося", + "LabelffmpegPathHelp": "Шлях да файла FFmpeg або тэчкі, якая змяшчае FFmpeg.", "LabelFileOrUrl": "Файл або URL", - "LabelFolder": "Папка", + "LabelFolder": "Тэчка", "LabelFont": "Шрыфт", "LabelForgotPasswordUsernameHelp": "Увядзіце імя карыстальніка, калі вы яго памятаеце.", "LabelFriendlyName": "Дружалюбнае імя", @@ -1595,7 +1595,7 @@ "LabelMethod": "Метад", "LabelMinAudiobookResume": "Мінімальнае ўзнаўленне аўдыякнігі ў хвілінах", "LabelMinAudiobookResumeHelp": "Лічыцца, што загалоўкі не прайграваюцца, калі яны былі спынены да гэтага часу.", - "LabelMinBackdropDownloadWidth": "Мінімальная шырыня загрузкі фону", + "LabelMinBackdropDownloadWidth": "Мінімальная шырыня спампоўкі фонавага малюнка", "LabelMinResumeDuration": "Мінімальная працягласць узнаўлення", "LabelMinResumePercentage": "Мінімальны працэнт узнаўлення", "LabelMinResumePercentageHelp": "Лічыцца, што загалоўкі не прайграваюцца, калі яны былі спынены да гэтага часу.", @@ -1608,8 +1608,8 @@ "LabelMusicStreamingTranscodingBitrate": "Бітрэйт перакадзіравання музыкі", "LabelMusicStreamingTranscodingBitrateHelp": "Укажыце максімальны бітрэйт пры перадачы музыкі.", "LabelNumber": "Нумар", - "LabelNumberOfGuideDays": "Колькасць дзён даведніка для загрузкі", - "LabelNumberOfGuideDaysHelp": "Спампоўка даведнікаў за некалькі дзён дае магчымасць загадзя планаваць расклад і праглядаць больш спісаў, але загрузка таксама зойме больш часу. Аўто будзе выбіраць на аснове колькасці каналаў.", + "LabelNumberOfGuideDays": "Колькасць дзён для спампоўкі тэлепраграмы", + "LabelNumberOfGuideDaysHelp": "Спампоўка тэлепраграмы на большую колькасць дзён дае магчымасць планаваць наперад і праглядаць больш спісаў, але гэта таксама запатрабуе больш часу для загрузкі. Рэжым 'Аўто' выбірае колькасць дзён у залежнасці ад колькасці каналаў.", "LabelOpenclDevice": "Прылада OpenCL", "LabelOriginalName": "Арыгінальная назва", "LabelScreensaver": "Застаўка", @@ -1655,7 +1655,7 @@ "Upload": "Загрузіць", "ValueAlbumCount": "{0} альбомаў", "ValueAudioCodec": "Аўдыякодэк: {0}", - "WriteAccessRequired": "Jellyfin патрабуе доступу для запісу ў гэту папку. Забяспечце доступ для запісу і паўтарыце спробу.", + "WriteAccessRequired": "Jellyfin патрабуе правы на запіс у гэтую тэчку. Калі ласка, пераканайцеся, што правы на запіс уключаны, і паспрабуйце яшчэ раз.", "Writers": "Сцэнарысты", "XmlDocumentAttributeListHelp": "Гэтыя атрыбуты прымяняюцца да каранёвага элемента кожнага адказу XML.", "XmlTvKidsCategoriesHelp": "Праграмы з гэтымі катэгорыямі будуць адлюстроўвацца як праграмы для дзяцей. Раздзяляйце некалькі знакамі '|'.", @@ -1673,11 +1673,11 @@ "OnlyForcedSubtitles": "Толькі прымусова", "TabServer": "Сервер", "ThemeVideos": "Тэматычныя відэа", - "OptionAllowContentDownloadHelp": "Карыстальнікі могуць спампоўваць мультымедыя і захоўваць яго на сваіх прыладах. Гэта не тое самае, што функцыя сінхранізацыі. Кніжныя бібліятэкі патрабуюць, каб гэта было ўключана для правільнай працы.", + "OptionAllowContentDownloadHelp": "Карыстальнікі могуць спампоўваць медыяфайлы і захоўваць іх на сваіх прыладах. Гэта не тое самае, што функцыя сінхранізацыі. Кніжныя бібліятэкі патрабуюць, каб гэта было ўключана для правільнай працы.", "OptionAllowLinkSharing": "Дазволіць абагульванне ў сацыяльных сетках", "HeaderRecordingMetadataSaving": "Метададзеныя запісу", "SaveRecordingNFO": "Захаваць метададзеныя запісу EPG у NFO", - "SaveRecordingNFOHelp": "Захоўвайце метаданыя ад пастаўшчыка спісаў EPG разам з медыяфайламі.", + "SaveRecordingNFOHelp": "Захоўвайце метададзеныя ад пастаўшчыка спісаў EPG разам з медыяфайламі.", "SaveRecordingImages": "Захаванне запісу EPG выяў", "SaveRecordingImagesHelp": "Захоўвайце выявы з спісаў EPG разам з мультымедыя.", "PreferEmbeddedExtrasTitlesOverFileNames": "Аддавайце перавагу ўбудаваным загалоўкам, а не імёнам файлаў для extras", @@ -1725,7 +1725,7 @@ "LabelSyncPlayNoGroups": "Няма даступных груп", "Notifications": "Апавяшчэнні", "NotificationsMovedMessage": "Функцыянальнасць апавяшчэнняў перанесена ў плагін Webhook.", - "AllowSegmentDeletionHelp": "Выдаліць старыя сегменты пасля таго, як яны былі загружаны кліентам. Гэта пазбаўляе ад неабходнасці захоўваць увесь перакадаваны файл на дыску. Выключыце гэта, калі ўзнікнуць праблемы з прайграваннем.", + "AllowSegmentDeletionHelp": "Выдаляць старыя сегменты пасля іх спампоўкі кліентам. Гэта прадухіляе неабходнасць захоўвання ўсяго перакадаванага файла на дыску. Адключыце, калі заўважаеце праблемы з прайграваннем.", "LabelSystem": "Сістэма", "HeaderEpisodesStatus": "Статус эпізодаў", "LogLevel.None": "Нічога", @@ -1747,14 +1747,14 @@ "LabelThrottleDelaySeconds": "Абмежаваць пасля", "LabelThrottleDelaySecondsHelp": "Час у секундах, пасля якога транскодэр будзе затарможаны. Павінен быць дастаткова вялікім, каб кліент падтрымліваў спраўны буфер. Працуе, толькі калі ўключана рэгуляванне.", "LabelSegmentKeepSeconds": "Час захавання сегментаў", - "LabelSegmentKeepSecondsHelp": "Час у секундах, на працягу якога сегменты павінны захоўвацца пасля іх загрузкі кліентам. Працуе, толькі калі ўключана выдаленне сегмента.", + "LabelSegmentKeepSecondsHelp": "Час у секундах, на працягу якога сегменты павінны захоўвацца пасля іх спампоўкі кліентам. Працуе толькі калі ўключана выдаленне сегментаў.", "LabelLevel": "Узровень", "AiTranslated": "У перакладзе ШІ", "MachineTranslated": "Машынны пераклад", "ForeignPartsOnly": "Толькі прымусовыя/замежныя дэталі", "HearingImpairedShort": "HI/SDH", "HeaderGuestCast": "Запрошаныя зоркі", - "LabelMediaDetails": "Інфармацыя аб медыя", + "LabelMediaDetails": "Падрабязнасці пра медыяфайл", "LogLevel.Debug": "Наладка", "LogLevel.Warning": "Папярэджанне", "LogLevel.Error": "Памылка", @@ -1772,7 +1772,7 @@ "LabelJpegQualityHelp": "Якасць сціску JPEG для відарысаў падманнага прайгравання.", "AirPlay": "AirPlay", "AllowSubtitleManagement": "Дазволіць гэтаму карыстальніку рэдагаваць субтытры", - "BlockContentWithTagsHelp": "Схаваць мультымедыя хаця б з адным з указаных тэгаў.", + "BlockContentWithTagsHelp": "Схаваць медыяфайлы, якія маюць хаця б адну з пазначаных метак.", "DlnaMovedMessage": "Функцыянальнасць DLNA перанесена на плагін.", "ChannelResolutionSDPAL": "SD (PAL)", "ChannelResolutionSD": "SD", @@ -1789,32 +1789,32 @@ "HeaderAllRecordings": "Усе запісы", "DeleteName": "Выдаліць {0}", "EnableSmoothScroll": "Уключыць плаўную пракрутку", - "ConfirmDeleteSeries": "Выдаленне гэтага серыялу прывядзе да выдалення ЎСІХ {0} эпізодаў як з файлавай сістэмы, так і з вашай медыятэкі. Вы ўпэўнены, што хочаце працягнуць?", - "ConfirmDeleteLyrics": "Выдаленне гэтых тэкстаў песен прывядзе да іх выдалення як з файлавай сістэмы, так і з вашай медыятэкі. Вы ўпэўнены, што хочаце працягнуць?", + "ConfirmDeleteSeries": "Выдаленне гэтага серыялу прывядзе да выдалення ЎСІХ {0} эпізодаў як з файлавай сістэмы, так і з вашай бібліятэкі медыяфайлаў. Вы ўпэўнены, што хочаце працягнуць?", + "ConfirmDeleteLyrics": "Выдаленне гэтых тэкстаў песень прывядзе да іх выдалення як з файлавай сістэмы, так і з вашай бібліятэкі медыяфайлаў. Вы ўпэўнены, што жадаеце працягнуць?", "EnableTrueHdHelp": "Уключайце, толькі калі ваша прылада падтрымлівае TrueHD або падлучана да сумяшчальнага аўдыяпрыёмніка, у адваротным выпадку гэта можа прывесці да збою прайгравання.", "EnableDtsHelp": "Уключайце, толькі калі ваша прылада падтрымлівае DTS або падлучана да сумяшчальнага аўдыяпрыёмніка, у адваротным выпадку гэта можа прывесці да збою прайгравання.", "CoverArtist": "Аўтар вокладкі", - "ErrorDeletingLyrics": "Адбылася памылка пры выдаленні тэксту песні з сервера. Калі ласка, пераканайцеся, што ў Jellyfin ёсць доступ на запіс да тэчкі мультымедыі, і паўторыце спробу.", + "ErrorDeletingLyrics": "Адбылася памылка пры выдаленні тэкстаў песень з сервера. Калі ласка, праверце, ці мае Jellyfin правы на запіс у тэчку з медыяфайламі, і паспрабуйце яшчэ раз.", "HeaderVideoAdvanced": "Пашыранае відэа", "LabelSelectPreferredTranscodeVideoCodec": "Пераважны кодэк для перакадавання відэа", "LabelSelectPreferredTranscodeVideoAudioCodec": "Пераважны аўдыёкодэк для перакадавання пры прайграванні відэа", "PlaybackError.FATAL_HLS_ERROR": "У патоку HLS была выяўленая фатальная памылка.", - "PlaybackError.MEDIA_NOT_SUPPORTED": "Не атрымалася прайграць файл, паколькі гэты кліент не падтрымлівае мультымедыйны файл.", - "PlaylistError.CreateFailed": "Памылка стварэння плэйліста", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Прайграванне не ўдалося, бо медыяфайл не падтрымліваецца гэтым кліентам.", + "PlaylistError.CreateFailed": "Памылка стварэння спіса прайгравання", "PlaylistPublic": "Дазволіць публічны доступ", "LimitSupportedVideoResolutionHelp": "Выкарыстоўвайце \"Максімальнае дазволенае раздзяленне перакадзіравання відэа\" ў якасці максімальнага падтрымоўванага раздзялення відэа.", "PlaybackError.ASS_RENDER_ERROR": "У праграме візуалізацыі субтытраў ASS / SSA была выяўленая памылка.", - "PlaybackError.MEDIA_DECODE_ERROR": "Збой прайгравання адбыўся з-за памылкі пры дэкадаванні мультымедыі.", - "PlaybackError.NETWORK_ERROR": "Збой прайгравання адбыўся з-за сеткавай памылкі.", - "PlaylistPublicDescription": "Дазволіць прагляд гэтага плэйліста любому карыстальніку, які ўвайшоў у сістэму.", + "PlaybackError.MEDIA_DECODE_ERROR": "Прайграванне не ўдалося з-за памылкі дэкадзіравання медыяфайла.", + "PlaybackError.NETWORK_ERROR": "Прайгравання не ўдалося з-за сеткавай памылкі.", + "PlaylistPublicDescription": "Дазволіць прагляд гэтага спіса прайгравання любому карыстальніку, які ўвайшоў у сістэму.", "HeaderNoLyrics": "Тэксты песень не знойдзены", "Illustrator": "Ілюстратар", "LabelServerVersion": "Версія сервера", - "PlaybackError.SERVER_ERROR": "Прайграванне не атрымалася з-за памылкі сервера.", + "PlaybackError.SERVER_ERROR": "Прайграванне не ўдалося з-за памылкі сервера.", "LabelWebVersion": "Вэб-версія", "LibraryScanFanoutConcurrency": "Абмежаванне задач паралельнага сканавання бібліятэкі", "Penciller": "Чарцёжнік", - "AllowContentWithTagsHelp": "Паказвайце толькі мультымедыйныя файлы, якія змяшчаюць хоць бы адзін з названых тэгаў.", + "AllowContentWithTagsHelp": "Паказваць толькі медыяфайлы, якія маюць хаця б адну з пазначаных метак.", "Author": "Аўтар", "Creator": "Стваральнік", "DeleteLyrics": "Выдаліць тэкст песні", @@ -1831,13 +1831,13 @@ "EnableDts": "Уключыць DTS (DCA)", "HeaderDeleteSeries": "Выдаліць серыял", "HeaderDeleteLyrics": "Выдаліць тэкст песні", - "LabelAllowContentWithTags": "Дазволіць элементы з тэгамі", + "LabelAllowContentWithTags": "Дазволіць элементы з меткамі", "Lyrics": "Тэкст песні", "LibraryScanFanoutConcurrencyHelp": "Максімальную колькасць паралельных задач пры сканаванні бібліятэкі. Пры ўсталёўцы значэння 0 будзе абрана абмежаванне, заснаванае на колькасці ядраў у вашай сістэме. УВАГА: занадта вялікае значэнне можа прывесці да праблем з сеткавымі файлавымі сістэмамі; пры ўзнікненні праблем паменшыце гэта значэнне.", - "PlaylistError.AddFailed": "Памылка пры даданні ў плэйліст", - "PlaybackError.PLAYER_ERROR": "Прайграванне не атрымалася з-за фатальнай памылкі прайгравальніка.", + "PlaylistError.AddFailed": "Памылка пры даданні ў спіс прайгравання", + "PlaybackError.PLAYER_ERROR": "Прайграванне не ўдалося з-за крытычнай памылкі прайгравальніка.", "Regional": "Абласны", - "HeaderLyricDownloads": "Спампоўка тэкстаў песен", + "HeaderLyricDownloads": "Спампоўка тэкстаў песень", "LabelBuildVersion": "Версія зборкі", "Lyric": "Тэкст песні", "LimitSupportedVideoResolution": "Абмежаваць максімальную падтрымліваемую раздзяляльнасць відэа", @@ -1845,9 +1845,9 @@ "SelectPreferredTranscodeVideoCodecHelp": "Выберыце пераважны відэакодэк для перакадзіравання. Калі пераважны кодэк не падтрымліваецца, сервер будзе выкарыстоўваць наступны найлепшы даступны кодэк.", "SelectPreferredTranscodeVideoAudioCodecHelp": "Выберыце пераважны аўдыякодэк для перакадзіравання відэакантэнту. Калі пераважны кодэк не падтрымліваецца, сервер будзе выкарыстоўваць наступны лепшы даступны кодэк.", "ViewLyrics": "Прагляд тэкстаў песень", - "SaveLyricsIntoMediaFoldersHelp": "Захоўванне тэкстаў песен побач з аўдыяфайламі дазволіць ім лягчэй кіраваць.", + "SaveLyricsIntoMediaFoldersHelp": "Захаванне тэкстаў песень побач з аўдыяфайламі дазволіць лягчэй імі кіраваць.", "Translator": "Перакладчык", - "SaveLyricsIntoMediaFolders": "Захоўвайце тэксты песень у папках мультымедыі", + "SaveLyricsIntoMediaFolders": "Захоўваць тэксты песень у тэчках з медыяфайламі", "LabelEncodingFormatOptions": "Параметры фармату кадавання", "AllowVideoToolboxTonemappingHelp": "Адлюстраванне тонаў з апаратным паскарэннем забяспечваецца VideoToolbox. Ён працуе з большасцю фарматаў HDR, уключаючы HDR10, HDR10+ і HLG, але не працуе з Dolby Vision Profile 5. Ён мае больш высокі прыярытэт, чым іншыя рэалізацыі Metal.", "EnableVideoToolboxTonemapping": "Уключыць тонавае адлюстраванне VideoToolbox", @@ -1908,29 +1908,52 @@ "AlwaysRemuxFlacAudioFilesHelp": "Калі ў вас ёсць файлы, якія ваш браўзер адмаўляецца прайграваць або ў якіх ён недакладна разлічвае пазнакі часу, уключыце гэта ў якасці абыходнага шляху.", "Anime": "Анімэ", "EditLyrics": "Рэдагаваць тэкст песні", - "LabelAudioTagSettings": "Налады аўдыятэгаў", + "LabelAudioTagSettings": "Налады аўдыяметак", "AndOtherArtists": "{0} і {1} іншыя выканаўцы.", - "HeaderNewPlaylist": "Новы плэйліст", - "HeaderEditPlaylist": "Рэдагаваць плэйліст", + "HeaderNewPlaylist": "Новы спіс прайгравання", + "HeaderEditPlaylist": "Рэдагаваць спіс прайгравання", "EnableHi10pHelp": "Уключыце, каб пазбегнуць перакадзіравання 10-бітных відэа H.264. Адключыце гэту опцыю, калі відэа паказвае пустыя кадры.", "HeaderAddLyrics": "Дадаць тэкст песні", "LabelAlwaysRemuxFlacAudioFiles": "Заўсёды рэмуксаваць аўдыяфайлы FLAC", "LabelAllowStreamSharing": "Дазволіць агульны доступ да патокаў", "LabelAlwaysRemuxMp3AudioFiles": "Заўсёды рэмуксаваць аўдыяфайлы MP3", - "LabelCustomTagDelimiters": "Карыстацкі падзельнік тэгаў", - "LabelCustomTagDelimitersHelp": "Сімвалы, якія будуць выкарыстоўвацца ў якасці падзельнікаў для падзелу тэгаў.", + "LabelCustomTagDelimiters": "Карыстацкі раздзяляльнік метак", + "LabelCustomTagDelimitersHelp": "Сімвалы, якія выкарыстоўваюцца як раздзяляльнікі для падзелу метак.", "LabelDelimiterWhitelist": "Белы спіс падзельнікаў", "AllowStreamSharingHelp": "Дазволіць Jellyfin дубліраваць паток mpegts з цюнэра і абагульваць гэты дубліраваны паток сваім кліентам. Гэта карысна, калі цюнэр мае ліміт агульнай колькасці патокаў, але таксама можа выклікаць праблемы з прайграваннем.", "LabelAllowFmp4TranscodingContainer": "Дазволіць перакадзіравання fMP4 кантэйнера", "AlwaysBurnInSubtitleWhenTranscoding": "Заўсёды запісваць субтытры пры перакадзіраванні", "AlwaysBurnInSubtitleWhenTranscodingHelp": "Запісваць усе субтытры пры запуску перакадзіравання. Гэта забяспечвае сінхранізацыю субтытраў пасля перакадзіравання за кошт зніжэння хуткасці перакадзіравання.", "AlwaysRemuxMp3AudioFilesHelp": "Калі ў вас ёсць файлы, для якіх ваш браўзер няправільна разлічвае пазнакі часу, уключыце гэта ў якасці абыходнага шляху.", - "HeaderMediaSegmentActions": "Дзеянні з медыясегментамі", + "HeaderMediaSegmentActions": "Дзеянні з сегментамі медыяфайлаў", "MoveToBottom": "Перайсці ўніз", - "VideoCodecTagNotSupported": "Тэг відэакодэка не падтрымліваецца", + "VideoCodecTagNotSupported": "Метка відэакодэка не падтрымліваецца", "MessageSplitVersionsError": "Падчас падзелу версій адбылася памылка", "MoveToTop": "Перайсці ўверх", "PasswordMissingSaveError": "Новы пароль не можа быць пустым.", "LabelTrickplayKeyFrameOnlyExtraction": "Стварэнне малюнкаў толькі на аснове ключавых кадраў", - "UseCustomTagDelimiters": "Выкарыстоўвайце карыстацкі падзельнік тэгаў" + "UseCustomTagDelimiters": "Выкарыстоўваць карыстацкі раздзяляльнік метак", + "AutoSubtitleStylingHelp": "Гэты рэжым аўтаматычна пераключае паміж убудаваным і карыстацкім стылямі субтытраў у залежнасці ад тыпу вашай прылады.", + "Custom": "Карыстальніцкі", + "CustomSubtitleStylingHelp": "Стылізацыя субтытраў будзе працаваць на большасці прылад, але можа прывесці да дадатковай нагрузкі на прадукцыйнасць.", + "AllowFmp4TranscodingContainerHelp": "Дазволіць выкарыстанне кантэйнера fMP4 для перакодзіравання на гэтым цюнэры, каб уключыць падтрымку HEVC і HDR. Не ўсе цюнэры сумяшчальныя з гэтым кантэйнерам. Адключыце гэтую функцыю, калі ўзнікаюць праблемы з прайграваннем.", + "LogLoadFailure": "Не ўдалося загрузіць файл журнала. Магчыма, ён можа быць у працэсе запісу.", + "PreferNonstandardArtistsTagHelp": "Выкарыстоўваць нестандартную метку ARTISTS замест меткі ARTIST, калі яна даступная.", + "UseCustomTagDelimitersHelp": "Раздзяляць меткі выканаўцаў і жанраў з дапамогай карыстацкіх сімвалаў.", + "PlaylistError.UpdateFailed": "Памылка абнаўлення спіса прайгравання", + "PreferNonstandardArtistsTag": "Аддаваць перавагу метцы ARTISTS, калі яна ёсць", + "LyricDownloadersHelp": "Уключыце і расстаўце вашых пераважных спампоўшчыкаў тэкстаў песень у парадку прыярытэту.", + "LabelLyricDownloaders": "Спампоўшчыкі тэкстаў песень", + "MediaSegmentType.Recap": "Рэзюмэ", + "MediaSegmentAction.AskToSkip": "Запытаць пра пропуск", + "MediaSegmentType.Intro": "Уводзіны", + "LabelMediaSegmentsType": "{0} сегментаў", + "MediaSegmentAction.Skip": "Прапусціць", + "MediaSegmentSkipPrompt": "Прапусціць {0}", + "MediaSegmentType.Outro": "Заключэнне", + "MediaSegmentType.Preview": "Прадпрагляд", + "LabelMediaSegmentProviders": "Пастаўшчыкі сегментаў медыяфайлаў", + "MediaSegmentProvidersHelp": "Уключыце і расстаўце вашых пераважных пастаўшчыкоў сегментаў медыяфайлаў у парадку прыярытэту.", + "MediaSegmentType.Commercial": "Рэклама", + "MediaSegmentAction.None": "Няма" } diff --git a/src/strings/ca.json b/src/strings/ca.json index cb1eaf4ec4..56533503fa 100644 --- a/src/strings/ca.json +++ b/src/strings/ca.json @@ -111,7 +111,7 @@ "HeaderContainerProfile": "Perfil del contenidor", "HeaderContainerProfileHelp": "Els perfils del contenidor indiquen limitacions d'un dispositiu en reproduir formats específics. Si la limitació és aplicable, llavors els mitjans es transcodificaran fins i tot si el format ha estat configurat per a reproducció directa.", "HeaderContinueListening": "Continuar escoltant", - "HeaderContinueWatching": "Continuar veient", + "HeaderContinueWatching": "Continua veient", "HeaderCustomDlnaProfiles": "Perfils personalitzats", "HeaderDateIssued": "Data d'emissió", "HeaderDefaultRecordingSettings": "Preferències d'enregistrament per defecte", @@ -665,7 +665,7 @@ "ConfirmEndPlayerSession": "Vols tancar Jellyfin a {0}?", "ConfirmDeleteItems": "L'esborrat d'aquests elements els eliminarà del sistema de fitxers i de la biblioteca de mitjans. Esteu segurs que voleu continuar?", "ConfirmDeleteItem": "L'esborrat d'aquest element l'eliminarà del sistema de fitxers i de la biblioteca multimèdia. Esteu segurs que voleu continuar?", - "ConfigureDateAdded": "Configureu com es determinen les metadades de la \"Data d'afegit\" al Tauler > Biblioteques > Configuració de l'NFO", + "ConfigureDateAdded": "Configureu com es determinen les metadades de la \"Data d'afegit\" al Tauler > Biblioteques > Visualització", "CommunityRating": "Ràting comunitari", "ColorTransfer": "Transferència de color", "ColorSpace": "Espai de color", @@ -1995,5 +1995,12 @@ "CustomSubtitleStylingHelp": "L'estilització de subtítols funciona en la majoria dels dispositius, però suposa un cost addicional de rendiment.", "LabelSubtitleStyling": "Estilització de subtítols", "Native": "Nadiu", - "NativeSubtitleStylingHelp": "L'estilització de subtítols no funcionarà en alguns dispositius. Tot i això, no suposa cap sobrecàrrega de rendiment." + "NativeSubtitleStylingHelp": "L'estilització de subtítols no funcionarà en alguns dispositius. Tot i això, no suposa cap sobrecàrrega de rendiment.", + "LibraryNameInvalid": "El nom de la biblioteca no pot estar buit.", + "DeleteServerConfirmation": "De veritat vols eliminar aquest servidor?", + "LabelDevice": "Dispositiu", + "LastActive": "Últim actiu", + "CopyLogSuccess": "Registres copiats satisfactòriament.", + "Retry": "Tronar a provar", + "LogLoadFailure": "Error al carregar el registre. És probable que encara s'estigui escrivint en ell." } diff --git a/src/strings/cs.json b/src/strings/cs.json index d8b2c563ba..2556d6c8cf 100644 --- a/src/strings/cs.json +++ b/src/strings/cs.json @@ -84,7 +84,7 @@ "Collections": "Kolekce", "CommunityRating": "Hodnocení komunity", "Composer": "Skladatel", - "ConfigureDateAdded": "Nastavení způsobu, jakým je určeno datum přidání v nastavení knihovny v sekci Nástěnka > Knihovny > Nastavení NFO", + "ConfigureDateAdded": "Nastavení způsobu, jakým jsou určena metadata pro \"Datum přidání\" v sekci Nástěnka > Knihovny > Zobrazení", "ConfirmDeleteImage": "Odstranit obrázek?", "ConfirmDeleteItem": "Smazáním položky odstraníte soubor jak z knihovny médií tak ze souborového systému. Opravdu chcete pokračovat?", "ConfirmDeleteItems": "Odstraněním těchto položek odstraníte vaše média jak z knihovny médií, tak i ze souborového systému. Opravdu chcete pokračovat?", @@ -1999,5 +1999,15 @@ "CustomSubtitleStylingHelp": "Zobrazení stylu titulků bude fungovat na většině zařízeních, ale vyžaduje výkon navíc.", "LabelSubtitleStyling": "Styl titulků", "Native": "Nativní", - "NativeSubtitleStylingHelp": "Zobrazení stylu titulků nebude na některých zařízeních fungovat, ale nevyžaduje žádný výkon navíc." + "NativeSubtitleStylingHelp": "Zobrazení stylu titulků nebude na některých zařízeních fungovat, ale nevyžaduje žádný výkon navíc.", + "LabelDevice": "Zařízení", + "LastActive": "Naposledy aktivní", + "DeleteServerConfirmation": "Opravdu chcete odstranit tento server?", + "LibraryNameInvalid": "Název knihovny nesmí být prázdný.", + "CopyLogSuccess": "Obsah logu byl úspěšně zkopírován.", + "Retry": "Zkusit znovu", + "LogLoadFailure": "Načtení souboru logu se nezdařilo. Možná se do něj právě zapisuje.", + "DisplayLoadError": "Načítání konfiguračních dat zobrazení se nezdařilo.", + "MetadataImagesLoadError": "Načítání nastavení metadat se nezdařilo", + "MetadataNfoLoadError": "Načtení nastavení metadat v souborech NFO se nezdařilo" } diff --git a/src/strings/da.json b/src/strings/da.json index 32ba56aa7a..8c74cccd5d 100644 --- a/src/strings/da.json +++ b/src/strings/da.json @@ -1991,5 +1991,15 @@ "HeaderNextEpisode": "Næste afsnit", "HeaderNextVideo": "Næste video", "LabelMediaSegmentProviders": "Mediesegment tilbydere", - "MediaSegmentProvidersHelp": "Aktiver og arranger dine foretrukne mediesegment-tilbydere efter prioritering." + "MediaSegmentProvidersHelp": "Aktiver og arranger dine foretrukne mediesegment-tilbydere efter prioritering.", + "DeleteServerConfirmation": "Er du sikker på at du ønsker slette denne server?", + "AutoSubtitleStylingHelp": "Denne tilstand vil automatisk skifte mellem oprindelig og brugerdefineret stylings-mekanismer baseret på din enheds type.", + "Custom": "Brugerdefineret", + "CustomSubtitleStylingHelp": "Undertekse styling vil virke på de fleste enheder, men kommer med en præstations pris.", + "LabelSubtitleStyling": "Undertekst Styling", + "LabelDevice": "Enhed", + "LastActive": "Sidste aktiv", + "LibraryNameInvalid": "Bibloteks navn kan ikke være tom eller starte/slutte med mellemrun.", + "CopyLogSuccess": "Logindhold blev kopieret korrekt.", + "NativeSubtitleStylingHelp": "Underteksters styling vil ikke virke på nogle enheder. Dog, vil der ikke være nogen forringelse af ydeevnen." } diff --git a/src/strings/de.json b/src/strings/de.json index 83705510a2..2a4ac20d00 100644 --- a/src/strings/de.json +++ b/src/strings/de.json @@ -96,7 +96,7 @@ "ColorSpace": "Farbraum", "CommunityRating": "Communitybewertung", "Composer": "Komponist", - "ConfigureDateAdded": "Legt fest, wie das Feld 'Hinzugefügt am' in NFOs interpretiert werden soll", + "ConfigureDateAdded": "Legen Sie fest, wie die Metadaten für ‚Hinzugefügt am‘ im Dashboard unter Bibliotheken > Anzeige bestimmt werden.", "ConfirmDeleteImage": "Bild löschen?", "ConfirmDeleteItem": "Das Löschen dieses Objekts löscht die Datei vom Laufwerk und in deiner Medienbibliothek. Bist du wirklich sicher?", "ConfirmDeleteItems": "Das Löschen dieser Objekte löscht die Dateien vom Laufwerk und in deiner Medienbibliothek. Bist du wirklich sicher?", @@ -1126,7 +1126,7 @@ "LabelName": "Name", "LabelProfileCodecs": "Codecs", "LabelProfileContainer": "Container", - "Art": "Clearart", + "Art": "Transparente Artworks", "Name": "Name", "Songs": "Lieder", "ValueSpecialEpisodeName": "Extra - {0}", @@ -1330,7 +1330,7 @@ "MessageNoGenresAvailable": "Aktiviere einige Metadaten-Anbieter, um Genres aus dem Internet zu laden.", "EnableFasterAnimationsHelp": "Benutze schnellere Animationen und Übergänge.", "ButtonCast": "Auf Gerät wiedergeben", - "ButtonSyncPlay": "SyncPlay", + "ButtonSyncPlay": "Synchronwiedergabe", "TabRepositories": "Repositorien", "MessageAddRepository": "Wenn du ein Repository hinzufügen möchtest, klicke auf die Schaltfläche neben der Kopfzeile und fülle die angeforderten Informationen aus.", "LabelRepositoryUrlHelp": "Der Speicherort des Repository-Manifests, das du hinzufügen möchtest.", @@ -1339,7 +1339,7 @@ "LabelRepositoryUrl": "URL des Repository", "HeaderNewRepository": "Neues Repository", "MessageNoRepositories": "Keine Repositories.", - "ButtonPlayer": "Player", + "ButtonPlayer": "Wiedergabegerät", "Writers": "Autoren", "ClearQueue": "Wiedergabeliste leeren", "StopPlayback": "Wiedergabe anhalten", @@ -1597,7 +1597,7 @@ "TypeOptionPluralBook": "Bücher", "TypeOptionPluralAudio": "Tondateien", "TypeOptionPluralSeries": "Serien", - "Casual": "Casual", + "Casual": "Freizeit", "LabelAutomaticallyAddToCollectionHelp": "Wenn mindestens 2 Filme den gleichen Sammlungsnamen haben, werden sie automatisch zur Sammlung hinzugefügt.", "LabelAutomaticallyAddToCollection": "Automatisch zu Sammlung hinzufügen", "Cursive": "Kursivschrift", @@ -1715,7 +1715,7 @@ "SubtitleRed": "Rot", "SubtitleWhite": "Weiß", "SubtitleYellow": "Gelb", - "Featurette": "Featurette", + "Featurette": "Hinter den Kulissen", "Short": "Kurzfilm", "LabelParallelImageEncodingLimit": "Limit der parallelen Bildkodierung", "LabelParallelImageEncodingLimitHelp": "Maximale Anzahl von Bildkodierungen, die parallel ausgeführt werden dürfen. Wenn Sie diesen Wert auf 0 setzen, wird eine Grenze auf der Grundlage der Kernanzahl Ihres Systems festgelegt.", @@ -1748,7 +1748,7 @@ "LabelLevel": "Level", "LabelMediaDetails": "Mediendetails", "LabelSystem": "System", - "LogLevel.Trace": "Trace", + "LogLevel.Trace": "Nachverfolgen", "LogLevel.Debug": "Debug", "LogLevel.Information": "Information", "LogLevel.Warning": "Warnung", @@ -1872,16 +1872,16 @@ "CoverArtist": "Cover-Künstler", "Creator": "Ersteller", "Editor": "Bearbeiter", - "EnableTrueHdHelp": "Schalte dies nur ein wenn dein Gerät TrueHD unterstützt oder an einem kompatiblem audio Empfänger angeschlossen ist, andernfalls könnte es zu Widergabefehlern führen.", + "EnableTrueHdHelp": "Aktiviere diese Funktion nur, wenn dein Gerät TrueHD unterstützt oder an einen kompatiblen Audioreceiver angeschlossen ist. Andernfalls kann es zu Wiedergabefehlern kommen.", "EnableDts": "DTS zulassen (DCA)", - "EnableDtsHelp": "Schalte dies nur ein, wenn dein Gerät DTS unterstützt oder mit einem kompatiblem audio Empfänger angeschlossen ist, andernfalls könnte es zu Widergabefehlern führen.", + "EnableDtsHelp": "Aktiviere diese Funktion nur, wenn dein Gerät DTS unterstützt oder an einen kompatiblen Audioempfänger angeschlossen ist. Andernfalls kann es zu Wiedergabefehlern kommen.", "EnableTrueHd": "TrueHD zulassen", "Illustrator": "Illustrator", "HeaderLyricDownloads": "Lyrik Downloads", "LabelSelectPreferredTranscodeVideoAudioCodec": "Bevorzugter Transcode-Audiocodec bei der Videowiedergabe", "Translator": "Übersetzer", - "LibraryScanFanoutConcurrency": "Parallele Bibliotheks-Scan-Aufgaben Limit", - "LibraryScanFanoutConcurrencyHelp": "Maximale Anzahl der parallelen Aufgaben während der Bibliotheksscans. Wenn Sie diesen Wert auf 0 setzen, wird eine Begrenzung auf der Grundlage der Kernanzahl Ihres Systems gewählt. WARNUNG: Wenn Sie diese Zahl zu hoch einstellen, kann es zu Problemen mit Netzwerkdateisystemen kommen; wenn Sie Probleme haben, senken Sie diese Zahl.", + "LibraryScanFanoutConcurrency": "Limit der Parallelen Aufgaben für das Scanen der Bibliotheken", + "LibraryScanFanoutConcurrencyHelp": "Anzahl der Maximalen parallelen Aufgaben während des Bibliotheksscans. Wenn sie diesen Wert auf 0 Setzten werden soviele parallelen Aufgaben gestartet wie dieser Instanz/auf diesem System vorhanden sind. WARNUNG: Wenn Sie diese Zahl zu hoch einstellen, kann es zu Problemen mit Bibliotheken die über das Netzwerk verbunden sind kommen; wenn dies der fall ist, senken Sie diese Zahl.", "PlaylistError.AddFailed": "Fehler beim Hinzufügen zur Wiedergabeliste", "PlaylistError.CreateFailed": "Fehler beim Erstellen der Wiedergabeliste", "SavePassword": "Passwort speichern", @@ -1892,7 +1892,7 @@ "PlaylistPublic": "Erlaube öffentlichen Zugriff", "Colorist": "Kolorist", "Penciller": "Bleistiftzeichner", - "Inker": "Inker", + "Inker": "Tuschezeichnung", "Letterer": "Beschreiber", "HeaderVideoAdvanced": "Erweitertes Video", "Alternate": "Alternative", @@ -1931,7 +1931,7 @@ "LabelTrickplayKeyFrameOnlyExtractionHelp": "Extrahiert nur Schlüsselbilder für eine deutlich schnellere Verarbeitung mit weniger genauem Timing. Wenn der konfigurierte Hardware-Decoder diesen Modus nicht unterstützt, wird stattdessen der Software-Decoder verwendet.", "Reset": "Zurücksetzen", "LibraryInvalidItemIdError": "Die Bibliothek ist in einem ungültigen Zustand und kann nicht verändert werden. Dies ist möglicherweise ein Bug: Der Pfad in der Datenbank ist nicht der richtige Pfad im Dateisystem.", - "MediaInfoRotation": "Rotation", + "MediaInfoRotation": "Drehung", "EnableHi10p": "H.264 High 10 Profil aktivieren", "EnableHi10pHelp": "Aktivieren, um die Transkodierung von H.264-Videos zu verhindern. Deaktivieren, wenn die Videos nur leere Frames zeigen.", "LabelDisableVbrAudioEncoding": "VBR-Audiocodierung deaktivieren", @@ -1999,5 +1999,12 @@ "Native": "Nativ", "NativeSubtitleStylingHelp": "Das Untertitel-Styling funktioniert auf einigen Geräten nicht. Allerdings ist damit kein Leistungsaufwand verbunden.", "AutoSubtitleStylingHelp": "In diesem Modus wird je nach Gerätetyp automatisch zwischen dem nativen und dem benutzerdefinierten Untertitel-Styling umgeschaltet.", - "Custom": "benutzerdefiniert" + "Custom": "benutzerdefiniert", + "LibraryNameInvalid": "Der Bibliotheksname darf nicht leer sein.", + "DeleteServerConfirmation": "Bist du sicher, dass du diesen Server löschen möchtest?", + "LabelDevice": "Gerät", + "LastActive": "Zuletzt aktiv", + "CopyLogSuccess": "Protokollinhalte erfolgreich kopiert.", + "Retry": "Erneut Versuchen", + "LogLoadFailure": "Fehler beim Laden der Protokolldatei. Sie wird möglicherweise noch beschrieben." } diff --git a/src/strings/el.json b/src/strings/el.json index 331ed487c0..4a390a1018 100644 --- a/src/strings/el.json +++ b/src/strings/el.json @@ -1880,15 +1880,19 @@ "LabelParallelImageEncodingLimitHelp": "Μέγιστος αριθμός παράλληλων κωδικοποιήσεων εικόνας. Αν αυτό είναι 0, θα επιλεγεί ένα όριο βασισμένο στον αριθμό πυρήνων του συστήματος.", "LabelSaveTrickplayLocallyHelp": "Η αποθήκευση των εικόνων trickplay μέσα στους φακέλους πολυμέσων θα τις βάλει δίπλα στα πολυμέσα σας για εύκολη μετάβαση και πρόσβαση.", "LabelRepository": "Αποθετήριο", - "Letterer": "Συγγραφέας", + "Letterer": "Ψηφιογράφος", "LabelNotInstalled": "Μη εγκατεστημένο", "Lyric": "Στίχος", - "LogoScreensaver": "Προφύλαξη Οθόνης Λογότυπου", + "LogoScreensaver": "Λογότυπο Προφύλαξης Οθόνης", "MediaSegmentProvidersHelp": "Ενεργοποίηση και ταξινόμηση των προτιμωμένων παροχέων τμημάτων πολυμέσων σε σειρά προτεραιότητας.", "LibraryInvalidItemIdError": "H βιβλιοθήκη βρίσκεται σε μη έγκυρη κατάσταση και δεν μπορεί να τροποποιηθεί. Πιθανότατα αντιμετοπίζετε σφάλμα: η διαδρομή στην βάση δεδομένη δεν είναι η σωστή στον δίσκο.", "Lyrics": "Στίχοι", "MediaInfoRotation": "Προσανατολισμός", "LimitSupportedVideoResolution": "Περιορισμός μέγιστης υποστηριζόμενης ανάλυσης βίντεο", "LimitSupportedVideoResolutionHelp": "Χρήση 'Μέγιστης Επιτρεπόμενης Ανάλυσης Μετατροπής Βίντεο' ως μέγιστης υποστηριζόμενης ανάλυσης βίντεο.", - "MediaSegmentAction.None": "Τίποτα" + "MediaSegmentAction.None": "Τίποτα", + "DeleteServerConfirmation": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτόν τον διακομιστή;", + "LabelDevice": "Συσκευή", + "LyricDownloadersHelp": "Ενεργοποίησε και κατάταξε τους προτιμόμενους παρόχους στίχων κατά σειρά προτεραιότητας.", + "LibraryNameInvalid": "Το όνομα της βιβλιοθήκης δεν μπορεί να είναι κενό ή να ξεκινά/τελειώνει με κενό." } diff --git a/src/strings/en-gb.json b/src/strings/en-gb.json index 2420f6bac6..dec2ef3658 100644 --- a/src/strings/en-gb.json +++ b/src/strings/en-gb.json @@ -150,7 +150,7 @@ "ChannelNumber": "Channel number", "CommunityRating": "Community rating", "Composer": "Composer", - "ConfigureDateAdded": "Set up how metadata for 'Date added' is determined in the Dashboard > Libraries > NFO Settings", + "ConfigureDateAdded": "Set up how metadata for 'Date added' is determined in the Dashboard > Libraries > Display", "ConfirmDeleteImage": "Delete image?", "ConfirmDeleteItem": "Deleting this item will delete it from both the file system and your media library. Are you sure you wish to continue?", "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", @@ -923,7 +923,7 @@ "LabelMatchType": "Match type", "LabelManufacturerUrl": "Manufacturer URL", "LabelLoginDisclaimerHelp": "A message that will be displayed at the bottom of the login page.", - "LabelLockItemToPreventChanges": "Lock this item to prevent future changes", + "LabelLockItemToPreventChanges": "Lock this item to prevent future metadata changes", "LabelLocalHttpServerPortNumberHelp": "The TCP port number for the HTTP server.", "LabelLineup": "Lineup", "LabelLanguage": "Language", @@ -1382,11 +1382,11 @@ "LabelMaxMuxingQueueSize": "Max muxing queue size", "LabelTonemappingParamHelp": "Tune the tone mapping algorithm. The recommended and default values are NaN. Generally leave it blank.", "LabelTonemappingParam": "Tone mapping param", - "LabelTonemappingPeakHelp": "Override signal/nominal/reference peak with this value. Useful when the embedded peak information in display metadata is not reliable or when tone mapping from a lower range to a higher range. The recommended and default values are 100 and 0.", + "LabelTonemappingPeakHelp": "Override the embedded metadata value for the input signal with this peak value instead. The default value is 100 (1000nit).", "LabelTonemappingPeak": "Tone mapping peak", "LabelTonemappingThresholdHelp": "The tone mapping algorithm parameters is fine-tuned per each scene. And a threshold is used to detect whether the scene has changed or not. If the distance between the current frame average brightness and the current running average exceeds a threshold value, we would re-calculate scene average and peak brightness. The recommended and default values are 0.8 and 0.2.", "LabelTonemappingThreshold": "Tone mapping threshold", - "LabelTonemappingDesatHelp": "Apply desaturation for highlights that exceed this level of brightness. The higher the parameter, the more colour information will be preserved. This setting helps prevent unnaturally blown-out colours for super-highlights, by (smoothly) turning into white instead. This makes images feel more natural, at the cost of reducing information about out-of-range colours. The recommended and default values are 0 and 0.5.", + "LabelTonemappingDesatHelp": "Apply desaturation for highlights that exceed this level of brightness. The recommended value is 0 (disable).", "LabelTonemappingDesat": "Tone mapping desat", "TonemappingRangeHelp": "Select the output colour range. Auto is the same as the input range.", "LabelTonemappingRange": "Tone mapping range", @@ -1666,9 +1666,9 @@ "MediaInfoVideoRangeType": "Video range type", "LabelVideoRangeType": "Video range type", "VideoRangeTypeNotSupported": "The video's range type is not supported", - "LabelVppTonemappingContrastHelp": "Apply contrast gain in VPP tone mapping. Both recommended and default values are 1.", + "LabelVppTonemappingContrastHelp": "Apply contrast gain in VPP tone mapping. The recommended value is 1.", "LabelVppTonemappingContrast": "VPP Tone mapping contrast gain", - "LabelVppTonemappingBrightnessHelp": "Apply brightness gain in VPP tone mapping. The recommended and default values are 16 and 0.", + "LabelVppTonemappingBrightnessHelp": "Apply brightness gain in VPP tone mapping. The recommended value is 16.", "LabelVppTonemappingBrightness": "VPP Tone mapping brightness gain", "ScreenResolution": "Screen Resolution", "RememberSubtitleSelectionsHelp": "Try to set the subtitle track to the closest match to the last video.", @@ -1989,5 +1989,22 @@ "MediaSegmentAction.AskToSkip": "Ask To Skip", "MediaSegmentSkipPrompt": "Skip {0}", "Anime": "Anime", - "MoviesAndShows": "Films and Programmes" + "MoviesAndShows": "Films and Programmes", + "LabelMediaSegmentProviders": "Media segment providers", + "HeaderNextEpisode": "Next Episode", + "HeaderNextVideo": "Next Video", + "AutoSubtitleStylingHelp": "This mode will automatically switch between the native and custom subtitle styling mechanisms based on your device type.", + "Custom": "Custom", + "CustomSubtitleStylingHelp": "Subtitle styling will work on most devices, but comes with an additional performance overhead.", + "LabelSubtitleStyling": "Subtitle styling", + "DeleteServerConfirmation": "Are you sure you wish to delete this server?", + "Native": "Native", + "LabelDevice": "Device", + "LastActive": "Last active", + "NativeSubtitleStylingHelp": "Subtitle styling will not work on some devices. However, it does not come with any performance overhead.", + "MediaSegmentProvidersHelp": "Enable and rank your preferred media segment providers in order of priority.", + "LibraryNameInvalid": "Library name cannot be empty.", + "CopyLogSuccess": "Log contents copied successfully.", + "Retry": "Retry", + "LogLoadFailure": "Failed to load the log file. It may still be actively written to." } diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 9c69f90285..71de76a2ab 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -171,7 +171,7 @@ "CommunityRating": "Community rating", "Composer": "Composer", "Conductor": "Conductor", - "ConfigureDateAdded": "Set up how metadata for 'Date added' is determined in the Dashboard > Libraries > NFO Settings", + "ConfigureDateAdded": "Set up how metadata for 'Date added' is determined in the Dashboard > Libraries > Display", "ConfirmDeleteImage": "Delete image?", "ConfirmDeleteItem": "Deleting this item will delete it from both the file system and your media library. Are you sure you wish to continue?", "ConfirmDeleteSeries": "Deleting this series will delete ALL {0} episodes from both the file system and your media library. Are you sure you wish to continue?", @@ -188,6 +188,7 @@ "CopyFailed": "Could not copy", "CopyStreamURL": "Copy Stream URL", "CopyStreamURLSuccess": "URL copied successfully.", + "CopyLogSuccess": "Log contents copied successfully.", "CoverArtist": "Cover artist", "Creator": "Creator", "CriticRating": "Critics rating", @@ -218,6 +219,7 @@ "DeleteName": "Delete {0}", "DeleteUser": "Delete User", "DeleteUserConfirmation": "Are you sure you wish to delete this user?", + "DeleteServerConfirmation": "Are you sure you wish to delete this server?", "Depressed": "Depressed", "Descending": "Descending", "Desktop": "Desktop", @@ -240,6 +242,7 @@ "Display": "Display", "DisplayInMyMedia": "Display on home screen", "DisplayInOtherHomeScreenSections": "Display in home screen sections such as 'Recently Added Media' and 'Continue Watching'", + "DisplayLoadError": "An error occurred while loading display configuration data.", "DisplayMissingEpisodesWithinSeasons": "Display missing episodes within seasons", "DisplayMissingEpisodesWithinSeasonsHelp": "This must also be enabled for TV libraries in the server configuration.", "DisplayModeHelp": "Select the layout style you want for the interface.", @@ -661,6 +664,7 @@ "LabelDelimiterWhitelist": "Delimiter Whitelist", "LabelDelimiterWhitelistHelp": "Items to be excluded from tag splitting. One item per line.", "LabelDeveloper": "Developer", + "LabelDevice": "Device", "LabelDisableCustomCss": "Disable custom CSS code for theming/branding provided from the server.", "LabelDisableVbrAudioEncoding": "Disable VBR audio encoding", "LabelDiscNumber": "Disc number", @@ -1006,12 +1010,14 @@ "LanNetworksHelp": "Comma separated list of IP addresses or IP/netmask entries for networks that will be considered on local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to the external bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network.", "Large": "Large", "Larger": "Larger", + "LastActive": "Last active", "LastSeen": "Last activity {0}", "LatestFromLibrary": "Recently Added in {0}", "LearnHowYouCanContribute": "Learn how you can contribute.", "LeaveBlankToNotSetAPassword": "You can leave this field blank to set no password.", "Letterer": "Letterer", "LibraryAccessHelp": "Select the libraries to share with this user. Administrators will be able to edit all folders using the metadata manager.", + "LibraryNameInvalid": "Library name cannot be empty.", "LibraryScanFanoutConcurrency": "Parallel library scan tasks limit", "LibraryScanFanoutConcurrencyHelp": "Maximum number of parallel tasks during library scans. Setting this to 0 will choose a limit based on your systems core count. WARNING: Setting this number too high may cause issues with network file systems; if you encounter problems lower this number.", "LibraryInvalidItemIdError": "The library is in an invalid state and cannot be edited. You are possibly encountering a bug: the path in the database is not the correct path on the filesystem.", @@ -1166,7 +1172,9 @@ "MessageUnableToConnectToServer": "We're unable to connect to the selected server right now. Please ensure it is running and try again.", "MessageUnauthorizedUser": "You are not authorized to access the server at this time. Please contact your server administrator for more information.", "MessageUnsetContentHelp": "Content will be displayed as plain folders. For best results use the metadata manager to set the content types of sub-folders.", + "MetadataImagesLoadError": "Failed to load metadata settings", "MetadataManager": "Metadata Manager", + "MetadataNfoLoadError": "Failed to load metadata NFO settings", "MetadataSettingChangeHelp": "Changing metadata settings will affect new content added going forward. To refresh existing content, open the detail screen and click the 'Refresh' button, or do bulk refreshes using the 'Metadata Manager'.", "MillisecondsUnit": "ms", "MinutesAfter": "minutes after", @@ -1440,6 +1448,7 @@ "ReplaceAllMetadata": "Replace all metadata", "ReplaceExistingImages": "Replace existing images", "ReplaceTrickplayImages": "Replace existing trickplay images", + "Retry": "Retry", "Reset": "Reset", "ResetPassword": "Reset Password", "ResolutionMatchSource": "Match Source", @@ -1804,5 +1813,6 @@ "OptionExtractTrickplayImage": "Enable trickplay image extraction", "ExtractTrickplayImagesHelp": "Trickplay images are similar to chapter images, except they span the entire length of the content and are used to show a preview when scrubbing through videos.", "LabelExtractTrickplayDuringLibraryScan": "Extract trickplay images during the library scan", - "LabelExtractTrickplayDuringLibraryScanHelp": "Generate trickplay images when videos are imported during the library scan. Otherwise, they will be extracted during the trickplay images scheduled task. If generation is set to non-blocking this will not affect the time a library scan takes to complete." + "LabelExtractTrickplayDuringLibraryScanHelp": "Generate trickplay images when videos are imported during the library scan. Otherwise, they will be extracted during the trickplay images scheduled task. If generation is set to non-blocking this will not affect the time a library scan takes to complete.", + "LogLoadFailure": "Failed to load the log file. It may still be actively written to." } diff --git a/src/strings/es-ar.json b/src/strings/es-ar.json index 26e8c14e8d..94b41625aa 100644 --- a/src/strings/es-ar.json +++ b/src/strings/es-ar.json @@ -141,7 +141,7 @@ "ColorTransfer": "Transferencia de color", "CommunityRating": "Puntuación de la comunidad", "Composer": "Compositor", - "ConfigureDateAdded": "Configurá cómo se determinan los metadatos para 'Fecha agregada' en el Panel de Control > Biblioteca > Configuraciones NFO", + "ConfigureDateAdded": "Configurá cómo se determinan los metadatos para 'Fecha agregada' en el Panel de Control > Biblioteca > Visualización", "ConfirmDeleteImage": "¿Eliminar imágen?", "ConfirmDeleteItem": "Eliminar este elemento lo va a eliminar tanto del sistema de archivos como de la biblioteca de medios. ¿Estás seguro que deseás continuar?", "ConfirmDeleteItems": "Eliminar estos elementos los va a eliminar tanto del sistema de archivos como de la biblioteca de medios. ¿Estás seguro que deseás continuar?", @@ -1985,5 +1985,8 @@ "LabelMediaSegmentProviders": "Proveedores del segmento de medios", "MediaSegmentProvidersHelp": "Habilitá y clasificá a tus proveedores de segmentos de medios preferidos en orden de prioridad.", "HeaderNextEpisode": "Siguiente capítulo", - "HeaderNextVideo": "Siguiente video" + "HeaderNextVideo": "Siguiente video", + "AutoSubtitleStylingHelp": "Este modo cambiará automáticamente entre los modos de estilo nativo y personalizado de subtítulos basándose en el tipo de su dispositivo.", + "CopyLogSuccess": "El contenido del registro se ha copiado satisfactoriamente.", + "Custom": "Personalizado" } diff --git a/src/strings/es.json b/src/strings/es.json index cd8316b613..db2896e3a1 100644 --- a/src/strings/es.json +++ b/src/strings/es.json @@ -93,10 +93,10 @@ "CinemaModeConfigurationHelp": "El modo cine proporciona la experiencia del cine directamente en su sala con la capacidad de reproducir tráilers e introducciones personalizadas antes de la función principal.", "Collections": "Colecciones", "Composer": "Compositor", - "ConfigureDateAdded": "Configura cómo se determina el metadato 'Fecha de adición' en el Panel de Control> Librerías > Configuración NFO", + "ConfigureDateAdded": "Configura cómo se determina el metadato 'Fecha de adición' en Panel de control > Bibliotecas > Mostrar", "ConfirmDeleteImage": "¿Borrar imagen?", - "ConfirmDeleteItem": "Al borrar este elemento se borrará del sistema de archivos y de la biblioteca. ¿Quieres continuar?", - "ConfirmDeleteItems": "Al borrar este elemento se borrará del sistema de archivos y de la biblioteca. ¿Quieres continuar?", + "ConfirmDeleteItem": "Eliminar este elemento lo eliminará tanto del sistema de archivos como de tu biblioteca multimedia. ¿Estás seguro de que deseas continuar?", + "ConfirmDeleteItems": "Al borrar este elemento se borrará del sistema de archivos y de la biblioteca. ¿Estás seguro de que deseas continuar?", "ConfirmDeletion": "Confirmar borrado", "ConfirmEndPlayerSession": "¿Quieres cerrar Jellyfin en el dispositivo {0}?", "Connect": "Conectar", @@ -1756,7 +1756,7 @@ "LabelDeveloper": "Desarrollador", "MessageRepositoryInstallDisclaimer": "ADVERTENCIA: Instalar un complemento de terceros conlleva riesgos. Puede contener código inestable o malicioso, y puede cambiar en cualquier momento. Solo instale complementos de autores en los que confíe.", "HeaderEpisodesStatus": "Estado de los episodios", - "AllowSegmentDeletion": "No Permitir Ninguno", + "AllowSegmentDeletion": "Borrar segmentos", "AllowSegmentDeletionHelp": "Elimine segmentos antiguos después de que el cliente los haya descargado. Esto evita tener que almacenar todo el archivo transcodificado en el disco. Desactívelo si tiene problemas de reproducción.", "LabelThrottleDelaySecondsHelp": "Tiempo en segundos después del cual se acelerará el transcodificador. Debe ser lo suficientemente grande para que el cliente mantenga un búfer saludable. Solo funciona si el estrangulamiento \"throttling\" está habilitada.", "LabelSegmentKeepSeconds": "Tiempo que se mantendrán los segmentos", @@ -1803,7 +1803,7 @@ "Trickplay": "Trickplay", "LabelTrickplayAccel": "Habilitar descodificación por hardware", "LabelScanBehavior": "Comportamiento de Escaneo", - "ConfirmDeleteSeries": "Eliminar esta serie eliminará TODOS {0} episodios tanto del sistema de archivos como de tu biblioteca de medios. ¿Estás seguro de que deseas continuar?", + "ConfirmDeleteSeries": "Eliminar esta serie eliminará TODOS LOS {0} episodios tanto del sistema de archivos como de tu biblioteca de medios. ¿Estás seguro de que deseas continuar?", "DeleteEntireSeries": "Eliminar {0} Episodios", "DeleteSeries": "Eliminar Series", "DeleteEpisode": "Eliminar Episodio", @@ -1829,7 +1829,7 @@ "PlaybackError.RateLimitExceeded": "Este medio no puede reproducirse en este momento debído a límites.", "EnableLibrary": "Activar la biblioteca", "EnableLibraryHelp": "Desactivar la biblioteca hará que no sea visible para ningún usuario.", - "ConfirmDeleteLyrics": "Borrando estas letras también las borrará tanto del sistema de ficheros como de tu biblioteca de medios. ¿Estás seguro de que deseas continuar?", + "ConfirmDeleteLyrics": "Borrando estas letras también las borrará tanto del sistema de archivos como de tu biblioteca de medios. ¿Estás seguro de que deseas continuar?", "DeleteLyrics": "Borrar letras", "HeaderNoLyrics": "No se han encontrado letras", "ErrorDeletingLyrics": "Ha ocurrido un error al borrar las letras del servidor. Por favor asegúrate que Jellyfin tiene permisos de escritura para la carpeta de medios e inténtalo otra vez.", @@ -1870,8 +1870,8 @@ "OptionExtractTrickplayImage": "Habilitar la extracción de imágenes de trickplay", "LabelExtractTrickplayDuringLibraryScanHelp": "Generar imágenes de trickplay cuando los vídeos se importan durante el escaneo de la biblioteca. De lo contrario se extraerán durante la tarea programada de extracción de imágenes de trickplay. Si la generación es no bloqueante esto no afectará al tiempo que la biblioteca tarda en escanearse.", "Author": "Autor", - "LibraryScanFanoutConcurrencyHelp": "Numero maximo de tareas de escaneos en librerias paralelas. Marcar esta opcion en 0 escogera un limite basado en la cantidad de nucleos (CPU) en sus sistema. ADVERTENCIA: Marcar este numero demasiado alto puede causar problemas con sistemas de archivos de red; si encuentra problemas baje este numero.", - "LibraryScanFanoutConcurrency": "Limite de escaneos de tareas en librerias paralelas", + "LibraryScanFanoutConcurrencyHelp": "Número máximo de tareas en paralelo durante los escaneos de la biblioteca. Configurar este valor en 0 seleccionará un límite basado en la cantidad de núcleos de tu sistema. ADVERTENCIA: Configurar un número demasiado alto puede causar problemas con sistemas de archivos en red; si experimentas inconvenientes, reduce este valor.", + "LibraryScanFanoutConcurrency": "Límite de tareas de escaneo en paralelo de la biblioteca", "Penciller": "Lapicista", "PlaylistError.CreateFailed": "Error creando lista de reproduccion", "PlaylistError.AddFailed": "Error agregando a lista de reproduccion", @@ -1987,9 +1987,27 @@ "MediaSegmentProvidersHelp": "Habilite y clasifique por orden de prioridad a sus proveedores de segmentos de medios preferidos.", "HeaderNextEpisode": "Próximo episodio", "HeaderNextVideo": "Próximo video", - "CustomSubtitleStylingHelp": "El estilo de los subtítulos funcionará en la mayoría de los dispositivos, pero conlleva una sobrecarga adicional de rendimiento.", + "CustomSubtitleStylingHelp": "El estilo en los subtítulos funcionará en la mayoría de los dispositivos, pero tendrá una sobrecarga adicional de rendimiento.", "Custom": "Personalizado", "LabelSubtitleStyling": "Estilo de subtítulos", "Native": "Nativo", - "NativeSubtitleStylingHelp": "El estilo de los subtítulos no funcionará en algunos dispositivos. Sin embargo, no conlleva ninguna sobrecarga de rendimiento." + "NativeSubtitleStylingHelp": "El estilo de los subtítulos no funcionará en algunos dispositivos. Sin embargo, no conlleva ninguna sobrecarga de rendimiento.", + "DeleteServerConfirmation": "¿Estás seguro de que deseas eliminar este servidor?", + "LabelDevice": "Dispositivo", + "LastActive": "Último activo", + "LibraryNameInvalid": "El nombre de la biblioteca no puede estar vacío.", + "AutoSubtitleStylingHelp": "Este modo cambiará automáticamente entre los mecanismos de estilo nativo y personalizado de subtítulos basándose en el tipo de su dispositivo.", + "LabelQsvDeviceHelp": "Especifica el dispositivo para Intel QSV en un sistema multi-GPU. En Linux, es el nódo de render, ej., /dev/dri/renderD128. En Windows, es el índice del dispositivo empezando desde 0. Déjalo en blanco a menos que sepa lo que está haciendo.", + "MediaSegmentType.Recap": "Recapitulación", + "PlaylistError.UpdateFailed": "Error actualizando la lista de reproducción", + "MediaSegmentAction.None": "Ninguno", + "MediaSegmentType.Outro": "Outro", + "MoviesAndShows": "Películas y Programas", + "CopyLogSuccess": "El contenido del registro se ha copiado satisfactoriamente.", + "Retry": "Reintentar", + "LogLoadFailure": "Fallo al cargar el archivo de registro. Es posible que siga siendo activamente escrito.", + "HeaderMediaSegmentActions": "Acciones del segmento de medios", + "MetadataNfoLoadError": "Error al cargar la configuración de metadatos NFO", + "DisplayLoadError": "Un error ocurrió mientras se cargaba la configuración de visualización.", + "MetadataImagesLoadError": "Error al cargar la configuración de metadatos" } diff --git a/src/strings/et.json b/src/strings/et.json index 5d32e22e83..35b5414cc2 100644 --- a/src/strings/et.json +++ b/src/strings/et.json @@ -283,7 +283,7 @@ "HeaderDownloadSync": "Laadi alla ja sünkrooni", "HeaderCancelSeries": "Tühista sari", "CustomDlnaProfilesHelp": "Loo kohandatud profiil uue seadme jaoks või tühista süsteemi profiil.", - "ConfigureDateAdded": "Seadista, kuidas lisamise kuupäev kuvatakse juhtpaneeli meediakogu seadetes", + "ConfigureDateAdded": "Seadista, kuidas määratakse 'Lisamise kuupäev' metaandmed menüüs Halduspaneel > Meediakogud > Kuva", "Banner": "Bänner", "AllowTonemappingHelp": "Värvikaardistus võib muuta video dünaamilise ulatuse HDR -st SDR -ks, säilitades samal ajal pildi üksikasjad ja värvid, mis on algse stseeni kujutamisel väga oluline teave. Praegu töötab ainult 10-bitise HDR10, HLG ja DoVi videotega. See vajab vastavat GPGPU rakendust.", "HeaderDirectPlayProfile": "Otse-esituse profiil", @@ -704,7 +704,7 @@ "LabelManufacturerUrl": "Tootja URL", "LabelManufacturer": "Tootja", "LabelLogs": "Logid", - "LabelLockItemToPreventChanges": "Lukusta see üksus tulevaste muudatuste vältimiseks", + "LabelLockItemToPreventChanges": "Lukusta see üksus tulevaste metaandmete muudatuste vältimiseks", "LabelLocalHttpServerPortNumberHelp": "HTTP serveri TCP pordi number.", "LabelLocalHttpServerPortNumber": "Kohaliku HTTP pordi number", "LabelLocalCustomCss": "Kohandatud CSS stiil, mis kehtib ainult selle kliendi kohta. Võid ka serveri kohandatud CSS stiili keelata.", @@ -969,7 +969,7 @@ "LabelTonemappingPeak": "Toonikaardistuse piik", "LabelTonemappingParamHelp": "Häälesta värvikaardistuse algorütmi. Soovitatavad ja vaikeväärtused on NaN. Enamasti jäetakse see tühjaks.", "LabelTonemappingParam": "Toonikaardistuse parameeter", - "LabelTonemappingDesatHelp": "Rakenda piikidele, mis ületavad seda heledust. Mida kõrgem parameeter, seda rohkem värviteavet säilitatakse. See säte aitab vältida ebaloomulikult paisutatud värvide esiletoomist, muutudes (sujuvalt) valgeks. See muudab pildid loomulikumaks, vähendades seejuures teavet väljaspool vahemikku olevate värvide kohta. Soovitatavad ja vaikeväärtused on 0 ja 0,5.", + "LabelTonemappingDesatHelp": "Rakenda piikidele, mis ületavad seda heledust. Soovitatav väärtus on 0 (keelatud).", "LabelTonemappingDesat": "Toonikaardistuse küllastus", "LabelTonemappingAlgorithm": "Vali kasutatav värvikaardistuse algoritm", "LabelTitle": "Pealkiri", @@ -1973,5 +1973,13 @@ "MoviesAndShows": "Filmid ja Sarjad", "PlaylistError.UpdateFailed": "Tekkis tõrge esitusloendi muutmisel", "HeaderMediaSegmentActions": "Meediasegmentide toimingud", - "LabelMediaSegmentsType": "{0} segmenti" + "LabelMediaSegmentsType": "{0} segmenti", + "LabelMediaSegmentProviders": "Meediasegmentide pakkujad", + "HeaderNextEpisode": "Järgmine episood", + "Custom": "Kohandatud", + "CustomSubtitleStylingHelp": "Subtiitrite stiliseerimine töötab enamus seadmetes kuid nõuab rohkem resursse.", + "HeaderNextVideo": "Järgmine video", + "LabelSubtitleStyling": "Subtiitrite stiil", + "DeleteServerConfirmation": "Kas sa oled kindel, et soovid selle serveri kustutada?", + "LabelDevice": "Seade" } diff --git a/src/strings/eu.json b/src/strings/eu.json index 1be6b6bf05..750f7b0819 100644 --- a/src/strings/eu.json +++ b/src/strings/eu.json @@ -29,7 +29,7 @@ "Copy": "Kopiatu", "Copied": "Kopiatuta", "ButtonExitApp": "Aplikaziotik irten", - "AddToFavorites": "Gogokoetara gehitu", + "AddToFavorites": "Gehitu gogokoetara", "AudioBitDepthNotSupported": "Audioaren bit-sakontasuna ez da bateragarria", "VideoProfileNotSupported": "Bideo-kodearen profila ez da bateragarria", "VideoLevelNotSupported": "Bideo-kodearen maila ez da bateragarria", @@ -446,7 +446,7 @@ "MessageReenableUser": "Begiratu behera berriz aktibatzeko", "MessagePluginInstallError": "Errorea gertatu da osagarri hau instalatzean.", "MessagePluginInstalled": "Osagarria behar bezala instalatu da. Zerbitzaria berriz hasi beharko da aldaketek eragina izan dezaten.", - "MessagePluginInstallDisclaimer": "Komunitateko kideek sortutako osagarriak zure esperientzia ezaugarri gehigarriekin eta beste onura batzuekin hobetzeko modu egokia dira. Instalatu aurretik, kontuan hartu zure zerbitzarian izan ditzaketen efektuak, hala nola liburutegi luzeenetik eskaneatzea, prozesatzea handitzea bigarren planoan edo sistemaren ezegonkortasuna.", + "MessagePluginInstallDisclaimer": "KONTUZ: hirugarrenen pluginak instalatzeak arriskuak ditu. Kode ezegonkorra edo maltzurra izan dezake eta edozein unetan alda daiteke. Ezagutzen dituzun egileen pluginak bakarrik instalatu eta kontuan izan eduki ahal dituen efektuak, kanpoko zerbitzu kontsultak, liburutegi eskaneo luzeagoak edo atzeko planoko prozesamendu handiagoa adibidez.", "MessagePluginConfigurationRequiresLocalAccess": "Osagarri hau konfiguratzeko, hasi saioa zure zerbitzari lokalean zuzenean.", "MessagePleaseWait": "Mesedez, itxaron.", "MessagePleaseEnsureInternetMetadata": "Ziurtatu metadatuak Internetetik deskargatzea aktibatuta dagoela.", @@ -1253,7 +1253,7 @@ "AnyLanguage": "Edozein hizkuntza", "AlwaysPlaySubtitlesHelp": "Hizkuntza-lehentasunarekin bat datozen azpitituluak kargatu egingo dira, audio-hizkuntza edozein dela ere.", "AlwaysPlaySubtitles": "Beti erakutsi azpitituluak", - "AllowTonemappingHelp": "Tonuen mapaketak HDR bideo baten maila dinamikoa SDR bihur dezake irudian xehetasunak eta koloreak mantentzen diren bitartean; beraz, garrantzitsua da jatorrizko eszena irudikatzeko. Une honetan txertatutako HDR10 edo HLG metadatuekin bideoak transkodetzen direnean bakarrik funtzionatzen du. Erreprodukzioa arina ez bada edo huts egiten badu, kontuan hartu dagokion hardware bidezko deskodegailua desaktibatu behar dela.", + "AllowTonemappingHelp": "Tonu-mapaketak bideo baten barruti dinamikoa eraldatu dezake HDRtik SDR-ra, jatorrizko eszena irudikatzeko informazio oso garrantzitsuak diren irudien xehetasunak eta koloreak mantenduz. Gaur egun 10bit HDR10, HLG eta DoVi bideoekin bakarrik funtzionatzen du. Honek dagokion GPGPU exekuzio-denbora behar du.", "AllowRemoteAccessHelp": "Aktibatuta ez badago, urruneko konexio guztiak blokeatu egingo dira.", "AllowRemoteAccess": "Baimendu zerbitzari honetarako urrutiko konexioak", "AllowOnTheFlySubtitleExtractionHelp": "Bezeroa bateragarria denean, azpitituluak erreprodukzioan zehar atera daitezke, bideoa ez bihurtzeko. Hala ere, eta zerbitzari batzuetan, honek denbora asko behar izan dezake eta erreprodukzioak ebakiak izan ditzake prozesuan zehar. Aukera hau desgaitzen du azpitituluak zuzenean bideoan grabatzeko, bezeroarekin berez bateragarriak ez direnean.", @@ -1261,13 +1261,13 @@ "AllowMediaConversionHelp": "Baimendu edo debekatu multimedia-bihurketa funtzioa.", "AllowMediaConversion": "Baimendu multimedia-bihurketa", "AllowHWTranscodingHelp": "Baimendu sintonizatzaileari edukia zuzenean transkodetzea. Horrek zerbitzariak gutxiago transkodetu behar izatea ekarriko du.", - "AllowFfmpegThrottlingHelp": "Bihurketak gelditu egingo dira ugaltzailea dagoen posiziotik behar beste aurreratzen direnean. Zerbitzarian karga murriztu dezake eta erabilgarria da etengabe erreproduzitzen denean, denbora-tarteen artean salto egin gabe, baina baliteke desaktibatu behar izatea erreprodukzioan arazoak badituzu edo edukia erreproduzitzen duzun bitartean posizioa maiz aldatzen baduzu.", - "AllowFfmpegThrottling": "Bihurketak bizkortzea", + "AllowFfmpegThrottlingHelp": "Bihurketa edo remux bat uneko erreprodukzio posiziotik aurrera nahiko urrun dagoenean, eten prozesua, baliabide gutxiago kontsumitzeko. Hau erabilgarriena da maiz bilatu gabe ikustean. Desgaitu hau erreproduzitzeko arazoak badituzu.", + "AllowFfmpegThrottling": "Mugatu bihurketak", "AllowedRemoteAddressesHelp": "IP helbideen komen edo IP/sare-maskararen sarreren bidez bereizitako zerrenda, urrunetik konektatzeko aukera emango zaien sareetarako. Hutsik utziz gero, urruneko norabide guztiak baimenduko dira.", "AllLibraries": "Liburutegi guztiak", "AllLanguages": "Hizkuntza guztiak", "AllEpisodes": "Atal guztiak", - "AllComplexFormats": "Formatu konplexu guztiak (ASS, SSA, VobSub, PGS, SUB, IDX)", + "AllComplexFormats": "Formatu konplexu guztiak (ASS, SSA, VobSub, PGS, SUB, IDX, …)", "AllChannels": "Kanal guztiak", "All": "Dena", "Alerts": "Alertak", @@ -1275,17 +1275,17 @@ "AlbumArtist": "Albumaren artista", "Album": "Albuma", "Aired": "Igorria", - "AirDate": "Jaulkipen-data", + "AirDate": "Emisio-data", "AgeValue": "({0} urte)", - "AddToPlayQueue": "Gehitu erreprodukzio-isatsari", - "AddToPlaylist": "Gehitu erreprodukzio-zerrenda bati", - "AddToCollection": "Gehitu bilduma bati", + "AddToPlayQueue": "Gehitu erreprodukzio-ilarara", + "AddToPlaylist": "Gehitu erreprodukzio-zerrendara", + "AddToCollection": "Gehitu bildumara", "AdditionalNotificationServices": "Bisitatu osagarrien katalogoa jakinarazpen-zerbitzu gehigarriak instalatzeko.", "AddedOnValue": "{0} erantsi da", "Add": "Gehitu", "Actor": "Aktorea", "AccessRestrictedTryAgainLater": "Une honetan sarbidea mugatuta dago. Saiatu berriro geroago.", - "Absolute": "Absolutua", + "Absolute": "Erabatekoa", "LabelDisplayMode": "Bistaratzeko modua", "LabelDisplayLanguageHelp": "Jellyfin itzultzea abian dagoen proiektu bat da.", "LabelDisplayLanguage": "Hizkuntza", @@ -1571,7 +1571,7 @@ "HeaderAccessSchedule": "Sartzeko ordutegia", "HardwareAccelerationWarning": "Hardware bidezko azelerazioa aktibatzeak ingurune batzuetan ezegonkortasunak eragin ditzake. Ziurtatu zure sistema eragilea eta bideo-kontrolatzaileak eguneratuta daudela. Hau aktibatu ondoren bideoak erreproduzitzeko zailtasunak badituzu, doikuntza hau berriro jarri beharko duzu None-n.", "HDPrograms": "Programak HDn", - "H264CrfHelp": "Abiadura konstantearen faktorea (CRF) x264 eta x265 kodifikatzaileentzako aurrez zehaztutako kalitate-doikuntza da. 0 eta 51 arteko balioak ezar ditzake, non balio baxuenak kalitate hobean geratuko liratekeen (fitxategi-tamaina altuagoen kontura). Balio osasuntsuak 18 eta 28 artean daude. X264rako lehenetsitako balioa 23 da, eta x265erako 28; beraz, hori abiapuntu gisa erabil dezakezu.", + "H264CrfHelp": "Abiadura konstantearen faktorea (CRF) x264 eta x265 software kodifikatzaileentzako aurrez zehaztutako kalitate-doikuntza da. 0 eta 51 arteko balioak ezarri daitezke, non balio baxuenak kalitate hobean geratuko liratekeen (fitxategi-tamaina altuagoen kontura). Balio osasuntsuak 18 eta 28 artean daude. x264rako lehenetsitako balioa 23 da, eta x265erako 28; beraz, hori abiapuntu gisa erabil dezakezu. Hardware kodifikatzaileek ez dituzte ezarpen hauek erabiltzen.", "GuideProviderSelectListings": "Hautatu zerrendak", "GuideProviderLogin": "Kredentzialak", "Guide": "Gida", @@ -1631,10 +1631,18 @@ "GoogleCastUnsupported": "Google Cast ez da bateragarria", "Experimental": "Esperimentala", "DownloadAll": "Deskargatu dena", - "AllowCollectionManagement": "Bildum baimena utzi", - "AllowSegmentDeletion": "Segmentuak ezabatu", - "AllowSegmentDeletionHelp": "Segmentu zaharrak ezabatu bezeroari bidali ondoren. Horrela ezin da kodifikatutako fitxategi osoa gordeko diskoan. Hau Throttling bakarrik aktibatuta baldin funtzionatuko du. Itzali aukera hau playback arazoak esperimentatzen baldin baduzu.", + "AllowCollectionManagement": "Baimendu erabiltzaile honek bildumak kudeatzea", + "AllowSegmentDeletion": "Ezabatu segmentuak", + "AllowSegmentDeletionHelp": "Ezabatu segmentu zaharrak bezeroak deskargatu ondoren. Honela, bihurtutako fitxategi osoa diskoan gordetzea saihesten da. Desgaitu erreproduzitzeko arazoak badituzu.", "LabelThrottleDelaySeconds": "Throttle buruan", "LabelThrottleDelaySecondsHelp": "Denbora segundotan transkodetzailea geldiarazten hasiko den. Bezeroak buffer osasuntsu bat mantentzeko bezain handia izan behar da. Bakarrik funtzionatzen du throttling onartua baldin badago.", - "LabelSegmentKeepSeconds": "Segmentuak gordetzeko denbora.." + "LabelSegmentKeepSeconds": "Segmentuak gordetzeko denbora..", + "AirPlay": "AirPlay", + "AllowContentWithTagsHelp": "Erakutsi zehaztutako etiketetik gutxienez bat duen serieen media.", + "AllowSubtitleManagement": "Baimendu erabiltzaile honek azpitituluak editatzea", + "SelectAudioNormalizationHelp": "Pista irabazia - pista bakoitzaren bolumena doitzen du ozentasun berarekin erreproduzitu daitezen. Album irabazia - pista bakoitzaren bolumena doitzen du album batean soilik, albumaren eremu dinamikoa mantentzeko. \"Itzalita\" eta beste aukeren artean aldatzeak uneko erreproduzkzioa berrabiaraztea behar du.", + "LabelProcessPriorityHelp": "Handiago edo txikiago ezartzeak PUZ-ak ffmpeg trickplay sortzeko prozesua beste prozesu batzuekin alderatuta nola lehenesten duen zehaztuko du. Trickplay irudiak sortzen dituzun bitartean moteltzea nabaritzen baduzu, baina ez duzu sorpena erabat gelditu nahi, saiatu hau eta hari kopurua ere jaisten.", + "LibraryScanFanoutConcurrencyHelp": "Liburutegiko azterketarako gehienezko zeregin paraleloen kopurua. 0 ezartzean, zure sistemako nukleoen kopuruan oinarritutako muga bat aukeratuko da. KONTUZ: Hau altuegi ezartzeak arazoak sor ditzake sareko fitxategi-sistemekin; arazorik baduzu, murriztu zenbaki hau.", + "LabelQsvDeviceHelp": "Zehaztu Intel QSVrako gailua GPU sistema multi-GPU batean. Linuxen, hau errenderizazio nodoa da adib. /dev/dri/renderD128. Windowsen, hau gailuaren indizea 0tik aurrera da. Utzi zuri zer egiten ari zaren jakin ezean.", + "AllowVideoToolboxTonemappingHelp": "VideoToolbox-ek emandako hardware bidezko tonu-mapatzea. HDR formatu gehienekin funtzionatzen du, HDR10, HDR10 + eta HLG barne, baina ez du Dolby Vision 5. profilarekin funtzionatzen. Honek lehentasun handiagoa du beste Metal-eko inplementazioarekin alderatuta." } diff --git a/src/strings/fi.json b/src/strings/fi.json index 06a32a012c..407686b373 100644 --- a/src/strings/fi.json +++ b/src/strings/fi.json @@ -1683,7 +1683,7 @@ "LabelStereoDownmixAlgorithm": "Stereoäänen alasmiksausalgoritmi", "StereoDownmixAlgorithmHelp": "Algoritmi, jonka perusteella monikanavaääni alasmiksataan steroääneksi.", "HeaderRecordingMetadataSaving": "Tallenteen metatiedot", - "SaveRecordingNFO": "Tallenna tallenteen ohjelmaoppaan metatiedot NFO-tiedostoon", + "SaveRecordingNFO": "Tallenna nauhoituksien ohjelmaoppaan metatiedot NFO-tiedostoon", "SaveRecordingNFOHelp": "Tallenna ohjelmaoppaan tietolähteen metatiedot mediatiedoston oheen.", "SaveRecordingImages": "Tallenna tallenteen ohjelmaoppaan kuvat", "SaveRecordingImagesHelp": "Tallenna ohjelmaoppaan tietolähteen kuvat mediatiedoston oheen.", @@ -1921,7 +1921,7 @@ "Editor": "Ohjaus", "Letterer": "Kirjoittaja", "LibraryScanFanoutConcurrencyHelp": "Samanaikaisten suoritettavien kirjastoskannausten maksimimäärä. Mikäli tämä arvo on asetettu 0, määrä valitaan järjestelmän prosessorin säikeiden lukumäärän mukaan. VAROITUS: Tämän arvon asettaminen liian korkeaksi voi aiheuttaa ongelmia verkkotiedostojärjestelmissä. Jos koet ongelmatilanteista, laske tätä numeroa.", - "SaveLyricsIntoMediaFoldersHelp": "Kappaleen sanojen tallentaminen kappaleen tiedostojen kanssa tekee sanoituksista helpommin hallittavan.", + "SaveLyricsIntoMediaFoldersHelp": "Sanoitusten tallentaminen äänitiedoston kanssa samaan sijaintiin helpottaa niiden hallintaa.", "SelectPreferredTranscodeVideoAudioCodecHelp": "Valitse ensisijainen äänikoodekki videomateriaalin transkoodaamiseen. Jos ensisijainen koodekki ei ole tuettu, serveri käyttää seuraavaksi parasta koodekkia.", "LabelTrickplayAccelEncoding": "Käyttöönota rautakiihdytetty MJPEG enkoodaus", "LabelTrickplayAccelEncodingHelp": "Tällä hetkellä ainoastaan käytettävissä QSV, VAAPI ja VideoToolbox, tällä valinnalla ei ole vaikutusta muihin rautakiihdytysmetodeihin.", @@ -1981,5 +1981,9 @@ "MessageSplitVersionsError": "Tapahtui virhe jaettaessa versioita", "MediaInfoRotation": "Kääntö", "MediaSegmentAction.AskToSkip": "Pyydä ohittamaan", - "MediaSegmentSkipPrompt": "Ohita {0}" + "MediaSegmentSkipPrompt": "Ohita {0}", + "Retry": "Yritä uudelleen", + "Reset": "Nollaa", + "ReplaceTrickplayImages": "Korvaa nykyiset trickplay kuvat", + "RenderPgsSubtitleHelp": "Renderöidäänkö PGS tekstitykset laitteen toimesta. Tällä voidaan välttää raskas tekstitysten poltto kiinteästi kuvaan palvelimen toimesta, mutta lisätään laitteen renderöintikuormaa." } diff --git a/src/strings/fr.json b/src/strings/fr.json index 22ac72b666..08003713d1 100644 --- a/src/strings/fr.json +++ b/src/strings/fr.json @@ -1999,5 +1999,8 @@ "CustomSubtitleStylingHelp": "Le style des sous-titres fonctionnera sur la plupart des appareils, mais entraîne une perte de performances.", "LabelSubtitleStyling": "Style des sous-titres", "Native": "Natif", - "NativeSubtitleStylingHelp": "Le style des sous-titres ne fonctionne pas sur certains appareils. Cependant, cela n'entraîne aucune perte de performances." + "NativeSubtitleStylingHelp": "Le style des sous-titres ne fonctionne pas sur certains appareils. Cependant, cela n'entraîne aucune perte de performances.", + "DeleteServerConfirmation": "Êtes-vous sûr de vouloir supprimer ce serveur ?", + "LastActive": "Dernière activation", + "LabelDevice": "Appareil" } diff --git a/src/strings/ga.json b/src/strings/ga.json index 06667cd5aa..b6f8d2f789 100644 --- a/src/strings/ga.json +++ b/src/strings/ga.json @@ -1443,7 +1443,7 @@ "DeleteMedia": "Scrios meáin", "DeleteSeries": "Scrios Sraith", "DeleteEpisode": "Scrios Eipeasóid", - "ConfigureDateAdded": "Socraigh conas a chinntear meiteashonraí le haghaidh 'Dáta curtha leis' sa Phainéal > Leabharlanna > Socruithe NFO", + "ConfigureDateAdded": "Socraigh conas a chinntear meiteashonraí do 'Dáta curtha leis' ar an Deais > Leabharlanna > Scáthlán", "DeleteUser": "Scrios Úsáideoir", "DeleteUserConfirmation": "An bhfuil tú cinnte gur mian leat an t-úsáideoir seo a scriosadh?", "DetectingDevices": "Gléasanna a bhrath", @@ -1811,5 +1811,9 @@ "CustomSubtitleStylingHelp": "Oibreoidh stíliú fotheideal ar fhormhór na bhfeistí, ach tagann forchostas feidhmíochta breise leis.", "LabelSubtitleStyling": "Stíleáil fotheideal", "Native": "Dúchasach", - "NativeSubtitleStylingHelp": "Ní oibreoidh stíliú fotheideal ar ghléasanna áirithe. Mar sin féin, ní thagann sé le haon forchostais feidhmíochta." + "NativeSubtitleStylingHelp": "Ní oibreoidh stíliú fotheideal ar ghléasanna áirithe. Mar sin féin, ní thagann sé le haon forchostais feidhmíochta.", + "LibraryNameInvalid": "Ní féidir le hainm na leabharlainne a bheith folamh ná spásanna tosaigh/rianta a bheith ann.", + "DeleteServerConfirmation": "An bhfuil tú cinnte gur mian leat an freastalaí seo a scriosadh?", + "LastActive": "Gníomhach seo caite", + "LabelDevice": "Gléas" } diff --git a/src/strings/hu.json b/src/strings/hu.json index 065ca583db..bf62e8b964 100644 --- a/src/strings/hu.json +++ b/src/strings/hu.json @@ -8,22 +8,22 @@ "All": "Mind", "AllEpisodes": "Összes epizód", "AllLanguages": "Összes nyelv", - "AllLibraries": "Összes könyvtár", + "AllLibraries": "Összes médiatár", "Ascending": "Növekvő", - "Audio": "Audió", - "BirthDateValue": "Született: {0}", + "Audio": "Hang", + "BirthDateValue": "Születési idő: {0}", "BirthPlaceValue": "Születési hely: {0}", "Books": "Könyvek", "Browse": "Tallózás", - "ButtonAddMediaLibrary": "Médiakönyvtár hozzáadása", + "ButtonAddMediaLibrary": "Médiatár hozzáadása", "ButtonAddServer": "Kiszolgáló hozzáadása", "ButtonAddUser": "Új felhasználó", "ButtonAudioTracks": "Hangsávok", "ButtonCancel": "Mégse", - "ButtonChangeServer": "Szerver váltás", + "ButtonChangeServer": "Kiszolgáló váltása", "ButtonForgotPassword": "Elfelejtett jelszó", "ButtonGotIt": "Értettem", - "ButtonLibraryAccess": "Könyvtár hozzáférés", + "ButtonLibraryAccess": "Médiatár-hozzáférés", "ButtonManualLogin": "Kézi belépés", "ButtonMore": "Tovább", "ButtonNextTrack": "Következő sáv", @@ -36,7 +36,7 @@ "ButtonRename": "Átnevezés", "ButtonResetEasyPassword": "PIN-kód visszaállítása", "ButtonResume": "Folytatás", - "ButtonScanAllLibraries": "Minden könyvtár beolvasása", + "ButtonScanAllLibraries": "Összes médiatár beolvasása", "ButtonSelectDirectory": "Könyvtár választása", "ButtonSend": "Küldés", "ButtonShutdown": "Leállítás", @@ -51,7 +51,7 @@ "Collections": "Gyűjtemények", "CommunityRating": "Közösségi értékelés", "Connect": "Kapcsolódás", - "DateAdded": "Hozzáadva", + "DateAdded": "Hozzáadás dátuma", "DatePlayed": "Lejátszás dátuma", "Delete": "Törlés", "DeleteMedia": "Média törlése", @@ -59,8 +59,8 @@ "Director": "Rendező", "Directors": "Rendezők", "Display": "Megjelenítés", - "DisplayMissingEpisodesWithinSeasons": "Hiányzó évad epizódok megjelenítése", - "DisplayMissingEpisodesWithinSeasonsHelp": "Ezt engedélyezni kell a szerver beállításában lévő TV könyvtárak esetében is.", + "DisplayMissingEpisodesWithinSeasons": "Hiányzó epizódok megjelenítése az évadokban", + "DisplayMissingEpisodesWithinSeasonsHelp": "Ezt engedélyezni kell a TV-s médiatárak esetén is a kiszolgálóbeállításokban.", "Down": "Le", "Download": "Letöltés", "Edit": "Szerkesztés", @@ -70,33 +70,33 @@ "EnableBackdropsHelp": "A háttérképek a könyvtár böngészése közben néhány oldal hátterében jelennek meg.", "EnableHardwareEncoding": "Hardveres kódolás engedélyezése", "EnableThemeSongsHelp": "Főcímdalok lejátszása háttérben a könyvtár böngészése közben.", - "EndsAtValue": "Várható befejezés {0}", + "EndsAtValue": "Várható befejezés: {0}", "Episodes": "Epizódok", "ExitFullscreen": "Kilépés a teljes képernyőből", "FastForward": "Ugrás előre", "Favorite": "Kedvenc", "Favorites": "Kedvencek", "Features": "Jellemzők", - "FileNotFound": "Fájl nem található.", + "FileNotFound": "A fájl nem található.", "Filters": "Szűrők", - "Folders": "Könyvtárak", + "Folders": "Mappák", "Friday": "Péntek", "Fullscreen": "Teljes képernyő", "General": "Általános", "Genres": "Műfajok", "HeaderActiveDevices": "Aktív eszközök", - "HeaderAddToCollection": "Hozzáadás a gyűjteményhez", - "HeaderAddToPlaylist": "Hozzáadás lejátszási listához", - "HeaderAddUpdateImage": "Kép hozzáadása / frissítése", + "HeaderAddToCollection": "Gyűjteményhez adás", + "HeaderAddToPlaylist": "Lejátszási listához adás", + "HeaderAddUpdateImage": "Kép hozzáadása/frissítése", "HeaderAudioBooks": "Hangoskönyvek", "HeaderAudioSettings": "Hangbeállítások", "HeaderCastAndCrew": "Szereplők és stáb", - "HeaderConnectToServer": "Kapcsolódás a Szerverhez", + "HeaderConnectToServer": "Kapcsolódás a kiszolgálóhoz", "HeaderContinueWatching": "Megtekintés folytatása", "HeaderCustomDlnaProfiles": "Egyéni profilok", - "HeaderDetectMyDevices": "Eszközök érzékelése", + "HeaderDetectMyDevices": "Eszközök észlelése", "HeaderDeveloperInfo": "Fejlesztői információk", - "HeaderDeviceAccess": "Eszköz Hozzáférések", + "HeaderDeviceAccess": "Eszközhozzáférés", "HeaderDevices": "Eszközök", "HeaderDownloadSync": "Letöltés és szinkronizálás", "HeaderEasyPinCode": "PIN-kód", @@ -104,52 +104,52 @@ "HeaderEnabledFields": "Engedélyezett mezők", "HeaderExternalIds": "Külső azonosítók", "HeaderFrequentlyPlayed": "Gyakran játszott", - "HeaderIdentifyItemHelp": "Adj meg egy vagy több keresési kritériumot. Távolítsd el a kritériumokat a keresési eredmények növelése érdekében.", + "HeaderIdentifyItemHelp": "Adjon meg egy vagy több keresési feltételt. A találatok számának növeléséhez távolítson el feltételeket.", "HeaderImageSettings": "Kép beállítások", "HeaderInstall": "Telepítés", "HeaderLatestEpisodes": "Nemrég hozzáadott epizódok", "HeaderLatestMedia": "Nemrég hozzáadott tartalmak", "HeaderLatestMovies": "Nemrég hozzáadott filmek", - "HeaderLibraries": "Könyvtárak", - "HeaderLibraryAccess": "Könyvtár hozzáférés", - "HeaderLibraryFolders": "Médiatár mappák", - "HeaderLibraryOrder": "Médiatár elrendezése", - "HeaderLibrarySettings": "Médiatár beállítások", + "HeaderLibraries": "Médiatárak", + "HeaderLibraryAccess": "Médiatár-hozzáférés", + "HeaderLibraryFolders": "Médiatármappák", + "HeaderLibraryOrder": "Médiatár rendezése", + "HeaderLibrarySettings": "Médiatárbeállítások", "HeaderLiveTvTunerSetup": "Élő TV tuner beállítása", "HeaderMedia": "Média", - "HeaderMediaFolders": "Médiakönyvtárak", - "HeaderMetadataSettings": "Metaadat-beállítások", + "HeaderMediaFolders": "Médiamappák", + "HeaderMetadataSettings": "Metaadatbeállítások", "HeaderMoreLikeThis": "Több ehhez hasonló", "HeaderMyDevice": "Jelenlegi eszköz", - "HeaderMyMedia": "Saját médiatár", - "HeaderMyMediaSmall": "Saját médiatár (kicsi)", + "HeaderMyMedia": "Saját média", + "HeaderMyMediaSmall": "Saját média (kicsi)", "HeaderOnNow": "Most", - "HeaderParentalRatings": "Korhatár besorolás", + "HeaderParentalRatings": "Korhatárbesorolás", "HeaderPassword": "Jelszó", "HeaderPaths": "Útvonalak", "HeaderPinCodeReset": "PIN-kód visszaállítása", "HeaderPlayAll": "Összes lejátszása", - "HeaderPlayOn": "Vetítés itt", + "HeaderPlayOn": "Lejátszás itt", "HeaderPlayback": "Médialejátszás", - "HeaderPleaseSignIn": "Kérlek jelentkezz be", + "HeaderPleaseSignIn": "Jelentkezzen be", "HeaderPluginInstallation": "Bővítmény telepítése", "HeaderPreferredMetadataLanguage": "Előnyben részesített metaadatnyelv", "HeaderRecentlyPlayed": "Nemrég játszott", "HeaderRemoteControl": "Távirányítás", "HeaderRevisionHistory": "Módosítási előzmények", - "HeaderRunningTasks": "Futó folyamatok", + "HeaderRunningTasks": "Futó feladatok", "HeaderScenes": "Jelenetek", "HeaderSeasons": "Évadok", - "HeaderSelectMetadataPath": "Válaszd ki a metaadat útvonalat", + "HeaderSelectMetadataPath": "Metaadat útvonalának kiválasztása", "HeaderSendMessage": "Üzenet küldése", - "HeaderSetupLibrary": "Állítsd be a média könyvtáraidat", - "HeaderSortBy": "Megjelenítés", + "HeaderSetupLibrary": "Állítsa be a médiatárait", + "HeaderSortBy": "Rendezés", "HeaderSortOrder": "Sorrend", "HeaderStatus": "Állapot", - "HeaderSubtitleDownloads": "Felirat letöltések", + "HeaderSubtitleDownloads": "Feliratletöltések", "HeaderSystemDlnaProfiles": "Rendszer profilok", "HeaderTracks": "Sávok", - "HeaderUploadImage": "Kép feltöltés", + "HeaderUploadImage": "Kép feltöltése", "HeaderUser": "Felhasználó", "HeaderUsers": "Felhasználók", "HeaderVideoType": "Videó típusa", @@ -162,7 +162,7 @@ "Images": "Képek", "InstallingPackage": "{0} ({1} verzió) telepítése", "Label3DFormat": "3D formátum", - "LabelAlbumArtists": "Album előadók", + "LabelAlbumArtists": "Albumelőadók", "LabelArtists": "Előadók", "LabelAudioLanguagePreference": "Hang előnyben részesített nyelve", "LabelBirthYear": "Születési év", @@ -190,13 +190,13 @@ "LabelEpisodeNumber": "Epizód száma", "LabelEvent": "Esemény", "LabelEveryXMinutes": "Minden", - "LabelFinish": "Befejez", - "LabelForgotPasswordUsernameHelp": "Add meg a felhasználóneved, ha emlékszel rá.", - "LabelGroupMoviesIntoCollections": "Filmek csoportosítása gyűjteményekbe", - "LabelEncoderPreset": "Enkóder beállítások", + "LabelFinish": "Befejezés", + "LabelForgotPasswordUsernameHelp": "Adja meg a felhasználónevét, ha emlékszik rá.", + "LabelGroupMoviesIntoCollections": "Filmek gyűjteményekbe csoportosítása", + "LabelEncoderPreset": "Kódoló-előbeállítás", "LabelHardwareAccelerationType": "Hardveres gyorsítás", - "LabelHardwareAccelerationTypeHelp": "A hardveres gyorsítás további konfigurálást igényel.", - "LabelHomeScreenSectionValue": "{0}. kezdőképernyő blokk", + "LabelHardwareAccelerationTypeHelp": "A hardveres gyorsítás további beállításokat igényel.", + "LabelHomeScreenSectionValue": "{0}. kezdőképernyő-blokk", "LabelImageType": "Kép típusa", "LabelKodiMetadataDateFormat": "Megjelenési dátum formátuma", "LabelLanguage": "Nyelv", @@ -280,7 +280,7 @@ "MessageAlreadyInstalled": "Ez a verzió már telepítve van.", "MessageConfirmRestart": "Biztosan újra szeretnéd indítani a Jellyfint?", "MessageConfirmShutdown": "Biztosan le akarod állítani a Szervert?", - "MessageItemsAdded": "Elem hozzáadva.", + "MessageItemsAdded": "Elemek hozzáadva.", "MessageNoPluginsInstalled": "Nincs bővítmény telepítve.", "MessageNothingHere": "Nincs itt semmi.", "MessagePleaseEnsureInternetMetadata": "Kérlek ellenőrizd hogy az Internetes metaadat letöltés engedélyezve van.", @@ -293,16 +293,16 @@ "Mute": "Némít", "MySubtitles": "Feliratok", "Name": "Név", - "NewCollection": "Új Gyűjtemény", - "NewCollectionNameExample": "Például: Star Wars Gyűjtemény", + "NewCollection": "Új gyűjtemény", + "NewCollectionNameExample": "Például: Star Wars gyűjtemény", "NewEpisodes": "Új epizódok", "NewEpisodesOnly": "Csak új epizódok", "NoSubtitleSearchResultsFound": "Nincs találat.", "None": "Nincs", - "NumLocationsValue": "{0} könyvtár", + "NumLocationsValue": "{0} mappa", "OptionAdminUsers": "Adminisztrátorok", "OptionAllUsers": "Összes felhasználó", - "OptionAllowBrowsingLiveTv": "Élő TV hozzáférés engedélyezése", + "OptionAllowBrowsingLiveTv": "Élő TV-hozzáférés engedélyezése", "OptionAllowLinkSharing": "Közösségi médiamegosztás engedélyezése", "OptionAllowMediaPlayback": "Média lejátszás engedélyezése", "OptionAllowRemoteControlOthers": "Egyéb felhasználók távoli irányításának engedélyezése", @@ -440,59 +440,59 @@ "LabelDropImageHere": "Húzz ide egy képet, vagy kattints a böngészéshez.", "LabelDropShadow": "Árnyék", "LabelDynamicExternalId": "{0} Id", - "AccessRestrictedTryAgainLater": "A hozzáférés jelenleg korlátozott. Kérlek próbáld újra később.", + "AccessRestrictedTryAgainLater": "A hozzáférés jelenleg korlátozott. Próbálja újra később.", "Actor": "Színész", "AirDate": "Vetítés dátuma", - "Aired": "Megjelent", + "Aired": "Megjelenés", "Albums": "Albumok", - "AllChannels": "Minden csatorna", - "AllComplexFormats": "Minden összetett formátum (ASS, SSA, VobSub, PGS, SUB, IDX, ...)", + "AllChannels": "Összes csatorna", + "AllComplexFormats": "Összes összetett formátum (ASS, SSA, VobSub, PGS, SUB, IDX, …)", "AllowMediaConversion": "Média konvertálás engedélyezése", "AllowMediaConversionHelp": "Add meg vagy tiltsd le a média konvertálás funkcióhoz való hozzáférést.", - "AllowRemoteAccess": "Távoli kapcsolatok engedélyezése ehhez a szerverhez", + "AllowRemoteAccess": "Távoli kapcsolatok engedélyezése ehhez a kiszolgálóhoz", "AllowRemoteAccessHelp": "Ha nincs bekapcsolva, minden távoli kapcsolat blokkolva lesz.", - "AlwaysPlaySubtitles": "Mindig jelenjen meg", + "AlwaysPlaySubtitles": "Lejátszás mindig", "AnyLanguage": "Bármelyik nyelv", "Anytime": "Bármikor", "AroundTime": "Körülbelül {0}", "AsManyAsPossible": "Amennyi lehetséges", "AspectRatio": "Képarány", - "Auto": "Auto", + "Auto": "Automatikus", "Backdrop": "Háttér", - "Backdrops": "Háttér", + "Backdrops": "Hátterek", "Banner": "Banner", "BirthLocation": "Születési hely", "Box": "Doboz", "AlwaysPlaySubtitlesHelp": "A nyelvi beállításoknak megfelelő feliratok az audió nyelvétől függetlenül kerülnek betöltésre.", "Artists": "Előadók", "Blacklist": "Feketelista", - "BookLibraryHelp": "Lehetőség van audió és hangoskönyvek visszajátszására. Nézd meg a {0} könyvelnevezési útmutatót {1}.", + "BookLibraryHelp": "A hangos és szöveges könyvek támogatottak. Nézze meg a {0} könyvelnevezési útmutatót {1}.", "MessageBrowsePluginCatalog": "Böngéssz a Bővítmény katalógusunkban a rendelkezésre álló bővítmények megtekintéséhez.", - "AllowedRemoteAddressesHelp": "Vesszővel válaszd el az IP-címek vagy IP / netmask címek listáját annak a hálózatnak amelyből távolról csatlakozhatnak. Ha üresen marad, az összes távoli cím megengedett.", + "AllowedRemoteAddressesHelp": "Azon IP-címek vagy IP/netmask bejegyzések vesszővel elválasztott listája, melyekből távolról csatlakozhatnak. Ha üresen marad, az összes távoli cím megengedett.", "BoxRear": "Doboz (hátulja)", "ButtonArrowLeft": "Bal", "ButtonArrowRight": "Jobb", "ButtonBack": "Vissza", "ButtonEditOtherUserPreferences": "A felhasználó profiljának, képének és személyes beállításainak szerkesztése.", "ButtonFullscreen": "Teljes képernyő", - "ButtonInfo": "Info", + "ButtonInfo": "Információ", "ButtonNetwork": "Hálózat", "ButtonOk": "Ok", "ButtonRevoke": "Visszavonás", - "ButtonSelectView": "Válassz nézetet", + "ButtonSelectView": "Válasszon nézetet", "ButtonStart": "Indítás", - "CancelRecording": "Felvétel törlése", - "CancelSeries": "Sorozat visszavonása", + "CancelRecording": "Felvétel megszakítása", + "CancelSeries": "Sorozat megszakítása", "Categories": "Kategóriák", - "ChangingMetadataImageSettingsNewContent": "A metaadatok vagy az artwork fileok letöltési beállításainak módosítása csak a könyvtárhoz hozzáadott új tartalomra vonatkozik. A meglévő címek módosításainak alkalmazásához manuálisan kell frissíteni a metaadatokat.", - "ChannelAccessHelp": "Válaszd ki a megosztani kívánt csatornákat a felhasználóval. A rendszergazdák a metaadatkezelő segítségével szerkeszthetik az összes csatornát.", + "ChangingMetadataImageSettingsNewContent": "A metaadatok vagy az illusztrációs fájlok letöltési beállításainak módosítása csak a médiatárhoz hozzáadott új tartalomra vonatkozik. A meglévő címek módosításainak alkalmazásához kézileg kell frissíteni a metaadatokat.", + "ChannelAccessHelp": "Válassza ki a felhasználóval megosztandó csatornákat. A rendszergazdák a metaadat-kezelő segítségével szerkeszthetik az összes csatornát.", "ChannelNameOnly": "Csak a(z) {0}. csatorna", "ChannelNumber": "Csatorna száma", "CinemaModeConfigurationHelp": "A Mozi mód igazi mozi élményt nyújt előzetessel és egyedi intróval a film vetítése előtt.", "ColorSpace": "Színtér", "ColorTransfer": "Színátvitel", "Composer": "Zeneszerző", - "ConfigureDateAdded": "Állítsa be, hogy a „Hozzáadás Dátuma” metaadatok hogyan legyenek meghatározva az Irányítópult > Könyvtárak > NFO-beállítások menüpontban", + "ConfigureDateAdded": "Állítsa be az Irányítópult > Médiatárak > Megjelenítés menüpontban, hogy a „Hozzáadás dátuma” metaadat hogyan legyen meghatározva.", "ConfirmDeleteImage": "Kép törlése?", "ConfirmDeleteItem": "Az elem törlésével az törlődni fog a fájlrendszerből és a médiakönyvtárból is. Biztosan folytatni akarod?", "ConfirmDeleteItems": "Az elemek törlésével azok törlődni fognak a fájlrendszerből és a médiakönyvtárból is. Biztosan folytatni akarod?", @@ -506,11 +506,11 @@ "Default": "Alapértelmezett", "ErrorDefault": "Hiba történt a kérés feldolgozása során. Kérlek próbáld újra később.", "DefaultMetadataLangaugeDescription": "Ezek az alapértelmezettek, és könyvtáranként testre szabhatók.", - "DeleteDeviceConfirmation": "Biztosan törölni szeretnéd ezt az eszközt? Legközelebb akkor jelenik meg, amikor a felhasználó bejelentkezik róla.", + "DeleteDeviceConfirmation": "Biztos, hogy törli ezt az eszközt? Legközelebb akkor jelenik meg, amikor egy felhasználó bejelentkezik róla.", "DeleteImage": "Kép törlése", - "DeleteImageConfirmation": "Biztosan törölni szeretnéd ezt a képet?", + "DeleteImageConfirmation": "Biztos, hogy törli ezt a képet?", "DeleteUser": "Felhasználó törlése", - "DeleteUserConfirmation": "Biztosan törölni szeretnéd ezt a felhasználót?", + "DeleteUserConfirmation": "Biztos, hogy törli ezt a felhasználót?", "DetectingDevices": "Eszközök észlelése", "DirectPlaying": "Közvetlen lejátszás", "DirectStreamHelp1": "A videofolyamat kompatibilis a lejátszóval, de inkompatibilis audio formátumú (DTS, Dolby TrueHD stb.) Vagy nem kompatibilis számú audiocsatorna. A videofolyamat működés közben veszteség nélkül újracsomagolódik, mielőtt a készülékre küldené. Csak a hangfolyamot kódoljuk át.", @@ -519,30 +519,30 @@ "Disc": "Lemez", "Disconnect": "Bontás", "DisplayInMyMedia": "Megjelenítés a kezdőképernyőn", - "DisplayInOtherHomeScreenSections": "Megjelenítés a kezdőképernyőn, mint például a 'Nemrég hozzáadott', és a 'Korábban megtekintett'", - "DisplayModeHelp": "Válaszd ki a használni kívánt elrendezést.", + "DisplayInOtherHomeScreenSections": "Megjelenítés a kezdőképernyő szakaszaiban, mint a „Nemrég hozzáadott” és a „Korábban megtekintett”", + "DisplayModeHelp": "Válassza ki a felülethez használandó elrendezést.", "DoNotRecord": "Ne rögzítsen", "DownloadsValue": "{0} letöltés", - "DrmChannelsNotImported": "A csatornák DRM-el nem kerülnek importálásra.", - "DropShadow": "Árnyék", + "DrmChannelsNotImported": "A DRM-mel rendelkező csatornák nem lesznek importálva.", + "DropShadow": "Vetett árnyék", "EasyPasswordHelp": "Az egyszerű PIN kódot az offline hozzáféréshez használják a támogatott kliens alkalmazásokban, valamint hálózaton belüli bejelentkezéshez is használható.", "EnableCinemaMode": "Mozi mód", "EnableColorCodedBackgrounds": "Színkódolt háttérképek", "EnableDisplayMirroring": "Kijelzőtükrözés", - "EnableExternalVideoPlayers": "Külső videolejátszók", + "EnableExternalVideoPlayers": "Külső videólejátszók", "EnableExternalVideoPlayersHelp": "A külső lejátszó menü a videó indításakor jelenik meg.", "EnableNextVideoInfoOverlay": "A következő videó adatainak megjelenítése lejátszás közben", "EnableNextVideoInfoOverlayHelp": "A videó végén megjeleníti az aktuális lejátszási listában lévő következő videó adatait.", - "EnablePhotos": "Fotók megjelenítése", + "EnablePhotos": "Fényképek megjelenítése", "EnablePhotosHelp": "A fényképeket a médiafájlok mellett észleli és megjeleníti.", - "Ended": "Befejeződött", + "Ended": "Befejezve", "ErrorAddingMediaPathToVirtualFolder": "Hiba történt a média elérésekor. Kérlek győződj meg róla, hogy az elérési út érvényes és a szerver hozzáfér a megadott helyhez.", "ErrorAddingTunerDevice": "Hiba történt a tuner eszköz hozzáadásakor. Kérlek győződj meg róla, hogy az eszköz elérhető és próbáld meg újra.", "ErrorAddingXmlTvFile": "Hiba történt az XMLTV fájl elérésekor. Győződj meg róla, hogy a fájl létezik és próbáld meg újra.", "ErrorDeletingItem": "Hiba történt az elem szerverről való törlése során. Ellenőrizd, hogy a szerver rendelkezik-e írási jogosultsággal a média mappához és próbálja újra.", "ErrorStartHourGreaterThanEnd": "A befejezési időnek nagyobbnak kell lennie mint a kezdési idő.", "ErrorSavingTvProvider": "Hiba történt a TV szolgáltató mentésekor. Kérlek győződj meg róla, hogy elérhető és próbálkozz meg újra.", - "EveryNDays": "Minden {0} nap", + "EveryNDays": "Minden {0}. nap", "ExtraLarge": "Extra NAGY", "ExtractChapterImagesHelp": "A fejezetképek kivonása lehetővé teszi, hogy az alkalmazások grafikus jelenetválasztási menüket jelenítsenek meg. A folyamat lehet lassú, erőforrás igényes, és több gigabájt területet igényelhet. A kivonás akkor történik, amikor új videók kerülnek a Médiatárba, valamint egy éjszakai ütemezett feladatként. Az ütemezés konfigurálható az Ütemezett Feladatok menüpontban. Nem ajánlott ezt a feladatot a csúcshasználati órákban futtatni.", "Extras": "Extrák", @@ -564,21 +564,21 @@ "HeaderAdditionalParts": "További részek", "HeaderAdmin": "Felügyelet", "HeaderAlbumArtists": "Albumelőadók", - "HeaderAlert": "Figyelem", + "HeaderAlert": "Riasztás", "HeaderAllowMediaDeletionFrom": "Médiatörlés engedélyezése innen", - "HeaderApiKey": "API kulcs", - "HeaderApiKeys": "API kulcsok", + "HeaderApiKey": "API-kulcs", + "HeaderApiKeys": "API-kulcsok", "HeaderAppearsOn": "Megjelenik", - "HeaderCancelRecording": "Felvétel törlése", - "HeaderCancelSeries": "Sorozat törlése", - "HeaderChannelAccess": "Csatorna hozzáférés", - "HeaderChapterImages": "Fejezet képek", + "HeaderCancelRecording": "Rögzítés megszakítása", + "HeaderCancelSeries": "Sorozat megszakítása", + "HeaderChannelAccess": "Csatorna-hozzáférés", + "HeaderChapterImages": "Fejezetképek", "HeaderCodecProfile": "Kodekprofil", "HeaderCodecProfileHelp": "A kodekprofilok jelzik a készülék korlátait az adott kodekkel történő lejátszáskor. Ha egy korlátozás érvényes, akkor a média átkódolásra kerül, még akkor is ha a kodek közvetlen lejátszásra van állítva.", "HeaderConfigureRemoteAccess": "Távoli hozzáférés beállítása", "HeaderConfirmPluginInstallation": "Bővítmény telepítésének megerősítése", "HeaderConfirmProfileDeletion": "Profil törlésének megerősítése", - "HeaderConfirmRevokeApiKey": "API kulcs visszavonása", + "HeaderConfirmRevokeApiKey": "API-kulcs visszavonása", "HeaderConnectionFailure": "Kapcsolathiba", "HeaderContainerProfile": "Konténerprofil", "HeaderContainerProfileHelp": "A konténerprofilok meghatározzák az eszköz korlátozásait bizonyos formátumok lejátszásakor. Ha egy korlátozás érvényes akkor a média átkódolásra kerül még akkor is, ha a formátum közvetlen lejátszásra van konfigurálva.", @@ -592,9 +592,9 @@ "HeaderDirectPlayProfileHelp": "Közvetlen lejátszási profilok hozzáadása során megadható, hogy a készülék milyen formátumot képes kezelni a natív módon.", "HeaderEnabledFieldsHelp": "Távolítsd el a mezőt a zároláshoz és az adatok megváltoztatásának megakadályozásához.", "HeaderError": "Hiba", - "HeaderFeatureAccess": "Funkció hozzáférés", + "HeaderFeatureAccess": "Funkció-hozzáférés", "HeaderFetchImages": "Képek letöltése", - "HeaderFetcherSettings": "Letöltő beállítások", + "HeaderFetcherSettings": "Letöltőbeállítások", "HeaderForKids": "Gyerekeknek", "HeaderHttpHeaders": "HTTP fejlécek", "HeaderIdentification": "Azonosítás", @@ -603,7 +603,7 @@ "HeaderImageOptions": "Képbeállítások", "HeaderInstantMix": "Azonnali keverés", "HeaderKeepRecording": "Felvétel készítése", - "HeaderKodiMetadataHelp": "Az NFO-metaadatok engedélyezéséhez vagy letiltásához szerkesszen egy könyvtárat, és keresse meg a „Metaadat-mentők” részt.", + "HeaderKodiMetadataHelp": "Az NFO-metaadatok engedélyezéséhez vagy letiltásához szerkesszen egy médiatárat, és keresse meg a „Metaadat-mentők” szakaszt.", "HeaderLatestMusic": "Nemrég hozzáadott zenék", "HeaderLatestRecordings": "Nemrég hozzáadott felvételek", "HeaderLoginFailure": "Bejelentkezési hiba", @@ -621,18 +621,18 @@ "HeaderRecordingOptions": "Felvételi beállítások", "HeaderRecordingPostProcessing": "Felvétel utáni feldolgozás", "HeaderRemoveMediaFolder": "Médiamappa eltávolítása", - "HeaderRemoveMediaLocation": "Média eltávolítása", + "HeaderRemoveMediaLocation": "Médiahely eltávolítása", "HeaderResponseProfile": "Válaszprofil", "HeaderResponseProfileHelp": "A válaszprofilok lehetővé teszik az eszközre küldött információk testreszabását bizonyos médiák lejátszásakor.", "HeaderSecondsValue": "{0} másodperc", - "HeaderSelectCertificatePath": "Válaszd ki a Tanúsítvány útvonalát", - "HeaderSelectMetadataPathHelp": "Böngészd ki vagy írd be azt a elérési utat, amelyben a metaadatokat tárolni akarod. A mappának írhatónak kell lennie.", - "HeaderSelectPath": "Válassz útvonalat", - "HeaderSelectServerCachePath": "Válaszd ki a szerver gyorsítótár útvonalát", - "HeaderSelectServerCachePathHelp": "Tallózd ki vagy írd be a szerver gyorsítótár fájljainak elérési útját. A mappának írhatónak kell lennie.", - "HeaderSelectTranscodingPath": "Válaszd ki az Átkódolás ideiglenes útvonalát", - "HeaderSelectTranscodingPathHelp": "Tallózd ki vagy add meg a fájlok átkódolásához használt útvonalat. A mappának írhatónak kell lennie.", - "HeaderSeriesOptions": "Sorozatok beállításai", + "HeaderSelectCertificatePath": "Tanúsítvány útvonalának kiválasztása", + "HeaderSelectMetadataPathHelp": "Tallózza vagy írja be a metaadatokhoz használandó útvonalat. A mappának írhatónak kell lennie.", + "HeaderSelectPath": "Válasszon útvonalat", + "HeaderSelectServerCachePath": "Kiszolgáló gyorsítótár-útvonalának kiválasztása", + "HeaderSelectServerCachePathHelp": "Tallózza vagy írja be a kiszolgáló gyorsítótárfájljaihoz használandó útvonalat. A mappának írhatónak kell lennie.", + "HeaderSelectTranscodingPath": "Átkódolás ideiglenes útvonalának kiválasztása", + "HeaderSelectTranscodingPathHelp": "Tallózza vagy írja be az átkódolási fájlokhoz használandó útvonalat. A mappának írhatónak kell lennie.", + "HeaderSeriesOptions": "Sorozat beállításai", "LabelTag": "Címke", "MediaInfoCodecTag": "Kódek címke", "Photos": "Fényképek", @@ -642,8 +642,8 @@ "ValueSpecialEpisodeName": "Különkiadás – {0}", "EnableThemeVideosHelp": "Témavideókat játszhat a háttérben a könyvtár böngészése közben.", "HeaderBlockItemsWithNoRating": "Blokkolja azokat az elemeket amelyek tiltott, vagy nem felismerhető minősítésűek", - "HeaderSeriesStatus": "Sorozat állapot", - "HeaderSpecialEpisodeInfo": "Speciális epizód információ", + "HeaderSeriesStatus": "Sorozat állapota", + "HeaderSpecialEpisodeInfo": "Speciális epizódinformációk", "HeaderStartNow": "Indítás most", "HeaderStopRecording": "Felvétel leállítása", "HeaderSubtitleAppearance": "Felirat kinézete", @@ -657,9 +657,9 @@ "HeaderTunerDevices": "Tuner eszközök", "HeaderTuners": "Tunerek", "HeaderTypeImageFetchers": "Képgyűjtők ({0})", - "HeaderTypeText": "Írd be a szöveget", + "HeaderTypeText": "Írja be a szöveget", "HeaderVideoQuality": "Videóminőség", - "HeaderVideoTypes": "Videó típusok", + "HeaderVideoTypes": "Videótípusok", "HeaderXmlDocumentAttribute": "XML dokumentum attribútum", "HeaderXmlDocumentAttributes": "XML dokumentum attribútumok", "HeaderXmlSettings": "XML beállítások", @@ -670,7 +670,7 @@ "ItemCount": "{0} elem", "Items": "Elemek", "Kids": "Gyerekek", - "LabelAbortedByServerShutdown": "(A szerver leállítása megszakította)", + "LabelAbortedByServerShutdown": "(A kiszolgáló leállítása megszakította)", "LabelAccessDay": "A hét napja", "LabelAccessEnd": "Befejezés ideje", "LabelAccessStart": "Kezdés ideje", @@ -681,10 +681,10 @@ "LabelAirsBeforeSeason": "Vetítések az évad előtt", "LabelAlbum": "Album", "LabelAllowHWTranscoding": "Hardveres átkódolás engedélyezése", - "LabelAllowedRemoteAddresses": "Távoli IP cím szűrő", - "LabelAllowedRemoteAddressesMode": "Távoli IP cím szűrő mód", + "LabelAllowedRemoteAddresses": "Távoli IP-cím szűrő", + "LabelAllowedRemoteAddressesMode": "Távoli IP-cím szűrő módja", "LabelAppName": "Alkalmazás neve", - "LabelAppNameExample": "Ember számára olvasható név az API -kulcsok azonosításához. Ez a beállítás nincs hatással a működésre.", + "LabelAppNameExample": "Ember számára olvasható név az API-kulcsok azonosításához. Ez a beállítás nincs hatással a működésre.", "LabelAutomaticallyRefreshInternetMetadataEvery": "A metaadatok automatikus frissítése az internetről", "LabelBindToLocalNetworkAddress": "Kötés a helyi hálózati címhez", "LabelBindToLocalNetworkAddressHelp": "A helyi IP cím felülbírálása a HTTP szerverhez való csatlakozáshoz. Ha üres marad, a szerver minden elérhető címhez kötődik. Az érték megváltoztatásához a szerver újraindítása szükséges.", @@ -711,7 +711,7 @@ "LabelDisplayLanguage": "Megjelenítési nyelv", "LabelDisplayLanguageHelp": "A Jellyfin fordítása egy folyamatos projekt.", "LabelDisplayMode": "Megjelenítési mód", - "LabelArtistsHelp": "Ha több előadót adsz meg, pontosvesszővel válaszd el őket.", + "LabelArtistsHelp": "Az előadókat pontosvesszővel válassza el.", "LabelEnableAutomaticPortMapHelp": "A szerver az UPnP segítségével a routeren megpróbálja automatikusan átirányítani a nyilvános portot a helyi portra. Előfordulhat, hogy egyes router modellek, vagy hálózati konfigurációk esetén ez nem működik. A módosítások újraindítás után lépnek életbe.", "LabelEnableBlastAliveMessagesHelp": "Engedélyezd ezt ha a szerver nem észleli megbízhatóan a hálózat más UPnP-eszközeit.", "LabelEnableDlnaClientDiscoveryInterval": "Kliens felderítési intervallum", @@ -725,11 +725,11 @@ "LabelEnableSingleImageInDidlLimit": "Korlátozás egyetlen beágyazott képre", "LabelEnableSingleImageInDidlLimitHelp": "Néhány eszköz nem jeleníti meg megfelelően, ha több kép van beágyazva a DIDL-be.", "LabelEndDate": "Befejezés dátuma", - "LabelExtractChaptersDuringLibraryScan": "Fejezet képek készítése a könyvtár beolvasása során", - "LabelExtractChaptersDuringLibraryScanHelp": "A fejezetképek elkészítése a könyvtár beolvasása során történik meg. Ellenkező esetben az elkészítés az Ütemezett feladatokban meghatározott időben készül el, ami lehetővé teszi a könyvtárbeolvasás gyorsítását.", + "LabelExtractChaptersDuringLibraryScan": "Fejezetképek készítése a médiatár beolvasása során", + "LabelExtractChaptersDuringLibraryScanHelp": "A fejezetképek létrehozása a médiatár beolvasása során. Ellenkező esetben az ütemezett feladatokban meghatározott időben kerül kinyerésre, ami lehetővé teszi a médiatár gyorsabb beolvasását.", "LabelFailed": "Sikertelen", - "LabelFileOrUrl": "Fájl vagy URL", - "LabelFont": "Betűtípus", + "LabelFileOrUrl": "Fájl vagy webcím", + "LabelFont": "Betűkészlet", "LabelFormat": "Formátum", "LabelFriendlyName": "Könnyen megjegyezhető név", "LabelServerNameHelp": "Ez a név kerül a Szerver azonosítására és alapértelmezetten a hoszt neve kerül felhasználásra.", @@ -738,11 +738,11 @@ "LabelHomeNetworkQuality": "Otthoni hálózat minősége", "LabelHttpsPort": "Helyi HTTPS port száma", "LabelImageFetchersHelp": "Engedélyezd és rangsorold az előnyben részesített képletöltőket prioritásuk sorrendjében.", - "LabelImportOnlyFavoriteChannels": "Csak a kedvencként megjelölt csatornákra korlátozza", + "LabelImportOnlyFavoriteChannels": "Csak a kedvencként megjelölt csatornákra korlátozás", "LabelInNetworkSignInWithEasyPassword": "Engedélyezze a hálózaton belüli bejelentkezést az egyszerű PIN kóddal", "LabelInNetworkSignInWithEasyPasswordHelp": "Az egyszerű PIN kódod segítségével beléphetsz az alkalmazásokból az otthoni hálózaton belül. A szokásos jelszót csak akkor kell használni, ha az otthoni hálózaton kívül vagy. Ha a PIN kód üres, akkor nem lesz szükség jelszóra az otthoni hálózaton belül.", "LabelInternetQuality": "Internet minősége", - "LabelKidsCategories": "Gyermek kategóriák", + "LabelKidsCategories": "Gyermek kategóriái", "LabelKodiMetadataDateFormatHelp": "Az NFO-n belüli összes dátum ezzel a formátummal lesz kezelve.", "LabelKodiMetadataEnableExtraThumbs": "Másolja az extrafanartot extrathumbs mezőbe", "LabelKodiMetadataEnableExtraThumbsHelp": "A képek letöltésekor mind az extrafanart, mind az extrathumbs-ba menthetőek a maximális Kodi skin kompatibilitáshoz.", @@ -836,7 +836,7 @@ "LabelValue": "Érték", "LabelZipCode": "Irányítószám", "LabelffmpegPath": "FFmpeg útvonal", - "LabelffmpegPathHelp": "Az FFmpeg alkalmazásfájl elérési útja vagy az őt tartalmazó mappa.", + "LabelffmpegPathHelp": "Az FFmpeg alkalmazásfájl elérési útja, vagy az azt tartalmazó mappa.", "Large": "Nagy", "LearnHowYouCanContribute": "Ismerd meg, hogyan járulhatsz hozzá.", "LeaveBlankToNotSetAPassword": "Ha nem szeretnél jelszót beállítani, hagyd ezt a mezőt üresen.", @@ -909,7 +909,7 @@ "MoveRight": "Mozgás jobbra", "MovieLibraryHelp": "Tekintsd át a {0} film elnevezési útmutatót {1}.", "Never": "Soha", - "NewCollectionHelp": "A gyűjtemények lehetővé teszik, hogy személyre szabott csoportokat hozz létre filmekből és más könyvtártartalomból.", + "NewCollectionHelp": "A gyűjtemények lehetővé teszik, hogy személyre szabott csoportokat hozzon létre filmekből és más könyvtártartalomból.", "News": "Hírek", "Next": "Következő", "NextUp": "Következik", @@ -922,7 +922,7 @@ "OneChannel": "Egy csatorna", "OnlyImageFormats": "Csak képformátumok (VoBSuB, PGS, SUB)", "Option3D": "3D", - "OptionAllowAudioPlaybackTranscoding": "Engedélyezze az átkódolást igénylő audió lejátszást", + "OptionAllowAudioPlaybackTranscoding": "Átkódolást igénylő hanglejátszás engedélyezése", "OptionAllowContentDownloading": "Média letöltésének és szinkronizálásának engedélyezése", "OptionAllowLinkSharingHelp": "Csak a médiaadatokat tartalmazó weboldalak oszthatók meg. A médiafájlok soha nem oszthatók meg nyilvánosan. A megosztás időlimithez van kötve, és lejár {0} nap elteltével.", "OptionAllowManageLiveTv": "Élő TV felvételkezelés engedélyezése", @@ -951,7 +951,7 @@ "ValueSeconds": "{0} másodperc", "AddToPlayQueue": "Hozzáadás lejátszási sorhoz", "AllowHWTranscodingHelp": "Lehetővé teszi a tuner számára, hogy át tudja kódolni a streameket valós időben. Ez segíthet csökkenteni a Szerver által igényelt átkódolást.", - "AllowOnTheFlySubtitleExtraction": "Felirat kinyerésének engedélyezése valós időben", + "AllowOnTheFlySubtitleExtraction": "Felirat menet közbeni kinyerésének engedélyezése", "MessageNoTrailersFound": "Telepítsd a Trailer csatornát, hogy javítsd a filmélményt az internetes előzetesek könyvtárának hozzáadásával.", "OptionEnableM2tsMode": "M2TS mód engedélyezése", "OptionEnableM2tsModeHelp": "Engedélyezze az M2TS módot amikor MPEG-TS kódolás történik.", @@ -1103,11 +1103,11 @@ "OptionLoginAttemptsBeforeLockout": "Meghatározza, hogy hány érvénytelen bejelentkezési kísérlet történhet zárolás előtt.", "TabNetworking": "Hálózat", "SmallCaps": "Kiskapitális", - "AllowOnTheFlySubtitleExtractionHelp": "A beágyazott feliratokat ki lehet nyerni a videókból és elküldeni az alkalmazásoknak sima szöveg formátumba, hogy ne legyen átkódolás. Néhány eszközön ez hosszú ideig is eltarthat, valamint a videó lejátszás megakadhat az eltávolítási folyamat futása közben. Ezt kikapcsolva a beágyazott feliratok videó átkódolással beégetésre kerülnek azon kliens eszközökre melyek nem támogatják a külső feliratokat.", + "AllowOnTheFlySubtitleExtractionHelp": "A beágyazott feliratokat ki lehet nyerni a videókból, és egyszerű szöveges formátumban elküldhetők az alkalmazásoknak, elkerülve a videó átkódolását. Néhány eszközön ez hosszú ideig is eltarthat, valamint a videólejátszás is megakadhat a kinyerési folyamat során. Ezt kikapcsolva a beágyazott feliratok a videó átkódolásával kerülnek beégetésre a külső feliratokat nem támogató klienseszközök esetén.", "Art": "ClearArt", - "AuthProviderHelp": "Válaszd ki az azonosítási szolgáltatást amely ezen felhasználó jelszavának ellenőrzését valósítja meg.", - "BurnSubtitlesHelp": "Meghatározza, hogy a szervernek be kell-e égetnie a feliratot a felirat típusának függvényében. Ennek elkerülésével a szerver teljesítménye javul. Válaszd az Auto lehetőséget a kép alapú feliratok (pl. VobSuB, PGS, SUB/IDX, stb.) és bizonyos ASS/SSA feliratok beégetéséhez.", - "ButtonAddScheduledTaskTrigger": "Vezérlő hozzáadása", + "AuthProviderHelp": "Válassza ki a felhasználó jelszava ellenőrzésére használt hitelesítésszolgáltatót.", + "BurnSubtitlesHelp": "Meghatározza, hogy a kiszolgálónak be kell-e égetnie a feliratot. Ennek elkerülésével javul a kiszolgáló teljesítménye. Válassza az Automatikus lehetőséget a kép alapú formátumok (például VobSuB, PGS, SUB/IDX, stb.) és bizonyos ASS/SSA feliratok beégetéséhez.", + "ButtonAddScheduledTaskTrigger": "Aktiváló hozzáadása", "ButtonRefreshGuideData": "Műsorújság frissítése", "ColorPrimaries": "Alapszínek", "DefaultSubtitlesHelp": "A feliratok a beágyazott metaadatok alapértelmezett és forced jelölői által meghatározottak alapján kerülnek betöltésre. A nyelvi beállítások akkor kerülnek figyelembe vételre, ha több lehetőség is rendelkezésre áll.", @@ -1116,10 +1116,10 @@ "Guide": "Műsorújság", "H264CrfHelp": "A 'Constant Rate Factor' (CRF) az alapértelmezett minőségi beállítás az x264 és x265 enkóderekhez. Az értékek 0 és 51 között állíthatók, ahol az alacsonyabb érték jobb minőséget eredményez (nagyobb fájl méret mellett). Az ajánlott érték 18 és 28 között van. Az x264 alapértelmezett beállítása 23, x265-é 28, ez lehet kiindulási alap. A hardveresen gyorsított enkóderek nem használják ezt a beállítást.", "HeaderApiKeysHelp": "A külső alkalmazásoknak egy API kulcsra van szüksége, hogy kommunikáljanak a szerverrel. A kulcsokat egy fiókkal történő belépéssel lehet megkapni, vagy kézileg felvenni egy alkalmazáshoz tartozó kulcsot.", - "HeaderBranding": "Személyes arculat", - "HeaderContinueListening": "Folyamatban lévő zenék", - "HeaderDeleteTaskTrigger": "Feladatvezérlő törlése", - "HeaderGuideProviders": "TV műsorújság szolgáltatók", + "HeaderBranding": "Arculat", + "HeaderContinueListening": "Hallgatás folytatása", + "HeaderDeleteTaskTrigger": "Feladataktiváló törlése", + "HeaderGuideProviders": "TV műsorújság-szolgáltatók", "HeaderUpcomingOnTV": "Következő TV műsorok", "ImportFavoriteChannelsHelp": "Csak a tuner eszközön kedvencként megjelölt csatornák kerülnek importálásra.", "LabelAlbumArtHelp": "A használandó PN érték az albumborítók esetében, mely a 'upnp:albumArtURI' 'dlna:profileID' tulajdonságában szerepel. Néhány eszköz meghatározott értéket vár el, függetlenül a kép méretétől.", @@ -1136,11 +1136,11 @@ "LabelEmbedAlbumArtDidl": "Albumborító beágyazása a DIDL-be", "LabelEmbedAlbumArtDidlHelp": "Néhány eszköz ezt a megoldást részesíti előnyben az albumborítók esetében. Mások esetlegesen lejátszási hibát jeleznek, ha ez az opció engedélyezve van.", "LabelEnableBlastAliveMessages": "Blast alive üzenetek", - "LabelHttpsPortHelp": "A TCP port száma, melyen a HTTPS szerver figyel.", + "LabelHttpsPortHelp": "A HTTPS kiszolgáló TCP portjának száma.", "LabelIconMaxHeight": "Ikon maximális magasság", "LabelIconMaxWidth": "Ikon maximális szélesség", "LabelIdentificationFieldHelp": "Kis-és nagybetű különbséget figyelmen kívül hagyó szöveg vagy reguláris kifejezés.", - "LabelKeepUpTo": "Őrizd meg", + "LabelKeepUpTo": "Megőrzés", "LabelKodiMetadataUser": "Mentsd el a következő felhasználó megtekintési adatát az NFO-ba", "LabelKodiMetadataUserHelp": "Mentse az időadatokat NFO-fájlokba, hogy más alkalmazások is használhatják.", "LabelLocalHttpServerPortNumberHelp": "A TCP port száma, melyen a HTTP szerver figyel.", @@ -1153,8 +1153,8 @@ "LabelAudioChannels": "Hangcsatornák", "LabelAudioBitrate": "Hang bitsebessége", "LabelAudioBitDepth": "Hang bitmélysége", - "CopyStreamURLSuccess": "URL másolása sikeres.", - "CopyStreamURL": "Stream URL másolása", + "CopyStreamURLSuccess": "A webcím másolása sikeres.", + "CopyStreamURL": "Közvetítés webcímének másolása", "PlaybackData": "Lejátszási információk", "ButtonAddImage": "Kép hozzáadása", "LabelPasswordResetProvider": "Jelszó Visszaállítási Szolgáltató", @@ -1210,7 +1210,7 @@ "HeaderKeepSeries": "Sorozat megtartása", "ErrorGettingTvLineups": "Hiba történt a TV kínálat letöltése során. Kérjük ellenőrizd a megadott információkat és próbáld újra.", "LabelTranscodes": "Átkódolások", - "AskAdminToCreateLibrary": "Kérj meg egy adminisztrátort könyvtár létrehozására.", + "AskAdminToCreateLibrary": "Kérjen meg egy adminisztrátort, hogy hozza létre a médiatárat.", "LabelXDlnaDoc": "Eszközosztály-azonosító", "LabelXDlnaCap": "Eszköztulajdon-azonosító", "MapChannels": "Csatornák feltérképezése", @@ -1242,7 +1242,7 @@ "ErrorAddingListingsToSchedulesDirect": "Hiba történt a felhozatal hozzáadása közben a Schedules Direct fiókhoz. A Schedules Direct csak korlátozott számú fiók hozzáadását támogatja. Lehetséges, hogy be kell jelentkezned a Schedules Direct weboldalán és eltávolítani néhány más listát a fiókodról mielőtt továbblépsz.", "DeviceAccessHelp": "Ez csak azokra az eszközökre alkalmazható, amelyek egyedileg vannak azonosítva és nem gátolják meg a böngészőből való elérést. A felhasználói eszközök kiszűrése meg fogja akadályozni az új eszközök használatát addig, amíg itt nem engedélyezed őket.", "PlaybackErrorNoCompatibleStream": "Ez a kliens nem kompatibilis ezzel a médiával és a szerver nem tud kompatibilis streamet küldeni az eszközre.", - "AllowFfmpegThrottlingHelp": "Ha az átkódolás vagy remux eléggé előtöltődött a jelenlegi lejátszási pozícióhoz képest, ez megállítja a folyamatot, hogy kevesebb erőforrást vegyen igénybe. Ez akkor hasznos, ha ritkán ugrálsz előre a lejátszott videókban. Kapcsold ki, ha lejátszási problémákba ütközöl.", + "AllowFfmpegThrottlingHelp": "Ha az átkódolás vagy remux eléggé előtöltődött a jelenlegi lejátszási pozícióhoz képest, ez megállítja a folyamatot, hogy kevesebb erőforrást vegyen igénybe. Ez akkor hasznos, ha ritkán ugrik előre a lejátszott videókban. Kapcsolja ki, ha lejátszási problémákba ütközik.", "AllowFfmpegThrottling": "Átkódolás visszafogása", "PreferEmbeddedEpisodeInfosOverFileNames": "Az epizódból elérhető beágyazott információkat használja inkább, fájlnevek helyett", "PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Ha elérhető, használja a beágyazott metaadatokból származó epizódinformációkat.", @@ -1263,20 +1263,20 @@ "Movie": "Film", "Episode": "Epizód", "ClientSettings": "Kliensbeállítások", - "BoxSet": "Dobozos kiadások", + "BoxSet": "Dobozos kiadás", "Artist": "Előadó", - "AlbumArtist": "Album előadó", + "AlbumArtist": "Albumelőadó", "Album": "Album", "LabelLibraryPageSizeHelp": "Az oldalnként megmutatott elemek száma. Nullára állítva a lapozási funkció ki lesz kapcsolva.", "LabelLibraryPageSize": "Könyvtár oldalméret", "LabelDeinterlaceMethod": "Váltottsorosság-mentesítő mód", - "DeinterlaceMethodHelp": "Válaszd ki a szétválasztási módot, amelyet a váltott soros tartalom szoftveres átkódolásához használ. Ha engedélyezed a hardveres deinterlace-t támogató hardveres gyorsítást, akkor a hardveres deinterlacer lesz használva e beállítás helyett.", + "DeinterlaceMethodHelp": "Válassza ki a a váltottsoros tartalom szoftveres átkódolásához használt váltottsorosság-mentesítési módot. Ha engedélyezi a hardveres váltottsorosság-mentesítést támogató hardveres gyorsítást, akkor az lesz használva ezen beállítás helyett.", "UnsupportedPlayback": "A Jellyfin nem tudja feloldani a DRM-mel védett tartalmak titkosítását, de ettől függetlenül mindig megpróbálja a lejátszást, a védett címek esetén is. Néhány fájl emiatt teljesen feketeként jelenhet meg a titkosítás vagy a nem támogatott funkciók miatt, például az interaktív címeknél.", "Yadif": "YADIF", - "ButtonTogglePlaylist": "Lejátszási listák", + "ButtonTogglePlaylist": "Lejátszási lista", "Filter": "Szűrés", "New": "Új", - "ApiKeysCaption": "A jelenleg engedélyezett API kulcsok listája", + "ApiKeysCaption": "Jelenleg engedélyezett API-kulcsok listája", "LabelStable": "Stabil", "LabelChromecastVersion": "Google Cast verzió", "LabelEnableHttpsHelp": "Figyelés a megadott HTTPS porton. Érvényes tanúsítványt is be kell állítani az érvénybe léptetéshez.", @@ -1302,7 +1302,7 @@ "LabelSyncPlaySyncMethod": "Szinkronizálási mód", "MillisecondsUnit": "ms", "HeaderSyncPlayEnabled": "SyncPlay engedélyezve", - "HeaderSyncPlaySelectGroup": "Csatlakozás csoporthoz", + "HeaderSyncPlaySelectGroup": "Csatlakozás egy csoporthoz", "SyncPlayAccessHelp": "A SyncPlay funkcióhoz lehetőséget biztosít a lejátszások közötti szinkronizációra. Válaszd ki, hogy ez a felhasználó milyen szinten férhet hozzá a SyncPlay.", "MessageSyncPlayErrorMedia": "Nem sikerült a SyncPlay engedélyezése! Média hiba.", "MessageSyncPlayErrorMissingSession": "A SyncPlay lejátszása sikertelen! Hiányzó munkamenet.", @@ -1329,8 +1329,8 @@ "MessageNoGenresAvailable": "Engedélyezz néhány metaadat szolgáltatót, hogy műfaj adatokat tölthess le az internetről.", "EnableFasterAnimationsHelp": "Gyorsabb animációk és áttűnések használata.", "EnableFasterAnimations": "Gyorsabb animációk", - "EnableDecodingColorDepth10Vp9": "10-bites hardveres dekódolás engedélyezése VP9-hez", - "EnableDecodingColorDepth10Hevc": "10-bites hardveres dekódolás engedélyezése HEVC-hez", + "EnableDecodingColorDepth10Vp9": "10 bites hardveres dekódolás engedélyezése VP9 esetén", + "EnableDecodingColorDepth10Hevc": "10 bites hardveres dekódolás engedélyezése HEVC esetén", "TabRepositories": "Tárolók", "MessageAddRepository": "Ha új tárolót szeretnél hozzáadni, kattints a gombra a fejlécben, és add meg a szükséges adatokat.", "LabelRepositoryNameHelp": "Egy egyedi név, amivel megkülönböztetheted a tárolót a többi, a szervezhez hozzáadott tárolótól.", @@ -1413,7 +1413,7 @@ "LabelIconMaxResHelp": "Az 'upnp:icon' tulajdonságon keresztül közzétett ikonok maximális felbontása.", "LabelAlbumArtMaxResHelp": "Az albumkép maximális felbontása az 'upnp: albumArtURI' tulajdonságon keresztül.", "HeaderDeleteDevices": "Összes eszköz törlése", - "DeleteDevicesConfirmation": "Biztos törlöd az összes eszközt? Az összes munkamenet ki lesz jelentkeztetve. Az eszközök újra megjelennek a listán, amikor a felhasználók újra bejelentkeznek.", + "DeleteDevicesConfirmation": "Biztos, hogy törli az összes eszközt? Az összes munkamenet ki lesz jelentkeztetve. Az eszközök újra megjelennek, amikor egy felhasználó újra bejelentkezik.", "DeleteAll": "Összes törlése", "AspectRatioFill": "Kitöltés", "LabelTonemappingParam": "Tónusleképezés-paraméter", @@ -1482,7 +1482,7 @@ "LabelAutoDiscoveryTracing": "Automatikus felfedezés nyomkövetésének engedélyezése.", "KnownProxiesHelp": "Vesszővel elválasztott lista az ismert IP-címeiről vagy gazdagép neveiről, amelyeket a Jellyfin példányhoz való csatlakozáskor használnak. Erre az 'X-Forwarded-For' fejlécek megfelelő használatához van szükség. Mentés után újra kell indítani.", "HeaderUploadSubtitle": "Felirat feltöltése", - "HeaderPortRanges": "Tűzfal és proxy beállítások", + "HeaderPortRanges": "Tűzfal és proxy beállításai", "HeaderNetworking": "IP protokollok", "HeaderDebugging": "Hibakeresés és nyomkövetés", "HeaderAutoDiscovery": "Hálózati felfedezés", @@ -1521,26 +1521,26 @@ "UseEpisodeImagesInNextUp": "Használjon epizódképeket a \"Következő Rész\" és a \"Epizód folytatása\" szekciókban", "LabelLocalCustomCss": "Egyedi CSS stílus, amely csak erre az ügyfélre vonatkozik. Érdemes letiltani a szerver egyéni CSS -t.", "LabelDisableCustomCss": "Tiltsa le a szerverről biztosított egyéni CSS -tematizálást/kinézetet.", - "DisableCustomCss": "A szerver által biztosított egyéni CSS-kód letiltása", + "DisableCustomCss": "A kiszolgáló által biztosított egyéni CSS-kód letiltása", "AudioBitDepthNotSupported": "A hang bitmélysége nem támogatott", - "VideoProfileNotSupported": "A videokodek profilja nem támogatott", - "VideoLevelNotSupported": "A videokodek szintje nem támogatott", + "VideoProfileNotSupported": "A videókodek profilja nem támogatott", + "VideoLevelNotSupported": "A videókodek szintje nem támogatott", "VideoFramerateNotSupported": "A videó képfrissítési sebessége nem támogatott", "VideoBitDepthNotSupported": "A videó bitmélysége nem támogatott", "RefFramesNotSupported": "A referenciakeretek nem támogatottak", - "SecondaryAudioNotSupported": "Másodlagos hangsávok nem támogatottak", - "InterlacedVideoNotSupported": "Az átlapolt videó nem támogatott", - "AnamorphicVideoNotSupported": "Az anamorf videók nem támogatottak", + "SecondaryAudioNotSupported": "A másodlagos hangsávok nem támogatottak", + "InterlacedVideoNotSupported": "A váltottsoros videó nem támogatott", + "AnamorphicVideoNotSupported": "Az anamorf videó nem támogatott", "AudioSampleRateNotSupported": "A hang mintavételi aránya nem támogatott", - "AudioProfileNotSupported": "Az audio kodek profilja nem támogatott", + "AudioProfileNotSupported": "A hangkodek profilja nem támogatott", "VideoResolutionNotSupported": "A videó felbontása nem támogatott", - "AudioChannelsNotSupported": "Az audiocsatornák száma nem támogatott", - "AudioBitrateNotSupported": "A hang bitrátája nem támogatott", + "AudioChannelsNotSupported": "A hangcsatornák száma nem támogatott", + "AudioBitrateNotSupported": "A hang bitsebessége nem támogatott", "VideoCodecNotSupported": "A videó kodek nem támogatott", "SubtitleCodecNotSupported": "A felirat kodek nem támogatott", "ContainerNotSupported": "A tároló nem támogatott", "AudioCodecNotSupported": "Az audio kodek nem támogatott", - "LabelHardwareEncoding": "Hardver kódolás", + "LabelHardwareEncoding": "Hardveres kódolás", "Track": "Szám", "Remixer": "Remixelő", "ReleaseGroup": "Kiadási csoport", @@ -1567,7 +1567,7 @@ "LabelSyncPlaySettingsExtraTimeOffsetHelp": "Manuálisan állítsa be az időeltolást (millisecond-ban) a kiválasztott eszközzel az idő szinkronizálásához. Óvatosan állítsd.", "LabelSyncPlaySettingsExtraTimeOffset": "Extra időeltolás", "LabelSyncPlaySettingsDescription": "A SyncPlay beállításainak módosítása", - "HeaderSyncPlayTimeSyncSettings": "Idő szinkron", + "HeaderSyncPlayTimeSyncSettings": "Időszinkron", "HeaderSyncPlayPlaybackSettings": "Lejátszás", "HeaderSyncPlaySettings": "SyncPlay beállítások", "SetUsingLastTracksHelp": "Próbálja meg a felirat/audio sávot az utolsó videóhoz legközelebb eső értékre állítani.", @@ -1606,16 +1606,16 @@ "UnknownVideoStreamInfo": "A videó streamelési információi ismeretlenek", "VideoBitrateNotSupported": "A videó bitrátája nem támogatott", "AudioIsExternal": "Az audiotovábbítás külső", - "LabelHardwareEncodingOptions": "Hardveres kódolási lehetőségek", - "IntelLowPowerEncHelp": "Az alacsony fogyasztású kódolás képes fenntartani a szükségtelen CPU-GPU szinkronizálást. Linuxon le kell tiltani, ha az i915 HuC firmware nincs konfigurálva.", - "EnableIntelLowPowerHevcHwEncoder": "Engedélyezze az Intel alacsony fogyasztású HEVC hardveres kódolóját", - "EnableIntelLowPowerH264HwEncoder": "Engedélyezze az Intel Low-Power H.264 hardveres kódolót", - "PreferSystemNativeHwDecoder": "Előnyben részesítse az operációs rendszer natív DXVA vagy VA-API hardveres dekódereit", - "ContainerBitrateExceedsLimit": "A videó bitrátája meghaladja a limitet", + "LabelHardwareEncodingOptions": "Hardveres kódolás beállításai", + "IntelLowPowerEncHelp": "Az alacsony fogyasztású kódolás felesleges CPU-GPU szinkronizációt tarthat fenn. Linuxon le kell tiltani, ha az i915 HuC firmware nincs beállítva.", + "EnableIntelLowPowerHevcHwEncoder": "Az Intel alacsony fogyasztású HEVC hardveres kódolójának engedélyezése", + "EnableIntelLowPowerH264HwEncoder": "Az Intel alacsony fogyasztású H.264 hardveres kódoló engedélyezése", + "PreferSystemNativeHwDecoder": "Az operációs rendszer natív DXVA vagy VA-API hardveres dekódolóinak előnyben részesítése", + "ContainerBitrateExceedsLimit": "A videó bitsebessége meghaladja a korlátot", "SelectAll": "Összes kiválasztása", "ButtonExitApp": "Kilépés az alkalmazásból", "Clip": "Klip", - "ThemeVideo": "Téma Videó", + "ThemeVideo": "Főcímvideó", "ThemeSong": "Főcímdal", "Sample": "Minta", "Scene": "Jelenet", @@ -1631,10 +1631,10 @@ "AllowEmbeddedSubtitles": "Különféle típusú beágyazott feliratok letiltása", "ShowParentImages": "Sorozatképek megjelenítése", "NextUpRewatching": "Újranézés", - "MixedMoviesShows": "Vegyes Filmek és Műsorok", + "MixedMoviesShows": "Vegyes filmek és sorozatok", "AddToFavorites": "Hozzáadás a kedvencekhez", "CopyFailed": "Nem sikerült másolni", - "Copy": "Másol", + "Copy": "Másolás", "Copied": "Másolva", "GoogleCastUnsupported": "A Google Cast nem támogatott", "ButtonBackspace": "Törlés", @@ -1643,7 +1643,7 @@ "EnableRewatchingNextUpHelp": "Engedélyezze a már megtekintett epizódok megjelenítését a „Következő” panelen.", "EnableRewatchingNextUp": "Engedélyezze az Újranézést a \"Következő rész\"-ben", "Localization": "Lokalizáció", - "ItemDetails": "Fájl részletei", + "ItemDetails": "Elem részletei", "StoryArc": "Sztori Arc", "Production": "Produkció", "OriginalAirDate": "Eredeti megjelenési dátum", @@ -1654,13 +1654,13 @@ "Bold": "Félkövér", "LabelTextWeight": "Betűvastagság", "EnableSplashScreen": "Indítóképernyő engedélyezése", - "MediaInfoDvLevel": "DV Szint", - "MediaInfoDvProfile": "DV Profil", - "MediaInfoDvVersionMinor": "DV Mellék Verzió", - "MediaInfoDvVersionMajor": "DV Fő Verzió", + "MediaInfoDvLevel": "DV szint", + "MediaInfoDvProfile": "DV profil", + "MediaInfoDvVersionMinor": "DV alverzió", + "MediaInfoDvVersionMajor": "DV főverzió", "MediaInfoDoViTitle": "DV cím", - "MediaInfoVideoRangeType": "Videó tartomány típusa", - "LabelVideoRangeType": "Videó tartomány típusa", + "MediaInfoVideoRangeType": "Videótartomány típusa", + "LabelVideoRangeType": "Videótartomány típusa", "VideoRangeTypeNotSupported": "A videó tartománytípusa nem támogatott", "LabelVppTonemappingContrastHelp": "Kontraszt növelésének mértéke VPP tónusleképezés használatakor. Az ajánlott és az alapértelmezett érték 1.", "LabelVppTonemappingContrast": "VPP tónusleképezés kontrasztszintje", @@ -1672,10 +1672,10 @@ "RememberAudioSelectionsHelp": "Próbálja meg úgy beállítani a hangsávot, hogy a legközelebb legyen az utolsó videóhoz.", "RememberAudioSelections": "Hangsáv beállítása az előző elem alapján", "LabelMaxVideoResolution": "Maximálisan engedélyezett felbontás, Video Transzkódolás alatt", - "MediaInfoDvBlSignalCompatibilityId": "Dolby Vision BL jel kompatibilitási azonosító", - "MediaInfoBlPresentFlag": "Dolby Vision BL előre beállított zászló", - "MediaInfoElPresentFlag": "Dolby Vision EL elérhető markerek", - "MediaInfoRpuPresentFlag": "Dolby Vision rpu zászló jelen van", + "MediaInfoDvBlSignalCompatibilityId": "DV bl jel kompatibilitási azonosítója", + "MediaInfoBlPresentFlag": "DV bl előbeállítás-jelző", + "MediaInfoElPresentFlag": "DV el előbeállítás-jelző", + "MediaInfoRpuPresentFlag": "DV rpu előbeállítás-jelző", "IgnoreDtsHelp": "Ennek az opciónak a letiltása megoldhat bizonyos problémákat, pl. hiányzik a hang a külön hang- és videofolyamokkal rendelkező csatornákon.", "IgnoreDts": "DTS (dekódolási időbélyeg) figyelmen kívül hagyása", "OptionDateShowAdded": "Műsor hozzáadásának dátuma", @@ -1703,7 +1703,7 @@ "LabelDummyChapterCountHelp": "Az egyes médiafájlokból kibontható fejezetképek maximális száma.", "PreferEmbeddedExtrasTitlesOverFileNames": "Részesítse előnyben a beágyazott címeket a fájlnevekkel szemben", "SaveRecordingImages": "Rögzített EPG-képek mentése", - "Experimental": "Tapasztalati", + "Experimental": "Kísérleti", "LabelStereoDownmixAlgorithm": "Térhatású csatornák egyesítése", "HeaderDummyChapter": "Fejezetképek", "HeaderRecordingMetadataSaving": "Metaadatok rögzítése", @@ -1720,17 +1720,17 @@ "AllowCollectionManagement": "Ez a felhasználó módosíthatja a gyűjteményeket", "AllowSegmentDeletion": "Szegmensek törlése", "EnableAudioNormalization": "hang normalizálás", - "AllowSegmentDeletionHelp": "Régi szegmensek törlése miután a kliens által letöltésre kerültek. Ez megakadályozza, hogy a teljes, átkódolt fájlt szükséges legyen a merevlemezen tárolni. Kapcsold ki ha lejátszási problémákba ütközöl.", - "LabelThrottleDelaySecondsHelp": "Másodpercben megadott érték melyet követően az átkódoló visszfogásra kerül. Elég nagy értéket szükséges megadni, hogy a kliens számára egy egészséges puffer maradjon. Csak akkor működik ha a visszafogás funkció be van kapcsolva.", + "AllowSegmentDeletionHelp": "Régi szegmensek törlése miután a kliens letöltötte őket. Ez megakadályozza, hogy a teljes, átkódolt fájlt szükséges legyen a merevlemezen tárolni. Kapcsolja ki, ha lejátszási problémákba ütközik.", + "LabelThrottleDelaySecondsHelp": "Másodpercben megadott érték melyet követően az átkódoló visszafogásra kerül. Elég nagy értéket szükséges megadni, hogy a kliens számára egészséges puffer maradjon. Csak akkor működik, ha a visszafogás funkció be van kapcsolva.", "LabelSegmentKeepSeconds": "Szegmensek megtartása", "LabelThrottleDelaySeconds": "Visszafogás", - "LabelSegmentKeepSecondsHelp": "Másodpercben megadott érték mely előtt a szegmensek letöltésre kerülnek a kliens által. Csak akkor működik ha a szegmensek törlése funkció be van kapcsolva.", + "LabelSegmentKeepSecondsHelp": "Másodpercben megadott érték, mely előtt a szegmenseket a kliens letölti. Csak akkor működik, ha a szegmensek törlése funkció be van kapcsolva.", "LabelDummyChapterDurationHelp": "Az üres fejezetek közötti intervallum. Állítsa 0-ra az álfejezet generálásának letiltásához. Ennek megváltoztatása nincs hatással a meglévő álfejezetekre.", "PasswordRequiredForAdmin": "Az adminisztrátori fiókokhoz jelszó szükséges.", "UserMenu": "Felhasználói Menü", "Studio": "Stúdió", - "LabelTonemappingMode": "Tónus leképezési mód", - "Select": "Választás", + "LabelTonemappingMode": "Tónusleképezési mód", + "Select": "Kiválasztás", "LabelDate": "Dátum", "LabelSystem": "Rendszer", "LabelSyncPlayNoGroups": "Nincsenek elérhető csoportok", @@ -1742,15 +1742,15 @@ "SaveRecordingNFOHelp": "Mentse el az EPG-listaszolgáltató metaadatait a médiával együtt.", "EnableAudioNormalizationHelp": "A hang normalizálása állandó erősítést ad hozzá, hogy az átlagot a kívánt szinten tartsa (-18 dB).", "GetThePlugin": "Bővítmény beszerzése", - "LabelEnableLUFSScanHelp": "Az ügyfelek normalizálhatják a hanglejátszást, hogy azonos hangerőt kapjanak a sávok között. Ez hosszabbá teszi a könyvtár beolvasását, és több erőforrást igényel.", + "LabelEnableLUFSScanHelp": "A kliensek normalizálhatják a hanglejátszást, hogy azonos legyen a hangerő a sávok között. Ez hosszabbá teszi a médiatár beolvasását, és több erőforrást igényel.", "Notifications": "Értesítések", "NotificationsMovedMessage": "Az értesítési funkció átkerült a Webhook beépülő modulba.", - "MenuClose": "Menü Bezárása", - "MenuOpen": "Menü Megnyitása", + "MenuClose": "Menü bezárása", + "MenuOpen": "Menü megnyitása", "LabelEnableAudioVbr": "VBR hangkódolás engedélyezése", "LabelEnableAudioVbrHelp": "A változó bitsebesség jobb minőséget kínál az átlagos bitráta arányhoz, de néhány ritka esetben pufferelési és kompatibilitási problémákat okozhat.", "SaveRecordingImagesHelp": "Mentse el az EPG-lista szolgáltatójának képeit a médiával együtt.", - "HeaderConfirmRepositoryInstallation": "Erősítse meg a bővítmény tároló telepítését", + "HeaderConfirmRepositoryInstallation": "Erősítse meg a bővítménytároló telepítését", "LabelEnableLUFSScan": "LUFS-keresés engedélyezése", "LabelDeveloper": "Fejlesztő", "LabelMediaDetails": "Média részletei", @@ -1760,21 +1760,21 @@ "LogLevel.Critical": "Kritikus", "LogLevel.None": "Egyik sem", "MessageRepositoryInstallDisclaimer": "FIGYELMEZTETÉS: Harmadik féltől származó beépülő modulok tárolójának telepítése kockázatokkal jár. Instabil vagy rosszindulatú kódot tartalmazhat, és bármikor megváltozhat. Csak olyan szerzők tárolóit telepítse, akikben megbízik.", - "TonemappingModeHelp": "Válassza ki a tónus leképezési módot. Ha kiégett fénypontokat tapasztal, próbáljon átváltani RGB módra.", + "TonemappingModeHelp": "Válassza ki a tónusleképezési módot. Ha kiégett fénypontokat tapasztal, próbáljon átváltani RGB módra.", "Unknown": "Ismeretlen", "LabelBackdropScreensaverInterval": "Háttér Képernyővédő intervallum", "LabelBackdropScreensaverIntervalHelp": "A különböző hátterek közötti idő másodpercben a háttér képernyővédő használatakor.", "AllowAv1Encoding": "AV1 kódolás engedélyezése", - "GridView": "Rács Nézet", + "GridView": "Rácsnézet", "ListView": "Lista Nézet", - "MachineTranslated": "Gépi fordítás", - "AiTranslated": "Gépi fordítás", + "MachineTranslated": "Gépileg fordítva", + "AiTranslated": "MI-vel fordítva", "SearchResultsEmpty": "Sajnáljuk! Nem találtunk eredményeket a \"{0}\"", "LabelIsHearingImpaired": "Hallássérültek számára (SDH)", - "GoHome": "Kezdőlapra", - "BackdropScreensaver": "Háttér képernyővédő", + "GoHome": "Ugrás a kezdőlapra", + "BackdropScreensaver": "Háttér-képernyővédő", "SelectAudioNormalizationHelp": "Számerősítés – az egyes számok hangerejét állítja be, hogy azonos hangerővel legyenek lejátszva. Albumerősítés – az album összes számának hangerejét állítja, megtartva az album dinamikatartományát.", - "LabelAlbumGain": "Album nyereség", + "LabelAlbumGain": "Album nyeresége", "LabelSelectAudioNormalization": "Hangnormalizálás", "LogoScreensaver": "Logo képernyővédő", "UnknownError": "Ismeretlen hiba történt.", @@ -1782,7 +1782,7 @@ "ForeignPartsOnly": "Kényszerített/külföldi alkatrészek", "HearingImpairedShort": "HI/SDH", "HeaderGuestCast": "Vendégsztárok", - "HeaderAllRecordings": "Összes Felvétel", + "HeaderAllRecordings": "Összes felvétel", "LabelWebVersion": "Web verzió", "ButtonEditUser": "Felhasználó szerkesztése", "ChannelResolutionSD": "SD", @@ -1790,38 +1790,38 @@ "ChannelResolutionHD": "HD", "ChannelResolutionFullHD": "Full HD", "ChannelResolutionUHD4K": "UHD (4K)", - "DlnaMovedMessage": "A DLNA funkció egy pluginba költözött.", + "DlnaMovedMessage": "A DLNA funkció egy bővítménybe költözött.", "LabelBuildVersion": "Build verzió", "LabelServerVersion": "Szerver verzió", "AllowSubtitleManagement": "Feliratok szerkesztésének engedélyezése ennél a felhasználónál", - "AllowContentWithTagsHelp": "Csak a megadott címkék legalább egyikével rendelkező médiát jeleníti meg.", + "AllowContentWithTagsHelp": "Csak a megadott címkék legalább egyikével rendelkező média megjelenítése.", "AirPlay": "AirPlay", "LabelScanBehaviorHelp": "A kiindulási magatartás nem blokkoló, tehát a tartalom a könyvtárba kerül a lejátszástrükk generálás befejezése előtt. A blokkoló magatartás meggátolja könyvtárba kerülést a generálás befejeződéséig, de lényegesen hosszabbá teszi a könyvtárak beolvasását.", "PlaybackError.SERVER_ERROR": "A lejátszás meghiúsult kiszolgáló hiba miatt.", "PlaybackError.NO_MEDIA_ERROR": "Nem található lejátszható tartalom.", - "BlockContentWithTagsHelp": "Rejtse el a legalább egy megadott címkével ellátott tartalmakat.", + "BlockContentWithTagsHelp": "A megadott címkék legalább egyikével ellátott tartalmak elrejtése.", "PlaybackError.NETWORK_ERROR": "A lejátszás meghiúsult hálózati hiba miatt.", "PlaybackError.PLAYER_ERROR": "A lejátszás meghiúsult végzetes lejátszó hiba miatt.", "SavePassword": "Jelszó mentése", - "LabelEncodingFormatOptions": "Enkóder formátum beállítások", - "EncodingFormatHelp": "Válaszd ki, hogy a Jellyfin melyik enkódert használja. Ha hardveres gyorsítás nem elérhető a választott enkóderhez, a Jellyfin szoftver enkódert fog helyette használni. A H264 enkóder mindig engedélyezve lesz.", + "LabelEncodingFormatOptions": "Kódoló formátumbeállításai", + "EncodingFormatHelp": "Válassza ki, hogy a Jellyfin melyik videókódolásra kódoljon át. Ha a hardveres gyorsítás nem érhető el a választott formátumhoz, a Jellyfin szoftveres kódolót fog helyette használni. A H264 kódoló mindig engedélyezve lesz.", "Trickplay": "Lejátszótrükk", "PlaybackError.MEDIA_DECODE_ERROR": "A lejátszás meghiúsult tartalom dekódolási hiba miatt.", "PlaybackError.MEDIA_NOT_SUPPORTED": "A lejátszás meghiúsult, mert a tartalmat a kliens nem támogatja.", "PlaybackError.NotAllowed": "Ennek a tartalomnak a lejátszása nem engedélyezett.", - "BlockingScan": "Blokkoló - beütemezi a generációt és blokkolja a tartalom keresést ameddig elkészül", + "BlockingScan": "Blokkoló – beütemezi az előállítást, a befejeződéséig blokkolja a tartalomkeresést", "LabelTrickplayAccelEncodingHelp": "Jelenleg csak QSV és VAAPI gyorsítókon elérhető, más hardveres gyorsítókat nem befolyásol.", "PriorityHigh": "Magas", - "LabelTrickplayAccelEncoding": "Hardveresen gyorsított MJPEG enkódolás engedélyezése", + "LabelTrickplayAccelEncoding": "Hardveresen gyorsított MJPEG kódolás engedélyezése", "ConfirmDeleteLyrics": "A dalszövegek törlésével azok törlődni fognak a fájlrendszerből és a médiakönyvtárból is. Biztosan folytatni akarod?", - "DeleteEntireSeries": "{0} Epizód törlése", + "DeleteEntireSeries": "{0} epizód törlése", "DeleteEpisode": "Epizód törlése", - "DeleteLyrics": "Dalszövegek törlése", + "DeleteLyrics": "Dalszöveg törlése", "DeleteSeries": "Sorozat törlése", - "DeleteName": "{0} Törlése", + "DeleteName": "{0} törlése", "ErrorDeletingLyrics": "A dalszövegek törlése közben hiba lépett fel. Kérlek ellenőrizd, hogy a Jellyfin rendelkezik e írási jogosultsággal a könyvtárhoz, majd próbáld újra.", "HeaderDeleteSeries": "Sorozat törlése", - "HeaderDeleteLyrics": "Dalszövegek Törlése", + "HeaderDeleteLyrics": "Dalszöveg törlése", "HeaderNoLyrics": "Nem található dalszöveg", "LimitSupportedVideoResolutionHelp": "Használja a maximum engedélyezett videó átkódolási felbontást a maximum támogatott videó felbontásként.", "Lyric": "Dalszöveg", @@ -1834,17 +1834,17 @@ "PriorityNormal": "Normális", "PriorityBelowNormal": "Normális alatti", "PriorityIdle": "Üresjárat", - "EnableLibrary": "Könyvtár engedélyezése", - "EnableLibraryHelp": "Könyvtár tiltása, miközben rejtve marad az összes felhasználó elől.", + "EnableLibrary": "Médiatár engedélyezése", + "EnableLibraryHelp": "A médiatár letiltása elrejti az összes felhasználó elől.", "LabelProcessPriority": "Folyamat prioritása", "EnableSmoothScroll": "Folyékony görgetés engedélyezése", - "LabelAllowContentWithTags": "Engedje a címkézett elemeket", + "LabelAllowContentWithTags": "Címkézett elemek engedélyezése", "LimitSupportedVideoResolution": "Korlátozza a maximális támogatott videó felbontást", "PlaybackError.ASS_RENDER_ERROR": "Hiba történt az ASS/SSA feliratok renderelésekor.", "PlaybackError.FATAL_HLS_ERROR": "Végzetes hiba jelentkezett a HLS stream-ben.", "LabelTrickplayAccel": "Hardveres dekódolás engedélyezése", - "NonBlockingScan": "Nem blokkoló - beütemezi a generálást, majd visszatér", - "LabelScanBehavior": "Tartalom keresési magatartás", + "NonBlockingScan": "Nem blokkoló – beütemezi az előállítást, majd visszatér", + "LabelScanBehavior": "Tartalomkeresési viselkedés", "ConfirmDeleteSeries": "A sorozat törlésével törlődni fog az ÖSSZES {0} epizód a fájlrendszerből és a médiakönyvtárból is. Biztosan folytatni akarod?", "LabelQscaleHelp": "Az ffmpeg kimeneti képkockák minőségskálája, melyen 2 a legmagasabb és 31 a legalacsonyabb minőségi érték.", "LabelTrickplayThreads": "FFmpeg szálak", @@ -1867,27 +1867,27 @@ "LabelExtractTrickplayDuringLibraryScanHelp": "Lejátszástrükk képkockák generálása könyvtár beolvasáskor a frissen importált videóknál. Ha nincs bekapcsolva, a lejátszástrükk képkockákat az erre ütemezett feladat fogja kinyerni. Nem blokkoló magatartás esetén ez nem befolyásolja a könyvtár beolvasás idejét.", "Creator": "Készítő", "Editor": "Szerkesztő", - "EnableDtsHelp": "Csak akkor engedélyezze, hogyha az eszköze támogatja a DTS-t vagy ha csatlakoztatott egy megfelelő audió vevőkészüléket. Ellenkező esetben visszajátszási problémákat okozhat.", + "EnableDtsHelp": "Csak akkor engedélyezze, hogyha az eszköze támogatja a DTS-t, vagy kompatibilis hangvevőhöz kapcsolódik, ellenkező esetben visszajátszási problémákat okozhat.", "Author": "Szerző", "AllowStreamSharingHelp": "Engedélyezés, hogy a Jellyfin megkettőzze a tunerből származó mpegts adatfolyamot, és megossza azt a kliensekkel. Ez akkor hasznos, ha a tuner korlátozott számú adatfolyamot támogat, de ez egyéb lejátszási problémákat okozhat.", "AllowFmp4TranscodingContainerHelp": "Az fMP4 átkódolási konténer engedélyezése ehhez a tunerhez, a HEVC és HDR tartalmak engedélyezéséhez. Nem minden tuner kompatibilis ezzel a tárolóval. Tiltsa le, ha lejátszási problémákat tapasztal.", "Alternate": "Alternatív", "AlternateDVD": "Alternatív DVD", "AllowTonemappingSoftwareHelp": "A tónusleképzés képes a HDR videók dinamika tartományát SDR tartományba átalakítani, miközben megtartja a kép színét és részleteit, ami elengedhetetlen az eredeti jelenet megőrzéséhez. Jelenleg csak 10 bites HDR10, HLG és DoVi tartalmakon működik.", - "DateModified": "Dátum módosítva", - "EditLyrics": "Dalszöveg módosítása", - "DisableVbrAudioEncodingHelp": "Megakadályozza a szervert hogy a hangot VBR-rel kódolja a kliensnek.", + "DateModified": "Módosítás dátuma", + "EditLyrics": "Dalszöveg szerkesztése", + "DisableVbrAudioEncodingHelp": "Megakadályozza a kiszolgálót, hogy VBR-rel kódolja a hangot a kliens számára.", "HeaderAddLyrics": "Dalszöveg hozzáadása", "EnableHi10p": "H.264 High 10 profil bekapcsolása", - "EnableHi10pHelp": "Kapcsold be hogy megakadályozd a H.264 10-bites videók transzkódolását. Kapcsold ki ezt a beállítást ha a videó üres képkockákat jelenít meg.", - "HeaderAudioAdvanced": "Haladó Hang", + "EnableHi10pHelp": "Engedélyezze, hogy megakadályozza a 10 bites H.264 videók átkódolását. Tiltsa le, ha a videó üres képkockákat jelenít meg.", + "HeaderAudioAdvanced": "Speciális hangbeállítások", "EnableTrueHdHelp": "Csak akkor kapcsold be ha az eszköz támogatja a TrueHD-t vagy csatlakoztatva van egy kompatibilis hang vevőhöz, egyébként lejátszási hibát okozhat.", - "HeaderPreviewLyrics": "Dalszöveg Előnézet", - "HeaderLyricDownloads": "Dalszöveg Letöltések", - "HeaderUploadLyrics": "Dalszöveg Feltöltése", + "HeaderPreviewLyrics": "Dalszöveg előnézete", + "HeaderLyricDownloads": "Dalszövegletöltések", + "HeaderUploadLyrics": "Dalszöveg feltöltése", "HeaderNextItemPlayingInValue": "Következő: {0} Lejátszás kezdődik: {1}", "Inker": "Színező", - "LabelAllowFmp4TranscodingContainer": "fMP4 transzkódoló container engedélyezése", + "LabelAllowFmp4TranscodingContainer": "Az fMP4 átkódoló konténer engedélyezése", "Colorist": "Kolorista", "AlwaysRemuxFlacAudioFilesHelp": "Ha vannak olyan fájlok amiket a böngésző nem játszik le vagy helytelenül számítja ki az időbélyegeket akkor kapcsold be ezt mint megoldás.", "AlwaysRemuxMp3AudioFilesHelp": "Ha vannak olyan fájlok amikben a böngésző helytelenül számítja ki az időbélyegeket akkor kapcsold be ezt mint megoldás.", @@ -1896,7 +1896,7 @@ "EnableDts": "DTS (DCA) bekapcsolása", "EnableTrueHd": "TrueHD bekapcsolása", "HeaderNextItem": "Következő {0}", - "HeaderVideoAdvanced": "Haladó VIdeó", + "HeaderVideoAdvanced": "Speciális videó", "Illustrator": "Illusztrátor", "LabelAlwaysRemuxFlacAudioFiles": "Mindig remuxolja a FLAC-hangfájlokat", "LabelAlwaysRemuxMp3AudioFiles": "Mindig remuxolja az MP3-hangfájlokat", @@ -1908,8 +1908,8 @@ "LabelDelimiterWhitelistHelp": "Elemek, melyek nem lesznek figyelembe véve a címkefelosztásnál. Soronként egy elem.", "LabelDisableVbrAudioEncoding": "Változó bitsebességű hangfelvétel letiltása", "AlwaysBurnInSubtitleWhenTranscoding": "Mindig égesse be a feliratot átkódoláskor", - "AlwaysBurnInSubtitleWhenTranscodingHelp": "Minden felirat beégetése átkódolás aktiválásakor. Ez biztosítja a feliratok szinkronját átkodólás után a kódolás sebességének rovására.", - "HeaderEditPlaylist": "Lejátszási Lista szerkesztése", + "AlwaysBurnInSubtitleWhenTranscodingHelp": "Az összes felirat beégetése az átkódolás aktiválásakor. Ez az átkódolási sebesség csökkenése árán biztosítja a felirat szinkronban maradását.", + "HeaderEditPlaylist": "Lejátszási lista szerkesztése", "LabelInstalled": "Telepítve", "LabelIsSynced": "Szinkronizálva van", "LabelMediaSegmentsType": "{0} Szegmensek", @@ -1922,7 +1922,7 @@ "MediaInfoRotation": "Elforgás", "MediaSegmentAction.None": "Egyik sem", "MediaSegmentAction.Skip": "Kihagyás", - "MediaSegmentType.Commercial": "Kereskedelmi", + "MediaSegmentType.Commercial": "Reklám", "MediaSegmentType.Intro": "Intro", "MediaSegmentType.Outro": "Outro", "MediaSegmentType.Preview": "Előnézet", @@ -1933,16 +1933,16 @@ "PlaylistError.CreateFailed": "Hiba a lejátszási lista létrehozásakor", "PlaylistError.UpdateFailed": "Hiba a lejátszási lista frissítésekor", "PluginLoadRepoError": "Egy hiba történt a plugin adatainak lekérdezésekor az adattárból.", - "MediaSegmentAction.AskToSkip": "Kérés a kihagyáshoz", - "MediaSegmentSkipPrompt": "Kihagyás {0}", + "MediaSegmentAction.AskToSkip": "Kihagyás megkérdezése", + "MediaSegmentSkipPrompt": "{0} kihagyása", "MessageCancelSeriesTimerError": "Egy hiba történt miközben a sorozatidőzítő törlésekor", "MessageCancelTimerError": "Egy hiba történt az időzítő törlésekor", "MoveToBottom": "Mozgatás az aljára", "MoveToTop": "Mozgatás a tetejére", "PlaylistPublicDescription": "Engedélyezés, hogy bármilyen bejelentkezett felhasználó megnézhesse ezt a lejátszási listát.", "PreferNonstandardArtistsTag": "Az ELŐADÓ címkéjének használatának előnyben részesítése ha elérhető", - "LabelAllowStreamSharing": "Stream megosztás engedélyezése", - "LabelSelectPreferredTranscodeVideoAudioCodec": "Preferált transzkódolási audió kódek videólejátszásnál", + "LabelAllowStreamSharing": "Közvetítésmegosztás engedélyezése", + "LabelSelectPreferredTranscodeVideoAudioCodec": "Előnyben részesített átkódolási hangkodek videólejátszásnál", "LabelDropLyricsHere": "Húzd ide a dalszöveget, vagy kattints ide a fájlok böngészéséhez.", "LabelFallbackMaxStreamingBitrate": "Visszaesési max streamelési bitráta (Mbps)", "LabelLyricDownloaders": "Dalszöveg letöltők", @@ -1957,7 +1957,7 @@ "LabelSaveTrickplayLocally": "Trickplay képek mentése a média mellé", "Letterer": "Levelező", "MessageSplitVersionsError": "Egy hiba történt a verziók felosztása közben", - "Anime": "anime", + "Anime": "Anime", "FallbackMaxStreamingBitrateHelp": "A legmagasabb streamelési bitráta van használva visszaesésként amikor az ffprobe nem tudja meghatározni a forrás bitrátáját. Ez segíti a klienseket abban, hogy ne kérjenek egy nagyon nagy transzkódoklási bitrátát, ami azt okozhatja, hogy a lejátszó nem tudja lejátszani, és túl lesz töltődve az enkóder.", "HeaderNewPlaylist": "Új lejátszási lista", "LabelEnablePlugin": "Plugin engedélyezése", @@ -1966,5 +1966,15 @@ "LabelScreensaverTime": "Képernyőkíméjő Idő", "LibraryInvalidItemIdError": "Ez a könyvtár egy érvénytelen állapotban van, és nem lehet szerkeszteni. Valószínűleg egy bugot tapasztalsz: az útvonal az adatbázisban nem a megfelelő útvonal a fájlrendszerben.", "MoviesAndShows": "Filmek és Sorozatok", - "HeaderMediaSegmentActions": "Média Szegmens műveletek" + "HeaderMediaSegmentActions": "Médiaszegmens-műveletek", + "AutoSubtitleStylingHelp": "Ez a mód automatikusan vált a natív és az egyéni feliratstílus között az eszköz típusa alapján.", + "Custom": "Egyéni", + "HeaderNextEpisode": "Következő epizód", + "HeaderNextVideo": "Következő videó", + "Native": "Natív", + "NativeSubtitleStylingHelp": "A feliratstílusok egyes eszközökön nem fognak működni. Viszont ez nem jár további teljesítményigénnyel.", + "LabelTrickplayKeyFrameOnlyExtractionHelp": "Csak kulcsképkockák kinyerése a jelentősen gyorsabb számítás érdekében, de kevésbé pontos időzítéssel. Ha a beállított hardveres dekódoló nem támogatja ezt a módot, akkor a szoftveres dekódoló lesz használva.", + "DeleteServerConfirmation": "Biztos, hogy törli ezt a kiszolgálót?", + "VideoCodecTagNotSupported": "A videókodek-címke nem támogatott", + "LabelTrickplayKeyFrameOnlyExtraction": "Képek előállítása csak kulcsképkockákból" } diff --git a/src/strings/it.json b/src/strings/it.json index e1912ce040..cc68d7247d 100644 --- a/src/strings/it.json +++ b/src/strings/it.json @@ -31,7 +31,7 @@ "Artists": "Artisti", "AsManyAsPossible": "Tutto il possibile", "Ascending": "Crescente", - "AspectRatio": "Rapporto d'Aspetto", + "AspectRatio": "Rapporto d'aspetto", "Backdrop": "Sfondo", "Backdrops": "Sfondi", "BirthDateValue": "Nato il: {0}", @@ -97,7 +97,7 @@ "ColorTransfer": "Trasferimento Colore", "CommunityRating": "Voto del pubblico", "Composer": "Compositore", - "ConfigureDateAdded": "Scegli come determinare la Data di Aggiunta dal Pannello di Controllo -> Librerie -> Impostazioni NFO", + "ConfigureDateAdded": "Scegli come determinare la Data di Aggiunta dal Pannello di Controllo -> Librerie -> Display", "ConfirmDeleteImage": "Elimina immagine?", "ConfirmDeleteItem": "L'eliminazione di questo elemento lo cancellerà sia dal disco che dalla libreria multimediale. Sei sicuro di voler continuare?", "ConfirmDeleteItems": "L'eliminazione di questi elementi li cancellerà sia dal disco che dalla tua libreria multimediale. Sei sicuro di voler continuare?", @@ -1125,7 +1125,7 @@ "HeaderCastAndCrew": "Cast", "HeaderMedia": "Media", "HeaderPassword": "Password", - "AuthProviderHelp": "Selezionare un provider di autenticazione da utilizzare per autenticare la password dell'utente.", + "AuthProviderHelp": "Selezionare un provider di autenticazione da utilizzare per chiedere la password utente.", "HeaderFetcherSettings": "Impostazioni del Fetcher", "HeaderImageOptions": "Opzioni Immagine", "Home": "Home", @@ -1271,7 +1271,7 @@ "LabelLibraryPageSize": "Elementi nella paginazione della libreria", "Episode": "Episodio", "BoxSet": "Cofanetto", - "AlbumArtist": "Artisti dell'Album", + "AlbumArtist": "Artista dell'Album", "UnsupportedPlayback": "Jellyfin non è in grado di decriptare i contenuti protetti da DRM ma tutti i contenuti verranno tentati a prescindere, compresi quelli protetti. Alcuni file potrebbero apparire completamente neri a causa della crittografia o di altre funzionalità non supportate, come i titoli interattivi.", "ButtonTogglePlaylist": "Playlist", "Filter": "Filtro", @@ -1760,7 +1760,7 @@ "AllowSegmentDeletionHelp": "Elimina i vecchi segmenti dopo che sono stati scaricati dal client. In questo modo si evita di dover memorizzare l'intero file transcodificato su disco. Disattiva questa funzione se si verificano problemi di riproduzione.", "LabelThrottleDelaySeconds": "Limita dopo", "LabelThrottleDelaySecondsHelp": "Tempo in secondi dopo cui il transcodificatore verrà messo in pausa. Deve essere sufficientemente grande perché il client mantenga un buon buffer. Funziona solo se il throttling è abilitato.", - "LabelSegmentKeepSeconds": "Il tempo per cui tenere i segmenti", + "LabelSegmentKeepSeconds": "Tempo di durata dei segmenti", "LabelSegmentKeepSecondsHelp": "Tempo in secondi per cui i segmenti devono essere conservati dopo essere stati scaricati dal client. Funziona solo se l'eliminazione dei segmenti è abilitata.", "AllowAv1Encoding": "Permetti la codifica nel formato AV1", "GoHome": "Vai alla Home", @@ -1833,7 +1833,7 @@ "PlaybackError.NotAllowed": "La riproduzione di questo file non è consentita.", "LabelScanBehaviorHelp": "Il comportamento predefinito è quello non bloccante, che aggiunge i media alla libreria prima che venga generato il Trickplay. Il blocco assicura che i file di trickplay siano generati prima che i media siano aggiunti alla libreria, ma rende le scansioni significativamente più lunghe.", "AllowContentWithTagsHelp": "Mostra solo i media con almeno uno dei tag specificati.", - "AirPlay": "AirPlay", + "AirPlay": "Messa in onda", "BlockContentWithTagsHelp": "Nascondi i media con almeno uno dei tag specificati.", "LimitSupportedVideoResolution": "Limitare la risoluzione video massima supportata", "LimitSupportedVideoResolutionHelp": "Utilizzare 'Risoluzione massima consentita per la transcodifica video' come risoluzione video massima supportata.", @@ -1886,7 +1886,7 @@ "PlaylistPublic": "Consenti accesso pubblico", "PlaylistPublicDescription": "Consenti che questa playlist sia visibile ad ogni utente loggato.", "HeaderLyricDownloads": "Scarica testi", - "LibraryScanFanoutConcurrencyHelp": "Massimo numero di task paralleli durante la scansione delle librerie. Se impostato a 0 sarà utilizzato il numero di core del sistema. ATTENZIONE: impostare un numero alto potrebbe causare problemi sui network filesystem. In caso di problemi ridurre il numero.", + "LibraryScanFanoutConcurrencyHelp": "Massimo numero di task parallele durante la scansione delle librerie. Se impostato a 0 sarà utilizzato il numero di core del sistema. ATTENZIONE: impostare un numero troppo alto potrebbe causare problemi sui network filesystem. In caso di problemi ridurre il numero.", "LabelSelectPreferredTranscodeVideoAudioCodec": "Codec audio preferito per la transcodica durante la riproduzione video", "LibraryScanFanoutConcurrency": "Massimo numero di task durante la scansione", "Colorist": "Colorista", @@ -1988,7 +1988,7 @@ "LyricDownloadersHelp": "Abilita e classifica i tuoi downloader di testi preferiti in ordine di priorità.", "MediaSegmentAction.None": "Niente", "MediaSegmentAction.Skip": "Salta", - "MoviesAndShows": "Movies and Shows", + "MoviesAndShows": "Film e Serie", "HeaderMediaSegmentActions": "Media Segment Actions", "HeaderNextEpisode": "Prossimo Episodio", "HeaderNextVideo": "Prossimo Video", @@ -1999,5 +1999,14 @@ "LabelMediaSegmentProviders": "Provider di segmenti multimediali", "LabelSubtitleStyling": "Stile dei sottotitoli", "Native": "Nativo", - "NativeSubtitleStylingHelp": "La formattazione dei sottotitoli potrebbe non funzionare su alcuni dispositivi. Tuttavia, non comporta alcun impatto sulle prestazioni." + "NativeSubtitleStylingHelp": "La formattazione dei sottotitoli potrebbe non funzionare su alcuni dispositivi. Tuttavia, non comporta alcun impatto sulle prestazioni.", + "LabelDevice": "Dispositivo", + "DeleteServerConfirmation": "Sei sicuro di voler eliminare questo server?", + "LastActive": "Ultimo accesso", + "LibraryNameInvalid": "Il nome della libreria non può essere vuoto.", + "CopyLogSuccess": "Contenuti dei log copiati con successo.", + "Retry": "Riprova", + "LogLoadFailure": "Non sono riuscito a caricare il file di log. Potrebbe essere tutt'ora in fase di scrittura.", + "DisplayLoadError": "Errore durante il caricamento dei dati di configurazione del display.", + "MetadataImagesLoadError": "Caricamento metadati delle immagini fallito" } diff --git a/src/strings/ja.json b/src/strings/ja.json index b9923782c9..8571487a1a 100644 --- a/src/strings/ja.json +++ b/src/strings/ja.json @@ -52,7 +52,7 @@ "BoxRear": "ボックス ( 裏 )", "Browse": "ブラウズ", "MessageBrowsePluginCatalog": "利用可能なプラグインを表示するには、プラグインカタログを参照してください。", - "BurnSubtitlesHelp": "サーバーが映像のトランスコード時に字幕を焼き付けるかどうかを決めます。焼き付けを行わなければパフォーマンスが非常に向上します。自動を選ぶと、画像ベースの字幕形式 (VobSub、PGS、SUB、IDX など ) と特定の ASS または SSA 字幕でだけ焼き付けを行います。", + "BurnSubtitlesHelp": "サーバーが字幕を焼きこむべきかどうかを決定します。 これを使用しない場合はパフォーマンスが大幅に向上します。 イメージベースのフォーマット(VobSub、PGS、SUB、IDXなど)と特定のASSまたはSSA字幕を書き込むには、Autoを選択してください。", "ButtonAddMediaLibrary": "メディアライブラリーを追加", "ButtonAddScheduledTaskTrigger": "トリガーを追加", "ButtonAddServer": "サーバーを追加", @@ -112,7 +112,7 @@ "ColorSpace": "カラースペース", "CommunityRating": "コミュニティ評価", "Composer": "作曲者", - "ConfigureDateAdded": "ダッシュボード > ライブラリ > NFO設定にて、「追加日」のメタデータをどのように決定するかを設定します", + "ConfigureDateAdded": "ダッシュボード > ライブラリ > ディスプレイで、「追加日」のメタデータをどのように決定するかを設定します", "ConfirmDeleteImage": "イメージを削除しますか?", "ConfirmDeleteItem": "このアイテムを削除すると、ファイルシステムとメディアライブラリの両方から削除されます。 続行しますか?", "ConfirmDeleteItems": "これらの項目を削除すると、ファイルシステムとメディアライブラリの両方からそれらが削除されます。 続行しますか?", @@ -1752,7 +1752,7 @@ "LabelThrottleDelaySeconds": "スロットルまでの時間", "LabelThrottleDelaySecondsHelp": "「スロットル」を行うまでの秒数。クライアントが安定して再生できるバッファーを維持するのに十分大きなサイズでなければなりません。「スロットル」が有効の場合にのみ動作します。", "LabelSegmentKeepSeconds": "セグメントの保存時間", - "LabelSegmentKeepSecondsHelp": "セグメントを上書きせず維持する秒数。「スロットルまでの時間」より大きな値を設定してください。「セグメントを削除」が有効な場合にのみ動作します。", + "LabelSegmentKeepSecondsHelp": "クライアントがセグメントをダウンロードした後、そのセグメントを保持する時間 (秒単位)。 セグメント削除が有効な場合にのみ動作します。", "GetThePlugin": "プラグインを取得", "LogLevel.Trace": "トレース", "LogLevel.Error": "エラー", @@ -1776,7 +1776,7 @@ "LabelBackdropScreensaverInterval": "バックドロップスクリーンセーバー間隔", "LabelBackdropScreensaverIntervalHelp": "バックドロップスクリーンセーバーを使用時に異なるバックドロップ間での秒数。", "HeaderAllRecordings": "すべての録音", - "SelectAudioNormalizationHelp": "トラックゲイン - 各トラックの音量を調整して、同じ大きさで再生されるようにします。アルバムゲイン - アルバム内の全てのトラックの音量を調整し、アルバムのダイナミックレンジを保持します。", + "SelectAudioNormalizationHelp": "トラックゲイン - 各トラックの音量を調整し、同じ音量で再生します。 アルバムゲイン - アルバム内の全トラックの音量のみを調整し、アルバムのダイナミックレンジを維持します。 オフと他のオプションを切り替えるには、現在の再生を再開する必要があります。", "LabelSelectAudioNormalization": "音量正規化", "LabelBuildVersion": "ビルドバージョン", "LabelServerVersion": "サーバーバージョン", @@ -1918,5 +1918,20 @@ "EnableHi10p": "H.264のハイ10プロファイルを有効化", "PreviewLyrics": "歌詞をプレビュー", "SearchForLyrics": "歌詞を検索", - "DateModified": "変更日付" + "DateModified": "変更日付", + "AllowStreamSharingHelp": "JellyfinがチューナーからのMPEGTSストリームを複製し、この複製されたストリームをクライアントに共有できるようにします。 これは、チューナーに総ストリーム数の制限がある場合に便利ですが、再生上の問題を引き起こす可能性もあります。", + "AllowFmp4TranscodingContainerHelp": "このチューナーのfMP4トランスコードコンテナを許可して、HEVCとHDRコンテンツを有効にします。 すべてのチューナーがこのコンテナに対応しているわけではありません。 再生に問題がある場合は無効にしてください。", + "AutoSubtitleStylingHelp": "このモードではデバイスの種類に応じて、ネイティブ字幕とカスタム字幕のスタイリングメカニズムが自動的に切り替わります。", + "CustomSubtitleStylingHelp": "字幕のスタイリングはほとんどのデバイスで機能しますが、パフォーマンス上のオーバーヘッドが増加します。", + "Alternate": "代替", + "AlwaysBurnInSubtitleWhenTranscoding": "トランスコード時に常に字幕を書き込む", + "AlwaysBurnInSubtitleWhenTranscodingHelp": "トランスコードがトリガーされたときに、すべての字幕を焼き込みます。 これにより、トランスコード速度は低下しますが、トランスコード後の字幕の同期が保証されます。", + "AlwaysRemuxFlacAudioFilesHelp": "ブラウザが再生を拒否したり、タイムスタンプの計算が不正確なファイルがある場合は、回避策としてこの機能を有効にしてください。", + "AlwaysRemuxMp3AudioFilesHelp": "ブラウザがタイムスタンプを不正確に計算するファイルがある場合は、回避策としてこの機能を有効にしてください。", + "AllowTonemappingSoftwareHelp": "トーンマッピングは、元のシーンを表現するために非常に重要な情報である画像のディテールと色を維持したまま、ビデオのダイナミックレンジをHDRからSDRに変換することができます。 現在、10bit HDR10、HLG、DoViビデオでのみ動作します。", + "DeleteServerConfirmation": "本当にこのサーバーを削除しますか?", + "DisableVbrAudioEncodingHelp": "サーバーがこのクライアントのオーディオをVBRでエンコードしないようにする。", + "EnableHi10pHelp": "H.264 10ビット動画のトランスコードを避けるには、このオプションを有効にします。 ビデオにブランクフレームが表示される場合はこのオプションを無効にします。", + "FallbackMaxStreamingBitrateHelp": "最大ストリーミングビットレートは、ffprobe がソースストリームのビットレートを決定できない場合のフォールバックとして使用されます。 これは、クライアントが過度に高いトランスコード・ビットレートを要求するのを防ぐのに役立ちます。", + "HeaderAddLyrics": "歌詞を追加" } diff --git a/src/strings/ko.json b/src/strings/ko.json index 6429055b27..8257c0c5f0 100644 --- a/src/strings/ko.json +++ b/src/strings/ko.json @@ -289,7 +289,7 @@ "LabelLanguage": "언어", "LabelLocalHttpServerPortNumber": "로컬 HTTP 포트 번호", "LabelLocalHttpServerPortNumberHelp": "HTTP 서버의 TCP 포트 번호입니다.", - "LabelLockItemToPreventChanges": "변경할 수 없게 항목 잠금", + "LabelLockItemToPreventChanges": "이후 메타데이터 수정 제한", "LabelLoginDisclaimer": "로그인 고지사항", "LabelLoginDisclaimerHelp": "로그인 페이지 하단에 표시할 메세지.", "LabelLogs": "로그", @@ -1019,7 +1019,7 @@ "Ended": "종료", "EndsAtValue": "{0}에 종료", "HeaderDateIssued": "발행일", - "ConfigureDateAdded": "'추가 된 날짜' 메타데이터가 대시보드>라이브러리>NFO 설정 에서 결정되는 방식 구성", + "ConfigureDateAdded": "'추가 된 날짜' 메타데이터가 대시보드 > 라이브러리 > 디스플레이에서 결정되는 방식 구성", "EnableStreamLoopingHelp": "라이브 스트림에 몇 초의 데이터만 포함되어 있고 지속적으로 요청해야 하는 경우, 이 옵션을 활성화하십시오. 필요하지 않은 경우, 이 기능을 사용하면 문제가 발생할 수 있습니다.", "BurnSubtitlesHelp": "트랜스코딩할 때 영상에 자막을 구울 지 설정합니다. 성능상 사용하지 않는 것이 좋습니다. [자동] 으로 설정하면 이미지 기반 자막(VobSub, PGS, SUB, IDX 등)과 일부 ASS, SSA자막을 굽습니다.", "EnableNextVideoInfoOverlay": "재생 중에 다음 비디오 정보 표시", @@ -1064,7 +1064,7 @@ "ErrorAddingMediaPathToVirtualFolder": "미디어 경로를 추가하는 중에 오류가 발생했습니다. 경로가 유효하고 Jellyfin이 해당 위치에 액세스 할 수 있는지 확인하세요.", "ErrorGettingTvLineups": "TV 구성을 다운로드 하는 중에 오류가 발생하였습니다. 정보가 맞는지 확인한 후 다시 시도해 주세요.", "BoxRear": "박스 (후면)", - "Absolute": "정확한", + "Absolute": "에피소드 번호", "LabelDropShadow": "그림자 효과", "LabelDiscNumber": "디스크 번호", "Identify": "식별자", @@ -1331,11 +1331,11 @@ "StopPlayback": "재생 중지", "LabelTonemappingParamHelp": "톤 매핑 알고리즘을 조정합니다. 권장 및 기본값은 NaN입니다. 일반적으로 비워 둡니다.", "LabelTonemappingParam": "톤 매핑 매개변수", - "LabelTonemappingPeakHelp": "이 값으로 신호 / 공칭 / 기준 피크를 재정의합니다. 디스플레이 메타 데이터에 포함 된 피크 정보를 신뢰할 수 없거나 낮은 범위에서 높은 범위로 톤 매핑 할 때 유용합니다. 권장 및 기본값은 100과 0입니다.", + "LabelTonemappingPeakHelp": "메타데이터에 내장된 피크 값 대신 설정한 피크 값을 사용합니다. 기본값은 100 (1000 nit) 입니다.", "LabelTonemappingPeak": "톤 매핑 피크", "LabelTonemappingThresholdHelp": "톤 매핑 알고리즘 매개 변수는 각 장면별로 미세 조정됩니다. 그리고 임계 값은 장면이 변경되었는지 여부를 감지하는 데 사용됩니다. 현재 프레임 평균 밝기와 현재 실행 평균 사이의 거리가 임계 값을 초과하면 장면 평균과 최고 밝기를 다시 계산합니다. 권장 및 기본값은 0.8 및 0.2입니다.", "LabelTonemappingThreshold": "Tonemapping 임계값", - "LabelTonemappingDesatHelp": "이 밝기 수준을 초과하는 하이라이트에는 채도를 낮추십시오. 매개 변수가 높을수록 더 많은 색상 정보가 보존됩니다. 이 설정은 대신 (부드럽게) 흰색으로 바뀌어 수퍼 하이라이트의 색상이 부 자연스럽게 날아가는 것을 방지합니다. 이렇게하면 범위를 벗어난 색상에 대한 정보를 줄이는 대신 이미지가 더 자연스럽게 느껴집니다. 권장 및 기본값은 0과 0.5입니다.", + "LabelTonemappingDesatHelp": "밝기가 이 값을 초과하면 채도를 낮춥니다. 추천 값은 0 (비활성화) 입니다.", "LabelTonemappingDesat": "톤 매핑 desat", "TonemappingRangeHelp": "출력 색상 범위를 선택합니다. 자동은 입력 범위와 동일합니다.", "LabelTonemappingRange": "Tonemapping 범위", @@ -1390,7 +1390,7 @@ "TvLibraryHelp": "{0} TV 이름 지정 가이드 {1}를 검토하세요.", "ThumbCard": "미리보기 카드", "Thumb": "미리보기", - "TheseSettingsAffectSubtitlesOnThisDevice": "이 설정은이 기기의 자막에 영향을 줍니다", + "TheseSettingsAffectSubtitlesOnThisDevice": "이 설정은 이 기기의 자막에 적용됩니다", "TabRepositories": "저장소", "SyncPlayAccessHelp": "이 사용자가 SyncPlay 기능에 대한 액세스 수준을 선택합니다. SyncPlay를 사용하면 다른 장치와 재생을 동기화 할 수 있습니다.", "Subtitle": "자막", @@ -1625,7 +1625,7 @@ "IntelLowPowerEncHelp": "저전력 인코딩은 불필요한 CPU-GPU 동기화를 유지할 수 있습니다. Linux에서 i915 HuC 펌웨어가 설정되지 않은 경우 비활성화해야 합니다.", "DirectPlayError": "다이렉트 재생 시작에 에러가 있습니다", "VideoRangeTypeNotSupported": "비디오의 레인지 타입이 지원되지 않습니다", - "LabelVppTonemappingBrightnessHelp": "VPP 톤 매핑에 밝기 게인을 적용합니다. 권장 값과 기본 값은 각각 16과 0입니다.", + "LabelVppTonemappingBrightnessHelp": "VPP 톤 매핑에 밝기 게인을 적용합니다. 추천 값은 16 입니다.", "MediaInfoDvVersionMinor": "DV 마이너 버전", "AllowEmbeddedSubtitles": "다양한 유형의 내장된 자막 비활성화", "AudioIsExternal": "오디오 스트림이 외부에 있습니다", @@ -1673,7 +1673,7 @@ "Scene": "장면", "EnableSplashScreen": "스플래시 스크린 활성화", "Featurette": "중단편 영화", - "LabelVppTonemappingContrastHelp": "VPP 톤 매핑에 대비 게인을 적용합니다. 권장 값과 기본 값은 모두 1입니다.", + "LabelVppTonemappingContrastHelp": "VPP 톤 매핑에 대비 게인을 적용합니다. 추천 값은 1 입니다.", "MediaInfoVideoRangeType": "비디오 레인지 타입", "MediaInfoDoViTitle": "DV 타이틀", "MediaInfoTitle": "제목", @@ -1764,7 +1764,7 @@ "GoHome": "홈으로", "GridView": "그리드 뷰", "LabelBackdropScreensaverInterval": "배경 화면보호기 간격", - "LabelBackdropScreensaverIntervalHelp": "배경 화면보호기를 사용할 때 서로 다른 배경으로 바뀌는 간격 시간(초)", + "LabelBackdropScreensaverIntervalHelp": "배경 화면보호기를 사용할 때 서로 다른 배경으로 바뀌는 간격 시간 (초).", "ListView": "리스트 뷰", "BackdropScreensaver": "배경 화면보호기", "LogoScreensaver": "로고 화면보호기", @@ -1974,5 +1974,21 @@ "PasswordMissingSaveError": "새 비밀번호는 공백일 수 없습니다.", "LabelDuration": "길이", "LabelSaveTrickplayLocallyHelp": "쉬운 마이그레이션과 관리를 위해 트릭플레이 이미지를 미디어 폴더에 미디어와 함께 저장합니다.", - "HeaderAudioAdvanced": "오디오 고급" + "HeaderAudioAdvanced": "오디오 고급", + "HeaderNextEpisode": "다음 에피소드", + "HeaderNextVideo": "다음 동영상", + "LabelMediaSegmentProviders": "미디어 세그먼트 제공자", + "MediaInfoRotation": "회전", + "AutoSubtitleStylingHelp": "자막 스타일 적용 수단을 [자동]으로 설정하면 장치에서 사용 가능한 경우 [표준] 설정이 선택되고 그렇지 않으면 [사용자 정의] 설정이 선택됩니다.", + "Custom": "사용자 정의", + "CustomSubtitleStylingHelp": "자막 스타일 적용 수단을 [사용자 정의]로 설정하면 대부분의 장치에서 자막 스타일이 작동하지만 성능에 지장을 줄 수 있습니다.", + "LabelSubtitleStyling": "자막 스타일 적용 수단", + "Native": "표준", + "NativeSubtitleStylingHelp": "자막 스타일 적용 수단을 [표준]으로 설정하면 성능상 이득이 있지만 일부 장치에서 자막 스타일이 작동하지 않을 수 있습니다.", + "LabelDevice": "장치", + "LastActive": "마지막 활동", + "DeleteServerConfirmation": "이 서버를 삭제하시겠습니까?", + "LibraryNameInvalid": "라이브러리 이름은 비워둘 수 없습니다.", + "Inker": "잉커", + "Retry": "재시도" } diff --git a/src/strings/lb.json b/src/strings/lb.json new file mode 100644 index 0000000000..bbb8d629f2 --- /dev/null +++ b/src/strings/lb.json @@ -0,0 +1,1808 @@ +{ + "Absolute": "Absolut", + "Add": "Derbäisetzen", + "LabelThrottleDelaySeconds": "Drosselen no (Sekonnen)", + "AlwaysPlaySubtitles": "Sous-titres ëmmer weisen", + "CancelRecording": "Opnam ofbriechen", + "DeleteAll": "All läschen", + "EnableDisplayMirroring": "Afleeën duplizéieren aktivéieren", + "Episodes": "Episoden", + "Extras": "Zousätzlech", + "FastForward": "Spulen", + "HDPrograms": "HD Programmer", + "LabelArtists": "Kënschtler", + "LabelEpisodeNumber": "Episode Nummer", + "LabelKeepUpTo": "Erhalen bis zu", + "LabelMetadataPath": "Metadate Chemin", + "LabelNotInstalled": "Net installéiert", + "LabelOriginalAspectRatio": "Original Aspect Ratio", + "LabelPath": "Chemin", + "LabelPublicHttpsPortHelp": "Hëllef zum öffentlichen HTTPS-Port", + "LabelQuickConnectCode": "QuickConnect-Code", + "LabelServerHost": "Server Host", + "LabelSyncPlayTimeSyncDevice": "SyncPlay: Zäitsync-Gerät", + "LabelType": "Typ", + "LabelWebVersion": "Web Versioun", + "LabelYear": "Joer", + "LeaveBlankToNotSetAPassword": "Loosst eidel, wann Dir keen Passwuert asetze wëllt", + "Menu": "Menü", + "MessageBrowsePluginCatalog": "Plugincatalog kucken", + "MessagePleaseWait": "Waart wannechgelift...", + "Name": "Numm", + "Normal": "Normal", + "OptionBluray": "Blu-ray", + "OptionDisplayFolderView": "Ordner Vue affichéieren", + "OptionDvd": "DVD", + "OptionHasThemeVideo": "Huet en Theme-Video", + "OptionParentalRating": "Elterenbewäertung", + "PlaybackError.SERVER_ERROR": "Server-Feeler", + "Production": "Produktioun", + "Remixer": "Remixer", + "Season": "Staffel", + "Tags": "Tags", + "LabelIsHearingImpaired": "Ass für Gehéiersbeeinträchtegt", + "NonBlockingScan": "Non-blocking Scan", + "LabelWidthResolutions": "Breet/Opléisung(en)", + "LabelQscale": "Qualitéitsskala (Qscale)", + "LabelTrickplayThreads": "Trickplay Threads", + "Actor": "Schauspiller", + "AddToCollection": "Zur Kollektioun derbäisetzen", + "AddToFavorites": "Zu Favoritten derbäisetzen", + "AddToPlaylist": "Zur Playlëscht derbäisetzen", + "AddToPlayQueue": "An d'Wiedergabelëscht derbäisetzen", + "AirDate": "Sendedatum", + "AirPlay": "AirPlay", + "AddedOnValue": "Derbäigesat den {0}", + "AgeValue": "{0} Joer aal", + "Aired": "Ausgestraalt", + "Album": "Album", + "AlbumArtist": "Album-Kënschtler", + "Albums": "Alben", + "Alerts": "Alèrten", + "All": "All", + "AllChannels": "All Kanäl", + "AllComplexFormats": "All komplex Formater", + "AllEpisodes": "All Episoden", + "AllLanguages": "All Sproochen", + "AllLibraries": "All Bibliothéiken", + "AllowCollectionManagement": "Erlaabt d'Verwaltung vu Kollektiounen", + "AllowSubtitleManagement": "Erlaabt d'Verwaltung vu Sous-titres", + "AllowFfmpegThrottling": "Erlaabt Ffmpeg-Throttling", + "AllowFmp4TranscodingContainerHelp": "Erlaabt den fMP4 Transkodéierungscontainer fir dësen Tuner, fir HEVC an HDR Inhalter z’aktivéieren. Net all Tuner si mat dësem Container kompatibel. Deaktivéiert dëst, wann Dir Problemer beim Ofspillen hutt.", + "AllowSegmentDeletion": "Erlaabt d'Läschen vu Segmenter", + "Alternate": "Alternativ", + "AlternateDVD": "Alternativ-DVD", + "AlwaysBurnInSubtitleWhenTranscoding": "Sous-titres ëmmer verbrennen beim Transkodéieren", + "AlwaysBurnInSubtitleWhenTranscodingHelp": "Brennt all Ënnertitelen an, wann Transkodéierung ausgeléist gëtt. Dëst garantéiert d’Ënnertitelsynchroniséierung no der Transkodéierung, op Käschte vun enger reduzéierter Transkodéierungsgeschwindegkeet.", + "AllowMediaConversion": "Erlaabt Mediakonversioun", + "AllowMediaConversionHelp": "Hëllef zum Erlaaben vun der Mediakonversioun", + "LabelSegmentKeepSeconds": "Zäit fir Segmenter ze behalen", + "LabelSegmentKeepSecondsHelp": "Zäit an Sekonnen, fir déi Segmenter behaale solle ginn, nodeems se vum Client erofgeluede goufen. Funktionéiert nëmmen, wann d’Segment-Läsche aktivéiert ass.", + "AllowOnTheFlySubtitleExtraction": "Erlaabt d'On-the-Fly-Extraktioun vu Sous-titres", + "AllowRemoteAccess": "Erlaabt Fernzugang", + "AllowRemoteAccessHelp": "Hëllef zum Erlaaben vum Fernzugang", + "AlwaysPlaySubtitlesHelp": "Ënnertitelen, déi der Sproochpräferenz entspriechen, ginn gelueden, onofhängeg vun der Audio-Sprooch.", + "AlwaysRemuxFlacAudioFilesHelp": "Wann Dir Dateien hutt, déi Äre Browser net ofspille kann oder wou d’Zäite falsch berechent ginn, aktivéiert dëst als Ëmwee.", + "Anime": "Anime", + "AnyLanguage": "Irgendeng Sprooch", + "AndOtherArtists": "{0} an {1} aner Kënschtler.", + "Anytime": "Zu all Moment", + "Arranger": "Arrangeur", + "Artist": "Kënschtler", + "Artists": "Kënschtler", + "AroundTime": "Ronderëm {0}", + "Art": "Clearart", + "Ascending": "Opsteigend", + "AsManyAsPossible": "Sou vill wéi méiglech", + "AspectRatio": "Aspect Ratio", + "Audio": "Audio", + "Author": "Auteur", + "Authorize": "Autoriséieren", + "Auto": "Automatesch", + "AutoSubtitleStylingHelp": "Dësen Modus wiesselt automatesch tëscht dem natierlechen an dem personaliséierte Stil vun den Ënnertitelen, baséiert op Ärem Gerät-Typ.", + "Backdrop": "Hannergrondbild", + "Backdrops": "Hannergrënn", + "BackdropScreensaver": "Hannergrond-Écranshützer", + "Banner": "Banner", + "Blacklist": "Schwaarz Lëscht", + "Books": "Bicher", + "Box": "Këscht", + "BirthLocation": "Gebuertsplaz", + "BirthPlaceValue": "Gebuertsplaz: {0}", + "BlockContentWithTagsHelp": "Verstoppt Medien mat op mannst engem vun de spezifizéierten Tags.", + "BoxRear": "Këscht Hannen", + "Browse": "Durchsichen", + "ButtonActivate": "Aktivéieren", + "ButtonAddImage": "Bild derbäisetzen", + "ButtonAddMediaLibrary": "Medienbibliothéik derbäisetzen", + "ButtonAddScheduledTaskTrigger": "Asaz-Zäitplang derbäisetzen", + "ButtonAddServer": "Server derbäisetzen", + "ButtonAddUser": "Benotzer derbäisetzen", + "ButtonAudioTracks": "Audio-Spuren", + "ButtonBack": "Zréck", + "ButtonArrowRight": "Riets", + "ButtonBackspace": "Zréckspace", + "ButtonCancel": "Ofbriechen", + "ButtonClose": "Zoumaachen", + "ButtonEditUser": "Benotzer änneren", + "ButtonChangeServer": "Server änneren", + "ButtonFullscreen": "Vollbild", + "ButtonGotIt": "Verstanen", + "ButtonInfo": "Info", + "ButtonLibraryAccess": "Bibliothéik-Zougang", + "ButtonManualLogin": "Manuell Umellen", + "ButtonMore": "Méi", + "ButtonOk": "OK", + "ButtonParentalControl": "Elteren-Kontroll", + "ButtonPause": "Paus", + "ButtonPlayer": "Spiller", + "ButtonRefreshGuideData": "Guide-Donnéeën aktualiséieren", + "ButtonRemove": "Ewechhuelen", + "ButtonRename": "Renomméieren", + "ButtonResume": "Weiterspillen", + "ButtonRevoke": "Révoquéieren", + "ButtonPreviousTrack": "Vireg Spur", + "ButtonScanAllLibraries": "All Bibliothéiken durchscannen", + "ButtonSelectDirectory": "Dossier auswielen", + "ButtonSelectView": "Vue auswielen", + "ButtonSend": "Senden", + "ButtonShutdown": "Ausschalten", + "ButtonSignIn": "Umellen", + "ButtonSpace": "Space", + "ButtonSplit": "Deelen", + "ButtonSubmit": "Schécken", + "ButtonSyncPlay": "SyncPlay", + "ButtonExitApp": "Applikatioun zoumaachen", + "ButtonStart": "Start", + "ButtonStop": "Stop", + "ButtonTrailer": "Bande-Annonce", + "ButtonUninstall": "Deinstalléieren", + "ButtonUseQuickConnect": "QuickConnect benotzen", + "ButtonWebsite": "Websäit", + "Bwdif": "Bob Weaver De-Interlacing Filter (BWDIF)", + "CancelSeries": "Série ofbriechen", + "Casual": "Casual", + "Categories": "Kategorien", + "ChannelResolutionSD": "SD-Opléisung", + "ChannelResolutionSDPAL": "SD (PAL)", + "ChannelAccessHelp": "Wielt d’Kanäl, déi mat dësem Benotzer gedeelt solle ginn. Administrateuren kënnen all Kanäl mam Metadata-Manager änneren.", + "ChannelResolutionHD": "HD-Opléisung", + "ChannelResolutionFullHD": "Full-HD-Opléisung", + "ChannelResolutionUHD4K": "UHD/4K-Opléisung", + "ChannelNumber": "Kanalnummer", + "Channels": "Kanäl", + "ClientSettings": "Client-Astellungen", + "Collections": "Kollektiounen", + "Colorist": "Kolorist", + "ColorPrimaries": "Haaptfaarwen", + "ColorSpace": "Faarweraum", + "CommunityRating": "Communautéitsbewäertung", + "ColorTransfer": "Faarftransfer", + "Composer": "Komponist", + "Conductor": "Dirigent", + "ConfirmDeleteImage": "Sidd Dir sécher, datt Dir d'Bild läsche wëllt?", + "ConfirmDeleteLyrics": "Wann Dir dës Liddertexter läscht, ginn se souwuel aus dem Dateisystem wéi och aus denger Mediebibliothéik geläscht. Sidd Dir sécher, datt Dir wëllt weiderfueren?", + "ConfirmDeletion": "Läschung bestätegen", + "Connect": "Verbannen", + "Console": "Konsole", + "ContinueWatching": "Weider kucken", + "Continuing": "Weidergehend", + "Copied": "Kopéiert", + "Copy": "Kopéieren", + "CopyStreamURL": "Stream-URL kopéieren", + "CoverArtist": "Cover-Kënschtler", + "CriticRating": "Kritikerbewäertung", + "Creator": "Schëpfer", + "Cursive": "Kursiv", + "Custom": "Personaliséiert", + "Data": "Donnéeën", + "DateModified": "Datum geännert", + "DatePlayed": "Datum gespillt", + "DailyAt": "Dagdeeglech um {0}", + "DateAdded": "Datum dobäigesat", + "Default": "Standard", + "DefaultSubtitlesHelp": "Ënnertitelen ginn op Basis vun de Standard- an forcéierte Markéierunge vun den agebettener Metadata gelueden. Sproochpräferenzen ginn berücksichtegt, wann et verschidde Optiounen gëtt.", + "Delete": "Läschen", + "DeleteEntireSeries": "{0} Episoden läschen", + "DeleteDeviceConfirmation": "Sidd Dir sécher, datt Dir dëst Gerät wëllt läschen? Et wäert erëm erschéngen, wann e Benotzer sech déi nächst Kéier domat umellt.", + "DeleteImage": "Bild läschen", + "DeleteMedia": "Medien läschen", + "DeleteSeries": "Série läschen", + "DeleteEpisode": "Episode läschen", + "DeleteImageConfirmation": "Sidd Dir sécher, datt Dir dëst Bild wëllt läschen?", + "DeleteLyrics": "Liddertexter läschen", + "DeleteUser": "Benotzer läschen", + "DeleteUserConfirmation": "Sidd Dir sécher, datt Dir de Benotzer läsche wëllt?", + "Depressed": "Depressiv", + "Descending": "Ofsteigend", + "Desktop": "Desktop", + "DetectingDevices": "Geräter erkennen", + "Digital": "Digital", + "Director": "Regisseur", + "Directors": "Regisseuren", + "DirectPlaying": "Direkt ofspillen", + "DirectPlayHelp": "D’Quell-Datei ass komplett kompatibel mat dësem Client an d’Sessioun kritt d’Datei ouni Ännerungen.", + "DirectStreamHelp2": "D’Kraaftverbrauch beim direkte Streaming hänkt normalerweis vum Audio-Profil of. Nëmmen de Video-Stream ass verlousungsfräi.", + "DirectStreaming": "Direkte Streaming", + "EnablePlugin": "Aktivéieren", + "DisableCustomCss": "Server-baséierten personaliséierte CSS-Code deaktivéieren", + "Disc": "Disc", + "Disconnect": "Trennen", + "Display": "Display", + "DisplayInMyMedia": "Um Startbildschierm", + "DisplayInOtherHomeScreenSections": "An anere Rubriken um Startécran weisen", + "DisplayMissingEpisodesWithinSeasons": "Fehlend Episoden an de Staffelen weisen", + "DisplayMissingEpisodesWithinSeasonsHelp": "Hëllef zum Weisen vu fehlenden Episoden an de Staffelen", + "DisplayModeHelp": "Hëllef zum Afleeëmoudus", + "DlnaMovedMessage": "DLNA-Einstellungen sinn transferéiert ginn", + "DoNotRecord": "Net ophuelen", + "Down": "Rof", + "Download": "Eroflueden", + "DownloadAll": "Alles eroflueden", + "DownloadsValue": "Erofluede Wäert", + "DrmChannelsNotImported": "DRM-Kanäl goufen net importéiert", + "DropShadow": "Schiet zousetzen", + "Edit": "Änneren", + "Editor": "Editeur", + "EditImages": "Biller änneren", + "EditLyrics": "Texter änneren", + "EditMetadata": "Metadaten änneren", + "EditSubtitles": "Sous-titres änneren", + "EnableAutoCast": "AutoCast aktivéieren", + "EnableBackdropsHelp": "Hëllef zum Aktivéiere vu Hannergrënn", + "EnableBlurHash": "BlurHash aktivéieren", + "EnableBlurHashHelp": "Hëllef zum Aktivéiere vu BlurHash", + "EnableCinemaMode": "Kino Modus aktivéieren", + "EnableColorCodedBackgrounds": "Faarwkodéiert Hannergrënn aktivéieren", + "EnableDecodingColorDepth10Hevc": "Decodéiere vu 10-Bit HEVC aktivéieren", + "EnableDecodingColorDepth10Vp9": "Decodéiere vu 10-Bit VP9 aktivéieren", + "EnableDetailsBanner": "Detailbanner aktivéieren", + "EnableDetailsBannerHelp": "Hëllef zum Detailbanner aktivéieren", + "EnableDts": "DTS aktivéieren", + "EnableDtsHelp": "Hëllef zum DTS aktivéieren", + "EnableExternalVideoPlayers": "Extern Videoplayeren aktivéieren", + "EnableExternalVideoPlayersHelp": "Hëllef zum Aktivéiere vun externen Videoplayeren", + "EnableFasterAnimations": "Schnell Animatiounen aktivéieren", + "EnableFasterAnimationsHelp": "Hëllef zu schnelle Animatiounen aktivéieren", + "EnableHardwareEncoding": "Hardware Codéierung aktivéieren", + "EnableHi10p": "Hi10p aktivéieren", + "EnableHi10pHelp": "Hëllef zum Hi10p aktivéieren", + "EnableLibrary": "Bibliothéik aktivéieren", + "EnableLibraryHelp": "Hëllef zum Bibliothéik aktivéieren", + "EnableNextVideoInfoOverlay": "Info Iwwerlagerung beim nächsten Video aktivéieren", + "EnableNextVideoInfoOverlayHelp": "Hëllef zur Info Iwwerlagerung beim nächsten Video", + "EnablePhotos": "Fotoen aktivéieren", + "EnablePhotosHelp": "Hëllef zum Aktivéiere vu Fotoen", + "EnableCardLayout": "Kaarte Layout aktivéieren", + "EnableRewatchingNextUp": "Erëm kucken am Next Up aktivéieren", + "EnableRewatchingNextUpHelp": "Hëllef zum Erëm kucken am Next Up aktivéieren", + "EnableQuickConnect": "QuickConnect aktivéieren", + "EnableSmoothScroll": "Geschmeidegt Scrollen aktivéieren", + "EnableStreamLooping": "Stroum Looping aktivéieren", + "EnableStreamLoopingHelp": "Hëllef zum Stroum Looping aktivéieren", + "EnableThemeSongsHelp": "Hëllef zum Aktivéiere vu Themesongs", + "EnableThemeVideosHelp": "Hëllef zum Aktivéiere vu Themevideos", + "EnableTonemapping": "Tonemapping aktivéieren", + "EnableTrueHd": "TrueHD aktivéieren", + "EnableTrueHdHelp": "Hëllef zum Aktivéiere vu TrueHD", + "EncoderPresetHelp": "Hëllef zur Kodéier-Preset", + "Ended": "Beendegt", + "EndsAtValue": "Endet um", + "Engineer": "Toningenieur", + "Episode": "Episode", + "ErrorAddingListingsToSchedulesDirect": "Feeler beim Derbäisetzen vu Lëschtungen op Schedules Direct", + "ErrorAddingMediaPathToVirtualFolder": "Feeler beim Derbäisetze vum Medie-Pfad an e virtuelle Dossier", + "ErrorAddingTunerDevice": "Feeler beim Derbäisetze vum Tuner-Gerät", + "ErrorAddingXmlTvFile": "Feeler beim Derbäisetze vum XMLTV Fichier", + "ErrorDefault": "Allgemeine Feeler", + "ErrorDeletingItem": "Feeler beim Läsche vum Element", + "ErrorDeletingLyrics": "Feeler beim Läsche vun den Texter", + "ErrorGettingTvLineups": "Feeler beim Erfaassen vum TV-Lineup", + "ErrorPlayerNotFound": "Feeler: Player net fonnt", + "ErrorPleaseSelectLineup": "Feeler: Wielt wannechgelift e Lineup", + "ErrorSavingTvProvider": "Feeler beim Späichere vum TV-Provider", + "ErrorStartHourGreaterThanEnd": "Feeler: Startstonn ass méi héich wéi d'Endstonn", + "EveryHour": "All Stonn", + "EveryNDays": "All N Deeg", + "EveryXHours": "All X Stonnen", + "EveryXMinutes": "All X Minutten", + "ExitFullscreen": "Vollbild verlassen", + "Experimental": "Experimentell", + "ExtractChapterImagesHelp": "Hëllef zum Extrahéieren vu Kapitel-Biller", + "ExtraLarge": "Extra Grouss", + "FallbackMaxStreamingBitrateHelp": "Hëllef zum Fallback-Max Stream Bitrate", + "Favorite": "Favorit", + "Favorites": "Favoritten", + "Features": "Funktionalitéiten", + "FetchingData": "Donnéeën erfaassen", + "FFmpegSavePathNotFound": "FFmpeg Späicherpfad net fonnt", + "File": "Datei", + "FileNotFound": "Datei net fonnt", + "FileReadCancelled": "Datei Liesung ofgebrach", + "FileReadError": "Feeler beim Liese vun der Datei", + "Filter": "Filter", + "Filters": "Filteren", + "Folders": "Dossieren", + "FormatValue": "Format Wäert", + "Framerate": "Biller pro Sekonn", + "Friday": "Freideg", + "Fullscreen": "Vollbild", + "General": "Allgemein", + "Genre": "Genre", + "Genres": "Generen", + "GoHome": "Zréck an d'Menü", + "GoogleCastUnsupported": "Google Cast gëtt net ënnerstëtzt", + "GridView": "Gitter Vue", + "GroupBySeries": "No Série gruppéieren", + "GroupVersions": "Versiounen gruppéieren", + "GuestStar": "Gaast Stär", + "Guide": "Leedfaden", + "GuideProviderLogin": "Umellen beim Guide Provider", + "GuideProviderSelectListings": "Guide Provider: Lëschtungen auswielen", + "H264CrfHelp": "Hëllef zum H.264 CRF Wäert", + "HardwareAccelerationWarning": "Warnung: Hardware Beschleunegung", + "HeaderAccessSchedule": "Zougangs Zäitschema", + "HeaderAccessScheduleHelp": "Hëllef zum Zougangs Zäitschema", + "HeaderActiveDevices": "Aktiv Geräter", + "HeaderActiveRecordings": "Aktiv Opnamen", + "HeaderActivity": "Aktivitéit", + "HeaderAdditionalParts": "Zousätzlech Deeler", + "HeaderAddLyrics": "Texter derbäisetzen", + "HeaderAddToCollection": "Zur Kollektioun derbäisetzen", + "HeaderAddToPlaylist": "Zur Playlëscht derbäisetzen", + "HeaderAddUpdateImage": "Bild derbäisetzen / aktualiséieren", + "HeaderAddUpdateSubtitle": "Sous-titre derbäisetzen / aktualiséieren", + "HeaderAddUser": "Benotzer derbäisetzen", + "HeaderAdmin": "Admin", + "HeaderAlbumArtists": "Album Kënschtler", + "HeaderAlert": "Alarm", + "HeaderAllRecordings": "All Opnamen", + "HeaderAllowMediaDeletionFrom": "Mediadeletion erlaaben aus", + "HeaderApiKey": "API Schlëssel", + "HeaderApiKeys": "API Schlësselen", + "HeaderApiKeysHelp": "Hëllef zu API Schlësselen", + "HeaderApp": "App", + "HeaderAppearsOn": "Erschéint op", + "HeaderAudioBooks": "Audiobicher", + "HeaderAudioAdvanced": "Erweidert Audio", + "HeaderAudioSettings": "Audio Astellungen", + "HeaderAutoDiscovery": "Automatesch Erkennung", + "HeaderBlockItemsWithNoRating": "Elementer blockéieren ouni Bewäertung", + "HeaderBranding": "Branding", + "HeaderCancelRecording": "Opnam ofbriechen", + "HeaderCancelSeries": "Série opbriechen", + "HeaderCastAndCrew": "Schauspiller a Crew", + "HeaderChannelAccess": "Kanal Zougang", + "HeaderChapterImages": "Kapitel-Biller", + "HeaderConfigureRemoteAccess": "Fernzugang konfiguréieren", + "HeaderConfirmPluginInstallation": "Plugin Installatioun bestätegen", + "HeaderConfirmRepositoryInstallation": "Repository Installatioun bestätegen", + "HeaderConfirmRevokeApiKey": "API Schlëssel révoquéieren bestätegen", + "HeaderConnectionFailure": "Verbindungsfehler", + "HeaderConnectToServer": "Mam Server verbannen", + "HeaderContinueListening": "Weider lauschteren", + "HeaderContinueWatching": "Weider kucken", + "HeaderContinueReading": "Weider liesen", + "HeaderDateIssued": "Ausgabedatum", + "HeaderDefaultRecordingSettings": "Standard Opnam Astellungen", + "HeaderDeleteDevice": "Gerät läschen", + "HeaderDeleteDevices": "Geräter läschen", + "HeaderDeleteItem": "Element läschen", + "HeaderDeleteSeries": "Série läschen", + "HeaderDeleteItems": "Elementer läschen", + "HeaderDeleteLyrics": "Songtexte läschen", + "HeaderDeleteProvider": "Provider läschen", + "HeaderDeleteTaskTrigger": "Aufgabetrigger läschen", + "HeaderDetectMyDevices": "Meng Geräter erkennen", + "HeaderDeveloperInfo": "Entwéckler-Informatiounen", + "HeaderDeviceAccess": "Gerät-Zougang", + "HeaderDevices": "Geräter", + "HeaderDownloadSync": "Erofluede & Sync", + "HeaderDummyChapter": "Dummy-Kapitel", + "HeaderDVR": "DVR", + "HeaderEditImages": "Biller änneren", + "HeaderEditPlaylist": "Playlëscht änneren", + "HeaderEnabledFields": "Aktivéiert Felder", + "HeaderEnabledFieldsHelp": "Hëllef zu aktivéierte Felder", + "HeaderEpisodesStatus": "Episoden-Status", + "HeaderError": "Feeler", + "HeaderExternalIds": "Extern IDs", + "HeaderFeatureAccess": "Feature-Zougang", + "HeaderFetcherSettings": "Fetcher-Astellungen", + "HeaderFetchImages": "Biller eroflueden", + "HeaderForKids": "Für Kanner", + "HeaderFrequentlyPlayed": "Oft gespillt", + "HeaderGuestCast": "Gäschtebesetzung", + "HeaderGuideProviders": "Guide Providers", + "HeaderHttpsSettings": "HTTPS-Astellungen", + "HeaderIdentifyItemHelp": "Hëllef zur Identifikatioun vum Element", + "HeaderImageOptions": "Bildoptiounen", + "HeaderInstall": "Installéieren", + "HeaderInstantMix": "Instant Mix", + "HeaderKeepRecording": "Opnam erhalen", + "HeaderKeepSeries": "Série erhalen", + "HeaderKodiMetadataHelp": "Hëllef zu Kodi-Metadaten", + "HeaderLatestEpisodes": "Lescht Episoden", + "HeaderLatestMedia": "Lescht Medien", + "HeaderLatestMovies": "Lescht Filmer", + "HeaderLatestMusic": "Lescht Musek", + "HeaderLatestRecordings": "Lescht Opnamen", + "HeaderLibraries": "Bibliothéiken", + "HeaderLibraryAccess": "Bibliothéik-Zougang", + "HeaderLibraryFolders": "Bibliothéik-Dossieren", + "HeaderLibraryOrder": "Reiefolleg vun der Bibliothéik", + "HeaderLibrarySettings": "Bibliothéik-Astellungen", + "HeaderLiveTvTunerSetup": "Live-TV-Tuner-Konfiguratioun", + "HeaderLoginFailure": "Umellung gescheitert", + "HeaderLyricDownloads": "Songtexte eroflueden", + "HeaderMedia": "Medien", + "HeaderMediaFolders": "Medien-Dossieren", + "HeaderMediaSegmentActions": "Medien-Segment-Aktiounen", + "HeaderMetadataSettings": "Metadaten-Astellungen", + "HeaderMoreLikeThis": "Méi wéi dëst", + "HeaderMusicQuality": "Musek-Qualitéit", + "HeaderMyMedia": "Meng Medien", + "HeaderMyMediaSmall": "Meng Medien (Kleng)", + "HeaderNavigation": "Navigatioun", + "HeaderNetworking": "Netzwerk-Astellungen", + "HeaderNewApiKey": "Neien API-Schlëssel", + "HeaderNewDevices": "Nei Geräter", + "HeaderNewPlaylist": "Nei Playlëscht", + "HeaderNewRepository": "Neie Repository", + "HeaderNextEpisode": "Nächst Episode", + "HeaderNextEpisodePlayingInValue": "Nächst Episode leeft an {0}", + "HeaderNextVideo": "Nächst Video", + "HeaderNextVideoPlayingInValue": "Nächst Video leeft an {0}", + "HeaderNoLyrics": "Keng Songtexte", + "HeaderOnNow": "Elo am Gaang", + "HeaderOtherItems": "Aner Elementer", + "HeaderParentalRatings": "Elterenbewäertungen", + "HeaderPassword": "Passwuert", + "HeaderPasswordReset": "Passwuert zerécksetzen", + "HeaderPaths": "Chemin", + "HeaderPerformance": "Leeschtung", + "HeaderPhotoAlbums": "Foto-Alben", + "HeaderPlayAll": "Alles spillen", + "HeaderPlayback": "Wiedergabe", + "HeaderPlaybackError": "Wiedergabe-Feeler", + "HeaderPlayOn": "Spill op", + "HeaderPleaseSignIn": "Mellt Iech w.e.g. un", + "HeaderPortRanges": "Port-Beräicher", + "HeaderPreferredMetadataLanguage": "Léiwe Metadaten-Sprooch", + "HeaderPreviewLyrics": "Songtexte-Virschau", + "HeaderRecentlyPlayed": "Rezent gespillt", + "HeaderRecordingMetadataSaving": "Opnam Metadaten späicheren", + "HeaderRecordingOptions": "Opnam-Optiounen", + "HeaderRecordingPostProcessing": "Opnam-Nachbeaarbechtung", + "HeaderRemoteAccessSettings": "Fernzugang-Astellungen", + "HeaderRemoteControl": "Fjäresteierung", + "HeaderRemoveMediaFolder": "Medien-Dossier ewechhuelen", + "HeaderRemoveMediaLocation": "Medien-Location ewechhuelen", + "HeaderRevisionHistory": "Revisiounshistorik", + "HeaderRunningTasks": "Aktiv Aufgaben", + "HeaderScenes": "Scènen", + "HeaderSeasons": "Staffelen", + "HeaderSecondsValue": "Sekonnen", + "HeaderSelectCertificatePath": "Zertifika-Chemin auswielen", + "HeaderSelectMetadataPath": "Metadate-Chemin auswielen", + "HeaderSelectMetadataPathHelp": "Hëllef zum Metadate-Chemin auswielen", + "HeaderSelectPath": "Chemin auswielen", + "HeaderSelectServerCachePath": "Server-Cache-Chemin auswielen", + "HeaderSelectServerCachePathHelp": "Hëllef zum Server-Cache-Chemin auswielen", + "HeaderSelectTranscodingPath": "Transcoding-Chemin auswielen", + "HeaderSelectTranscodingPathHelp": "Hëllef zum Transcoding-Chemin auswielen", + "HeaderSendMessage": "Noriicht schécken", + "HeaderSeriesOptions": "Série-Optiounen", + "HeaderSeriesStatus": "Série-Status", + "HeaderServerAddressSettings": "Server-Adresse-Astellungen", + "HeaderSetupLibrary": "Bibliothéik ariichten", + "HeaderSortBy": "Zortéieren no", + "HeaderSortOrder": "Zortéieruerdnung", + "HeaderSpecialEpisodeInfo": "Spezial-Episode-Informatiounen", + "HeaderStartNow": "Elo ufänken", + "HeaderStatus": "Status", + "HeaderStopRecording": "Opnam anhalen", + "HeaderSubtitleAppearance": "Sous-titre-Erscheinung", + "HeaderSubtitleDownloads": "Sous-titre eroflueden", + "HeaderSyncPlayEnabled": "SyncPlay aktivéiert", + "HeaderSyncPlaySelectGroup": "SyncPlay: Grupp auswielen", + "HeaderSyncPlaySettings": "SyncPlay-Astellungen", + "HeaderSyncPlayPlaybackSettings": "SyncPlay-Wiedergabe-Astellungen", + "HeaderSyncPlayTimeSyncSettings": "SyncPlay-Zäitsync-Astellungen", + "HeaderTaskTriggers": "Aufgabe-Ausléiser", + "HeaderThisUserIsCurrentlyDisabled": "Dëse Benotzer ass aktuell deaktivéiert", + "HeaderTracks": "Stécker", + "HeaderTunerDevices": "Tuner-Geräter", + "HeaderTuners": "Tuner", + "HeaderTypeImageFetchers": "Bildfetcher no Typ", + "HeaderTypeText": "Typ: Text", + "HeaderUninstallPlugin": "Plugin deinstalléieren", + "HeaderUpcomingOnTV": "Gleedeg am TV", + "HeaderUploadImage": "Bild eroplueden", + "HeaderUploadLyrics": "Songtexte eroplueden", + "HeaderUploadSubtitle": "Sous-titre eroplueden", + "HeaderUser": "Benotzer", + "HeaderUsers": "Benotzer", + "HeaderVideoAdvanced": "Erweidert Video", + "HeaderVideoQuality": "Video-Qualitéit", + "HeaderVideos": "Videoen", + "HeaderVideoType": "Video-Typ", + "HeaderVideoTypes": "Video-Typen", + "HeaderYears": "Joer", + "Help": "Hëllef", + "Hide": "Verstoppen", + "HideWatchedContentFromLatestMedia": "Gekuckten Inhalt aus de neiste Medien verstoppen", + "Home": "Accueil", + "HomeVideosPhotos": "Heem-Videoen & -Fotoen", + "Horizontal": "Horizontal", + "HttpsRequiresCert": "HTTPS erfuerdert e Zertifika", + "Identify": "Identifizéieren", + "IgnoreDts": "DTS ignoréieren", + "IgnoreDtsHelp": "Hëllef zum DTS ignoréieren", + "Illustrator": "Illustrateur", + "Image": "Bild", + "Images": "Biller", + "ImportFavoriteChannelsHelp": "Hëllef zum Importéiere vu Favoritte-Kanäl", + "Inker": "Inker", + "InstallingPackage": "Package gëtt installéiert", + "InstantMix": "Instant Mix", + "ItemCount": "Item-Zuel", + "ItemDetails": "Item-Detailer", + "Items": "Elementer", + "Kids": "Kanner", + "KnownProxiesHelp": "Hëllef zu bekannte Proxien", + "Label3DFormat": "3D-Format", + "LabelAbortedByServerShutdown": "Ofgebrach duerch Server-Ausschalten", + "LabelAccessDay": "Zougangsdag", + "LabelAccessEnd": "Zougang endet", + "LabelAccessStart": "Zougang start", + "LabelAirDays": "Sendungsdeeg", + "LabelAirsAfterSeason": "Gesend nodeems d'Staffel ofgeschloss ass", + "LabelAirsBeforeEpisode": "Gesend ier d'Episode ufänkt", + "LabelAirsBeforeSeason": "Gesend ier d'Staffel ufänkt", + "LabelAirTime": "Sendezäit", + "LabelAlbum": "Album", + "LabelAlbumArtists": "Album-Kënschtler", + "LabelAlbumGain": "Album-Gain", + "LabelAllowContentWithTags": "Inhalt mat Tag erlaaben", + "LabelAllowedRemoteAddresses": "Erlaabt Fjäert-Adressen", + "LabelAllowedRemoteAddressesMode": "Modus vun erlaabten Fjäert-Adressen", + "LabelAllowFmp4TranscodingContainer": "fMP4-Transcoding-Container erlaaben", + "LabelAllowHWTranscoding": "Hardware-Transkodéierung erlaaben", + "LabelAlwaysRemuxFlacAudioFiles": "FLAC-Audiodateien ëmmer remuxen", + "LabelAlwaysRemuxMp3AudioFiles": "MP3-Audiodateien ëmmer remuxen", + "LabelAllowStreamSharing": "Stroumdeelung erlaaben", + "LabelAppName": "App-Numm", + "LabelAppNameExample": "Beispill: 'MyJellyfinApp'", + "LabelArtistsHelp": "Hëllef zu Kënschtler-Daten", + "LabelAudioBitDepth": "Audio-Bit-Tiefe", + "LabelAudioBitrate": "Audio-Bitrate", + "LabelAudioChannels": "Audio-Kanäl", + "LabelAudioCodec": "Audio-Codec", + "LabelAudioLanguagePreference": "Léiwe Audio-Sprooch", + "LabelAudioTagSettings": "Audio-Tag-Astellungen", + "LabelSelectAudioNormalization": "Audio-Normalisatioun auswielen", + "LabelSelectPreferredTranscodeVideoAudioCodec": "Léiwe Transcode-Video/Audio-Codec auswielen", + "LabelAudioSampleRate": "Audio Sampleraate", + "LabelAuthProvider": "Authentifikatiouns Provider", + "LabelAutomaticallyAddToCollection": "Automatesch an d'Kollektioun derbäisetzen", + "LabelAutomaticallyAddToCollectionHelp": "Hëllef zum Automateschen Derbäisetzen an d'Kollektioun", + "LabelAutomaticallyRefreshInternetMetadataEvery": "Automatesch Internet Metadaten aktualiséieren all", + "LabelAutomaticDiscovery": "Automatesch Entdeckung", + "LabelAutomaticDiscoveryHelp": "Hëllef zur Automatescher Entdeckung", + "LabelBaseUrl": "Basis URL", + "LabelBaseUrlHelp": "Hëllef zur Basis URL", + "LabelBackdropScreensaverInterval": "Intervall vum Hannergrond Screensaver", + "LabelBackdropScreensaverIntervalHelp": "Hëllef zum Intervall vum Hannergrond Screensaver", + "LabelBindToLocalNetworkAddress": "Op lokal Netzwierk-Addresse bänneren", + "LabelBindToLocalNetworkAddressHelp": "Hëllef zum Bänneren op lokal Netzwierk-Addresse", + "LabelBirthDate": "Gebuertsdatum", + "LabelBirthYear": "Gebuertsjocrang", + "LabelBitrate": "Bitrate", + "LabelBlastMessageInterval": "Intervall vum Blast-Messagen", + "LabelBlastMessageIntervalHelp": "Hëllef zum Intervall vum Blast-Messagen", + "LabelBlockContentWithTags": "Inhalter blockéieren mat Markéierunge", + "LabelBuildVersion": "Build Versioun", + "LabelBurnSubtitles": "Sous-titres verbrennen", + "LabelCache": "Cache", + "LabelCachePath": "Cache Chemin", + "LabelCachePathHelp": "Hëllef zum Cache Chemin", + "LabelCancelled": "Ofgesot", + "LabelCertificatePassword": "Zertifika Passwuert", + "LabelCertificatePasswordHelp": "Hëllef zum Zertifika Passwuert", + "LabelChannels": "Kanäl", + "LabelChromecastVersion": "Chromecast Versioun", + "LabelCollection": "Kollektioun", + "LabelColorPrimaries": "Haaptfaarwen (Color Primaries)", + "LabelColorSpace": "Faarweraum (Color Space)", + "LabelColorTransfer": "Faarwübertragung (Color Transfer)", + "LabelCommunityRating": "Communautéitsbewäertung", + "LabelContentType": "Inhalts-Typ", + "LabelCorruptedFrames": "Beschiedegt Biller (Frames)", + "LabelCountry": "Land", + "LabelCreateHttpPortMap": "HTTP Port Mapping erstellen", + "LabelCreateHttpPortMapHelp": "Hëllef zum Erstelle vum HTTP Port Mapping", + "LabelCriticRating": "Kritikerbewäertung", + "LabelCurrentPassword": "Aktuellt Passwuert", + "LabelCurrentStatus": "Aktuellen Status", + "LabelCustomCertificatePath": "Benotzerdefinéiert Zertifika Chemin", + "LabelCustomCertificatePathHelp": "Hëllef zum Benotzerdefinéiertem Zertifika Chemin", + "LabelCustomCss": "Benotzerdefinéiert CSS", + "LabelCustomCssHelp": "Hëllef zur Benotzerdefinéierter CSS", + "LabelCustomDeviceDisplayNameHelp": "Hëllef zum Benotzerdefinéierten Annoncenumm vum Gerät", + "LabelCustomRating": "Benotzerdefinéiert Bewäertung", + "LabelCustomTagDelimiters": "Benotzerdefinéiert Tag-Delimiters", + "LabelCustomTagDelimitersHelp": "Hëllef zu Benotzerdefinéierte Tag-Delimiters", + "LabelDashboardTheme": "Dashboard Thema", + "LabelDate": "Datum", + "LabelDateAdded": "Datum derbäigesat", + "LabelDateAddedBehavior": "Verhale vum Datum derbäigesat", + "LabelDateAddedBehaviorHelp": "Hëllef zum Verhale vum Datum derbäigesat", + "LabelDateTimeLocale": "Datums- a Zäitzone-Format", + "LabelDay": "Dag", + "LabelDeathDate": "Doudesdatum", + "LabelDefaultScreen": "Standard Écran", + "LabelDeinterlaceMethod": "Deinterlace Methode", + "LabelDelimiterWhitelist": "Whitelist vu Delimiters", + "LabelDelimiterWhitelistHelp": "Hëllef zur Whitelist vu Delimiters", + "LabelDeveloper": "Entwéckler", + "LabelDisableCustomCss": "Benotzerdefinéiert CSS deaktivéieren", + "LabelDisableVbrAudioEncoding": "VBR-Audio Codéierung deaktivéieren", + "LabelDiscNumber": "Disksnummer", + "LabelDisplayLanguage": "Affichagesprooch", + "LabelDisplayLanguageHelp": "Hëllef zur Affichagesprooch", + "LabelDisplayMode": "Afleeëmoudus", + "LabelDisplayName": "Annoncenumm", + "LabelDisplayOrder": "Afleeë-Reiefolleg", + "LabelDisplaySpecialsWithinSeasons": "Specials an de Staffelen affichéieren", + "LabelDownloadLanguages": "Sprooche eroflueden", + "LabelDownMixAudioScale": "Downmix Audio Skala", + "LabelDownMixAudioScaleHelp": "Hëllef zur Downmix Audio Skala", + "LabelStereoDownmixAlgorithm": "Stereo Downmix Algorithmus", + "LabelDuration": "Dauer", + "LabelDropImageHere": "Zitt d'Bild heihinner", + "LabelDropLyricsHere": "Zitt d'Texter heihinner", + "LabelDroppedFrames": "Biller (Frames) verworf", + "LabelDropShadow": "Schiet zousetzen", + "LabelDropSubtitleHere": "Zitt d'Sous-titre heihinner", + "LabelDummyChapterDuration": "Dauer vum Dummy-Kapitel", + "LabelDummyChapterDurationHelp": "Hëllef zur Dauer vum Dummy-Kapitel", + "LabelChapterImageResolution": "Kapitelbild Opléisung", + "LabelChapterImageResolutionHelp": "Hëllef zur Kapitelbild Opléisung", + "LabelDynamicExternalId": "Dynamischen Externen ID", + "LabelEnableAudioVbr": "Audio VBR aktivéieren", + "LabelEnableAudioVbrHelp": "Hëllef zum Aktivéiere vu Audio VBR", + "LabelEnableHardwareDecodingFor": "Hardware-Decodéierung aktivéieren für", + "LabelEnableHttps": "HTTPS aktivéieren", + "LabelEnableHttpsHelp": "Hëllef zum Aktivéiere von HTTPS", + "LabelEnableIP4": "IPv4 aktivéieren", + "LabelEnableIP4Help": "Hëllef zum Aktivéiere von IPv4", + "LabelEnableIP6": "IPv6 aktivéieren", + "LabelEnableIP6Help": "Hëllef zum Aktivéiere von IPv6", + "LabelEnableLUFSScan": "LUFS-Scan aktivéieren", + "LabelEnableLUFSScanHelp": "Hëllef zum Aktivéiere vu LUFS-Scan", + "LabelEnablePlugin": "Plugin aktivéieren", + "LabelEnableRealtimeMonitor": "Echtzäit-Iwwerwaachung aktivéieren", + "LabelEnableRealtimeMonitorHelp": "Hëllef zur Echtzäit-Iwwerwaachung", + "LabelEncoderPreset": "Kodéier-Preset", + "LabelEndDate": "Enddatum", + "LabelEvent": "Evenement", + "LabelEveryXMinutes": "All X Minutten", + "LabelExtractChaptersDuringLibraryScan": "Kapitelen extrahéieren während Bibliothéik-Scan", + "LabelExtractChaptersDuringLibraryScanHelp": "Hëllef zum Extrahéieren vu Kapitelen während Bibliothéik-Scan", + "LabelFailed": "Gescheitert", + "LabelFallbackMaxStreamingBitrate": "Fallback Maximum Streaming-Bitrate", + "LabelffmpegPath": "FFmpeg Chemin", + "LabelffmpegPathHelp": "Hëllef zum FFmpeg Chemin", + "LabelFileOrUrl": "Datei oder URL", + "LabelFinish": "Fäerdeg", + "LabelFolder": "Dossier", + "LabelFont": "Schrëft", + "LabelForgotPasswordUsernameHelp": "Hëllef zum Passwuertvergiesse (Benotzernumm)", + "LabelFormat": "Format", + "LabelFriendlyName": "Benotzerfrëndlechen Numm", + "LabelGroupMoviesIntoCollections": "Filmer an Kollektiounen gruppéieren", + "LabelGroupMoviesIntoCollectionsHelp": "Hëllef zum Gruppéieren vu Filmer an Kollektiounen", + "LabelH264Crf": "H.264 CRF", + "LabelH265Crf": "H.265 CRF", + "LabelHardwareAccelerationType": "Typ vu Hardware-Beschleunegung", + "LabelHardwareAccelerationTypeHelp": "Hëllef zum Typ vu Hardware-Beschleunegung", + "LabelHardwareEncoding": "Hardware-Codéierung", + "LabelHomeNetworkQuality": "Qualitéit vum Heem-Netzwierk", + "LabelHomeScreenSectionValue": "Rubrik um Heem-Écran", + "LabelHttpsPort": "HTTPS Port", + "LabelHttpsPortHelp": "Hëllef zum HTTPS Port", + "LabelImageFetchersHelp": "Hëllef zu Bild-Fetchers", + "LabelImageType": "Bildtyp", + "LabelImportOnlyFavoriteChannels": "Just Favorittekänäle importéieren", + "LabelInstalled": "Installéiert", + "LabelInternetQuality": "Internet-Qualitéit", + "LabelIsForced": "Ass erzwongen", + "LabelIsSynced": "Ass gesynct", + "LabelKidsCategories": "Kanner-Kategorien", + "LabelKnownProxies": "Bekannte Proxien", + "LabelKodiMetadataDateFormat": "Kodi Metadaten Datumsformat", + "LabelKodiMetadataDateFormatHelp": "Hëllef zum Kodi Metadaten Datumsformat", + "LabelKodiMetadataEnableExtraThumbs": "Zousätzlech Miniaturen aktivéieren", + "LabelKodiMetadataEnableExtraThumbsHelp": "Hëllef zur Aktivéierung vu zousätzleche Miniaturen", + "LabelKodiMetadataEnablePathSubstitution": "Path Substitution aktivéieren", + "LabelKodiMetadataEnablePathSubstitutionHelp": "Hëllef zur Kodi Path Substitution", + "LabelKodiMetadataSaveImagePaths": "Bildcheminen späicheren", + "LabelKodiMetadataSaveImagePathsHelp": "Hëllef zum Späichere vu Bildcheminen", + "LabelKodiMetadataUser": "Kodi Metadaten-Benotzer", + "LabelKodiMetadataUserHelp": "Hëllef zum Kodi Metadaten-Benotzer", + "LabelLanguage": "Sprooch", + "LabelLanNetworks": "LAN-Netzwierker", + "LabelLevel": "Niveau", + "LabelLibraryPageSize": "Gréisst pro Bibliothéik-Säit", + "LabelLibraryPageSizeHelp": "Hëllef zur Gréisst pro Bibliothéik-Säit", + "LabelMaxDaysForNextUp": "Max Deeg für Next Up", + "LabelMaxDaysForNextUpHelp": "Hëllef zum Max Deeg für Next Up", + "LabelMaxVideoResolution": "Maximal Video-Opléisung", + "LabelMediaDetails": "Mediadetailer", + "LabelMediaSegmentProviders": "Medien-Segment-Provideren", + "LabelMediaSegmentsType": "Typ vu Medie-Segmenter", + "LabelLineup": "Lineup", + "LabelLocalCustomCss": "Lokal Benotzerdefinéiert CSS", + "LabelLocalHttpServerPortNumber": "Portnummer vum lokale HTTP-Server", + "LabelLocalHttpServerPortNumberHelp": "Hëllef zur lokaler HTTP-Portnummer", + "LabelLockItemToPreventChanges": "Element spären, ëm Ännerunge ze verhënneren", + "LabelLoginDisclaimer": "Login Disclaimer", + "LabelLoginDisclaimerHelp": "Hëllef zum Login Disclaimer", + "LabelLogs": "Log-Dateien", + "LabelLyricDownloaders": "Lyric Downloaders", + "LabelMaxAudiobookResume": "Max Audiobook Resume", + "LabelMaxAudiobookResumeHelp": "Hëllef zum Max Audiobook Resume", + "LabelMaxBackdropsPerItem": "Max Backdrops pro Element", + "LabelMaxChromecastBitrate": "Max Chromecast Bitrate", + "LabelMaxMuxingQueueSize": "Max Muxing Queue Gréisst", + "LabelMaxMuxingQueueSizeHelp": "Hëllef zur Max Muxing Queue Gréisst", + "LabelMaxParentalRating": "Max Elterenbewäertung", + "LabelMaxResumePercentage": "Max Resume Prozentsaatz", + "LabelMaxResumePercentageHelp": "Hëllef zum Max Resume Prozentsaatz", + "LabelMessageText": "Noriichtentext", + "LabelMessageTitle": "Noriichtentitel", + "LabelMetadata": "Metadaten", + "LabelMetadataDownloadersHelp": "Hëllef zu Metadaten Downloaders", + "LabelMetadataDownloadLanguage": "Metadaten Download-Sprooch", + "LabelMetadataPathHelp": "Hëllef zum Metadate Chemin", + "LabelMetadataReaders": "Metadaten Lesers", + "LabelMetadataReadersHelp": "Hëllef zu Metadaten Lesers", + "LabelMetadataSavers": "Metadaten Späicherer", + "LabelMetadataSaversHelp": "Hëllef zu Metadaten Späicherer", + "LabelMinAudiobookResume": "Min Audiobook Resume", + "LabelMinAudiobookResumeHelp": "Hëllef zum Min Audiobook Resume", + "LabelMinBackdropDownloadWidth": "Minimal Download-Breet vum Hannergrond", + "LabelMinResumeDuration": "Minimal Dauer zum Weiderkucken (Resume)", + "LabelMinResumeDurationHelp": "Hëllef zur minimaler Resume-Dauer", + "LabelMinResumePercentage": "Minimal Resume Prozentsaatz", + "LabelMinResumePercentageHelp": "Hëllef zum minimalen Resume Prozentsaatz", + "LabelMovieCategories": "Film-Kategorien", + "LabelMoviePrefix": "Film-Präfix", + "LabelMoviePrefixHelp": "Hëllef zum Film-Präfix", + "LabelMovieRecordingPath": "Film Opnam-Chemin", + "LabelName": "Numm", + "LabelNewName": "Neien Numm", + "LabelNewPassword": "Neit Passwuert", + "LabelNewPasswordConfirm": "Neit Passwuert bestätegen", + "LabelNewsCategories": "Noriichten-Kategorien", + "LabelNoChangelog": "Keng Ännerungs-Log verfügbar", + "LabelNumber": "Nummer", + "LabelNumberOfGuideDays": "Zuel vu Guide-Deeg", + "LabelNumberOfGuideDaysHelp": "Hëllef zur Zuel vu Guide-Deeg", + "LabelOpenclDevice": "OpenCL-Gerät", + "LabelOpenclDeviceHelp": "Hëllef zum OpenCL-Gerät", + "LabelOptionalNetworkPath": "Optionalen Netzwierk-Chemin", + "LabelOptionalNetworkPathHelp": "Hëllef zum optionalen Netzwierk-Chemin", + "LabelOriginalName": "Original Numm", + "LabelOriginalTitle": "Original Titel", + "LabelOverview": "Iwwersiicht", + "LabelParallelImageEncodingLimit": "Limit vu paralleller Bildkodéierung", + "LabelParallelImageEncodingLimitHelp": "Hëllef zur Limit vu paralleller Bildkodéierung", + "LabelParentalRating": "Elterenbewäertung", + "LabelParentNumber": "Elterennummer", + "LabelPassword": "Passwuert", + "LabelPasswordConfirm": "Passwuert bestätegen", + "LabelPasswordRecoveryPinCode": "PIN-Code zur Passwuert-Wiederherstellung", + "LabelPasswordResetProvider": "Provider fürs Passwuert zerécksetzen", + "LabelPersonRole": "Persoun/Roll", + "LabelPersonRoleHelp": "Hëllef zur Persoun/Roll", + "LabelPlaceOfBirth": "Gebuertsort", + "LabelPlayDefaultAudioTrack": "Standard Audio-Streck spillen", + "LabelPlayer": "Player", + "LabelPlayerDimensions": "Player Dimensiounen", + "LabelPlaylist": "Playlëscht", + "LabelPlayMethod": "Wiedergabe-Methode", + "LabelPleaseRestart": "Start de Server w.e.g. erëm", + "LabelPostProcessor": "Post-Prozessor", + "LabelPostProcessorArguments": "Post-Prozessor-Argumenter", + "LabelPostProcessorArgumentsHelp": "Hëllef zu de Post-Prozessor-Argumenter", + "LabelPreferredDisplayLanguage": "Léiwe Affichagesprooch", + "LabelPreferredSubtitleLanguage": "Léiwe Sous-titre-Sprooch", + "LabelProfileContainer": "Profil-Container", + "LabelProtocol": "Protokoll", + "LabelPublicHttpPort": "Öffentleche HTTP-Port", + "LabelPublicHttpPortHelp": "Hëllef zum öffentlichen HTTP-Port", + "LabelPublicHttpsPort": "Öffentleche HTTPS-Port", + "LabelPublishedServerUri": "Publizéierten Server-URI", + "LabelPublishedServerUriHelp": "Hëllef zum Publizéierten Server-URI", + "LabelQsvDevice": "QSV-Gerät", + "LabelQsvDeviceHelp": "Hëllef zum QSV-Gerät", + "LabelReasonForTranscoding": "Grond fürs Transkodéieren", + "LabelRecord": "Ophuelen", + "LabelRecordingPath": "Opnam-Chemin", + "LabelRecordingPathHelp": "Hëllef zum Opnam-Chemin", + "LabelRefreshMode": "Aktualiséierungsmodus", + "LabelReleaseDate": "Verëffentlechungsdatum", + "LabelRemoteClientBitrateLimit": "Bitrate-Limit fürs fjaerteg Gerät", + "LabelRemoteClientBitrateLimitHelp": "Hëllef zum Bitrate-Limit fürs fjaerteg Gerät", + "LabelRepository": "Repository", + "LabelRepositoryName": "Repository Numm", + "LabelRepositoryNameHelp": "Hëllef zum Repository Numm", + "LabelRepositoryUrl": "Repository-URL", + "LabelRepositoryUrlHelp": "Hëllef zur Repository-URL", + "LabelRequireHttps": "HTTPS erfuerderen", + "LabelRequireHttpsHelp": "Hëllef zum HTTPS erfuerderen", + "LabelRuntimeMinutes": "Lafzäit (Minutten)", + "LabelSaveLocalMetadata": "Lokal Metadaten späicheren", + "LabelSaveLocalMetadataHelp": "Hëllef zum Späicheren vu lokale Metadaten", + "LabelSaveTrickplayLocally": "Trickplay lokal späicheren", + "LabelSaveTrickplayLocallyHelp": "Hëllef zum Trickplay lokal späicheren", + "LabelScheduledTaskLastRan": "Leschte Kéier ausgeführt:", + "LabelScreensaver": "Ecran-Schléifer", + "LabelScreensaverTime": "Zäit fürs Ecran-Schléifer", + "LabelScreensaverTimeHelp": "Hëllef zur Écransléifer-Zäit", + "LabelSeasonNumber": "Nummer von der Staffel", + "LabelSelectFolderGroups": "Dossier-Gruppen auswielen", + "LabelSelectFolderGroupsHelp": "Hëllef zu Dossier-Gruppen auswielen", + "LabelSelectVersionToInstall": "Versioun auswielen zum Installéieren", + "LabelSeriesRecordingPath": "Série-Opnam-Chemin", + "LabelServerHostHelp": "Hëllef zum Server Host", + "LabelServerName": "Server Numm", + "LabelServerNameHelp": "Hëllef zum Server Numm", + "LabelServerVersion": "Server Versioun", + "LabelSimultaneousConnectionLimit": "Limit vu gläichzäitege Verbindunge", + "LabelSize": "Gréisst", + "LabelSkipBackLength": "Skip-zréck Längt", + "LabelSkipForwardLength": "Skip-weiter Längt", + "LabelSkipIfAudioTrackPresent": "Skip, wann Audio-Streck präsent", + "LabelSkipIfAudioTrackPresentHelp": "Hëllef zum Skip, wann eng Audio-Streck präsent ass", + "LabelSkipIfGraphicalSubsPresent": "Skip, wann grafesch Sous-titres präsent sinn", + "LabelSkipIfGraphicalSubsPresentHelp": "Hëllef zum Skip, wann grafesch Sous-titres präsent sinn", + "LabelSlowResponseEnabled": "Langsam Äntwert aktivéiert", + "LabelSlowResponseTime": "Langsam Äntwert Zäitraum", + "LabelSortBy": "Zortéieren no", + "LabelSortName": "Zortéier-Numm", + "LabelSortOrder": "Zortéieruerdnung", + "LabelSortTitle": "Zortéier-Titel", + "LabelSource": "Quell", + "LabelSpecialSeasonsDisplayName": "Afleeë-Numm für Special-Seasons", + "LabelSportsCategories": "Sports-Kategorien", + "LabelStable": "Stabil", + "LabelStartWhenPossible": "Ufänken, wann et méiglech ass", + "LabelStatus": "Status", + "LabelStopping": "Am Anhale", + "LabelStopWhenPossible": "Anhalen, wann et méiglech ass", + "LabelStreamType": "Stroum-Typ", + "LabelSubtitleDownloaders": "Sous-titre Downloaders", + "LabelSubtitlePlaybackMode": "Sous-titre Wiedergabe-Modus", + "LabelSubtitleStyling": "Sous-titre-Styl", + "LabelSubtitleVerticalPosition": "Vertikal Positioun vum Sous-titre", + "LabelSyncPlayAccess": "SyncPlay Zougang", + "LabelSyncPlayAccessCreateAndJoinGroups": "Gruppen erstellen a joinen", + "LabelSyncPlayAccessJoinGroups": "Gruppen joinen", + "LabelSyncPlayAccessNone": "Keng Erlaabnis", + "LabelSyncPlayHaltPlayback": "SyncPlay: Wiedergabe stoppen", + "LabelSyncPlayHaltPlaybackDescription": "Erméiglecht et dem Host d'Wiedergabe komplett ze stoppen", + "LabelSyncPlayLeaveGroup": "SyncPlay: Grupp verlossen", + "LabelSyncPlayLeaveGroupDescription": "Erméiglecht et dem Benotzer d'Grupp ze verlossen", + "LabelSyncPlayNewGroup": "SyncPlay: Nei Grupp", + "LabelSyncPlayNewGroupDescription": "Erméiglecht et dem Benotzer eng nei Grupp ze kreéieren", + "LabelSyncPlayNoGroups": "Keng Gruppe verfügbar", + "LabelSyncPlayPlaybackDiff": "Wiedergabe-Differenz", + "LabelSyncPlayResumePlayback": "SyncPlay: Wiedergabe weiderféieren", + "LabelSyncPlayResumePlaybackDescription": "Erméiglecht dem Host d'Wiedergabe weiderzeféieren", + "LabelSyncPlaySyncMethod": "SyncPlay Sync-Methode", + "LabelSyncPlayTimeSyncOffset": "SyncPlay: Zäitsync-Offset", + "LabelSyncPlaySettingsDescription": "Allgemeng SyncPlay Astellungen", + "LabelSyncPlaySettingsExtraTimeOffset": "Zousätzlech Zäiteversaz", + "LabelSyncPlaySettingsExtraTimeOffsetHelp": "Hëllef zum Zousätzleche Zäiteversaz", + "LabelSyncPlaySettingsSyncCorrection": "Sync-Korrektur", + "LabelSyncPlaySettingsSyncCorrectionHelp": "Hëllef zur Sync-Korrektur", + "LabelSyncPlaySettingsMinDelaySpeedToSync": "Min Delay/Speed zum Sync", + "LabelSyncPlaySettingsMinDelaySpeedToSyncHelp": "Hëllef zum Minimum Delay/Speed zum Sync", + "LabelSyncPlaySettingsMaxDelaySpeedToSync": "Max Delay/Speed zum Sync", + "LabelSyncPlaySettingsMaxDelaySpeedToSyncHelp": "Hëllef zum Maximum Delay/Speed zum Sync", + "LabelSyncPlaySettingsSpeedToSyncDuration": "Dauer vu Speed/Delay zum Sync", + "LabelSyncPlaySettingsSpeedToSyncDurationHelp": "Hëllef zur Dauer vu Speed/Delay zum Sync", + "LabelSyncPlaySettingsMinDelaySkipToSync": "Minimum Delay-Skip zum Sync", + "LabelSyncPlaySettingsMinDelaySkipToSyncHelp": "Hëllef zum Minimum Delay-Skip zum Sync", + "LabelSyncPlaySettingsSpeedToSync": "Vitesse zum Sync", + "LabelSyncPlaySettingsSpeedToSyncHelp": "Hëllef zur Vitesse zum Sync", + "LabelSyncPlaySettingsSkipToSync": "Skip zum Sync", + "LabelSyncPlaySettingsSkipToSyncHelp": "Hëllef zum Skip zum Sync", + "LabelSystem": "System", + "LabelTag": "Tag", + "LabelTagline": "Tagline", + "LabelTextBackgroundColor": "Hannergrondfaarf vum Text", + "LabelTextColor": "Textfaarf", + "LabelTextSize": "Gréisst vum Text", + "LabelTextWeight": "Textgewicht", + "Bold": "Fett", + "LabelTheme": "Thema", + "LabelTime": "Zäit", + "LabelTimeLimitHours": "Zäitableuf (Stonnen)", + "LabelTitle": "Titel", + "LabelTonemappingAlgorithm": "Tonemapping-Algorithmus", + "LabelTonemappingDesat": "Desaturatioun", + "LabelTonemappingDesatHelp": "Hëllef zur Desaturatioun", + "LabelTonemappingParam": "Tonemapping-Parameter", + "LabelTonemappingParamHelp": "Hëllef zum Tonemapping-Parameter", + "LabelTonemappingPeak": "Tonemapping-Peak", + "LabelTonemappingPeakHelp": "Hëllef zum Tonemapping-Peak", + "LabelTonemappingRange": "Tonemapping-Gamme", + "LabelTrackNumber": "Titelnummer", + "LabelTranscodePath": "Transcode-Chemin", + "LabelTranscodes": "Transcodes", + "LabelTranscodingFramerate": "Transcode-Biller pro Sekonn", + "LabelTranscodingProgress": "Transcoding-Fortschrëtt", + "LabelTranscodingTempPathHelp": "Hëllef zum temporäre Transcoding-Chemin", + "LabelTranscodingThreadCount": "Transcoding-Thread-Zuel", + "LabelTranscodingThreadCountHelp": "Hëllef zur Transcoding-Thread-Zuel", + "LabelTriggerType": "Ausléiser-Typ", + "LabelTunerIpAddress": "Tuner IP-Adress", + "LabelTunerType": "Tuner-Typ", + "LabelTVHomeScreen": "TV-Heem-Écran", + "LabelTypeMetadataDownloaders": "Typ Metadaten-Downloaders", + "LabelTypeText": "Typ: Text", + "LabelUnstable": "Instabil", + "LabelUser": "Benotzer", + "LabelUserAgent": "Benotzer-Agent", + "LabelUserLoginAttemptsBeforeLockout": "Loginversich innan de Benotzer gespärt gëtt", + "LabelUserMaxActiveSessions": "Max aktiv Sessiounen pro Benotzer", + "LabelUsername": "Benotzernumm", + "LabelUserRemoteClientBitrateLimitHelp": "Hëllef zum Fjäerteg Bitrate-Limit pro Benotzer", + "LabelVaapiDevice": "VAAPI-Gerät", + "LabelVaapiDeviceHelp": "Hëllef zum VAAPI-Gerät", + "LabelValue": "Wäert", + "LabelVersion": "Versioun", + "LabelVersionInstalled": "Installéiert Versioun", + "LabelVideoBitrate": "Video Bitrate", + "LabelVideoCodec": "Video-Codec", + "LabelVideoRange": "Video-Gamme", + "LabelVideoResolution": "Video-Opléisung", + "LabelSelectPreferredTranscodeVideoCodec": "Léiwe Transcode-Video-Codec auswielen", + "LabelWeb": "Web", + "LabelYoureDone": "Dir sidd fäerdeg", + "LabelZipCode": "Postleitzuel", + "LanNetworksHelp": "Hëllef zu LAN-Netzwierker", + "Large": "Grouss", + "Larger": "Méi Grouss", + "LastSeen": "Leschte Kéier gesinn", + "LatestFromLibrary": "Dat Neist aus der Bibliothéik", + "LearnHowYouCanContribute": "Léier, wéi s du konnt hëllefen", + "Letterer": "Letterer", + "LibraryAccessHelp": "Hëllef zum Zougang zu der Bibliothéik", + "LibraryScanFanoutConcurrency": "Konkurrenz beim Bibliothéik-Scan (Fanout)", + "LibraryScanFanoutConcurrencyHelp": "Hëllef zur Paralleliséierung (Fanout) beim Bibliothéik-Scan", + "LibraryInvalidItemIdError": "Ongülteg Item ID an der Bibliothéik", + "LimitSupportedVideoResolution": "Maximal erlaabt Video-Opléisung", + "LimitSupportedVideoResolutionHelp": "Hëllef zur limitéierter erlaabter Video-Opléisung", + "List": "Lëscht", + "ListView": "Lëscht Vue", + "ListPaging": "Lëscht Paginatioun", + "Live": "Live", + "LiveBroadcasts": "Live Emissiounen", + "LiveTV": "Live TV", + "Localization": "Lokalisatioun", + "LogLevel.Trace": "Spuer", + "LogLevel.Debug": "Debug", + "LogLevel.Information": "Informatiounen", + "LogLevel.Warning": "Warnung", + "LogLevel.Error": "Feeler", + "LogLevel.Critical": "Kriteschen", + "LogLevel.None": "Keng", + "Logo": "Logo", + "LogoScreensaver": "Logo Écran-Schléifer", + "Lyric": "Liddentext", + "Lyricist": "Texter", + "Lyrics": "Songtexte", + "LyricDownloadersHelp": "Hëllef zum Erofluede vu Songtexter", + "ManageLibrary": "Bibliothéik verwalten", + "ManageRecording": "Opnam verwalten", + "MapChannels": "Kanäl zourodnen", + "MarkPlayed": "Als gekuckt markieren", + "MarkUnplayed": "Als ongekuckt markieren", + "MaxParentalRatingHelp": "Hëllef zur maximaler Elterenbewäertung", + "MediaInfoAnamorphic": "Anamorphesch", + "MediaInfoAspectRatio": "Aspect Ratio", + "MediaInfoBitDepth": "Bit-Tiefe", + "MediaInfoBitrate": "Bitrate", + "MediaInfoChannels": "Kanäl", + "MediaInfoCodec": "Codec", + "MediaInfoCodecTag": "Codec Tag", + "MediaInfoColorPrimaries": "Color Primaries", + "MediaInfoColorSpace": "Color Space", + "MediaInfoColorTransfer": "Color Transfer", + "MediaInfoContainer": "Container", + "MediaInfoDefault": "Standard", + "MediaInfoExternal": "Extern", + "MediaInfoForced": "Erzwongen", + "MediaInfoFramerate": "Biller pro Sekonn", + "MediaInfoInterlaced": "Interlaced", + "MediaInfoLanguage": "Sprooch", + "MediaInfoLayout": "Layout", + "MediaInfoLevel": "Niveau (Level)", + "MediaInfoPath": "Chemin", + "MediaInfoPixelFormat": "Pixelformat", + "MediaInfoProfile": "Profil", + "MediaInfoRefFrames": "Ref. Biller (Frames)", + "MediaInfoResolution": "Opléisung", + "MediaInfoRotation": "Rotatioun", + "MediaInfoSampleRate": "Sampleraate", + "MediaInfoSize": "Gréisst", + "MediaInfoTimestamp": "Zäitemstempel", + "MediaInfoTitle": "Titel", + "MediaInfoVideoRange": "Video-Gamme", + "MediaIsBeingConverted": "Medien gëtt konvertéiert", + "MediaSegmentAction.None": "Näischt", + "MediaSegmentAction.AskToSkip": "Froen ob iwwersprangen", + "MediaSegmentAction.Skip": "Iwwersprangen", + "MediaSegmentProvidersHelp": "Hëllef zu Medien-Segment-Provideren", + "MediaSegmentSkipPrompt": "Soll dëst Segment iwwersprongen ginn?", + "MediaSegmentType.Commercial": "Reklamm", + "MediaSegmentType.Intro": "Intro", + "MediaSegmentType.Outro": "Outro", + "MediaSegmentType.Preview": "Prévisioun", + "MediaSegmentType.Recap": "Zesummefaassung", + "MenuOpen": "Menü opmaachen", + "MenuClose": "Menü zoumaachen", + "MessageAddRepository": "Wëllt Dir dëse Repository derbäisetzen?", + "MessageAreYouSureDeleteSubtitles": "Sidd Dir sécher, datt Dir dës Sous-titres läsche wëllt?", + "MessageAreYouSureYouWishToRemoveMediaFolder": "Sidd Dir sécher, datt Dir dëse Medie-Dossier ewechhuele wëllt?", + "MessageCancelSeriesTimerError": "Feeler beim Opbriechen vum Série-Timer", + "MessageCancelTimerError": "Feeler beim Opbriechen vum Timer", + "MessageChangeRecordingPath": "Opnam-Chemin änneren", + "MessageConfirmAppExit": "Sidd Dir sécher, datt Dir d'App beendegen wëllt?", + "MessageConfirmDeleteGuideProvider": "Sidd Dir sécher, datt Dir de Guide Provider läsche wëllt?", + "MessageConfirmDeleteTunerDevice": "Sidd Dir sécher, datt Dir d'Tuner-Gerät läsche wëllt?", + "MessageConfirmRecordingCancellation": "Sidd Dir sécher, datt Dir dës Opnam opbrieche wëllt?", + "MessageConfirmRemoveMediaLocation": "Sidd Dir sécher, datt Dir dës Medie-Location ewechhuele wëllt?", + "MessageConfirmRestart": "Sidd Dir sécher, datt Dir de Server neustarten wëllt?", + "MessageConfirmRevokeApiKey": "Sidd Dir sécher, datt Dir dësen API-Schlëssel révoquéieren wëllt?", + "MessageConfirmShutdown": "Sidd Dir sécher, datt Dir de Server ausschalten wëllt?", + "MessageContactAdminToResetPassword": "Kontaktéiert wannechgelift den Admin, wann Dir Äert Passwuert zerécksetze wëllt.", + "MessageCreateAccountAt": "Erstellt e Kont op {0}", + "MessageDeleteTaskTrigger": "Sidd Dir sécher, datt Dir dës Aufgabetrigger läsche wëllt?", + "MessageDirectoryPickerBSDInstruction": "Gitt de BSD-Dossierpfad an.", + "MessageDirectoryPickerLinuxInstruction": "Gitt de Linux-Dossierpfad an.", + "MessageDownloadQueued": "Erofluede as an d'Waardeschlaang gesat ginn", + "MessageEnablingOptionLongerScans": "Dës Optioun aktivéieren kann d'Lieszäit verlängeren.", + "MessageFileReadError": "Feeler beim Liese vun der Datei", + "MessageForgotPasswordFileCreated": "Eng Passwuert-Wiederherstellungdatei gouf erstallt.", + "MessageForgotPasswordInNetworkRequired": "Dir musst Iech am selwechte Netzwierk befannen, fürs Passwuert zeréckzusetzen.", + "MessageGetInstalledPluginsError": "Feeler beim Erfaassen vun installéierte Plugins", + "MessageImageFileTypeAllowed": "Erlaabt Bildtyp: {0}", + "MessageImageTypeNotSelected": "Keng Bildtyp ausgewielt.", + "MessageInvalidForgotPasswordPin": "De PIN ass ongëlteg.", + "MessageInvalidUser": "Ongëltegen Benotzer.", + "MessageItemsAdded": "Elementer derbäigesat", + "MessageItemSaved": "Element gespäichert", + "MessageLeaveEmptyToInherit": "Loosst eidel, wann Dir d'Adaptatioun verierwen wëllt", + "MessageNoItemsAvailable": "Keng Elementer verfügbar", + "MessageNoFavoritesAvailable": "Keng Favoritten verfügbar", + "MessageNoAvailablePlugins": "Keng verfügbar Plugins", + "MessageNoCollectionsAvailable": "Keng Kollektiounen verfügbar", + "MessageNoGenresAvailable": "Keng Generen verfügbar", + "MessageNoMovieSuggestionsAvailable": "Keng Filmproposen verfügbar", + "MessageNoNextUpItems": "Keng Next-Up Elementer verfügbar", + "MessageNoPluginConfiguration": "Keng Plugin-Konfiguratioun verfügbar", + "MessageNoPluginsInstalled": "Keng Plugins installéiert", + "MessageNoRepositories": "Keng Repositories verfügbar", + "MessageNoServersAvailable": "Keng Serveren verfügbar", + "MessageNothingHere": "Näischt hei", + "MessageNoTrailersFound": "Keng Trailers fonnt", + "MessagePasswordResetForUsers": "D'Passwierder goufen zeréckgesat", + "MessagePlayAccessRestricted": "Zougang zur Wiedergabe ass limitéiert", + "MessagePleaseEnsureInternetMetadata": "Gitt w.e.g. sécher, datt d'Internet-Metadaten aktiviert sinn", + "MessagePluginConfigurationRequiresLocalAccess": "D'Plugin-Konfiguratioun erfuerdert lokalen Zougang", + "MessagePluginInstallDisclaimer": "Duerch d'Installéiere vum Plugin akzeptéiert Dir d'Konditiounen vum Drëttanbieter", + "MessagePluginInstalled": "Plugin installéiert", + "MessagePluginInstallError": "Feeler beim Installéiere vum Plugin", + "MessageReenableUser": "Benotzer erëm aktivéieren", + "MessageRenameMediaFolder": "Medien-Dossier ëmbenennen", + "MessageRepositoryInstallDisclaimer": "Dir akzeptéiert d'Konditiounen vum Repository bei der Installatioun", + "MessageSent": "Noriicht geschéckt", + "MessageSplitVersionsError": "Feeler beim Deelen vu Versiounen", + "MessageSyncPlayCreateGroupDenied": "Erstellung vun der SyncPlay-Gruppe verweigert", + "MessageSyncPlayDisabled": "SyncPlay ass deaktivéiert", + "MessageSyncPlayEnabled": "SyncPlay ass aktivéiert", + "MessageSyncPlayErrorAccessingGroups": "Feeler beim Zougang zu SyncPlay-Gruppen", + "MessageSyncPlayErrorMedia": "SyncPlay-Feeler: Mediendatei", + "MessageSyncPlayErrorMissingSession": "SyncPlay-Feeler: Sessioun fehlt", + "MessageSyncPlayErrorNoActivePlayer": "SyncPlay-Feeler: Keng aktiv Wiedergabe", + "MessageSyncPlayGroupDoesNotExist": "SyncPlay-Grupp existéiert net méi", + "MessageSyncPlayGroupWait": "Waardet op d'Grupp", + "MessageSyncPlayIsDisabled": "SyncPlay ass deaktivéiert", + "MessageSyncPlayJoinGroupDenied": "Grupp beitreten verweigert", + "MessageSyncPlayLibraryAccessDenied": "Zougang zur SyncPlay-Bibliothéik verweigert", + "MessageSyncPlayNoGroupsAvailable": "Keng SyncPlay-Gruppen verfügbar", + "MessageSyncPlayPlaybackPermissionRequired": "Erlaabnis zur Wiedergabe ass erfuerdert", + "MessageSyncPlayUserJoined": "{0} ass der Grupp bäigetrueden", + "MessageSyncPlayUserLeft": "{0} huet d'Grupp verlossen", + "MessageTheFollowingLocationWillBeRemovedFromLibrary": "Dës Location gëtt aus der Bibliothéik ewechgeholl:", + "MessageUnableToConnectToServer": "Kann net mam Server verbannen", + "MessageUnauthorizedUser": "Benotzer huet keng Autorisatioun", + "MessageUnsetContentHelp": "Hëllef zum Ausstellungen vun Inhaltstyp", + "MetadataManager": "Metadate-Manager", + "MetadataSettingChangeHelp": "Hëllef zu Ännerunge vu Metadate-Astellungen", + "MillisecondsUnit": "Millisekonnen", + "MinutesAfter": "Minutten nodeems", + "MinutesBefore": "Minutten ier", + "MixedMoviesShows": "Gemëscht Filmer & Serien", + "Mixer": "Mixer", + "Mobile": "Mobil", + "Monday": "Méindeg", + "MoreFromValue": "Méi vu {0}", + "MoreMediaInfo": "Méi Medieninfo", + "MoreUsersCanBeAddedLater": "Méi Benotzer kënne spéider derbäigesat ginn", + "MoveLeft": "Réckele lénks", + "MoveRight": "Réckele riets", + "MoveToBottom": "An d'Enn réckelen", + "MoveToTop": "Un Ufang réckelen", + "Movie": "Film", + "MovieLibraryHelp": "Hëllef zur Film-Bibliothéik", + "Movies": "Filmer", + "MoviesAndShows": "Filmer & Serien", + "MusicAlbum": "Museksalbum", + "MusicArtist": "Musekskënschtler", + "MusicLibraryHelp": "Hëllef zur Museks-Bibliothéik", + "MusicVideo": "Museksvideo", + "MusicVideos": "Museksvideoen", + "Mute": "Stommen", + "MySubtitles": "Meng Sous-titres", + "Native": "Natierlech", + "NativeSubtitleStylingHelp": "Hëllef zum natierleche Sous-titre-Styl", + "Never": "Niemols", + "New": "Nei", + "NewCollection": "Nei Kollektioun", + "NewCollectionHelp": "Hëllef zur neier Kollektioun", + "NewCollectionNameExample": "Beispill: \"MengLieblingsKollektioun\"", + "NewEpisodes": "Nei Episoden", + "NewEpisodesOnly": "Just nei Episoden", + "News": "Noriichten", + "Next": "Nächst", + "NextChapter": "Nächst Kapitel", + "NextTrack": "Nächst Titel", + "NextUp": "Next Up", + "No": "Neen", + "NoCreatedLibraries": "Keng erstallte Bibliothéiken", + "NoLyricsSearchResultsFound": "Keng Songtexter fonnt", + "None": "Keng", + "NoNewDevicesFound": "Keng nei Geräter fonnt", + "NoSubtitleSearchResultsFound": "Keng Sous-titres fonnt", + "NoSubtitlesHelp": "Keng Sous-titres – Hëllef an d'Astellungen kontrolléieren", + "NumLocationsValue": "Zuel vu Locations", + "Off": "Aus", + "OnApplicationStartup": "Beim Start vum Programm", + "OneChannel": "Een Kanal", + "OnlyForcedSubtitles": "Just erzwongen Sous-titres", + "OnlyForcedSubtitlesHelp": "Hëllef zu just erzwongen Sous-titres", + "OnlyImageFormats": "Just Bildformaten erlaabt", + "OnWakeFromSleep": "Beim Erwächen aus dem Sleep-Modus", + "Option3D": "3D-Optioun", + "OptionAllowAudioPlaybackTranscoding": "Erlaabt Audio Wiedergabe Transkodéierung", + "OptionAllowBrowsingLiveTv": "Erlaabt d'Duerchbliedere vu Live TV", + "OptionAllowContentDownload": "Erlaabt d'Erofluede vun Inhalter", + "OptionAllowContentDownloadHelp": "Hëllef zum Erlaaben d'Erofluede vun Inhalter", + "OptionAllowLinkSharing": "Erlaabt Link-Deelen", + "OptionAllowLinkSharingHelp": "Hëllef zum Deelen vu Links", + "OptionAllowManageLiveTv": "Erlaabt d'Verwaltung vu Live TV", + "OptionAllowMediaPlayback": "Erlaabt d'Media Wiedergabe", + "OptionAllowMediaPlaybackTranscodingHelp": "Hëllef zum Transkodéiere vu Media Wiedergabe", + "OptionAllowRemoteControlOthers": "Erlaabt fjaerteg Steierung vu anere Geräter", + "OptionAllowRemoteSharedDevices": "Erlaabt de Gebrauch vu remoto-partagéierte Geräter", + "OptionAllowRemoteSharedDevicesHelp": "Hëllef zum Gebrauch vu remoto-partagéierte Geräter", + "OptionAllowSyncTranscoding": "Erlaabt Sync-Transkodéierung", + "OptionAllowUserToManageServer": "Erlaabt dem Benotzer de Server ze verwalten", + "OptionAllowVideoPlaybackRemuxing": "Erlaabt Video Wiedergabe Remuxing", + "OptionAllowVideoPlaybackTranscoding": "Erlaabt Video Wiedergabe Transkodéierung", + "OptionAutomaticallyGroupSeries": "Sérien automatesch gruppéieren", + "OptionAutomaticallyGroupSeriesHelp": "Hëllef zum automatesche Gruppéiere vu Sérien", + "OptionCommunityRating": "Communautéitsbewäertung", + "OptionCriticRating": "Kritikerbewäertung", + "OptionDaily": "All Dag", + "OptionDateAdded": "Datum derbäigesat", + "OptionDateEpisodeAdded": "Datum derbäigesat (Episode)", + "OptionDateShowAdded": "Datum derbäigesat (Série/Show)", + "OptionDateAddedFileTime": "Datum derbäigesat uhand dem Datei-Zeitstempel", + "OptionDateAddedImportTime": "Datum derbäigesat uhand der Import-Zeit", + "OptionDatePlayed": "Datum gespillt", + "OptionDisableUser": "Benotzer deaktivéieren", + "OptionDisableUserHelp": "Hëllef zum Deaktivéiere vum Benotzer", + "OptionDisplayFolderViewHelp": "Hëllef zur Ordner Vue affichéieren", + "OptionEnableAccessFromAllDevices": "Zougang vu alle Geräter erlaaben", + "OptionEnableAccessToAllChannels": "Zougang zu alle Kanäl erlaaben", + "OptionEnableAccessToAllLibraries": "Zougang zu alle Bibliothéiken erlaaben", + "OptionEnableExternalContentInSuggestions": "Externe Inhalt an de Proposen erlaaben", + "OptionEnableExternalContentInSuggestionsHelp": "Hëllef zum Erlaaben vu externem Inhalt an de Proposen", + "OptionEnableForAllTuners": "Erlaaben für all Tuner", + "OptionEveryday": "All Dag", + "OptionExtractChapterImage": "Kapitel-Bild extrahéieren", + "OptionForceRemoteSourceTranscoding": "Erzwéng Remote-Quell-Transkodéierung", + "OptionHasThemeSong": "Huet en Theme-Song", + "OptionHideUser": "Benotzer verstoppen", + "OptionHideUserFromLoginHelp": "Hëllef zum Verstoppe vum Benotzer beim Loginécran", + "OptionIsHD": "Ass HD", + "OptionIsSD": "Ass SD", + "OptionLoginAttemptsBeforeLockout": "Versich ier d'Benotzerkont gespaart gëtt", + "OptionLoginAttemptsBeforeLockoutHelp": "Hëllef zu der Unzuel vu Versich ier gespaart gëtt", + "OptionMax": "Maximum", + "OptionMaxActiveSessions": "Max aktiv Sessiounen", + "OptionMaxActiveSessionsHelp": "Hëllef zum Max aktiv Sessiounen", + "OptionMissingEpisode": "Fehlend Episode", + "OptionNew": "Nei", + "OptionOnInterval": "All X Minutten/Stonnen", + "OptionPlayCount": "Spielzuel", + "OptionPremiereDate": "Première-Datum", + "OptionRandom": "Zoufälleg", + "OptionReleaseDate": "Verëffentlechungsdatum", + "OptionRequirePerfectSubtitleMatch": "Perfekt Sous-titre-Match erfuerdert", + "OptionRequirePerfectSubtitleMatchHelp": "Hëllef zum Perfekte Sous-titre-Match", + "OptionResumable": "Weiderguckbar", + "OptionSaveMetadataAsHidden": "Metadaten als verstoppt späicheren", + "OptionSaveMetadataAsHiddenHelp": "Hëllef zum Späicheren vu Metadaten als verstoppt", + "OptionSpecialEpisode": "Special Episode", + "OptionTrackName": "Titel-Numm", + "OptionTvdbRating": "TheTVDB-Bewäertung", + "OptionUnairedEpisode": "Net ausgestrahlte Episode", + "OptionWakeFromSleep": "Aus dem Sleep erwächen", + "OptionWeekdays": "Wochendeeg", + "OptionWeekends": "Weekend", + "OptionWeekly": "Wöchentlich", + "OriginalAirDate": "Original Ausstrahlungsdatum", + "OriginalAirDateValue": "Original Ausstrahlungsdatum: {0}", + "Other": "Anescht", + "OtherArtist": "Anere Kënschtler", + "Overview": "Iwwersiicht", + "PackageInstallCancelled": "Package-Installatioun anuléiert", + "PackageInstallCompleted": "Package-Installatioun ofgeschloss", + "PackageInstallFailed": "Package-Installatioun gescheitert", + "ParentalRating": "Elterenbewäertung", + "PasswordMatchError": "Passwierder sinn net identesch", + "PasswordRequiredForAdmin": "Ein Admin-Passwuert ass erfuerdert", + "PasswordResetComplete": "Passwuert erfolgreich zeréckgesat", + "PasswordResetConfirmation": "D'Passwuert gouf zeréckgesat", + "PasswordResetProviderHelp": "Hëllef zum Passwuert-Reset-Provider", + "PasswordMissingSaveError": "Passwuert fehlt, späicheren net méiglech", + "PasswordSaved": "Passwuert gespäichert", + "PathNotFound": "Chemin net fonnt", + "Penciller": "Zeener (Penciller)", + "People": "Leit", + "PerfectMatch": "Perfekte Match", + "Person": "Persoun", + "PersonRole": "Persoun/Roll", + "Photo": "Foto", + "Photos": "Fotoen", + "PictureInPicture": "Bild am Bild", + "PlaceFavoriteChannelsAtBeginning": "Favoritte-Kanäl am Ufank placéieren", + "Play": "Spillen", + "PlayAllFromHere": "Alles von hei spillen", + "PlaybackData": "Wiedergabe-Donnéeën", + "PlaybackError.ASS_RENDER_ERROR": "Feeler beim ASS-Renderen", + "PlaybackError.FATAL_HLS_ERROR": "Fatalen HLS-Feeler", + "PlaybackError.MEDIA_DECODE_ERROR": "Media-Dekodéierungsfeeler", + "PlaybackError.MEDIA_NOT_SUPPORTED": "Medien net unterstützt", + "PlaybackError.NETWORK_ERROR": "Netzwierkfeeler", + "PlaybackError.NO_MEDIA_ERROR": "Keng Mediendatei fonnt", + "PlaybackError.PLAYER_ERROR": "Wiedergabe-Feeler", + "PlaybackError.NotAllowed": "Net erlaabt", + "PlaybackError.RateLimitExceeded": "Rate-Limit iwwerschratt", + "PlaybackErrorNoCompatibleStream": "Keng kompatibel Stroum fonnt", + "PlaybackErrorPlaceHolder": "Feeler bei der Wiedergabe", + "PlaybackRate": "Wiedergabevitess", + "PlayCount": "Spillzuel", + "Played": "Gekuckt", + "PlayFromBeginning": "Vun Ufank u spillen", + "PlaylistError.AddFailed": "Fehler beim Derbäisetzen", + "PlaylistError.CreateFailed": "Fehler beim Erstellen", + "PlaylistError.UpdateFailed": "Fehler beim Aktualiséieren", + "PlaylistPublic": "Öffentlech Playlëscht", + "PlaylistPublicDescription": "Kann vu jidderengem agekuckt ginn", + "Playlists": "Playlëschten", + "PlayNext": "Nächst spillen", + "PlayNextEpisodeAutomatically": "Nächst Episode automatesch spillen", + "PleaseAddAtLeastOneFolder": "Füügt w.e.g. mindestens een Dossier derbäi", + "PleaseConfirmRepositoryInstallation": "Confirme d'Installatioun vum Repository", + "PleaseEnterNameOrId": "Gitt w.e.g. en Numm oder ID an", + "PleaseRestartServerName": "Start de {0} w.e.g. erëm", + "PleaseSelectTwoItems": "Wielt w.e.g. zwee Elementer aus", + "PluginDisableError": "Fehler beim Deaktivéiere vum Plugin", + "PluginEnableError": "Fehler beim Aktivéiere vum Plugin", + "PluginLoadConfigError": "Fehler beim Luede vun der Plugin-Konfiguratioun", + "PluginLoadRepoError": "Fehler beim Luede vum Repository", + "PluginUninstallError": "Fehler beim Deinstalléiere vum Plugin", + "Poster": "Affiche", + "PosterCard": "Affiche-Kaart", + "PreferEmbeddedEpisodeInfosOverFileNames": "Embeddéierten Episodeninfo anstatt Dateinumm bevorzugen", + "PreferEmbeddedEpisodeInfosOverFileNamesHelp": "Hëllef zum Bevorzugen vu embeddéierten Episodeninfo", + "PreferEmbeddedExtrasTitlesOverFileNames": "Embeddéierten Extras-Titel anstatt Dateinumm bevorzugen", + "PreferEmbeddedExtrasTitlesOverFileNamesHelp": "Hëllef zum Bevorzugen vu embeddéierten Extras-Titelen", + "PreferEmbeddedTitlesOverFileNames": "Embeddéierten Titel anstatt Dateinumm bevorzugen", + "PreferEmbeddedTitlesOverFileNamesHelp": "Hëllef zum Bevorzugen vum embeddéierten Titel", + "PreferNonstandardArtistsTag": "Net-Standard Kënschtler-Tag bevorzugen", + "PreferNonstandardArtistsTagHelp": "Hëllef zum Bevorzugen vu Net-Standard Kënschtler-Tags", + "AllowEmbeddedSubtitles": "Erlaabt embeddéierten Sous-titres", + "AllowEmbeddedSubtitlesAllowAllOption": "Alles erlaaben", + "AllowEmbeddedSubtitlesAllowNoneOption": "Näischt erlaaben", + "AllowEmbeddedSubtitlesAllowImageOption": "Grafesch Sous-titres erlaaben", + "AllowEmbeddedSubtitlesAllowTextOption": "Textuell Sous-titres erlaaben", + "Premiere": "Première", + "Premieres": "Premièren", + "Preview": "Prévisioun", + "PreviewLyrics": "Texter-Virschau", + "Previous": "Vireg", + "PreviousChapter": "Viregt Kapitel", + "PreviousTrack": "Viregt Titel", + "Primary": "Primär", + "Print": "Drécken", + "Producer": "Produzent", + "ProductionLocations": "Produktiounslokatioune", + "Profile": "Profil", + "Programs": "Programmer", + "Quality": "Qualitéit", + "QuickConnect": "QuickConnect", + "QuickConnectActivationSuccessful": "QuickConnect-Aktivéierung ass gelongen", + "QuickConnectAuthorizeCode": "QuickConnect-Autorisatiounscode", + "QuickConnectAuthorizeFail": "QuickConnect-Autorisatioun ass gescheitert", + "QuickConnectAuthorizeSuccess": "QuickConnect-Autorisatioun ass gelongen", + "QuickConnectDeactivated": "QuickConnect ass deaktivéiert", + "QuickConnectDescription": "Benotzt QuickConnect, ohne Portweiterleitungen ze konfiguréieren.", + "QuickConnectInvalidCode": "QuickConnect-Code ass ongëlteg", + "QuickConnectNotActive": "QuickConnect ass net aktiv", + "QuickConnectNotAvailable": "QuickConnect ass net verfügbar", + "Raised": "Héichgezunn", + "Rate": "Bewäerten", + "RecentlyWatched": "Rezent gekuckt", + "RecommendationBecauseYouLike": "Empfehlung well Dir {0} gären hutt", + "RecommendationBecauseYouWatched": "Empfehlung well Dir {0} gekuckt hutt", + "RecommendationDirectedBy": "Réaliséiert vum {0}", + "RecommendationStarring": "Mat {0} an der Haaptroll", + "Record": "Ophuelen", + "RecordingCancelled": "Opnam opgehale", + "Recordings": "Opnamen", + "RecordingScheduled": "Opnam geplangt", + "RecordSeries": "Série ophuelen", + "Refresh": "Aktualiséieren", + "RefreshDialogHelp": "Hëllef zum Aktualiséieren", + "RefreshMetadata": "Metadaten aktualiséieren", + "RefreshQueued": "Aktualiséierung an d'Waardeschlaang gesat", + "Regional": "Regiounen-bezunn", + "ReleaseDate": "Verëffentlechungsdatum", + "ReleaseGroup": "Verëffentleche Grupp", + "RememberAudioSelections": "Audio-Auswiel späicheren", + "RememberAudioSelectionsHelp": "Hëllef zum Späichere vun der Audio-Auswiel", + "RememberMe": "Angemellt bleiwen", + "RememberSubtitleSelections": "Sous-titre-Auswiel späicheren", + "RememberSubtitleSelectionsHelp": "Hëllef zum Späichere vun der Sous-titre-Auswiel", + "RemoveFromCollection": "Aus der Kollektioun ewechhuelen", + "RemoveFromPlaylist": "Aus der Playlëscht ewechhuelen", + "RenderPgsSubtitle": "PGS-Sous-titre renderer benotzen", + "RenderPgsSubtitleHelp": "Hëllef zum Renderen vu PGS-Sous-titres", + "Repeat": "Wiederhuelen", + "RepeatAll": "Alles wiederhuelen", + "RepeatEpisodes": "Episoden wiederhuelen", + "RepeatMode": "Wiederhuel-Modus", + "RepeatOne": "Een wiederhuelen", + "ReplaceAllMetadata": "All Metadaten ersetzen", + "ReplaceExistingImages": "Existéierend Biller ersetzen", + "ReplaceTrickplayImages": "Trickplay-Biller ersetzen", + "Reset": "Zerécksetzen", + "ResetPassword": "Passwuert zerécksetzen", + "ResolutionMatchSource": "Opléisung = Quell", + "Restart": "Neustarten", + "ResumeAt": "Weiderfueren bei {0}", + "Rewind": "Zréckspulen", + "Runtime": "Dauer", + "Saturday": "Samschdeg", + "Save": "Späicheren", + "SaveLyricsIntoMediaFolders": "Songtexter an d'Media-Dossieren späicheren", + "SaveLyricsIntoMediaFoldersHelp": "Hëllef zum Späicheren vu Songtexter an d'Media-Dossieren", + "SavePassword": "Passwuert späicheren", + "SaveRecordingNFO": "NFO-Datei für d'Opnam späicheren", + "SaveRecordingNFOHelp": "Hëllef zur NFO-Späicherung für d'Opnam", + "SaveRecordingImages": "Opnam-Biller späicheren", + "SaveRecordingImagesHelp": "Hëllef zum Späicheren vun Opnam-Biller", + "SaveSubtitlesIntoMediaFolders": "Sous-titres an d'Media-Dossieren späicheren", + "SaveSubtitlesIntoMediaFoldersHelp": "Hëllef zum Späicheren vu Sous-titres an d'Media-Dossieren", + "ScanForNewAndUpdatedFiles": "No neien & aktualiséierte Fichieren suchen", + "ScanLibrary": "Bibliothéik scannen", + "Schedule": "Planung", + "ScreenResolution": "Écran-Opléisung", + "Search": "Sichen", + "SearchForCollectionInternetMetadata": "No Kollektiouns-Internetmetadaten suchen", + "SearchForLyrics": "No Songtexter suchen", + "SearchForMissingMetadata": "No fehlende Metadaten suchen", + "SearchForSubtitles": "No Sous-titres suchen", + "SearchResults": "Sucherésultat", + "SearchResultsEmpty": "Keng Resultater", + "SecondarySubtitles": "Sekundär Sous-titres", + "SelectAdminUsername": "Wielt en Admin-Benotzernumm", + "SelectPreferredTranscodeVideoCodecHelp": "Hëllef zum Auswielen vum léiwe Transcode-Video-Codec", + "SelectPreferredTranscodeVideoAudioCodecHelp": "Hëllef zum Auswielen vum léiwe Transcode-Video/Audio-Codec", + "SelectServer": "Server auswielen", + "SendMessage": "Noriicht schécken", + "Series": "Série", + "SeriesCancelled": "Série opgehale", + "SeriesDisplayOrderHelp": "Hëllef zur Afleeë-Reiefolleg vu Serienstaffelen a Episoden", + "SeriesRecordingScheduled": "Série-Opnam geplangt", + "SeriesSettings": "Série-Astellungen", + "SeriesYearToPresent": "{0} – Haut", + "ServerNameIsRestarting": "{0} gëtt restart", + "ServerNameIsShuttingDown": "{0} gëtt ausgemaach", + "ServerRestartNeededAfterPluginInstall": "En Neustart ass erfuerdert, nodeems e Plugin installéiert gouf", + "ServerUpdateNeeded": "De Server huet en Update noutwendeg", + "Settings": "Astellungen", + "SettingsSaved": "Astellungen gespäichert", + "SettingsWarning": "Warnung: Kontolléiert Astellungen", + "Share": "Deelen", + "ShowAdvancedSettings": "Erweidert Astellungen weisen", + "ShowIndicatorsFor": "Indicateuren weisen für", + "ShowLess": "Manner weisen", + "ShowMore": "Méi weisen", + "ShowParentImages": "Elteren-Biller weisen", + "Shows": "Shows", + "ShowTitle": "Showtitel", + "ShowYear": "Joer weisen", + "Shuffle": "Zoufälleg mëschen", + "SimultaneousConnectionLimitHelp": "Hëllef zur Limite vu gläichzäitege Verbindunge", + "SkipEpisodesAlreadyInMyLibrary": "Episoden iwwersprangen, déi ech scho besëtzen", + "SkipEpisodesAlreadyInMyLibraryHelp": "Hëllef zum Iwwersprangen von Episoden, déi scho in Ärer Bibliothéik sinn", + "Small": "Kleng", + "SmallCaps": "Keng Groossbuschtawen", + "Smaller": "Méi kleng", + "Smart": "Smart", + "SmartSubtitlesHelp": "Hëllef zu Smart Sous-titres", + "Songs": "Lidder", + "Sort": "Zortéieren", + "SortByValue": "Zortéieren no {0}", + "SortChannelsBy": "Kanäl zortéieren no", + "SortName": "Zortéiernumm", + "SpecialFeatures": "Spezialfeatures", + "Sports": "Sport", + "StereoDownmixAlgorithmHelp": "Hëllef zum Stereo-Downmix-Algorithmus", + "StoryArc": "Geschichtsbou", + "StopPlayback": "Wiedergabe anhalen", + "StopRecording": "Opnam anhalen", + "Studio": "Studio", + "Studios": "Studios", + "Subtitle": "Sous-titre", + "SubtitleAppearanceSettingsAlsoPassedToCastDevices": "Sous-titre Erschéngungsastellungen: Hierdie Astellungen gelten och für Cast-Geräter", + "SubtitleAppearanceSettingsDisclaimer": "Setzungen können je nach Plattform geréngfügig varieréieren", + "SubtitleBlack": "Schwaarz", + "SubtitleBlue": "Blo", + "SubtitleCyan": "Cyan", + "SubtitleDownloadersHelp": "Hëllef zu Sous-titre Downloaders", + "SubtitleGray": "Grau", + "SubtitleGreen": "Gréng", + "SubtitleLightGray": "Hellgrau", + "SubtitleMagenta": "Magenta", + "SubtitleOffset": "Sous-titre Offset", + "SubtitleRed": "Rout", + "Subtitles": "Sous-titres", + "SubtitleVerticalPositionHelp": "Hëllef zur vertikaler Positioun vu Sous-titres", + "SubtitleWhite": "Wäiss", + "SubtitleYellow": "Giel", + "Suggestions": "Proposen", + "Sunday": "Sonndeg", + "SyncPlayAccessHelp": "Hëllef zum SyncPlay-Zougang", + "SyncPlayGroupDefaultTitle": "Grupp", + "TabAccess": "Zougang", + "TabAdvanced": "Erweidert", + "TabCatalog": "Katalog", + "TabDashboard": "Dashboard", + "TabLatest": "Lescht", + "TabLogs": "Logs", + "TabMusic": "Musek", + "TabMyPlugins": "Meng Plugins", + "TabNetworking": "Netzwierk", + "TabNetworks": "Netzwierker", + "TabNfoSettings": "NFO-Astellungen", + "TabOther": "Anescht", + "TabParentalControl": "Elteren-Kontroll", + "TabPlugins": "Plugins", + "TabRepositories": "Repositories", + "TabScheduledTasks": "Zeitplang-Aufgaben", + "TabServer": "Server", + "TabStreaming": "Stréimen", + "TabUpcoming": "An Tour", + "TagsValue": "Tag-Wäerter", + "TellUsAboutYourself": "Erziel eis eppes iwwert Dich", + "TextSent": "Text geschéckt", + "ThemeSongs": "Themelidder", + "ThemeVideos": "Themevideoen", + "TheseSettingsAffectSubtitlesOnThisDevice": "Dës Astellungen hunn en Afloss op Sous-titres op dësem Gerät", + "ThisWizardWillGuideYou": "Dëse Wizard leet Iech duerch d'Konfiguratioun", + "Thumb": "Miniatur", + "ThumbCard": "Miniatur-Kaart", + "Thursday": "Donneschdeg", + "TitleHardwareAcceleration": "Hardware-Beschleunegung", + "TitleHostingSettings": "Hosting-Astellungen", + "TitlePlayback": "Wiedergabe", + "TonemappingAlgorithmHelp": "Hëllef zum Tonemapping-Algorithmus", + "TonemappingRangeHelp": "Hëllef zur Tonemapping-Gamme", + "Track": "Titel", + "TrackCount": "Titelzuel", + "Trailers": "Bande-annonce", + "Transcoding": "Transkodéierung", + "Translator": "Iwwersetzer", + "Tuesday": "Dënschdeg", + "TV": "TV", + "TvLibraryHelp": "Hëllef zur TV-Bibliothéik", + "TypeOptionPluralAudio": "Audio-Dateien", + "TypeOptionPluralBook": "Bicher", + "TypeOptionPluralBoxSet": "Box-Set", + "TypeOptionPluralEpisode": "Episoden", + "TypeOptionPluralMovie": "Filmer", + "TypeOptionPluralMusicAlbum": "Museksalben", + "TypeOptionPluralMusicArtist": "Musekskënschtler", + "TypeOptionPluralMusicVideo": "Museksvideoen", + "TypeOptionPluralSeason": "Staffelen", + "TypeOptionPluralSeries": "Sérien", + "TypeOptionPluralVideo": "Videoen", + "Typewriter": "Maschinneschrëft", + "Uniform": "Uniform", + "UninstallPluginConfirmation": "Sidd Dir sécher, datt Dir de Plugin deinstalléieren wëllt?", + "UnknownError": "Onbekannte Feeler", + "Unmute": "Enthalen", + "Unplayed": "Net gekuckt", + "Unrated": "Ouni Bewäertung", + "UnsupportedPlayback": "Wiedergabe gëtt net ënnerstëtzt", + "Up": "Rauf", + "Upload": "Eroplueden", + "UseCustomTagDelimiters": "Benotzerdefinéiert Tag-Delimiters benotzen", + "UseCustomTagDelimitersHelp": "Hëllef zum Benotze vu benotzerdefinéierten Tag-Delimiters", + "UseDoubleRateDeinterlacing": "Double-Rate Deinterlacing benotzen", + "UseDoubleRateDeinterlacingHelp": "Hëllef zum Double-Rate Deinterlacing", + "UseEpisodeImagesInNextUp": "Episode-Biller am Next Up benotzen", + "UseEpisodeImagesInNextUpHelp": "Hëllef zum Benotze vun Episode-Biller am Next Up", + "UserAgentHelp": "Hëllef zum Benotzer-Agent", + "UserMenu": "Benotzer-Menü", + "UserProfilesIntro": "Erstellt an ännert méi Benotzerprofiler", + "ValueAlbumCount": "Zuel vun Alben", + "ValueDiscNumber": "Disksnummer", + "ValueEpisodeCount": "Zuel vun Episoden", + "ValueMinutes": "Minutten", + "ValueMovieCount": "Filmzuel", + "ValueMusicVideoCount": "Museksvideoenzuel", + "ValueOneAlbum": "1 Album", + "ValueOneEpisode": "1 Episode", + "ValueOneMovie": "1 Film", + "ValueOneMusicVideo": "1 Museksvideo", + "ValueOneSeries": "1 Série", + "ValueOneSong": "1 Lidd", + "ValueSeconds": "Sekonnen", + "ValueSeriesCount": "Zuel vu Sérien", + "ValueSongCount": "Zuel vu Lidder", + "ValueSpecialEpisodeName": "Spezial-Episodenumm", + "ValueTimeLimitMultiHour": "{0} Stonnen-Limit", + "ValueTimeLimitSingleHour": "1 Stonn-Limit", + "Vertical": "Vertikal", + "Video": "Video", + "VideoAudio": "Video / Audio", + "ViewAlbum": "Album weisen", + "ViewAlbumArtist": "Album-Kënschtler weisen", + "ViewLyrics": "Songtexter weisen", + "ViewPlaybackInfo": "Wiedergabe-Info weisen", + "Watched": "Gekuckt", + "Wednesday": "Mëttwoch", + "WeeklyAt": "All Woch um {0}", + "WelcomeToProject": "Wëllkomm bei {0}", + "Whitelist": "Wäisslëscht", + "WizardCompleted": "Wizard ass fäerdeg", + "WriteAccessRequired": "Schreiwbarkeit ass erfuerdert", + "Writer": "Auteur (Writer)", + "Writers": "Auteuren (Writers)", + "XmlTvKidsCategoriesHelp": "Kanner-Kategorien-Hëllef für XmlTv", + "XmlTvMovieCategoriesHelp": "Film-Kategorien-Hëllef für XmlTv", + "XmlTvNewsCategoriesHelp": "Noriichten-Kategorien-Hëllef für XmlTv", + "XmlTvPathHelp": "Hëllef zum XmlTv-Chemin", + "XmlTvSportsCategoriesHelp": "Sports-Kategorien-Hëllef für XmlTv", + "Yadif": "Yadif", + "Yes": "Jo", + "Yesterday": "Gëschter", + "HeaderSelectFallbackFontPath": "Fallback-Schrëft-Chemin auswielen", + "HeaderSelectFallbackFontPathHelp": "Hëllef zum Fallback-Schrëft-Chemin auswielen", + "LabelFallbackFontPath": "Fallback-Schrëft-Chemin", + "LabelFallbackFontPathHelp": "Hëllef zum Fallback-Schrëft-Chemin", + "EnableFallbackFont": "Fallback-Schrëft aktivéieren", + "EnableFallbackFontHelp": "Hëllef zum Aktivéiere vun der Fallback-Schrëft", + "AspectRatioCover": "Aspect Ratio Cover", + "AspectRatioFill": "Aspect Ratio ausfëllen", + "Remuxing": "Remuxen", + "RemuxHelp1": "Hëllef zum Remux (Del 1)", + "RemuxHelp2": "Hëllef zum Remux (Del 2)", + "LabelPlaybackInfo": "Wiedergabe-Info", + "LabelAudioInfo": "Audio-Info", + "LabelVideoInfo": "Video-Info", + "LabelTrackGain": "Titel-Gain", + "LabelTranscodingInfo": "Transkodéierungs-Info", + "LabelDirectStreamingInfo": "Direkt Stréimungs-Info", + "LabelRemuxingInfo": "Remux-Info", + "LabelOriginalMediaInfo": "Original Medien-Info", + "LabelSyncPlayInfo": "SyncPlay-Info", + "PreferFmp4HlsContainer": "fMP4-HLS Container bevorzugen", + "PreferFmp4HlsContainerHelp": "Hëllef zum Bevorzugen vum fMP4-HLS Container", + "AllowHevcEncoding": "HEVC-Codéierung erlaaben", + "LabelAllowedAudioChannels": "Erlaabte Audio-Kanäl", + "LabelSelectAudioChannels": "Audio-Kanäl auswielen", + "LabelSelectMono": "Mono auswielen", + "LabelSelectStereo": "Stereo auswielen", + "YoutubeBadRequest": "YouTube - Ongëlteg Ufro", + "YoutubePlaybackError": "YouTube Wiedergabe-Feeler", + "YoutubeNotFound": "YouTube - Keng Resultater", + "YoutubeDenied": "YouTube - Zougang verweigert", + "MessageChromecastConnectionError": "Feeler beim Chromecast-Verbindung", + "MessagePlaybackError": "Feeler bei der Wiedergabe", + "EnableEnhancedNvdecDecoder": "Erweiderten NVDEC-Decodéierer aktivéieren", + "EnableVppTonemapping": "VPP-Tonemapping aktivéieren", + "AllowVppTonemappingHelp": "Hëllef zum Erlaaben vum VPP-Tonemapping", + "EnableVideoToolboxTonemapping": "VideoToolbox-Tonemapping aktivéieren", + "AllowVideoToolboxTonemappingHelp": "Hëllef zum Erlaaben vum VideoToolbox-Tonemapping", + "Controls": "Steierungselementer", + "LabelEnableGamepad": "Gamepad aktivéieren", + "EnableGamepadHelp": "Hëllef zum Aktivéiere vum Gamepad", + "AudioCodecNotSupported": "Audio-Codec gëtt net ënnerstëtzt", + "ContainerNotSupported": "Container gëtt net ënnerstëtzt", + "SubtitleCodecNotSupported": "Sous-titre-Codec gëtt net ënnerstëtzt", + "VideoCodecNotSupported": "Video-Codec gëtt net ënnerstëtzt", + "VideoCodecTagNotSupported": "Video-Codec-Tag gëtt net ënnerstëtzt", + "AudioBitrateNotSupported": "Audio-Bitrate gëtt net ënnerstëtzt", + "AudioChannelsNotSupported": "Audio-Kanäl gi net ënnerstëtzt", + "VideoResolutionNotSupported": "Video-Opléisung gëtt net ënnerstëtzt", + "AudioProfileNotSupported": "Audio-Profil gëtt net ënnerstëtzt", + "AudioSampleRateNotSupported": "Audio-Sampleraate gëtt net ënnerstëtzt", + "AnamorphicVideoNotSupported": "Anamorphescht Video gëtt net ënnerstëtzt", + "InterlacedVideoNotSupported": "Interlacéiert Video gëtt net ënnerstëtzt", + "SecondaryAudioNotSupported": "Sekundär Audio gëtt net ënnerstëtzt", + "RefFramesNotSupported": "Ref-Frames gi net ënnerstëtzt", + "VideoBitDepthNotSupported": "Video-Bit-Tiefe gëtt net ënnerstëtzt", + "VideoFramerateNotSupported": "Video-Framerate gëtt net ënnerstëtzt", + "VideoLevelNotSupported": "Video-Level gëtt net ënnerstëtzt", + "VideoProfileNotSupported": "Video-Profil gëtt net ënnerstëtzt", + "AudioBitDepthNotSupported": "Audio-Bit-Tiefe gëtt net ënnerstëtzt", + "ContainerBitrateExceedsLimit": "Container-Bitrate iwwerschreit Limite", + "PreferSystemNativeHwDecoder": "System-Native Hardware-Decodéierer bevorzugen", + "EnableIntelLowPowerH264HwEncoder": "Intel Low-Power-H.264 Hardware-Codéierer aktivéieren", + "EnableIntelLowPowerHevcHwEncoder": "Intel Low-Power-HEVC Hardware-Codéierer aktivéieren", + "IntelLowPowerEncHelp": "Hëllef zum Intel Low-Power-Codéierer", + "LabelHardwareEncodingOptions": "Optiounen zur Hardware-Codéierung", + "LabelEncodingFormatOptions": "Optiounen zum Codéierungsformat", + "EncodingFormatHelp": "Hëllef zum Codéierungsformat", + "AudioIsExternal": "Audio ass extern", + "VideoBitrateNotSupported": "Video-Bitrate gëtt net ënnerstëtzt", + "UnknownVideoStreamInfo": "Onbekannte Videoinfo", + "UnknownAudioStreamInfo": "Onbekannte Audioinfo", + "DirectPlayError": "Feeler bei der Direkter Wiedergabe", + "SelectAll": "Alles auswielen", + "Featurette": "Featurette", + "Short": "Kuerzfilm", + "Clip": "Clip", + "Trailer": "Bande-Annonce", + "BehindTheScenes": "Hannert de Kulissen", + "DeletedScene": "Geläschte Scène", + "Interview": "Interview", + "Scene": "Scène", + "Sample": "Beispill", + "Select": "Auswielen", + "ThemeSong": "Theme-Lidd", + "ThemeVideo": "Theme-Video", + "EnableEnhancedNvdecDecoderHelp": "Hëllef zum Aktivéiere vum erweiderten NVDEC-Decodéierer", + "EnableSplashScreen": "Splash-Écran aktivéieren", + "LabelVppTonemappingBrightness": "VPP Tonemapping-Héicht (Brightness)", + "LabelVppTonemappingBrightnessHelp": "Hëllef zur VPP Tonemapping-Héicht (Brightness)", + "LabelVppTonemappingContrast": "VPP Tonemapping-Kontrast", + "LabelVppTonemappingContrastHelp": "Hëllef zum VPP Tonemapping-Kontrast", + "VideoRangeTypeNotSupported": "Typ vun der Video-Gamme gëtt net ënnerstëtzt", + "LabelVideoRangeType": "Video-Gamme-Typ", + "MediaInfoVideoRangeType": "Video-Gamme-Typ", + "MediaInfoDoViTitle": "Dolby Vision Infos", + "MediaInfoDvVersionMajor": "DV Versioun (Major)", + "MediaInfoDvVersionMinor": "DV Versioun (Minor)", + "MediaInfoDvProfile": "DV Profil", + "MediaInfoDvLevel": "DV Niveau (Level)", + "MediaInfoRpuPresentFlag": "RPU Present-Flag", + "MediaInfoElPresentFlag": "EL Present-Flag", + "MediaInfoBlPresentFlag": "BL Present-Flag", + "MediaInfoDvBlSignalCompatibilityId": "DV-BL-Signal-Kompatibilitéits-ID", + "Unreleased": "Nach net verëffentlecht", + "LabelTonemappingMode": "Tonemapping-Modus", + "TonemappingModeHelp": "Hëllef zum Tonemapping-Modus", + "Unknown": "Onbekannt", + "AllowAv1Encoding": "AV1-Codéierung erlaaben", + "AiTranslated": "KI-übersat", + "MachineTranslated": "Maschinn-übersat", + "ForeignPartsOnly": "Just auslännesch Deeler", + "HearingImpairedShort": "HI", + "Trickplay": "Trickplay", + "LabelTrickplayAccel": "Trickplay-Beschleunegung", + "LabelTrickplayAccelEncoding": "Trickplay-Beschleunegungs-Codéierung", + "LabelTrickplayAccelEncodingHelp": "Hëllef zur Trickplay-Beschleunegungs-Codéierung", + "LabelTrickplayKeyFrameOnlyExtraction": "Just Keyframe-Extraktioun", + "LabelTrickplayKeyFrameOnlyExtractionHelp": "Hëllef zur Keyframe-Extraktioun bei Trickplay", + "BlockingScan": "Blocking Scan", + "LabelScanBehavior": "Scangesiicht (Behavior)", + "LabelScanBehaviorHelp": "Hëllef zum Verhale vum Scan", + "PriorityHigh": "Héich Prioritéit", + "PriorityAboveNormal": "Iwwer Normal", + "PriorityNormal": "Normal", + "PriorityBelowNormal": "Ënnert Normal", + "PriorityIdle": "Idle", + "LabelProcessPriority": "Prozessprioritéit", + "LabelProcessPriorityHelp": "Hëllef zur Prozessprioritéit", + "LabelImageInterval": "Bildintervall", + "LabelImageIntervalHelp": "Hëllef zum Bildintervall", + "LabelWidthResolutionsHelp": "Hëllef zu Breet/Opléisung(en)", + "LabelTileWidth": "Kachelbreet (Tile Width)", + "LabelTileWidthHelp": "Hëllef zur Kachelbreet", + "LabelTileHeight": "Kachelhéicht (Tile Height)", + "LabelTileHeightHelp": "Hëllef zur Kachelhéicht", + "LabelJpegQuality": "JPEG-Qualitéit", + "LabelJpegQualityHelp": "Hëllef zur JPEG-Qualitéit", + "LabelQscaleHelp": "Hëllef zur Qscale", + "LabelTrickplayThreadsHelp": "Hëllef zu Trickplay Threads", + "OptionExtractTrickplayImage": "Trickplay-Bild extrahéieren", + "ExtractTrickplayImagesHelp": "Hëllef zum Extrahéieren vu Trickplay-Biller", + "LabelExtractTrickplayDuringLibraryScan": "Trickplay extrahéieren während Bibliothéik-Scan", + "LabelExtractTrickplayDuringLibraryScanHelp": "Hëllef zum Extrahéieren vu Trickplay während Bibliothéik-Scan", + "AllowContentWithTagsHelp": "Hëllef zum Erlaaben vun Inhalter mat Markéierunge.", + "AllowedRemoteAddressesHelp": "Komma-separéiert Lëscht vun IP-Adressen oder IP/Netzmask Entréeë fir Netzwierker, déi däerfen aus der Distanz verbannen. Wann eidel gelooss, ginn all Fernadressen erlaabt.", + "AccessRestrictedTryAgainLater": "Zougang ass limitéiert, probéier et méi spéit nach eng Kéier.", + "AllowEmbeddedSubtitlesHelp": "Hëllef zum Erlaaben vu embeddéierten Sous-titres.", + "AllowFfmpegThrottlingHelp": "Wann eng Transkodéierung oder e Remux wäit genuch vorm aktuellen Wiedergabe-Punkt ass, pauszéiert de Prozess, sou datt e manner Ressourcë verbraucht. Dat ass am nëtzlechsten, wann Dir normal kuckt, ouni dacks ze spulen. Schalt dat aus, wann Dir Wiedergabeproblemer erliewt.", + "AllowOnTheFlySubtitleExtractionHelp": "Agebett Ënnertitelen kënnen aus Videoeextrahéiert an als einfachen Text un d’Clienten geliwwert ginn, fir Video-Transkodéierung ze vermeiden. Op e puer Systemer kann dëse Prozess laang daueren a féiert dozou, datt d’Video-Ofspillung während der Extraktioun hänke bleift. Deaktivéiert dëst, fir d’agebett Ënnertitelen an de Video mat Transkodéierung anzebrennen, wann se net natierlech vum Client-Gerät ënnerstëtzt ginn.", + "AllowHWTranscodingHelp": "Erlaabt dem Tuner, Streams spontan ze transkodéieren. Dëst kann hëllefen, d’Transkodéierung, déi vum Server erfuerderlech ass, ze reduzéieren.", + "LabelThrottleDelaySecondsHelp": "Zäit an Sekonnen, no där den Transkodéierer gedrosselt gëtt. Muss grouss genuch sinn, fir datt de Client e gesonde Buffer erhale kann. Funktionéiert nëmmen, wann Drosselung aktivéiert ass.", + "AskAdminToCreateLibrary": "Frot en Administrateur, fir eng Bibliothéik ze erstellen.", + "AllowSegmentDeletionHelp": "Läscht al Segmenter nodeems se vum Client erofgeluede goufen. Dëst verhënnert, datt déi komplett transkodéiert Datei op der Festplack gespäichert gëtt. Schalt dëst aus, wann Dir Problemer beim Ofspillen hutt.", + "AllowStreamSharingHelp": "Erlaabt Jellyfin, de mpegts-Stream vum Tuner ze duplizéieren an dëse duplizéierte Stream un d’Clienten ze deelen. Dëst ass nëtzlech, wann den Tuner eng Limit fir d’Gesamtzuel vun de Stréim huet, kann awer och Problemer beim Ofspillen verursaachen.", + "ButtonForgotPassword": "Passwuert vergiess", + "ButtonQuickStartGuide": "Schnellstart Guide", + "AllowTonemappingHelp": "Tone-Mapping kann den dynamesche Beräich vun engem Video vun HDR op SDR transforméieren, wärend Bilddetailer a Faarwen erhale bleiwen, déi wichteg si fir d’Darstellung vun der Originalzeen. Funktionéiert aktuell nëmmen mat 10-Bit HDR10-, HLG- an DoVi-Videoen. Dëst erfuerdert déi entspriechend GPGPU-Lafzäit.", + "ButtonEditOtherUserPreferences": "Bearbecht de Profil, d’Bild an d’perséinlech Astellungen vun dësem Benotzer.", + "AllowTonemappingSoftwareHelp": "Tone-Mapping kann den dynamesche Beräich vun engem Video vun HDR op SDR transforméieren, wärend Bilddetailer a Faarwen erhale bleiwen, déi wichteg Informatioune fir d’Darstellung vun der Originalzeen sinn. Funktionéiert aktuell nëmmen mat 10-Bit HDR10-, HLG- an DoVi-Videoen.", + "AlwaysRemuxMp3AudioFilesHelp": "Wann Dir Dateien hutt, bei deenen Äre Browser d’Zäite falsch berechent, aktivéiert dëst als Ëmwee.", + "ApiKeysCaption": "Lëscht vun den aktuell aktivéierten API-Schlësselen", + "AuthProviderHelp": "Wielt en Authentifikatiounsprovider, fir d’Passwuert vun dësem Benotzer z’authentifizéieren.", + "BirthDateValue": "Gebuer: {0}", + "BurnSubtitlesHelp": "Bestëmmt, ob de Server Ënnertitelen soll anbrennen. Dëst z’evitéiere verbessert d’Leeschtung wesentlech. Wielt Auto, fir bildbaséiert Formater (VobSub, PGS, SUB, IDX, asw.) an verschidden ASS- oder SSA-Ënnertitelen anzebrennen.", + "ButtonCast": "Cast to Device", + "ButtonTogglePlaylist": "Playlist", + "BookLibraryHelp": "Audio- a Textbicher ginn ënnerstëtzt. Kuckt d’{0} Buchbenennungsrichtlinnen {1} no.", + "BoxSet": "Box Set", + "ButtonArrowLeft": "Lénks", + "ButtonNextTrack": "Nächst Spur", + "ButtonSignOut": "Ofmellen", + "ConfirmEndPlayerSession": "Wëllt Dir Jellyfin op {0} ausschalten?", + "DeleteName": "{0} läschen", + "ChangingMetadataImageSettingsNewContent": "Ännerungen un den Astellungen fir Metadata- oder Konschtwierk-Downloads gëllen nëmmen fir neien Inhalt, deen an denger Bibliothéik derbäigesat gëtt. Fir d’Ännerungen op existent Titelen unzewenden, muss de seng Metadata manuell aktualiséieren.", + "ChannelNameOnly": "Nëmmen Kanal {0}", + "DefaultMetadataLangaugeDescription": "Dëst sinn deng Standardastellungen a kënnen op Basis vun all Bibliothéik personaliséiert ginn.", + "CinemaModeConfigurationHelp": "De Kino-Modus bréngt d’Kinoerfarung direkt an däi Wunnzëmmer, mat der Méiglechkeet Trailer an personaliséiert Introen virum Haaptfilm ofzespillen.", + "SelectAudioNormalizationHelp": "Spur-Verstäerkung – passt d’Laustäerkt vun all Spur un, fir se mat der selwechter Lautstärk ofzespillen. Album-Verstäerkung – passt d’Laustäerkt vun allen Spuren an engem Album un, wärend den dynamesche Beräich vum Album erhale bleift. Tëschent “Aus” an aneren Optiounen ze wiesselen erfuerdert en Neustart vun der aktueller Ofspillung.", + "ClearQueue": "Lëscht läschen", + "CopyFailed": "Kopéieren net méiglech", + "ConfigureDateAdded": "Setzt fest, wéi d’Metadata fir ‘Datum dobäigesat’ am Dashboard > Bibliothéiken > NFO-Astellungen bestëmmt ginn", + "ConfirmDeleteItem": "Wann Dir dëst Element läscht, gëtt et souwuel aus dem Dateisystem wéi och aus denger Mediebibliothéik geläscht. Sidd Dir sécher, datt Dir wëllt weiderfueren?", + "ConfirmDeleteItems": "Wann Dir dës Elementer läscht, ginn se souwuel aus dem Dateisystem wéi och aus denger Mediebibliothéik geläscht. Sidd Dir sécher, datt Dir wëllt weiderfueren?", + "CustomSubtitleStylingHelp": "Ënnertitel-Stil funktionéiert op de meeschte Geräter, mee bréngt eng zousätzlech Leeschtungsbelaaschtung mat sech.", + "ConfirmDeleteSeries": "Wann Dir dës Serie läscht, ginn ALL {0} Episoden souwuel aus dem Dateisystem wéi och aus denger Mediebibliothéik geläscht. Sidd Dir sécher, datt Dir wëllt weiderfueren?", + "CopyStreamURLSuccess": "Stream-URL erfollegräich kopéiert.", + "DeathDateValue": "Gestuerwen: {0}", + "DeinterlaceMethodHelp": "Wielt d’De-Interlacing-Method, déi benotzt gëtt, wann interlaced Inhalt mat Software transkodéiert gëtt. Wann Hardware-Beschleunegung mat Hardware-De-Interlacing aktivéiert ass, gëtt den Hardware-De-Interlacer amplaz vun dëser Astellung benotzt.", + "DeleteDevicesConfirmation": "Sidd Dir sécher, datt Dir all Geräter wëllt läschen? All aner Sessioune ginn ofgemellt. D’Geräter wäerte sech erëm weisen, wann e Benotzer sech déi nächst Kéier umellt.", + "DisablePlugin": "Deaktivéieren", + "DisableVbrAudioEncodingHelp": "Verhënnert, datt de Server Audio mat VBR fir dëse Client kodéiert.", + "DeviceAccessHelp": "Dëst gëllt nëmme fir Geräter, déi eenzegaarteg identifizéiert kënne ginn, a verhënnert net den Zougang iwwer Browser. D’Filtere vum Benotzer-Gerät-Zougang wäert verhënneren, datt si nei Geräter benotze kënnen, bis dës hei guttgeheescht goufen.", + "DirectStreamHelp1": "De Video-Stream ass kompatibel mam Gerät, mee huet en inkompatibelt Audio-Format (DTS, Dolby TrueHD, asw.) oder eng inkompatibel Unzuel u Audio-Kanäl. De Video-Stream gëtt verlousungsfräi spontan nei verpackt, ier en un d’Gerät geschéckt gëtt. Nëmmen den Audio-Stream gëtt transkodéiert." +} diff --git a/src/strings/lt-lt.json b/src/strings/lt-lt.json index 63337368fb..0faabd2c98 100644 --- a/src/strings/lt-lt.json +++ b/src/strings/lt-lt.json @@ -1171,5 +1171,21 @@ "AlternateDVD": "Pakaitinis DVD", "Large": "Didelis", "AllowContentWithTagsHelp": "Rodyti tik mediją su bent viena pasirinkta žyma.", - "AlwaysBurnInSubtitleWhenTranscoding": "Visada perkoduojant įrašyti subtitrus" + "AlwaysBurnInSubtitleWhenTranscoding": "Visada perkoduojant įrašyti subtitrus", + "LabelSegmentKeepSecondsHelp": "Segmentų saugojimo laikas po atsiuntimo iš kliento. Veikia tik tada, kai segmentų trynimas yra įjungtas.", + "LabelSegmentKeepSeconds": "Segmentų saugojimo laikas", + "BlockContentWithTagsHelp": "Slėpti mediją atitinkančią bent vieną nurodytą žymą.", + "Author": "Autorius", + "CustomSubtitleStylingHelp": "Subtitrų stilius veiks ant daugumos įrenginių, bet našumas gali būt mažesnis.", + "DeleteName": "Ištrinti {0}", + "DeleteSeries": "Ištrinti serialą", + "DeleteEpisode": "Ištrinti epizodą", + "AndOtherArtists": "{0} ir {1} kiti atlikėjai.", + "ButtonEditUser": "Redaguoti vartotoją", + "DeleteEntireSeries": "Ištrinti {0} epizodus", + "DeleteLyrics": "Ištrinti žodžius", + "DeleteServerConfirmation": "Ar tikrai ištrinti šį serverį?", + "Anime": "Anime", + "AllowStreamSharingHelp": "Leiskite „Jellyfin“ dublikuoti MPEG-TS srautą iš imtuvo ir bendrinti šį dublikuotą srautą su klientais. Tai naudinga, kai imtuvas turi bendrą srautų kiekio apribojimą, tačiau tai taip pat gali sukelti atkūrimo problemų.", + "AlwaysBurnInSubtitleWhenTranscodingHelp": "Įrašykite visus subtitrus į vaizdą, kai pradedamas transkodavimas. Tai užtikrina subtitrų sinchronizaciją po transkodavimo, tačiau sumažina transkodavimo greitį." } diff --git a/src/strings/nb.json b/src/strings/nb.json index 3c2749c10c..b6ca20013a 100644 --- a/src/strings/nb.json +++ b/src/strings/nb.json @@ -1988,5 +1988,9 @@ "HeaderNextEpisode": "Neste episode", "HeaderNextVideo": "Neste video", "LabelMediaSegmentProviders": "Mediasegment tilbydere", - "MediaSegmentProvidersHelp": "Aktiver og arranger dine foretrukne tilbydere av mediasegmenter i prioritert rekkefølge." + "MediaSegmentProvidersHelp": "Aktiver og arranger dine foretrukne tilbydere av mediasegmenter i prioritert rekkefølge.", + "LabelDevice": "Enhet", + "LastActive": "Sist aktiv", + "DeleteServerConfirmation": "Er du sikker på du ønsker å fjerne denne tjeneren?", + "LibraryNameInvalid": "Biblioteksnavn kan ikke være tom eller inneholde mellomrom." } diff --git a/src/strings/nl.json b/src/strings/nl.json index 04756e4a41..52edcc278d 100644 --- a/src/strings/nl.json +++ b/src/strings/nl.json @@ -98,9 +98,9 @@ "ColorPrimaries": "Primaire kleuren", "ColorSpace": "Kleurbereik", "ColorTransfer": "Kleuroverdracht", - "CommunityRating": "Beoordeling gemeenschap", + "CommunityRating": "Beoordeling publiek", "Composer": "Componist", - "ConfigureDateAdded": "Stel in hoe de metadata voor 'Datum toegevoegd' wordt bepaald in Controlepaneel > Bibliotheken > NFO-instellingen", + "ConfigureDateAdded": "Stel in hoe de metadata voor 'Datum toegevoegd' wordt bepaald in Controlepaneel > Bibliotheken > Weergave", "ConfirmDeleteImage": "Afbeelding verwijderen?", "ConfirmDeleteItem": "Dit zal dit item verwijderen van zowel het bestandssysteem als uit je mediabibliotheek. Weet je zeker dat je wilt doorgaan?", "ConfirmDeleteItems": "Dit zal deze items verwijderen van zowel het bestandssysteem als uit je mediabibliotheek. Weet je zeker dat je wilt doorgaan?", @@ -430,7 +430,7 @@ "LabelCertificatePasswordHelp": "Als je certificaat een wachtwoord vereist, vul het dan hier in.", "LabelChannels": "Kanalen", "LabelCollection": "Collectie", - "LabelCommunityRating": "Beoordeling gemeenschap", + "LabelCommunityRating": "Beoordeling publiek", "LabelContentType": "Inhoudstype", "LabelCountry": "Land/regio", "LabelCriticRating": "Beoordeling critici", @@ -821,7 +821,7 @@ "OptionAutomaticallyGroupSeries": "Automatisch series samenvoegen die over meerdere mappen zijn verspreid", "OptionAutomaticallyGroupSeriesHelp": "Series die verspreid zijn over meerdere mappen binnen deze bibliotheek worden automatisch samengevoegd tot één serie.", "OptionBluray": "BD", - "OptionCommunityRating": "Beoordeling gemeenschap", + "OptionCommunityRating": "Beoordeling publiek", "OptionCriticRating": "Beoordeling critici", "OptionCustomUsers": "Aangepast", "OptionDaily": "Dagelijks", @@ -1392,7 +1392,7 @@ "LabelMaxMuxingQueueSize": "Maximale grootte muxing-wachtrij", "LabelColorPrimaries": "Primaire kleur", "MediaInfoColorPrimaries": "Primaire kleuren", - "LabelTonemappingParamHelp": "Stem het toonmapping-algoritme af. De aanbevolen en standaardwaarden zijn NaN. Laat het in het algemeen leeg.", + "LabelTonemappingParamHelp": "Stel het tonemapping-algoritme af. Dit veld is standaard leeg; het wordt aanbevolen dit zo te laten.", "LabelTonemappingParam": "Tonemapping-parameter", "LabelTonemappingPeakHelp": "Gebruik deze piekwaarde voor het ingangssignaal in plaats van de waarde in de ingesloten metadata. De standaardwaarde is 100 (1000 nit).", "LabelTonemappingPeak": "Tonemapping-piek", @@ -1422,7 +1422,7 @@ "EnableFallbackFontHelp": "Aangepaste alternatieve lettertypen inschakelen. Dit kan onjuiste weergave van ondertiteling voorkomen.", "LabelFallbackFontPathHelp": "Sommige cliënten gebruiken deze lettertypen om ondertiteling weer te geven. Raadpleeg de documentatie voor meer informatie.", "EnableFallbackFont": "Terugvallettertypen inschakelen", - "LabelFallbackFontPath": "Pad naar map terugvallettertype", + "LabelFallbackFontPath": "Pad naar map voor terugvallettertypen", "HeaderSelectFallbackFontPathHelp": "Blader of typ het pad naar de map met het terugvallettertype dat gebruikt moet worden om ASS-/SSA-ondertiteling te renderen.", "HeaderSelectFallbackFontPath": "Pad voor terugvallettertype selecteren", "OptionMaxActiveSessions": "Stel het maximale aantal gelijktijdige gebruikerssessies in.", @@ -1980,7 +1980,7 @@ "MediaSegmentAction.Skip": "Overslaan", "MediaSegmentType.Commercial": "Reclame", "MediaSegmentType.Intro": "Intro", - "MediaSegmentType.Outro": "Outro", + "MediaSegmentType.Outro": "Aftiteling", "MediaSegmentType.Preview": "Vooruitblik", "MediaSegmentType.Recap": "Terugblik", "PlaylistError.UpdateFailed": "Fout bij bijwerken afspeellijst", @@ -1998,5 +1998,15 @@ "CustomSubtitleStylingHelp": "Ondertitelingsopmaak zal op de meeste apparaten werken, maar heeft invloed op de systeemprestaties.", "LabelSubtitleStyling": "Ondertitelingsopmaak", "Native": "Ingebouwd", - "NativeSubtitleStylingHelp": "Ondertitelingsopmaak zal niet op alle apparaten werken, maar de prestaties worden niet negatief beïnvloed." + "NativeSubtitleStylingHelp": "Ondertitelingsopmaak zal niet op alle apparaten werken, maar de prestaties worden niet negatief beïnvloed.", + "LabelDevice": "Apparaat", + "LastActive": "Laatst actief", + "DeleteServerConfirmation": "Weet je zeker dat je deze server wilt verwijderen?", + "LibraryNameInvalid": "Bibliotheeknaam kan niet leeg zijn.", + "CopyLogSuccess": "Logboekinhoud gekopieerd.", + "Retry": "Opnieuw proberen", + "LogLoadFailure": "Laden van logboekbestand mislukt. Mogelijk wordt er nog actief naar geschreven.", + "DisplayLoadError": "Er is een fout opgetreden bij het laden van de weergaveconfiguratiegegevens.", + "MetadataImagesLoadError": "Laden van metadata-instellingen mislukt", + "MetadataNfoLoadError": "Laden van metadata-NFO-instellingen mislukt" } diff --git a/src/strings/pl.json b/src/strings/pl.json index a09590ca72..af9c5d7263 100644 --- a/src/strings/pl.json +++ b/src/strings/pl.json @@ -110,7 +110,7 @@ "ColorTransfer": "Transfer kolorów", "CommunityRating": "Ocena społeczności", "Composer": "Kompozytor", - "ConfigureDateAdded": "Ustaw sposób określania daty dodania w Kokpit > Biblioteki > Ustawienia NFO", + "ConfigureDateAdded": "Ustaw sposób określania daty dodania w Kokpit > Biblioteki > Wyświetlanie", "ConfirmDeleteImage": "Usunąć obraz?", "ConfirmDeleteItem": "Usunięcie tej pozycji usunie ją zarówno z systemu plików jak i z biblioteki mediów. Czy chcesz kontynuować?", "ConfirmDeleteItems": "Usunięcie tej pozycji usunie ją zarówno z systemu plików jak i z biblioteki mediów. Czy chcesz kontynuować?", @@ -1999,5 +1999,15 @@ "Custom": "Niestandardowa", "LabelSubtitleStyling": "Stylizacja napisów", "NativeSubtitleStylingHelp": "Stylizacja napisów nie będzie działał na niektórych urządzeniach. Nie wiąże się to jednak z żadnym obciążeniem wydajności.", - "Native": "Natywna" + "Native": "Natywna", + "LabelDevice": "Urządzenie", + "LastActive": "Ostatnio aktywne", + "DeleteServerConfirmation": "Czy na pewno chcesz usunąć ten serwer?", + "LibraryNameInvalid": "Nazwa biblioteki nie może być pusta.", + "CopyLogSuccess": "Zawartość dziennika została pomyślnie skopiowana.", + "Retry": "Ponów", + "LogLoadFailure": "Nie udało się załadować pliku dziennika. Nadal może być aktywnie zapisywany.", + "DisplayLoadError": "Wystąpił błąd podczas ładowania danych konfiguracji wyświetlania.", + "MetadataImagesLoadError": "Nie udało się załadować ustawień metadanych", + "MetadataNfoLoadError": "Nie udało się załadować ustawień metadanych NFO" } diff --git a/src/strings/pt-br.json b/src/strings/pt-br.json index a668f0b7c1..88f6839158 100644 --- a/src/strings/pt-br.json +++ b/src/strings/pt-br.json @@ -1628,7 +1628,7 @@ "ButtonExitApp": "Sair da aplicação", "ButtonClose": "Fechar", "AddToFavorites": "Adicionar aos favoritos", - "HomeVideosPhotos": "Início dos vídeos e fotos", + "HomeVideosPhotos": "Vídeos e Fotos Caseiros", "EnableRewatchingNextUp": "Ativar reassistir em \"A Seguir\"", "ButtonBackspace": "Backspace", "Trailer": "Trailer", diff --git a/src/strings/pt-pt.json b/src/strings/pt-pt.json index bd3b5c383a..da88f0f4cf 100644 --- a/src/strings/pt-pt.json +++ b/src/strings/pt-pt.json @@ -47,8 +47,8 @@ "ChannelAccessHelp": "Seleciona os canais para partilhar com este utilizador. Os administradores poderão editar todos os canais utilizando o gestor de metadados.", "CinemaModeConfigurationHelp": "O modo cinema traz a experiência do cinema diretamente para a tua sala de estar, com a possibilidade de reproduzir trailers e introduções personalizadas antes da longa-metragem.", "Composer": "Compositor", - "ConfirmDeleteItem": "A eliminação deste item irá eliminá-lo do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", - "ConfirmDeleteItems": "A eliminação destes itens elimina-os do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", + "ConfirmDeleteItem": "A eliminação deste item irá eliminá-lo do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", + "ConfirmDeleteItems": "A eliminação destes itens elimina-os do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", "ConfirmDeletion": "Confirmar Exclusão", "Connect": "Ligar", "Continuing": "A continuar", @@ -127,7 +127,7 @@ "HeaderImageSettings": "Configurações de imagem", "HeaderInstall": "Instalar", "HeaderInstantMix": "Mix instantâneo", - "HeaderLatestEpisodes": "Episódios mais recentes", + "HeaderLatestEpisodes": "Episódios adicionados recentemente", "HeaderLatestMedia": "Conteúdo recente", "HeaderLatestMovies": "Filmes recentes", "HeaderLatestMusic": "Músicas recentes", @@ -173,7 +173,7 @@ "HeaderSelectTranscodingPathHelp": "Pesquisa ou introduz a localização que pretendes utilizar para os ficheiros de transcodificação. O servidor requer permissões de escrita nesta pasta.", "HeaderSendMessage": "Enviar mensagem", "HeaderServerSettings": "Configurações do servidor", - "HeaderSetupLibrary": "Configurar mediatecas", + "HeaderSetupLibrary": "Configurar bibliotecas multimédia", "HeaderSpecialEpisodeInfo": "Informação sobre o episódio especial", "HeaderStatus": "Estado", "HeaderSubtitleProfile": "Perfil das legendas", @@ -445,7 +445,7 @@ "MessagePasswordResetForUsers": "Os seguintes utilizadores tiveram as suas palavras-passe redefinidas. Podem agora iniciar sessão com os códigos PIN que foram utilizados para efetuar a redefinição.", "MessagePleaseEnsureInternetMetadata": "Certifique-se de que a transferência de metadados da Internet está ativada.", "MessageReenableUser": "Veja abaixo para reativar", - "MessageTheFollowingLocationWillBeRemovedFromLibrary": "As seguintes pastas multimédia serão removidas da mediateca", + "MessageTheFollowingLocationWillBeRemovedFromLibrary": "As seguintes pastas multimédia serão removidas da tua biblioteca", "MinutesAfter": "minutos depois", "MinutesBefore": "minutos antes", "Monday": "Segunda", @@ -602,7 +602,7 @@ "ValueVideoCodec": "Codec de Vídeo: {0}", "Wednesday": "Quarta", "WelcomeToProject": "Bem-vindo ao Jellyfin!", - "WizardCompleted": "É tudo o que precisamos por agora. O Jellyfin começou a recolher informações sobre a tua mediateca. Vê algumas das nossas aplicações e, em seguida, clica em Terminar para ver o Painel de Controlo.", + "WizardCompleted": "É tudo o que precisamos por agora. O Jellyfin começou a recolher informações sobre a tua biblioteca multimédia. Vê algumas das nossas aplicações e, em seguida, clica em Terminar para ver o Painel de Controlo.", "Writer": "Argumento", "XmlDocumentAttributeListHelp": "Estes atributos são aplicados ao elemento principal de cada resposta XML.", "AccessRestrictedTryAgainLater": "O acesso está atualmente restrito. Por favor, tenta mais tarde.", @@ -650,12 +650,12 @@ "Shows": "Séries", "Songs": "Músicas", "Sync": "Sincronização", - "Absolute": "Completo", + "Absolute": "Absoluto", "CriticRating": "Classificação da crítica", "ContinueWatching": "Continuar a ver", "ConfirmEndPlayerSession": "Deseja encerrar o servidor Jellyfin em {0}?", "ConfirmDeleteImage": "Eliminar a imagem?", - "ConfigureDateAdded": "Configura a forma como é atribuída a data de adição, no Painel de Controlo > Bibliotecas > Definições NFO", + "ConfigureDateAdded": "Configura a forma como é atribuída a data de adição, no Painel de Controlo > Bibliotecas > Visualização", "CommunityRating": "Avaliação da comunidade", "ChannelNumber": "Número de canal", "ChannelNameOnly": "Apenas canal {0}", @@ -852,7 +852,7 @@ "Overview": "Resumo", "OriginalAirDateValue": "Data de estreia original: {0}", "OptionSubstring": "Parte de palavra", - "LatestFromLibrary": "Mais Recentes em {0}", + "LatestFromLibrary": "Adicionado recentemente em {0}", "HideWatchedContentFromLatestMedia": "Ocultar títulos já vistos do \"Conteúdo Recente\"", "MessageUnableToConnectToServer": "Não foi possível estabelecer ligação ao servidor. Por favor, certifique-se de que o servidor está a correr e tente de novo.", "HeaderStartNow": "Iniciar", @@ -1493,7 +1493,7 @@ "LabelMaxAudiobookResume": "Minutos do áudio-livro em falta para retomar", "MessagePlaybackError": "Ocorreu um erro ao reproduzir este ficheiro no teu recetor Google Cast.", "MessageChromecastConnectionError": "O seu recetor Google Cast não pode contatar o servidor Jellyfin. Por favor, verifique a ligação e tente de novo.", - "YoutubeDenied": "Não é permitida a reprodução do vídeo solicitado em reprodutores embutidos.", + "YoutubeDenied": "O vídeo solicitado não pode ser reproduzido em leitores incorporados.", "PreferFmp4HlsContainerHelp": "Utiliza o fMP4 como container predefinido para HLS, tornando possível a transmissão direta de conteúdos HEVC e AV1 em dispositivos suportados.", "PreferFmp4HlsContainer": "Preferir o container multimédia fMP4-HLS", "LabelSyncPlayInfo": "Info do SyncPlay", @@ -1560,7 +1560,7 @@ "AudioCodecNotSupported": "Este codec de áudio não é suportado", "EnableGamepadHelp": "Responder a quaisquer comandos de jogos ligados. (Requer: Modo de visualização 'TV')", "LabelEnableGamepad": "Ativar comandos de jogos", - "Controls": "Controlos", + "Controls": "Comandos", "AllowVppTonemappingHelp": "Mapeamento de tons totalmente baseado no driver Intel. Vídeos em HDR10 funcionam apenas em certas configurações de hardware. Tem maior prioridade quando comparado a outras implementações OpenCL.", "EnableVppTonemapping": "Ativar Tone Mapping VPP", "EnableEnhancedNvdecDecoder": "Ativar o descodificador NVDEC", @@ -1596,7 +1596,7 @@ "AllowEmbeddedSubtitlesAllowImageOption": "Permitir imagem", "AllowEmbeddedSubtitlesAllowNoneOption": "Não permitir nenhum", "AllowEmbeddedSubtitlesAllowAllOption": "Permitir Todos", - "AllowEmbeddedSubtitlesHelp": "Desativar as legendas que estão empacotadas em containers multimédia. Requer uma atualização completa da mediateca.", + "AllowEmbeddedSubtitlesHelp": "Desativar as legendas que estão empacotadas em containers multimédia. Requer uma atualização completa da biblioteca.", "AllowEmbeddedSubtitles": "Desativar diferentes tipos de legendas embutidas", "PlaybackErrorPlaceHolder": "Isto é um item falso para um suporte físico que o Jellyfin não consegue reproduzir. Por favor, insira o disco para reproduzir.", "OtherArtist": "Outro artista", @@ -1723,7 +1723,7 @@ "HeaderDummyChapter": "Imagens dos Capítulos", "LabelEnableAudioVbrHelp": "A taxa de bits variável oferece melhor qualidade relativamente à taxa de bits média, mas, em alguns casos raros, pode causar problemas de ‘buffer’ e compatibilidade.", "Experimental": "Experimental", - "MessageRenameMediaFolder": "Mudar o nome de uma mediateca fará com que todos os metadados se percam, por isso, procede com cuidado.", + "MessageRenameMediaFolder": "Mudar o nome de uma biblioteca multimédia fará com que todos os metadados se percam, por isso, procede com cuidado.", "EnableCardLayout": "Mostrar em formato mosaico", "OptionDateShowAdded": "Data de adição da Série", "LabelLevel": "Nível", @@ -1795,7 +1795,7 @@ "PriorityAboveNormal": "Acima do normal", "LabelImageIntervalHelp": "Intervalo de tempo (ms) entre cada nova imagem trickplay.", "PriorityHigh": "Alta", - "LabelScanBehaviorHelp": "O comportamento predefinido é não bloquear, o que adicionará ficheiros multimédia à mediateca antes que a geração de trickplay seja feita. Bloquear irá garantir que os ficheiros trickplay são gerados antes de os ficheiros multimédia serem adicionados à mediateca, mas fará com que as pesquisas sejam significativamente mais longas.", + "LabelScanBehaviorHelp": "O comportamento predefinido é não bloquear, o que adicionará ficheiros multimédia à biblioteca antes que a geração de trickplay seja feita. Bloquear irá garantir que os ficheiros trickplay são gerados antes de os ficheiros multimédia serem adicionados à biblioteca, mas fará com que as pesquisas sejam significativamente mais longas.", "LabelTileWidthHelp": "Número máximo de imagens por mosaico na direção X.", "LabelTileHeight": "Altura do mosaico", "LabelTileWidth": "Largura do mosaico", @@ -1828,8 +1828,8 @@ "HeaderNoLyrics": "Nenhuma letra encontrada", "ChannelResolutionSDPAL": "SD (PAL)", "ChannelResolutionFullHD": "Full HD", - "ConfirmDeleteSeries": "A eliminação desta série elimina TODOS os {0} episódios do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", - "ConfirmDeleteLyrics": "A eliminação destas letras irá eliminá-las do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", + "ConfirmDeleteSeries": "A eliminação desta série elimina TODOS os {0} episódios do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", + "ConfirmDeleteLyrics": "A eliminação destas letras irá eliminá-las do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", "ErrorDeletingLyrics": "Ocorreu um erro ao eliminar as letras do servidor. Verifica se o Jellyfin tem acesso de escrita à pasta multimédia e tenta novamente.", "HeaderDeleteLyrics": "Eliminar letras", "ViewLyrics": "Ver letras", @@ -1988,5 +1988,19 @@ "HeaderNextVideo": "Próximo vídeo", "HeaderNextEpisode": "Próximo episódio", "LabelMediaSegmentProviders": "Fornecedores de segmentos de multimédia", - "MediaSegmentProvidersHelp": "Ativa e classifica os teus fornecedores de segmentos de multimédia preferidos por ordem de prioridade." + "MediaSegmentProvidersHelp": "Ativa e classifica os teus fornecedores de segmentos de multimédia preferidos por ordem de prioridade.", + "AutoSubtitleStylingHelp": "Este modo alterna automaticamente entre os mecanismos de estilo de legendas nativo e personalizado com base no teu tipo de dispositivo.", + "Custom": "Personalizado", + "CustomSubtitleStylingHelp": "O estilo de legendas funciona na maioria dos dispositivos, mas tem uma sobrecarga de desempenho adicional.", + "LabelSubtitleStyling": "Estilo de legendas", + "Native": "Nativo", + "NativeSubtitleStylingHelp": "O estilo de legenda não funcionará em alguns dispositivos. No entanto, não tem qualquer sobrecarga de desempenho.", + "LabelDevice": "Dispositivo", + "LastActive": "Última atividade", + "DeleteServerConfirmation": "Tens a certeza de que queres eliminar este servidor?", + "LibraryNameInvalid": "O nome da biblioteca não pode estar vazio.", + "CopyLogSuccess": "Conteúdos do registo copiados com sucesso.", + "Retry": "Tentar novamente", + "LogLoadFailure": "Falha ao carregar o ficheiro de registos. É possível que atualmente esteja a ser escrito.", + "MetadataNfoLoadError": "Falha ao carregar as definições de metadados NFO" } diff --git a/src/strings/pt.json b/src/strings/pt.json index f02d8fe8db..bb85b20c05 100644 --- a/src/strings/pt.json +++ b/src/strings/pt.json @@ -10,7 +10,7 @@ "XmlTvPathHelp": "Caminho para um ficheiro XMLTV. O Servidor Jellyfin vai ler o ficheiro periodicamente para actualizar a programação de TV. O utilizador é responsável por criar e manter o ficheiro actualizado.", "XmlDocumentAttributeListHelp": "Estes atributos são aplicados ao elemento principal de cada resposta XML.", "Writer": "Argumento", - "WizardCompleted": "É tudo o que precisamos por agora. O Jellyfin começou a recolher informações sobre a tua mediateca. Vê algumas das nossas aplicações e, em seguida, clica em Terminar para ver o Painel de Controlo.", + "WizardCompleted": "É tudo o que precisamos por agora. O Jellyfin começou a recolher informações sobre a tua biblioteca multimédia. Vê algumas das nossas aplicações e, em seguida, clica em Terminar para ver o Painel de Controlo.", "WelcomeToProject": "Bem-vindo ao Jellyfin!", "Wednesday": "Quarta", "ValueVideoCodec": "Codec de Vídeo: {0}", @@ -459,7 +459,7 @@ "HeaderSpecialEpisodeInfo": "Informação do Episódio Especial", "HeaderSortOrder": "Direcção de Ordenação", "HeaderSortBy": "Ordenar Por", - "HeaderSetupLibrary": "Configurar mediatecas", + "HeaderSetupLibrary": "Configurar bibliotecas multimédia", "HeaderServerSettings": "Configurações do Servidor", "HeaderSeriesStatus": "Estado da Série", "HeaderSeriesOptions": "Opções da Série", @@ -588,7 +588,7 @@ "MinutesBefore": "minutos antes", "MinutesAfter": "minutos depois", "MessageUnableToConnectToServer": "Não foi possível estabelecer ligação ao servidor. Por favor, certifique-se que o servidor está a correr e tente de novo.", - "MessageTheFollowingLocationWillBeRemovedFromLibrary": "As seguintes pastas multimédia serão removidas da mediateca", + "MessageTheFollowingLocationWillBeRemovedFromLibrary": "As seguintes pastas multimédia serão removidas da tua biblioteca", "MessageReenableUser": "Veja abaixo como reactivar", "MessagePluginInstallDisclaimer": "AVISO: A instalação de uma extensão de terceiros acarreta riscos. Ela pode conter código instável ou malicioso e pode ser alterado a qualquer momento. Instala apenas extensões de autores em quem confias e tem em atenção os potenciais efeitos que podem ter, incluindo consultas de serviços externos, análises mais longas da biblioteca ou processamento adicional em segundo plano.", "MessagePluginConfigurationRequiresLocalAccess": "Para configurar esta extensão, inicia sessão localmente no servidor.", @@ -805,10 +805,10 @@ "Connect": "Ligar", "ConfirmEndPlayerSession": "Deseja encerrar o Servidor Jellyfin em {0}?", "ConfirmDeletion": "Confirmar remoção", - "ConfirmDeleteItems": "A eliminação destes itens elimina-os do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", - "ConfirmDeleteItem": "A eliminação deste item irá eliminá-lo do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", + "ConfirmDeleteItems": "A eliminação destes itens elimina-os do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", + "ConfirmDeleteItem": "A eliminação deste item irá eliminá-lo do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", "ConfirmDeleteImage": "Eliminar a imagem?", - "ConfigureDateAdded": "Configura a forma como é atribuída a data de adição, no Painel de Controlo > Bibliotecas > Definições NFO", + "ConfigureDateAdded": "Configura a forma como é atribuída a data de adição, no Painel de Controlo > Bibliotecas > Visualização", "Composer": "Compositor", "CommunityRating": "Avaliação da comunidade", "ColorTransfer": "Transferência de cores", @@ -1464,7 +1464,7 @@ "QuickConnectDescription": "Para iniciar sessão com a Ligação Rápida, clica no botão \"Ligação Rápida\" no dispositivo a partir do qual estás a iniciar sessão e introduz o código apresentado abaixo.", "RefreshQueued": "Actualização em fila.", "PlaybackRate": "Velocidade de Reprodução", - "AllowEmbeddedSubtitlesHelp": "Desativar as legendas que estão empacotadas em containers multimédia. Requer uma atualização completa da mediateca.", + "AllowEmbeddedSubtitlesHelp": "Desativar as legendas que estão empacotadas em containers multimédia. Requer uma atualização completa da biblioteca.", "LabelEnableGamepad": "Ativar Gamepad", "LabelTonemappingThreshold": "Limite de mapeamento de tons", "LabelTonemappingRange": "Intervalo de mapeamento de tons", @@ -1585,7 +1585,7 @@ "LabelVideoInfo": "Informações do vídeo", "LabelRemuxingInfo": "Informações sobre remixagem", "LabelDate": "Data", - "MessageRenameMediaFolder": "Mudar o nome de uma mediateca fará com que todos os metadados se percam, por isso, procede com cuidado.", + "MessageRenameMediaFolder": "Mudar o nome de uma biblioteca multimédia fará com que todos os metadados se percam, por isso, procede com cuidado.", "LabelSyncPlaySettingsMinDelaySkipToSync": "Atraso mínimo do pulo de sincronização", "LogLevel.None": "Nada", "LogLevel.Critical": "Crítico", @@ -1622,7 +1622,7 @@ "XmlTvNewsCategoriesHelp": "Os programas com estas categorias serão exibidos como programas de notícias. Separe múltiplos com '|'.", "LabelOriginalMediaInfo": "Informações da mídia original", "YoutubeBadRequest": "Requisição ruim.", - "YoutubeDenied": "O vídeo solicitado não pode ser reproduzido em players incorporados.", + "YoutubeDenied": "O vídeo solicitado não pode ser reproduzido em leitores incorporados.", "TypeOptionPluralBoxSet": "Conjuntos de caixas", "LabelBackdropScreensaverInterval": "Intervalo do fundo do protetor de ecrã", "UseDoubleRateDeinterlacingHelp": "Esta definição utiliza a taxa de campo durante o desentrelaçamento, muitas vezes referido como desentrelaçamento bob, que duplica a taxa de fotogramas do vídeo para proporcionar movimento fluído, como o que verias ao ver vídeo entrelaçado numa televisão.", @@ -1674,7 +1674,7 @@ "ValueAlbumCount": "{0} álbuns", "ValueOneAlbum": "1 álbum", "ValueSongCount": "{0} músicas", - "Controls": "Controles", + "Controls": "Comandos", "LabelSyncPlaySettingsSpeedToSyncDuration": "Duração da Velocidade de sincronização", "EnableFallbackFontHelp": "Ative fontes alternativas personalizadas. Isso pode evitar o problema de renderização incorreta de legendas.", "MessagePlaybackError": "Ocorreu um erro ao reproduzir este ficheiro no teu recetor Google Cast.", @@ -1801,7 +1801,7 @@ "LabelImageInterval": "Intervalo de imagem", "LabelQscale": "Fator de qualidade (Qscale)", "LabelImageIntervalHelp": "Intervalo de tempo (ms) entre cada nova imagem trickplay.", - "LabelScanBehaviorHelp": "O comportamento predefinido é não bloquear, o que adicionará ficheiros multimédia à mediateca antes que a geração de trickplay seja feita. Bloquear irá garantir que os ficheiros trickplay são gerados antes de os ficheiros multimédia serem adicionados à mediateca, mas fará com que as pesquisas sejam significativamente mais longas.", + "LabelScanBehaviorHelp": "O comportamento predefinido é não bloquear, o que adicionará ficheiros multimédia à biblioteca antes que a geração de trickplay seja feita. Bloquear irá garantir que os ficheiros trickplay são gerados antes de os ficheiros multimédia serem adicionados à biblioteca, mas fará com que as pesquisas sejam significativamente mais longas.", "LabelWidthResolutions": "Resoluções de largura", "LabelTileWidth": "Largura do mosaico", "LabelWidthResolutionsHelp": "Lista separada por vírgulas das larguras (px) em que serão geradas as imagens trickplay. Todas as imagens devem ser geradas proporcionalmente à fonte, por isso um vídeo 16:9 com uma largura de 320 acabará por ter cerca de 320x180.", @@ -1825,11 +1825,11 @@ "EnableLibrary": "Ativar a biblioteca", "LabelTrickplayAccelEncodingHelp": "Atualmente apenas disponível em QSV, VA-API, VideoToolbox e RKMPP, esta opção não tem efeito noutros métodos de aceleração de hardware.", "LabelTrickplayAccelEncoding": "Ativar a codificação MJPEG acelerada por hardware", - "ConfirmDeleteLyrics": "A eliminação destas letras irá eliminá-las do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", + "ConfirmDeleteLyrics": "A eliminação destas letras irá eliminá-las do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", "ChannelResolutionFullHD": "Full HD", "ChannelResolutionUHD4K": "UHD (4K)", "ChannelResolutionSDPAL": "SD (PAL)", - "ConfirmDeleteSeries": "A eliminação desta série elimina TODOS os {0} episódios do sistema de ficheiros e da tua mediateca. Tens a certeza de que queres continuar?", + "ConfirmDeleteSeries": "A eliminação desta série elimina TODOS os {0} episódios do sistema de ficheiros e da tua biblioteca multimédia. Tens a certeza de que queres continuar?", "LabelScanBehavior": "Comportamento de análise", "LabelTrickplayThreads": "Threads FFmpeg", "Lyric": "Letra", @@ -1986,5 +1986,16 @@ "RenderPgsSubtitleHelp": "Determina se o cliente deve renderizar legendas PGS em vez de utilizar legendas embebidas. Isto pode evitar a transcodificação do lado do servidor em troca de desempenho de renderização do lado do cliente.", "LabelMediaSegmentProviders": "Fornecedores de segmentos de multimédia", "MediaSegmentProvidersHelp": "Ativa e classifica os teus fornecedores de segmentos de multimédia preferidos por ordem de prioridade.", - "LabelTrickplayKeyFrameOnlyExtractionHelp": "Extrai somente os fotogramas-chave para um processamento significativamente mais rápido com temporização menos precisa. Se o descodificador de hardware configurado não suportar esse modo, será utilizado o descodificador de software." + "LabelTrickplayKeyFrameOnlyExtractionHelp": "Extrai somente os fotogramas-chave para um processamento significativamente mais rápido com temporização menos precisa. Se o descodificador de hardware configurado não suportar esse modo, será utilizado o descodificador de software.", + "AutoSubtitleStylingHelp": "Este modo alterna automaticamente entre os mecanismos de estilo de legendas nativo e personalizado com base no teu tipo de dispositivo.", + "Custom": "Personalizado", + "CustomSubtitleStylingHelp": "O estilo de legendas funciona na maioria dos dispositivos, mas tem uma sobrecarga de desempenho adicional.", + "LabelSubtitleStyling": "Estilo de legendas", + "Native": "Nativo", + "NativeSubtitleStylingHelp": "O estilo de legenda não funcionará em alguns dispositivos. No entanto, não tem qualquer sobrecarga de desempenho.", + "LabelDevice": "Dispositivo", + "LastActive": "Última atividade", + "DeleteServerConfirmation": "Tens a certeza de que queres eliminar este servidor?", + "LibraryNameInvalid": "O nome da biblioteca não pode estar vazio.", + "MetadataNfoLoadError": "Falha ao carregar as definições de metadados NFO" } diff --git a/src/strings/ro.json b/src/strings/ro.json index df41b27dbd..7614678174 100644 --- a/src/strings/ro.json +++ b/src/strings/ro.json @@ -210,7 +210,7 @@ "ButtonRevoke": "Revocă", "ChangingMetadataImageSettingsNewContent": "Modificări ale metadatelor sau ale setărilor de descărcare a operelor de artă se va aplica doar conținutului nou adăugat în librăriile tale. Pentru a aplica modificările titlurilor deja existente va trebui reîmprospătată manual metadata lor.", "CinemaModeConfigurationHelp": "Mod cinema aduce experiența cinematografică în sufrageria dumneavoastră prin abilitatea de a rula trailere sau introuri personalizate înaintea titlului principal.", - "ConfigureDateAdded": "Configurează cum este determinată adăugatea de metadata în tabloul de bord din setările Tablou de bord >Librărie > Setări NFO", + "ConfigureDateAdded": "Configurează cum este determinată adăugarea de metadata în tabloul de bord din setările Tablou de bord > Biblioteci > Afișare", "DefaultSubtitlesHelp": "Subtitrările sunt încărcate în funcție de opțiunile implicite și forțate din metadatele încorporate. Preferințele de limbă sunt luate în considerare atunci când sunt disponibile mai multe opțiuni.", "DirectStreamHelp1": "Fluxul video este compatibil cu dispozitivul, dar are un format audio incompatibil(DTS, Dolby TrueHD, etc) sau numărul de canale audio. Videoclipul va fi re-ambalat în timp real înainte de a-l transmite către dispozitiv.", "CopyStreamURLSuccess": "URL copiat cu succes.", @@ -492,7 +492,7 @@ "HeaderSeriesStatus": "Starea Serialelor", "HeaderServerSettings": "Setările Serverului", "HeaderSortBy": "Sortează după", - "HeaderSortOrder": "Ordinea de sortare", + "HeaderSortOrder": "Ordine sortare", "LabelTranscodingThreadCount": "Numărul de threaduri ale transcodării", "LabelTranscodingProgress": "Progresul transcodării", "LabelTranscodingFramerate": "Rata de cadru a transcodării", @@ -519,7 +519,7 @@ "LabelSpecialSeasonsDisplayName": "Denumirea afișării sezonului special", "LabelSource": "Sursă", "LabelSortTitle": "Sortează titlu", - "LabelSortOrder": "Ordinea de sortare", + "LabelSortOrder": "Ordine sortare", "LabelSortBy": "Sortează după", "LabelSonyAggregationFlagsHelp": "Determină conținutul elementului aggregationFlags din urn:schemas-sonycom:av spațiu de nume.", "LabelSonyAggregationFlags": "Etichete de agregare Sony", @@ -1754,9 +1754,9 @@ "EnableVideoToolboxTonemapping": "Activați VideoToolbox Tone mapping", "AllowVideoToolboxTonemappingHelp": "Adaptarea tonurilor accelerată de hardware oferită de VideoToolbox. Funcționează cu majoritatea formatelor HDR, inclusiv HDR10, HDR10+ și HLG, dar nu funcționează cu Dolby Vision Profile 5. Aceasta are o prioritate mai mare în comparație cu o altă implementare Metal.", "LabelVppTonemappingBrightness": "VPP Câștig de luminozitate pentru maparea tonurilor", - "LabelVppTonemappingBrightnessHelp": "Aplicați câștigul de luminozitate în cartografierea tonurilor VPP. Valorile recomandate și implicite sunt 16 și 0.", + "LabelVppTonemappingBrightnessHelp": "Aplică creșterea luminozității în maparea tonurilor VPP. Valoarea recomandată este 16.", "LabelVppTonemappingContrast": "VPP Câștig de contrast pentru cartografiere tonală", - "LabelVppTonemappingContrastHelp": "Aplicați câștigul de contrast în cartografierea tonurilor VPP. Atât valoarea recomandată, cât și cea implicită sunt 1.", + "LabelVppTonemappingContrastHelp": "Aplică creșterea contrastului în maparea tonurilor VPP. Valoarea recomandată este 1.", "MediaInfoVideoRangeType": "Tipul de interval video", "MediaInfoDvVersionMinor": "Versiunea DV minoră", "MediaInfoDvLevel": "Nivelul DV", @@ -1890,7 +1890,7 @@ "LabelDuration": "Durată", "LabelSaveTrickplayLocallyHelp": "Salvarea imaginilor trickplay în folderele media le va pune lângă media dvs. pentru migrare și acces ușor.", "MediaInfoRotation": "Rotație", - "MediaSegmentAction.None": "Nimic", + "MediaSegmentAction.None": "Nu face nimic", "HeaderUploadLyrics": "Încărcați Versuri", "Lyrics": "Versuri", "LabelEnablePlugin": "Activați pluginul", @@ -1902,7 +1902,7 @@ "LabelScreensaverTimeHelp": "Durata de timp în secunde de inactivitate necesară pentru a porni screensaverul.", "CoverArtist": "Copertă artist", "Creator": "Creator", - "MediaSegmentType.Commercial": "Comercial", + "MediaSegmentType.Commercial": "Publicitate", "MediaSegmentAction.Skip": "Sări", "MediaSegmentType.Intro": "Introducere", "AlwaysRemuxFlacAudioFilesHelp": "Dacă aveți fișiere pe care browserul dvs. le respinge sau pentru care calculează incorect marcajele temporale, activați aceasta ca o soluție.", @@ -1928,7 +1928,7 @@ "AlwaysRemuxMp3AudioFilesHelp": "Dacă aveți fișiere pentru care browserul dvs. calculează incorect marcajele de timp, activați acest lucru ca o soluție.", "HeaderAudioAdvanced": "Audio avansat", "HeaderMediaSegmentActions": "Acțiuni de segment media", - "CustomSubtitleStylingHelp": "Stilul subtitrarilor va funcționa pe majoritatea dispozitivelor, dar vine cu o performanță suplimentară.", + "CustomSubtitleStylingHelp": "Stilizarea subtitrărilor va funcționa pe majoritatea dispozitivelor, dar vine cu un cost suplimentar de performanță.", "LibraryScanFanoutConcurrency": "Limită de sarcini de scanare a bibliotecii în paralel", "LabelSelectPreferredTranscodeVideoAudioCodec": "Codec audio de transcodare preferat în redarea video", "LabelFallbackMaxStreamingBitrate": "Rata de biți maximă a fluxului de rezervă (Mbps)", @@ -1946,5 +1946,61 @@ "Custom": "Personalizat", "LabelSubtitleStyling": "Stilul subtitrarilor", "LabelQsvDevice": "Dispozitiv QSV", - "LabelQsvDeviceHelp": "Specificați dispozitivul pentru Intel QSV pe un sistem multi-GPU. Pe Linux, acesta este nodul de randare, de exemplu, /dev/dri/renderD128. Pe Windows, acesta este indexul dispozitivului care începe de la 0. Lăsați necompletat dacă nu știți ce faceți." + "LabelQsvDeviceHelp": "Specificați dispozitivul pentru Intel QSV pe un sistem multi-GPU. Pe Linux, acesta este nodul de randare, de exemplu, /dev/dri/renderD128. Pe Windows, acesta este indexul dispozitivului care începe de la 0. Lăsați necompletat dacă nu știți ce faceți.", + "LibraryScanFanoutConcurrencyHelp": "Numărul maxim de sarcini paralele în timpul scanărilor bibliotecii. Setarea acestui număr la 0 va alege o limită bazată pe numărul de nuclee ale sistemului dumneavoastră. ATENȚIE: Setarea unui număr prea mare poate cauza probleme cu sistemele de fișiere de rețea; dacă întâmpinați probleme, reduceți acest număr.", + "NoLyricsSearchResultsFound": "Nu au fost găsite versuri.", + "PluginDisableError": "A apărut o eroare la dezactivarea pluginului.", + "MoveToBottom": "Mută la final", + "MediaSegmentType.Preview": "Prezentări", + "MoviesAndShows": "Filme și seriale", + "MessageCancelSeriesTimerError": "A apărut o eroare la anularea temporizatorului serialului.", + "MessageCancelTimerError": "A apărut o eroare la anularea temporizatorului.", + "PlaylistError.CreateFailed": "Eroare la creare playlist.", + "MediaSegmentType.Recap": "Rezumat", + "PlaylistPublicDescription": "Permite ca acest playlist să fie vizualizat de orice utilizator conectat.", + "LyricDownloadersHelp": "Activează și ordonează descărcătoarele de versuri preferate în funcție de prioritate.", + "PlaylistError.AddFailed": "Eroare la adăugarea în playlist.", + "PlaylistPublic": "Permite accesul public", + "PluginEnableError": "A apărut o eroare la activarea pluginului.", + "LibraryInvalidItemIdError": "Biblioteca se află într-o stare invalidă și nu poate fi editată. Este posibil să întâmpinați un bug: calea din baza de date nu este calea corectă pe sistemul de fișiere.", + "MediaSegmentAction.AskToSkip": "Cere să sari peste", + "PlaylistError.UpdateFailed": "Eroare la actualizarea playlistului.", + "CopyLogSuccess": "Conținutul jurnalului a fost copiat cu succes.", + "PasswordMissingSaveError": "Noua parolă nu poate fi goală.", + "Retry": "Reîncearcă", + "LabelDevice": "Dispozitiv", + "LastActive": "Ultima dată activ", + "MediaSegmentType.Outro": "Încheiere", + "MediaSegmentProvidersHelp": "Activează și ordonează furnizorii preferați de segmente media în funcție de prioritate.", + "DeleteServerConfirmation": "Ești sigur că dorești să ștergi acest server?", + "LibraryNameInvalid": "Numele bibliotecii nu poate fi gol.", + "MoveToTop": "Mută în vârf", + "Native": "Nativ", + "LogLoadFailure": "Nu s-a reușit încărcarea fișierului de jurnal. Este posibil să fie încă activ.", + "PreviewLyrics": "Previzualizare versuri", + "SavePassword": "Salveaza parola", + "Translator": "Traducător", + "LabelTrickplayKeyFrameOnlyExtraction": "Generează imagini doar din cadrele cheie", + "VideoCodecTagNotSupported": "Eticheta codec-ului video nu este acceptată", + "SelectPreferredTranscodeVideoCodecHelp": "Selectează codec-ul video preferat pentru transcodare. Dacă codec-ul preferat nu este suportat, serverul va utiliza următorul codec disponibil.", + "LabelTrickplayKeyFrameOnlyExtractionHelp": "Extrage doar cadrele cheie pentru o procesare semnificativ mai rapidă, dar cu o sincronizare mai puțin precisă. Dacă decodorul hardware configurat nu suportă acest mod, se va folosi decodorul software în schimb.", + "Reset": "Resetare", + "ReplaceTrickplayImages": "Înlocuiește imaginile existente trickplay", + "LabelTrickplayAccelEncoding": "Activează encodarea MJPEG accelerată hardware", + "PreferNonstandardArtistsTag": "Preferă eticheta ARTISTS dacă este disponibilă", + "SaveLyricsIntoMediaFoldersHelp": "Salvarea versurilor lângă fișierele audio le va permite să fie gestionate mai ușor.", + "PluginLoadRepoError": "A apărut o eroare la obținerea detaliilor pluginului din repository.", + "PluginUninstallError": "A apărut o eroare la dezinstalarea pluginului.", + "PluginLoadConfigError": "A apărut o eroare la obținerea paginilor de configurare ale pluginului.", + "PreferNonstandardArtistsTagHelp": "Folosește eticheta non-standard ARTISTS în locul etichetei ARTIST când este disponibilă.", + "UseCustomTagDelimitersHelp": "Desparțiți etichetele artist/gen cu caractere personalizate.", + "UseCustomTagDelimiters": "Folosește delimitator personalizat pentru etichete", + "Regional": "Regional", + "SearchForLyrics": "Cauta versuri", + "ViewLyrics": "Vizualizați versurile", + "RenderPgsSubtitle": "Redare experimentală a subtitrărilor PGS", + "LabelTrickplayAccelEncodingHelp": "În prezent, această opțiune este disponibilă doar pe QSV, VA-API, VideoToolbox și RKMPP; nu are efect asupra altor metode de accelerare hardware.", + "SaveLyricsIntoMediaFolders": "Salvează versurile în folderele media", + "RenderPgsSubtitleHelp": "Determină dacă clientul ar trebui să redea subtitrările PGS în locul subtitrărilor încorporate. Aceasta poate evita transcodarea pe server, în schimbul performanței de redare pe client.", + "SelectPreferredTranscodeVideoAudioCodecHelp": "Selectează codec-ul audio preferat pentru transcodare pentru conținutul video. Dacă codec-ul preferat nu este suportat, serverul va utiliza următorul codec disponibil." } diff --git a/src/strings/ru.json b/src/strings/ru.json index 35b305a207..ebfc3d3230 100644 --- a/src/strings/ru.json +++ b/src/strings/ru.json @@ -112,7 +112,7 @@ "ColorTransfer": "Цветопередача", "CommunityRating": "Общественная оценка", "Composer": "Композитор", - "ConfigureDateAdded": "Настройка метаданных \"Дата добавления\" находится по пути Панель > Медиатеки > Параметры NFO", + "ConfigureDateAdded": "Настройка метаданных \"Дата добавления\" находится по пути Панель > Медиатеки > Отображение", "ConfirmDeleteImage": "Удалить изображение?", "ConfirmDeleteItem": "При удалении данного элемента он удалится и из файловой системы, и из медиатеки. Вы действительно хотите продолжить?", "ConfirmDeleteItems": "При удалении данных элементов, он удалится и из файловой системы, и из медиатеки. Вы действительно хотите продолжить?", @@ -1999,5 +1999,12 @@ "LabelSubtitleStyling": "Стилизация субтитров", "MediaSegmentProvidersHelp": "Включить и отсортировать предпочитаемых поставщиков видеофрагментов в порядке приоритета.", "Native": "Встроенные", - "NativeSubtitleStylingHelp": "Стилизация субтитров будет работать не на всех устройствах. Зато это не требует дополнительных вычислительных мощностей." + "NativeSubtitleStylingHelp": "Стилизация субтитров будет работать не на всех устройствах. Зато это не требует дополнительных вычислительных мощностей.", + "LibraryNameInvalid": "Имя библиотеки не может быть пустым.", + "LabelDevice": "Устройство", + "LastActive": "Был активен", + "DeleteServerConfirmation": "Вы уверены, что хотите удалить этот сервер?", + "LogLoadFailure": "Не удалось загрузить файл логов. Возможно, в него активно пишутся логи.", + "CopyLogSuccess": "Логи успешно скопированы.", + "Retry": "Повторить" } diff --git a/src/strings/sk.json b/src/strings/sk.json index 950ead52d1..5e07ae3ebc 100644 --- a/src/strings/sk.json +++ b/src/strings/sk.json @@ -642,7 +642,7 @@ "Shows": "Seriály", "Shuffle": "Zamiešať", "SkipEpisodesAlreadyInMyLibrary": "Nenahrávať epizódy, ktoré už sú v mojej knižnici", - "Small": "Malé", + "Small": "Malý", "Songs": "Skladby", "Sort": "Zoradiť", "SortByValue": "Zoradiť podľa {0}", @@ -976,7 +976,7 @@ "CustomDlnaProfilesHelp": "Vytvorte si vlastný profil pre nové zariadenie alebo pre prepísanie systémového profilu.", "CopyStreamURLSuccess": "URL úspešne skopírovaná.", "CopyStreamURL": "Kopírovať URL adresu streamu", - "ConfigureDateAdded": "Nastavenie spôsobu, akým sa určuje dátum pridania v sekcií Dashboard > Knižnica > NFO nastavenia", + "ConfigureDateAdded": "Nastavenie spôsobu, akým sa určujú metadáta pre \"Dátum pridania\" v sekcií Dashboard > Knižnica > Zobrazenie", "ColorTransfer": "Prenos farieb", "ColorPrimaries": "Primárna farba", "CinemaModeConfigurationHelp": "Kino režim prináša zážitok ako z kina priamo do vašej obývačky s možnosťou prehrať trailery a vlastné intrá pred hlavným programom.", @@ -1999,5 +1999,14 @@ "CustomSubtitleStylingHelp": "Štylizácia titulkov bude fungovať na väčšine zariadení, ale vyžaduje vačší výkon.", "LabelSubtitleStyling": "Štylizácia titulkov", "Native": "Natívne", - "NativeSubtitleStylingHelp": "Štylizácia titulkov nebude na niektorých zariadeniach fungovať, ale nevyžaduje žiadny výkon naviac." + "NativeSubtitleStylingHelp": "Štylizácia titulkov nebude na niektorých zariadeniach fungovať, ale nevyžaduje žiadny výkon naviac.", + "LibraryNameInvalid": "Názov knižnice nesmie byť prázdny.", + "LabelDevice": "Zariadenie", + "LastActive": "Naposledy aktívny", + "DeleteServerConfirmation": "Ste si istí, že chcete odstrániť tento server?", + "CopyLogSuccess": "Obsah logu bol úspešne skopírovaný.", + "Retry": "Opakovať", + "LogLoadFailure": "Nepodarilo sa načítať súbor logu. Je možné, že sa do neho práve aktívne zapisuje.", + "MetadataImagesLoadError": "Nepodarilo sa načítať nastavenia metadát", + "DisplayLoadError": "Pri načítavaní konfiguračných údajov displeja došlo k chybe." } diff --git a/src/strings/sv.json b/src/strings/sv.json index 30af5f14c6..9e2db6e45f 100644 --- a/src/strings/sv.json +++ b/src/strings/sv.json @@ -96,7 +96,7 @@ "Collections": "Samlingar", "CommunityRating": "Användaromdöme", "Composer": "Kompositör", - "ConfigureDateAdded": "Konfigurera hur tillagt datum bestäms på bibliotek > NFO-inställningar", + "ConfigureDateAdded": "Konfigurera hur metadatat för 'Lades till datum' avgörs i Kontrollpanelen > Bibliotek > Skärm", "ConfirmDeleteImage": "Ta bort bild?", "ConfirmDeleteItem": "Tar du bort det här objektet tas det bort från både ditt filsystem och mediabibliotek. Är du säker på att du vill fortsätta?", "ConfirmDeleteItems": "Tar du bort dessa objekt tas dem också bort ifrån både ditt filsystem och mediabibliotek. Är du säker på att du vill fortsätta?", @@ -1994,5 +1994,13 @@ "AutoSubtitleStylingHelp": "Detta läge kommer automatiskt att byta mellan native och anpassade stilmekanismer baserat på din enhetstyp.", "Custom": "Anpassad", "LabelSubtitleStyling": "Styling av undertexter", - "Native": "Native" + "Native": "Native", + "LibraryNameInvalid": "Biblioteksnamnet kan inte vara tomt.", + "LabelDevice": "Enhet", + "LastActive": "Senast aktiv", + "DeleteServerConfirmation": "Är du säker på att du vill ta bort den här servern?", + "CopyLogSuccess": "Kopieringen av loggens innehåll lyckades.", + "DisplayLoadError": "Ett fel inträffade när skärmens konfigurationsdata skulle laddas.", + "MetadataImagesLoadError": "Laddningen av inställningarna för metadatan misslyckades", + "Retry": "Försök igen" } diff --git a/src/strings/ta.json b/src/strings/ta.json index b3dddb74dd..86b8efe8ad 100644 --- a/src/strings/ta.json +++ b/src/strings/ta.json @@ -1903,5 +1903,6 @@ "PlaylistPublicDescription": "உள்நுழைந்துள்ள எவரும் இந்த பிளேலிஸ்ட்டைப் பார்க்க அனுமதிக்கவும்.", "ErrorDeletingLyrics": "சேவையகத்திலிருந்து பாடல் வரிகளை நீக்குவதில் பிழை. ஜெல்லிஃபின் மீடியா கோப்புறையில் எழுதுவதற்கான அணுகலைப் பெற்றுள்ளதா என்பதைச் சரிபார்த்து, மீண்டும் முயற்சிக்கவும்.", "HeaderNoLyrics": "பாடல் வரிகள் எதுவும் கிடைக்கவில்லை", - "HeaderLyricDownloads": "பாடல் வரிகள் பதிவிறக்கம்" + "HeaderLyricDownloads": "பாடல் வரிகள் பதிவிறக்கம்", + "AllowFmp4TranscodingContainerHelp": "HEVC மற்றும் HDR பதிவுகளை செயல்படுத்துவதற்க்கு இந்த டியூனரிற்கு fMP4 ட்ரான்ஸ்கோடிங் கண்டெய்னரை அனுமதிக்கவும். எல்லா விதமான டியூனர்களும் இந்த கண்டெய்னருடன் ஒத்துவராது. தரவுகளை செயல்படுத்துவதில் ஏதேனும் தடங்கல் ஏற்பட்டால் இதை ஆஃப் செய்யவும்." } diff --git a/src/strings/te.json b/src/strings/te.json index c454890181..a436618d9a 100644 --- a/src/strings/te.json +++ b/src/strings/te.json @@ -1324,7 +1324,7 @@ "Categories": "కేటగిరీలు", "CancelSeries": "సిరీస్‌ను రద్దు చేయండి", "CancelRecording": "రికార్డింగ్‌ను రద్దు చేయండి", - "Bwdif": "BWDIF", + "Bwdif": "బాబ్ వీవర్ డీఇంటర్‌లేసింగ్ ఫిల్టర్ (బాబ్ వీవర్ డీఇంటర్‌లేసింగ్ ఫిల్టర్ (బిడబ్ల్యుడిఐఎఫ్)", "ButtonWebsite": "వెబ్‌సైట్", "ButtonUseQuickConnect": "త్వరిత కనెక్ట్ ఉపయోగించండి", "ButtonUninstall": "అన్‌ఇన్‌స్టాల్ చేయండి", @@ -1538,5 +1538,11 @@ "ButtonSpace": "స్థలం", "ChannelResolutionSDPAL": "ఎస్డి (పాల్ )", "ChannelResolutionSD": "ఎస్డీ", - "Casual": "సాధారణ" + "Casual": "సాధారణ", + "Arranger": "వ్యవస్థాపకు", + "AndOtherArtists": "{0} మరియు {1} ఇతర కళాకారులు.", + "AllowTonemappingSoftwareHelp": "వాయు మాపనం అనేది వీడియో యొక్క చైతన్యవంతమైన పరిధిని హెచ్‌డిఆర్ నుండి యస్డిఆర్ కి మార్చగలదు, అదే సమయంలో అసలు దృశ్యాన్ని సూచించడానికి చాలా ముఖ్యమైన సమాచారం అయిన చిత్ర వివరాలు మరియు రంగులను నిర్వహిస్తుంది. ప్రస్తుతం ఇది 10బిట్ హెచ్‌డిఆర్10, హెచ్‌ఎల్‌జి మరియు డోవి వీడియోలతో మాత్రమే పనిచేస్తుంది.", + "AlwaysRemuxFlacAudioFilesHelp": "మీ విహరిణి ఆటలాడుట చేయడానికి తిరస్కరించిన వరుసలు ఉంటే లేదా సమయ కొలతలను తప్పుగా లెక్కిస్తే, దీన్ని ఒక పరిష్కారంగా ప్రారంభించండి.", + "AlwaysRemuxMp3AudioFilesHelp": "మీ విహరిణి సమయ కొలతలను తప్పుగా లెక్కించే వరుసలు మీ వద్ద ఉంటే, దీన్ని ఒక పరిష్కారంగా ప్రారంభించండి.", + "Anime": "అనిమే" } diff --git a/src/strings/uk.json b/src/strings/uk.json index 7030361b90..32df04c914 100644 --- a/src/strings/uk.json +++ b/src/strings/uk.json @@ -136,7 +136,7 @@ "ConfirmDeleteItems": "Видалення цих елементів видалить їх як з файлової системи, так і з медіатеки. Ви справді бажаєте продовжити?", "ConfirmDeleteItem": "Видалення цього елемента видалить його як з файлової системи, так і з медіатеки. Ви справді бажаєте продовжити?", "ConfirmDeleteImage": "Видалити зображення?", - "ConfigureDateAdded": "Налаштуйте спосіб визначення метаданих для «Дата додавання» в Панель керування > Медіатеки > Налаштування NFO", + "ConfigureDateAdded": "Налаштуйте спосіб визначення метаданих для «Дата додавання» в Панель керування > Медіатеки > Подання", "Composer": "Композитор", "CommunityRating": "Рейтинг спільноти", "ColorTransfer": "Передача кольору", @@ -1996,5 +1996,14 @@ "CustomSubtitleStylingHelp": "Стилізація субтитрів працюватиме на більшості пристроїв, але потребує додаткових витрат на продуктивність.", "LabelSubtitleStyling": "Стилізація субтитрів", "Native": "Вбудований", - "NativeSubtitleStylingHelp": "Стилізація субтитрів не працюватиме на деяких пристроях. Проте це не впливає на продуктивність." + "NativeSubtitleStylingHelp": "Стилізація субтитрів не працюватиме на деяких пристроях. Проте це не впливає на продуктивність.", + "LabelDevice": "Пристрій", + "LastActive": "Остання активність", + "DeleteServerConfirmation": "Ви впевнені, що хочете видалити цей сервер?", + "LibraryNameInvalid": "Назва медіатеки не може бути порожньою.", + "CopyLogSuccess": "Вміст журналу успішно скопійовано.", + "Retry": "Повторити", + "LogLoadFailure": "Не вдалося завантажити файл журналу. Можливо, до нього ще ведеться активний запис.", + "DisplayLoadError": "Виникла помилка під час завантаження даних конфігурації дисплея.", + "MetadataImagesLoadError": "Не вдалося завантажити налаштування метаданих" } diff --git a/src/strings/vi.json b/src/strings/vi.json index f5735822b8..3d72b487fe 100644 --- a/src/strings/vi.json +++ b/src/strings/vi.json @@ -187,7 +187,7 @@ "ConfirmDeleteItems": "Xoá những mục này sẽ xoá chúng khỏi ổ cứng và thư viện của bạn. Bạn có chắc chắn muốn tiếp tục?", "ConfirmDeleteItem": "Xoá mục này sẽ xoá nó khỏi ổ cứng và thư viện của bạn. Bạn có chắc chắn muốn tiếp tục?", "ConfirmDeleteImage": "Bạn có chắc chắn xoá ảnh này?", - "ConfigureDateAdded": "Cài đặt xác định dữ liệu mô tả 'Ngày thêm' trong Trang tổng quan > Thư viện > Cài đặt NFO", + "ConfigureDateAdded": "Cài đặt cách xác định dữ liệu mô tả 'Ngày thêm' trong Trang tổng quan > Thư viện > Hiển thị", "Composer": "Tác giả", "CommunityRating": "Đánh giá cộng đồng", "ColorTransfer": "Chuyển đổi màu", @@ -236,7 +236,7 @@ "DeinterlaceMethodHelp": "Chọn cách khử xen kẽ để dùng khi phần mềm chuyển mã xen kẽ nội dung. Khi hỗ trợ tăng tốc phần cứng khử xen kẽ được bật, trình khử xen kẽ phần cứng sẽ dùng cài đặt này.", "DefaultSubtitlesHelp": "Phụ đề được tải dựa trên mặc định và bắt buộc gắn cờ trong dữ liệu mô tả. Ngôn ngữ ưa thích được xem xét khi có nhiều lựa chọn.", "DefaultMetadataLangaugeDescription": "Đây là mặc định của bạn và có thể tùy chỉnh trên cơ sở từng thư viện.", - "DisplayModeHelp": "Chọn kiểu bố trí giao diện mà bạn muốn.", + "DisplayModeHelp": "Chọn kiểu bố cục giao diện mà bạn muốn.", "Download": "Tải về", "Down": "Xuống", "DoNotRecord": "Không ghi lại", @@ -703,7 +703,7 @@ "LabelNewsCategories": "Chuyên mục tin tức", "LabelStable": "Ổn Định", "LabelTonemappingAlgorithm": "Chọn thuật toán ánh xạ tông màu để sử dụng", - "TonemappingAlgorithmHelp": "Có thể điều chỉnh bố trí sắc thái. Nếu bạn không hiểu tùy chọn này, cứ giữ mặc định. Giá trị được đề xuất là 'BT.2390'.", + "TonemappingAlgorithmHelp": "Ánh xạ màu sắc có thể được tinh chỉnh. Nếu bạn không hiểu tùy chọn này, cứ giữ mặc định. Giá trị đề xuất là 'BT.2390'.", "TonemappingRangeHelp": "Chọn dải màu đầu ra. Tự động nghĩa là giống như dải màu đầu vào.", "StopPlayback": "Dừng Phát", "Preview": "Xem Trước", @@ -1996,5 +1996,15 @@ "Custom": "Tùy chọn", "CustomSubtitleStylingHelp": "Kiểu phụ đề sẽ hoạt động trên hầu hết các thiết bị nhưng đi kèm với chi phí hiệu suất bổ sung.", "LabelSubtitleStyling": "Kiểu phụ đề", - "Native": "Gốc" + "Native": "Gốc", + "LibraryNameInvalid": "Tên thư viện không để trống.", + "LabelDevice": "Thiết bị", + "LastActive": "Hoạt động cuối", + "DeleteServerConfirmation": "Bạn có chắc bạn muốn xóa máy chủ này không?", + "CopyLogSuccess": "Sao chép nội dung nhật ký thành công.", + "Retry": "Thử lại", + "LogLoadFailure": "Không tải được tệp nhật ký. Nó vẫn có thể được viết tích cực.", + "DisplayLoadError": "Đã xảy ra lỗi trong khi tải dữ liệu cấu hình hiển thị.", + "MetadataImagesLoadError": "Không tải được cài đặt dữ liệu mô tả", + "MetadataNfoLoadError": "Tải cài đặt dữ liệu mô tả NFO thất bại" } diff --git a/src/strings/zh-cn.json b/src/strings/zh-cn.json index a0bd9caac3..90b5c0e4d6 100644 --- a/src/strings/zh-cn.json +++ b/src/strings/zh-cn.json @@ -1140,7 +1140,7 @@ "LabelTranscodes": "转码", "AuthProviderHelp": "选择用于验证此用户密码的身份验证提供者。", "ColorPrimaries": "原色", - "ConfigureDateAdded": "设置如何在仪表板 > 库 > NFO 设置中确定“添加日期”的元数据", + "ConfigureDateAdded": "设置如何在仪表板 > 库 > 显示 中确定“添加日期”的元数据", "DisplayModeHelp": "选择您想要的界面布局风格。", "EnableColorCodedBackgrounds": "彩色背景", "ErrorDeletingItem": "从服务器删除项目时出错。请检查Jellyfin是否拥有对媒体目录的写权限,然后重试。", @@ -1999,5 +1999,13 @@ "Custom": "自定义", "LabelSubtitleStyling": "字幕样式", "Native": "原生", - "NativeSubtitleStylingHelp": "字幕样式在一些设备上不工作。自然也不会增加功耗。" + "NativeSubtitleStylingHelp": "字幕样式在一些设备上不工作。自然也不会增加功耗。", + "LabelDevice": "设备", + "LastActive": "上次活跃", + "DeleteServerConfirmation": "您确定要删除此服务器吗?", + "LibraryNameInvalid": "媒体库名称不能为空。", + "CopyLogSuccess": "已成功复制日志内容。", + "Retry": "重试", + "DisplayLoadError": "加载显示配置时发生错误。", + "MetadataImagesLoadError": "加载元数据设置时发生错误" } diff --git a/src/strings/zh-hk.json b/src/strings/zh-hk.json index 3eaa9a1b74..c5df0ec2eb 100644 --- a/src/strings/zh-hk.json +++ b/src/strings/zh-hk.json @@ -467,7 +467,7 @@ "DashboardOperatingSystem": "作業系統: {0}", "DashboardArchitecture": "架構: {0}", "DailyAt": "毎日的 {0}", - "ConfigureDateAdded": "在控制台 > 媒體庫 > NFO 設定中,設定判斷「新增日期」的方法", + "ConfigureDateAdded": "在控制台 > 媒體庫 > 顯示,設定判斷「新增日期」的方法", "ClearQueue": "清空佇列", "Bwdif": "BWDIF", "AllowTonemappingHelp": "色調映射(Tone-mapping)可以將影片的動態範圍從 HDR 轉換為 SDR,同時保留原始畫面的關鍵數據(細節和顏色)。目前僅適用於使用 HDR10、HLG及 DoVi 的影片。而此功能需要相應的 OpenCL 或 CUDA 執行程序。", @@ -481,7 +481,7 @@ "LeaveBlankToNotSetAPassword": "您可以將此欄位留空來將密碼設定為無。", "LearnHowYouCanContribute": "了解如何貢獻。", "LatestFromLibrary": "最近新增至 {0}", - "LastSeen": "上次觀看 {0}", + "LastSeen": "最後活動 {0}", "Large": "大", "LanNetworksHelp": "在強制頻寬限制時,認作本地網路上的 IP 位址或 IP/子網域遮罩項目的逗號分隔清單。若設置此項,所有其它 IP 位址將被視作在外部網路上,並且將受到外部頻寬限制。如果保留為空,則只將伺服器的子網域遮罩作本地網路。", "LabelZipCode": "郵遞編號", @@ -1269,5 +1269,15 @@ "ConfirmDeleteLyrics": "刪除這些歌詞將會同時從媒體庫中移除它們並從伺服器上刪除相關檔案。您是否確定刪除?", "Anime": "動漫", "ChannelResolutionSDPAL": "SD(PAL 格式)", - "AllowContentWithTagsHelp": "僅顯示至少有一個指定標籤的媒體。" + "AllowContentWithTagsHelp": "僅顯示至少有一個指定標籤的媒體。", + "LibraryNameInvalid": "媒體庫名稱不可為空。", + "LabelDevice": "裝置", + "LastActive": "最後活躍", + "DeleteServerConfirmation": "你確定要刪除此伺服器?", + "LibraryScanFanoutConcurrency": "平衡掃描媒體庫的數量限制", + "Retry": "重試", + "LogLoadFailure": "無法載入日誌檔。其他程序可能仍在寫入中。", + "CoverArtist": "翻唱藝人", + "Creator": "創作者", + "CopyLogSuccess": "已複製日誌內容。" } diff --git a/src/strings/zh-tw.json b/src/strings/zh-tw.json index 1b9b766bb7..4945809622 100644 --- a/src/strings/zh-tw.json +++ b/src/strings/zh-tw.json @@ -293,7 +293,7 @@ "CinemaModeConfigurationHelp": "劇院模式直接為您的客廳帶來劇院級體驗,同時還可以播放預告片和自定開場。", "Collections": "系列作", "Composer": "作曲家", - "ConfigureDateAdded": "設定如何判斷在「控制台 > 媒體庫 > NFO 設定」中的「添加日期」", + "ConfigureDateAdded": "在「控制台 > 媒體庫 > 顯示」中設定「添加日期」的判斷方式", "ConfirmDeleteImage": "是否確定刪除圖片?", "ConfirmDeleteItems": "刪除這些項目會將檔案從檔案系統和媒體庫中刪除。你真的要繼續嗎?", "ConfirmEndPlayerSession": "您要在 {0} 秒後將 Jellyfin 關閉嗎?", @@ -795,7 +795,7 @@ "LabelEnableAutomaticPortMap": "啟用自動通訊埠轉發", "LabelEnableSingleImageInDidlLimit": "限制單個嵌入式圖片", "LabelEndDate": "結束日期", - "LabelLockItemToPreventChanges": "鎖定此項目以避免被更改", + "LabelLockItemToPreventChanges": "鎖定此項目以防止媒體資料被更改", "LabelManufacturer": "製造商", "LabelLoginDisclaimerHelp": "顯示在登入頁面底部的訊息。", "LabelManufacturerUrl": "製造商網址", @@ -1422,11 +1422,11 @@ "LabelMaxMuxingQueueSizeHelp": "等待所有串流初始化時可緩衝的最大封包數。如果在 FFmpeg 日誌中仍然遇到 \"Too many packets buffered for output stream\" 錯誤,請嘗試增加此設定值。建議值為 2048。", "LabelTonemappingParamHelp": "調整色調轉換演算法。建議值和預設值均為 NaN。通常將其留空。", "LabelTonemappingParam": "色調轉換參數", - "LabelTonemappingPeakHelp": "用此設定值覆蓋信號/標稱/參考峰值。當顯示資訊中嵌入的峰值資訊不可靠時,或從較低範圍到較高範圍的色調轉換時,此選項很有用。建議值和預設值為 100 和 0。", + "LabelTonemappingPeakHelp": "用此數值代替媒體中嵌入的峰值資訊。建議值為 100(1000nit)。", "LabelTonemappingPeak": "色調轉換峰值", "LabelTonemappingThresholdHelp": "此參數對每個場景的色調轉換演算法進行微調。此閾值用於檢測場景是否已更改。如果當前幀平均亮度和當前運行平均值之間的距離超過閾值,將重新計算場景平均和峰值亮度。建議值和預設值為 0.8 和 0.2。", "LabelTonemappingThreshold": "色調轉換閾值", - "LabelTonemappingDesatHelp": "降低超過此亮度級別的亮部飽和度。此值越大,將保留更多的顏色資訊。此設定可以平滑地變成白色,從而防止超高亮顯示出不自然的顏色。這使圖片感覺更自然,但以減少超出範圍的顏色的相關資訊為代價。建議值和預設值分別為 0 和 0.5。", + "LabelTonemappingDesatHelp": "降低超過此亮度級別的亮部飽和度。建議值為 0(停用)。", "LabelCreateHttpPortMap": "為 HTTP 與 HTTPS 啟用自動通訊埠轉發。", "LabelAutomaticDiscoveryHelp": "允許程式通過 UDP 7359 通訊埠自動偵測Jellyfin 。", "LabelAutomaticDiscovery": "啟動自動探索", @@ -1611,7 +1611,7 @@ "AudioIsExternal": "外部音訊串流", "LabelVppTonemappingBrightness": "VPP 色調轉換亮度增益", "EnableSplashScreen": "啟用啟動畫面", - "LabelVppTonemappingContrastHelp": "在 VPP 色調轉換中使用對比度增益。 推薦值和預設值是 1。", + "LabelVppTonemappingContrastHelp": "在 VPP 色調轉換中使用對比度增益。 建議值是 1。", "Clip": "花絮", "Larger": "較大的", "Sample": "樣本", @@ -1664,7 +1664,7 @@ "ThemeSong": "主題曲", "ThemeVideo": "主題影片", "EnableEnhancedNvdecDecoderHelp": "增強的 NVDEC 實現,如果遇到解碼錯誤,請停用此選項以使用 CUVID。", - "LabelVppTonemappingBrightnessHelp": "在 VPP 色調轉換中使用亮度增益。 推薦值和預設值為 16 和 0。", + "LabelVppTonemappingBrightnessHelp": "在 VPP 色調轉換中使用亮度增益。 建議值為 16。", "LabelVppTonemappingContrast": "VPP 色調轉換對比度增益", "VideoRangeTypeNotSupported": "不支援影片的範圍類型", "LabelVideoRangeType": "影片範圍類型", @@ -1994,5 +1994,14 @@ "AutoSubtitleStylingHelp": "此模式將依裝置類別自動切換原生字幕或自訂字幕樣式。", "LabelMediaSegmentProviders": "媒體片段提供者", "Custom": "自訂", - "CustomSubtitleStylingHelp": "字幕會在大部分裝置上運作,但會增加額外的效能損失。" + "CustomSubtitleStylingHelp": "字幕會在大部分裝置上運作,但會增加額外的效能損失。", + "MediaSegmentProvidersHelp": "啟用並重新排序偏好的媒體片段提供者。", + "LabelDevice": "裝置", + "DeleteServerConfirmation": "你確定要刪除此伺服器嗎?", + "LabelSubtitleStyling": "字幕樣式", + "LastActive": "最後活動", + "Native": "原生", + "NativeSubtitleStylingHelp": "字幕樣式在部分裝置上不被支援。在這些裝置上不會造成額外的負載。", + "LibraryNameInvalid": "媒體庫名稱不可為空,或以空白開始/結尾。", + "Retry": "重試" } diff --git a/src/styles/_font.scss b/src/styles/_font.scss new file mode 100644 index 0000000000..fef50be0b7 --- /dev/null +++ b/src/styles/_font.scss @@ -0,0 +1,16 @@ +@use "sass:map"; + +// Map font weight numbers to names +$weight-names: (100: "Thin", 200: "ExtraLight", 300: "Light", 400: "Regular", 500: "Medium", 600: "SemiBold", 700: "Bold", 800: "ExtraBold", 900: "Black"); + +// Mixin to help create the Noto Sans font-faces +@mixin face($family: "Noto Sans", $style: normal, $weight: 400, $url: null, $range: null) { + @font-face { + font-family: $family; + font-style: $style; + font-display: swap; + font-weight: $weight; + src: local($family), local("#{$family} #{map.get($weight-names, $weight)}"), url($url) format("woff2"); + unicode-range: $range; + } +} diff --git a/src/styles/dashboard.scss b/src/styles/dashboard.scss index 93bab1048f..4fdaa3034a 100644 --- a/src/styles/dashboard.scss +++ b/src/styles/dashboard.scss @@ -214,9 +214,15 @@ div[data-role=controlgroup] a.ui-btn-active { width: 50%; } -.localUsers .cardText-secondary { - white-space: pre-wrap; - height: 3em; +.localUsers { + .cardText-secondary { + white-space: pre-wrap; + min-height: 3em; + } + + .cardBox { + height: 100%; + } } .customCssContainer textarea { diff --git a/src/styles/fonts.noto.scss b/src/styles/fonts.noto.scss index 53c1a9eb7c..31d5c574a2 100644 --- a/src/styles/fonts.noto.scss +++ b/src/styles/fonts.noto.scss @@ -1,4 +1,4 @@ -@import "../styles/noto-sans/index.scss"; +@use "../styles/noto-sans/index.scss" as *; html { font-family: "Noto Sans", "Noto Sans HK", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", sans-serif; diff --git a/src/styles/librarybrowser.scss b/src/styles/librarybrowser.scss index 85c47f8a6c..9afed6ed93 100644 --- a/src/styles/librarybrowser.scss +++ b/src/styles/librarybrowser.scss @@ -1,4 +1,4 @@ -@import 'mixins'; +@use 'mixins' as *; // The padding of the header content on mobile needs to be adjusted // based on the size of the poster card (values from card.scss) diff --git a/src/styles/noto-sans/base-400-normal.scss b/src/styles/noto-sans/base-400-normal.scss index 190547832a..49b45c7d23 100644 --- a/src/styles/noto-sans/base-400-normal.scss +++ b/src/styles/noto-sans/base-400-normal.scss @@ -1,47 +1,49 @@ +@use "../font"; + /* noto-sans-cyrillic-ext-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-cyrillic-ext-400-normal.woff2", $range: (U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F) ); /* noto-sans-cyrillic-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-cyrillic-400-normal.woff2", $range: (U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116) ); /* noto-sans-devanagari-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-devanagari-400-normal.woff2", $range: (U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB) ); /* noto-sans-greek-ext-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-greek-ext-400-normal.woff2", $range: (U+1F00-1FFF) ); /* noto-sans-greek-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-greek-400-normal.woff2", $range: (U+0370-03FF) ); /* noto-sans-vietnamese-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-vietnamese-400-normal.woff2", $range: (U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB) ); /* noto-sans-latin-ext-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-latin-ext-400-normal.woff2", $range: (U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF) ); /* noto-sans-latin-400-normal */ -@include fontFace( +@include font.face( $url: "~@fontsource/noto-sans/files/noto-sans-latin-400-normal.woff2", $range: (U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD) ); diff --git a/src/styles/noto-sans/base-700-normal.scss b/src/styles/noto-sans/base-700-normal.scss index f8ddaeff2d..3daecbb70f 100644 --- a/src/styles/noto-sans/base-700-normal.scss +++ b/src/styles/noto-sans/base-700-normal.scss @@ -1,54 +1,56 @@ +@use "../font"; + /* noto-sans-cyrillic-ext-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-cyrillic-ext-700-normal.woff2", $range: (U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F) ); /* noto-sans-cyrillic-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-cyrillic-700-normal.woff2", $range: (U+0700-045F, U+0490-0491, U+04B0-04B1, U+2116) ); /* noto-sans-devanagari-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-devanagari-700-normal.woff2", $range: (U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB) ); /* noto-sans-greek-ext-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-greek-ext-700-normal.woff2", $range: (U+1F00-1FFF) ); /* noto-sans-greek-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-greek-700-normal.woff2", $range: (U+0370-03FF) ); /* noto-sans-vietnamese-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-vietnamese-700-normal.woff2", $range: (U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB) ); /* noto-sans-latin-ext-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-latin-ext-700-normal.woff2", $range: (U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF) ); /* noto-sans-latin-700-normal */ -@include fontFace( +@include font.face( $weight: 700, $url: "~@fontsource/noto-sans/files/noto-sans-latin-700-normal.woff2", $range: (U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD) diff --git a/src/styles/noto-sans/hk-400-normal.scss b/src/styles/noto-sans/hk-400-normal.scss index d27d8a1fed..abbd03c511 100644 --- a/src/styles/noto-sans/hk-400-normal.scss +++ b/src/styles/noto-sans/hk-400-normal.scss @@ -1,735 +1,737 @@ +@use "../font"; + $hkFamily: "Noto Sans HK"; /* noto-sans-hk-[0]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-0-400-normal.woff2", $range: (U+28eb2-28eb3, U+28ed9, U+28ee7, U+28fc5, U+29079, U+29088, U+2908b, U+29093, U+290af-290b1, U+290c0, U+290e4-290e5, U+290ec-290ed, U+2910d, U+29110, U+2913c, U+2914d, U+2915b, U+2915e, U+29170, U+2919c, U+291a8, U+291d5, U+291eb, U+2941d, U+29420, U+29433, U+2943f, U+29448, U+294d0, U+294d9-294da, U+294e5, U+294e7, U+2959e, U+295b0, U+295b8, U+295d7, U+295e9, U+295f4, U+29720, U+29732, U+297d4, U+29810, U+29857, U+298a4, U+298d1, U+298ea, U+298f1, U+298fa, U+29903, U+29905, U+2992f, U+29945, U+29947-29949, U+2995d, U+2996a, U+2999d, U+299c3, U+299c9, U+29a28, U+29a4d, U+29b05, U+29b0e, U+29bd5, U+29c73, U+29cad, U+29d3e, U+29d5a, U+29d7c, U+29d98, U+29d9b, U+29df6, U+29e06, U+29e2d, U+29e68, U+29eac, U+29eb0, U+29ec3, U+29ef8, U+29f23, U+29f30, U+29fb7, U+29fde, U+2a014, U+2a087, U+2a0b9, U+2a0e1, U+2a0ed, U+2a0f3, U+2a0f8, U+2a0fe, U+2a107, U+2a123, U+2a133-2a134, U+2a150, U+2a192-2a193, U+2a1ab, U+2a1b4-2a1b5, U+2a1df, U+2a1f5, U+2a220, U+2a233, U+2a293, U+2a29f, U+2a2b2, U+2a2b4, U+2a2b6, U+2a2ba, U+2a2bd, U+2a2df, U+2a2ff, U+2a351, U+2a3a9, U+2a3ed, U+2a434, U+2a45b, U+2a5c6, U+2a5cb, U+2a601, U+2a632, U+2a64a, U+2a65b, U+2a6a9, U+2adff, U+2f825, U+2f83b, U+2f840, U+2f878, U+2f894, U+2f8a6, U+2f8cd, U+2f994, U+2f9b2, U+2f9bc, U+2f9d4, U+f0001-f0005, U+f0019, U+f009b, U+f0101-f0104, U+f012b, U+f01ba, U+f01d6, U+f0209, U+f0217, U+f0223-f0224, U+fc355, U+fe327, U+fe517, U+feb97, U+fffb4) ); /* noto-sans-hk-[1]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-1-400-normal.woff2", $range: (U+28189, U+281af, U+281bc, U+28207, U+28218, U+2821a, U+28256, U+2827c, U+2829b, U+282cd, U+282e2, U+28306, U+28318, U+2832f, U+2833a, U+28365, U+2836d, U+2837d, U+2838a, U+28412, U+28468, U+2846c, U+28473, U+28482, U+28501, U+2853c-2853d, U+2856c, U+285e8, U+285f4, U+28600, U+2860b, U+28625, U+2863b, U+286aa-286ab, U+286b2, U+286bc, U+286d8, U+286e6, U+2870f, U+28713, U+28804, U+2882b, U+2890d, U+28933, U+28948-28949, U+28956, U+28964, U+28968, U+2896c-2896d, U+2897e, U+28989, U+2898d, U+289a8, U+289aa-289ab, U+289b8, U+289bc, U+289c0, U+289dc, U+289de, U+289e1, U+289e3-289e4, U+289e7-289e8, U+289f9-289fc, U+28a0f, U+28a16, U+28a25, U+28a29, U+28a32, U+28a36, U+28a44-28a4b, U+28a59-28a5a, U+28a81-28a83, U+28a9a-28a9c, U+28ac0, U+28ac6, U+28acb-28acc, U+28ace, U+28ade-28ae3, U+28ae5, U+28aea, U+28afc, U+28b0c, U+28b13, U+28b21-28b22, U+28b2b-28b2d, U+28b2f, U+28b46, U+28b4c, U+28b4e, U+28b50, U+28b63-28b66, U+28b6c, U+28b8f, U+28b99, U+28b9c-28b9d, U+28bb9, U+28bc2, U+28bc5, U+28bd4, U+28bd7, U+28bd9-28bda, U+28be7-28bec, U+28bf5, U+28bff, U+28c03, U+28c09, U+28c1c-28c1d, U+28c23, U+28c26, U+28c2b, U+28c30, U+28c39, U+28c3b, U+28cca, U+28ccd, U+28cd2, U+28d34, U+28d99, U+28db9, U+28e0f, U+28e36, U+28e39, U+28e65-28e66, U+28e97, U+28eac) ); /* noto-sans-hk-[2]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-2-400-normal.woff2", $range: (U+26da0-26da7, U+26dae, U+26ddc, U+26dea-26deb, U+26df0, U+26e00, U+26e05, U+26e07, U+26e12, U+26e42-26e45, U+26e6e, U+26e72, U+26e77, U+26e84, U+26e88, U+26e8b, U+26e99, U+26ed0-26ed7, U+26f26, U+26f73-26f74, U+26f9f, U+26fa1, U+26fbe, U+26fde-26fdf, U+2700e, U+2704b, U+27052-27053, U+27088, U+270ad-270af, U+270cd, U+270d2, U+270f0, U+270f8, U+27109, U+2710c-2710d, U+27126-27127, U+27164-27165, U+27175, U+271cd, U+2721b, U+27267, U+27280, U+27285, U+2728b, U+272b2, U+272b6, U+272e6, U+27352, U+2739a, U+273ff, U+27422, U+27450, U+27484, U+27486, U+27574, U+275a3, U+275e0, U+275e4, U+275fd-275fe, U+27607, U+2760c, U+27632, U+27639, U+27655-27657, U+27694, U+2770f, U+27735-27736, U+27741, U+2775e, U+27784-27785, U+277cc, U+27858, U+27870, U+2789d, U+278b2, U+278c8, U+27924, U+27967, U+2797a, U+279a0, U+279dd, U+279fd, U+27a0a, U+27a0e, U+27a3e, U+27a53, U+27a59, U+27a79, U+27a84, U+27abd-27abe, U+27af4, U+27b06, U+27b0b, U+27b18, U+27b38-27b3a, U+27b48, U+27b65, U+27bef, U+27bf4, U+27c12, U+27c6c, U+27cb1, U+27cc5, U+27d2f, U+27d53-27d54, U+27d66, U+27d73, U+27d84, U+27d8f, U+27d98, U+27dbd, U+27ddc, U+27e4d, U+27e4f, U+27f2e, U+27ff9, U+28002, U+28009, U+2801e, U+28023-28024, U+28048, U+28083, U+28090, U+280bd-280be, U+280e8-280e9, U+280f4, U+2812e, U+2814f, U+2815d, U+2816f) ); /* noto-sans-hk-[3]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-3-400-normal.woff2", $range: (U+25a9c, U+25aae-25aaf, U+25ae9, U+25b74, U+25b89, U+25bb3-25bb4, U+25bc6, U+25be4, U+25be8, U+25c01, U+25c06, U+25c21, U+25c4a, U+25c65, U+25c91, U+25ca4, U+25cc0-25cc1, U+25cfe, U+25d20, U+25d30, U+25d43, U+25d99, U+25db9, U+25e0e, U+25e49, U+25e81-25e83, U+25ea6, U+25ebc, U+25ed7-25ed8, U+25f1a, U+25f4b, U+25fe1-25fe2, U+26021, U+26029, U+26048, U+26064, U+26083, U+26097, U+260a4-260a5, U+26102, U+26121, U+26159-2615c, U+261ad-261ae, U+261b2, U+261dd, U+26258, U+26261, U+2626a-2626b, U+262d0, U+26335, U+2634b-2634c, U+26351, U+263be, U+263f5, U+263f8, U+26402, U+26410-26412, U+2644a, U+26469, U+26484, U+26488-26489, U+2648d, U+26498, U+26512, U+26572, U+265a0, U+265ad, U+265bf, U+26612, U+26626, U+266af, U+266b1, U+266b5, U+266da, U+266e8, U+266fc, U+26716, U+26741, U+26799, U+267b3-267b4, U+267cc, U+2681c, U+26846, U+2685e, U+2686e, U+26888, U+2688a, U+26893, U+268c7, U+2690e, U+26911, U+26926, U+26939, U+26951, U+269a8, U+269b5, U+269f2, U+269fa, U+26a2d-26a2e, U+26a34, U+26a42, U+26a51-26a52, U+26b05, U+26b0a, U+26b13, U+26b15, U+26b23, U+26b28, U+26b50-26b53, U+26b5b, U+26b75, U+26b82, U+26b96-26b97, U+26b9d, U+26bb3, U+26bc0, U+26bf7, U+26c21, U+26c40-26c41, U+26c46, U+26c7e-26c82, U+26ca4, U+26cb7-26cb8, U+26cbd, U+26cc0, U+26cc3, U+26cd1, U+26d22-26d2a, U+26d51, U+26d74) ); /* noto-sans-hk-[4]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-4-400-normal.woff2", $range: (U+249bb, U+249c5, U+249d0, U+249da, U+249de-249df, U+249e3, U+249e5, U+249ec-249ed, U+249f6-249f9, U+249fb, U+24a0e, U+24a12-24a13, U+24a15, U+24a21-24a2a, U+24a3e, U+24a42, U+24a45, U+24a4a, U+24a4e-24a51, U+24a5d, U+24a65-24a67, U+24a71, U+24a77-24a7a, U+24a8c, U+24a93-24a96, U+24aa4-24aa7, U+24ab1-24ab3, U+24aba-24abc, U+24ac0, U+24ac7, U+24aca, U+24ad1, U+24adf, U+24ae2, U+24ae9, U+24b0f, U+24b6e, U+24bf5, U+24c09, U+24c9e-24c9f, U+24cc9, U+24cd9, U+24d06, U+24d13, U+24db8, U+24dea-24deb, U+24e3b, U+24e50, U+24ea5, U+24ea7, U+24f0e, U+24f5c, U+24f82, U+24f86, U+24f97, U+24f9a, U+24fa9, U+24fb8, U+24fc2, U+2502c, U+25052, U+2509d, U+2512b, U+25148, U+2517d-2517e, U+251cd, U+251e3, U+251e6-251e7, U+25220-25221, U+25250, U+25299, U+252c7, U+252d8, U+2530e, U+25311, U+25313, U+25419, U+25425, U+2542f-25430, U+25446, U+2546c, U+2546e, U+2549a, U+25531, U+25535, U+2553f, U+2555b-2555e, U+25562, U+25565-25566, U+25581, U+25584, U+2558f, U+255b9, U+255d5, U+255db, U+255e0, U+25605, U+25635, U+25651, U+25683, U+25695, U+256e3, U+256f6, U+25706, U+2571d, U+25725, U+2573d, U+25772, U+257c7, U+257df-257e1, U+25857, U+2585d, U+25872, U+258c8, U+258de, U+258e1, U+25903, U+25946, U+25956, U+259ac, U+259cc, U+25a54, U+25a95) ); /* noto-sans-hk-[5]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-5-400-normal.woff2", $range: (U+23f61, U+23f7f-23f82, U+23f8f, U+23fb4, U+23fb7, U+23fc0, U+23fc5, U+23feb-23ff0, U+24011, U+24039-2403d, U+24057, U+24085, U+2408b-2408d, U+24091, U+240c9, U+240e1, U+240ec, U+24104, U+2410f, U+24119, U+2413f-24140, U+24144, U+2414e, U+24155-24157, U+2415c, U+2415f, U+24161, U+24177, U+2417a, U+241a3-241a5, U+241ac, U+241b5, U+241cd, U+241e2, U+241fc, U+2421b, U+2424b, U+24256, U+24259, U+24276-24278, U+24284, U+24293, U+24295, U+242a5, U+242bf, U+242c1, U+242c9-242ca, U+242ee, U+242fa, U+2430d, U+2431a, U+24334, U+24348, U+24362-24365, U+2438c, U+24396, U+2439c, U+243bd, U+243c1, U+243e9-243ea, U+243f2, U+243f8, U+24404, U+24435-24436, U+2445a-2445b, U+24473, U+24487-24488, U+244b9, U+244bc, U+244ce, U+244d3, U+244d6, U+24505, U+24521, U+24578, U+245c8, U+24618, U+2462a, U+24665, U+24674, U+24697, U+246d4, U+24706, U+24725, U+2472f, U+2478f, U+247e0, U+24812, U+24823, U+24882, U+248e9, U+248f0-248f3, U+248fb, U+248ff-24901, U+2490c, U+24916-24917, U+24919, U+2492f, U+24933-24934, U+2493e-24943, U+24962-24963, U+24974-24976, U+2497b, U+2497f, U+24982, U+24988-2498f, U+24994, U+249a4, U+249a7, U+249a9, U+249ab-249ad, U+249b7-249ba) ); /* noto-sans-hk-[6]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-6-400-normal.woff2", $range: (U+22e8b, U+22eb3, U+22eef, U+22f74, U+22fcc, U+22fe3, U+23033, U+23044, U+2304b, U+23066, U+2307d-2307e, U+2308e, U+230b7, U+230bc, U+230da, U+23103, U+2313d, U+2317d, U+23182, U+231a4-231a5, U+231b3, U+231c8-231c9, U+231ea, U+231f7-231f9, U+2320f, U+23225, U+2322f, U+23231-23234, U+23256, U+2325e, U+23262, U+23281, U+23289-2328a, U+232ab-232ad, U+232d2, U+232e0-232e1, U+23300, U+2330a, U+2331f, U+233b4, U+233cc, U+233de, U+233e6, U+233f4-233f5, U+233f9-233fa, U+233fe, U+23400, U+2343f, U+23450, U+2346f, U+23472, U+234e5, U+23519, U+23530, U+23551, U+2355a, U+23567, U+23595, U+23599, U+2359c, U+235bb, U+235cd-235cf, U+235f3, U+23600, U+23617, U+2361a, U+2363c, U+23640, U+23659, U+2365f, U+23677, U+2368e, U+2369e, U+236a6, U+236ad, U+236ba, U+236df, U+236ee, U+23703, U+23716, U+23720, U+2372d, U+2372f, U+2373f, U+23766, U+23781, U+237a2, U+237bc, U+237c2, U+237d5-237d7, U+2383a, U+239c2, U+23aa7, U+23adb, U+23aee, U+23afa, U+23b1a, U+23b5a, U+23c63, U+23c99-23c9b, U+23cb5, U+23cb7, U+23cc7-23cc9, U+23cfc-23cff, U+23d40, U+23d5b, U+23d7e, U+23d8f, U+23db6-23dbd, U+23de3, U+23df8, U+23e06, U+23e11, U+23e2c-23e31, U+23e39, U+23e88-23e8b, U+23eb9, U+23ebf, U+23ed7, U+23ef7-23efc, U+23f35, U+23f41, U+23f4a) ); /* noto-sans-hk-[7]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-7-400-normal.woff2", $range: (U+21927, U+2193b, U+21944, U+21958, U+2196a, U+2197c, U+21980, U+21983, U+21988, U+21996, U+219db, U+219f3, U+21a2d, U+21a34, U+21a45, U+21a4b, U+21a63, U+21b44, U+21bc1-21bc2, U+21c2a, U+21c70, U+21ca2, U+21ca5, U+21cac, U+21d46, U+21d53, U+21d5e, U+21d90, U+21db6, U+21dba, U+21dca, U+21dd1, U+21deb, U+21df9, U+21e1c, U+21e23, U+21e37, U+21e3d, U+21e89, U+21ea4, U+21ea8, U+21ec8, U+21ed5, U+21f0f, U+21f15, U+21f6a, U+21f9e, U+21fa1, U+21fe8, U+22045, U+22049, U+2207e, U+2209a, U+220c7, U+220fc, U+2212a, U+2215b, U+22173, U+2217a, U+221a1, U+221c1, U+221c3, U+22208, U+2227c, U+22321, U+22325, U+223bd, U+223d0, U+223d7, U+223fa, U+22465, U+22471, U+2248b, U+22491, U+224b0, U+224bc, U+224c1, U+224c9, U+224cc, U+224ed, U+22513, U+2251b, U+22530, U+22554, U+2258d, U+225af, U+225be, U+2261b-2261c, U+2262b, U+22668, U+2267a, U+22696, U+22698, U+226f4-226f6, U+22712, U+22714, U+2271b, U+2271f, U+2272a, U+22775, U+22781, U+22796, U+227b4-227b5, U+227cd, U+22803, U+2285f-22860, U+22871, U+228ad, U+228c1, U+228f7, U+22926, U+22939, U+2294f, U+22967, U+2296b, U+22980, U+22993, U+22a66, U+22acf, U+22ad5, U+22ae6, U+22ae8, U+22b0e, U+22b22, U+22b3f, U+22b43, U+22b6a, U+22bca, U+22bce, U+22c26-22c27, U+22c38, U+22c4c, U+22c51, U+22c55, U+22c62, U+22c88, U+22c9b, U+22ca1, U+22ca9, U+22cb2, U+22cb7, U+22cc2, U+22cc6, U+22cc9, U+22d07-22d08, U+22d12, U+22d44, U+22d4c, U+22d67, U+22d8d, U+22d95, U+22da0, U+22da3-22da4, U+22db7, U+22dee, U+22e0d, U+22e36, U+22e42, U+22e78) ); /* noto-sans-hk-[8]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-8-400-normal.woff2", $range: (U+21076-21078, U+2107b, U+21088, U+21096, U+2109d, U+210b4, U+210bf-210c1, U+210c7-210c9, U+210cf, U+210d3, U+210e4, U+210f4-210f6, U+2112f, U+2113b, U+2113d, U+21145, U+21148, U+2114f, U+21180, U+21187, U+211d9, U+2123c, U+2124f, U+2127c, U+212a8-212a9, U+212b0, U+212e3, U+212fe, U+21302-21305, U+21336, U+2133a, U+21375-21376, U+2138e, U+21398, U+2139c, U+213c5-213c6, U+213ed, U+213fe, U+21413, U+21416, U+21424, U+2143f, U+21452, U+21454-21455, U+2148a, U+21497, U+214b6, U+214e8, U+214fd, U+21577, U+21582, U+21596, U+2160a, U+21613, U+21619, U+2163e, U+21661, U+21692, U+216b8, U+216ba, U+216c0-216c2, U+216d3, U+216d5, U+216df, U+216e6-216e8, U+216fa-216fc, U+216fe, U+2170d, U+21710, U+21726, U+2173a-2173c, U+21757, U+2176c-21771, U+21773-21774, U+217ab, U+217b0-217b5, U+217c3, U+217c7, U+217d9-217dc, U+217df, U+217ef, U+217f5-217f6, U+217f8-217fc, U+21820, U+21828-2182a, U+2182d, U+21839-2183b, U+21840, U+21845, U+21852, U+2185e, U+21861-21864, U+21877, U+2187b, U+21883-21885, U+2189e-218a2, U+218be-218bf, U+218d1, U+218d6-218d9, U+218fa, U+21903-21905, U+21910-21912, U+21915, U+2191c, U+21922) ); /* noto-sans-hk-[9]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-9-400-normal.woff2", $range: (U+2048e, U+20491-20492, U+204a3, U+204d7, U+204fc, U+204fe, U+20547, U+2058e, U+205a5, U+205b3, U+205c3, U+205ca, U+205d0, U+205d5, U+205df-205e0, U+205eb, U+20611, U+20615, U+20619-2061a, U+20630, U+20656, U+20676, U+2070e, U+20731, U+20779, U+2082c, U+20873, U+208d5, U+20916, U+20923, U+20954, U+20979, U+209e7, U+20a11, U+20a50, U+20a6f, U+20a8a, U+20ab4, U+20ac2, U+20acd, U+20b0d, U+20b8f, U+20b9f, U+20ba8-20ba9, U+20bbf, U+20bc6, U+20bcb, U+20be2, U+20beb, U+20bfb, U+20bff, U+20c0b, U+20c0d, U+20c20, U+20c34, U+20c3a-20c3b, U+20c41-20c43, U+20c53, U+20c65, U+20c77-20c78, U+20c7c, U+20c8d, U+20c96, U+20c9c, U+20cb5, U+20cb8, U+20ccf, U+20cd3-20cd6, U+20cdd, U+20ced, U+20cff, U+20d15, U+20d28, U+20d31-20d32, U+20d46-20d49, U+20d4c-20d4e, U+20d6f, U+20d71, U+20d74, U+20d7c, U+20d7e-20d7f, U+20d96, U+20d9c, U+20da7, U+20db2, U+20dc8, U+20e04, U+20e09-20e0a, U+20e0d-20e11, U+20e16, U+20e1d, U+20e4c, U+20e6d, U+20e73, U+20e75-20e7b, U+20e8c, U+20e96, U+20e98, U+20e9d, U+20ea2, U+20eaa-20eac, U+20eb6, U+20ed7-20ed8, U+20edd, U+20ef8-20efb, U+20f1d, U+20f26, U+20f2d-20f2e, U+20f30-20f31, U+20f3b, U+20f4c, U+20f64, U+20f8d, U+20f90, U+20fad, U+20fb4-20fb6, U+20fbc, U+20fdf, U+20fea-20fed, U+21014, U+2101d-2101e, U+2104f, U+2105c, U+2106f, U+21075) ); /* noto-sans-hk-[10]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-10-400-normal.woff2", $range: (U+1f6f5, U+1f6f8, U+1f910-1f930, U+1f932-1f935, U+1f937-1f939, U+1f940-1f944, U+1f947-1f94a, U+1f950-1f95f, U+1f962-1f967, U+1f969-1f96a, U+1f980-1f981, U+1f984-1f98d, U+1f990-1f992, U+1f994-1f996, U+1f9c0, U+1f9d0, U+1f9d2, U+1f9d4, U+1f9d6, U+1f9d8, U+1f9da, U+1f9dc-1f9dd, U+1f9df-1f9e2, U+1f9e5-1f9e6, U+20021, U+20024, U+2003e, U+20046, U+2004e, U+20068, U+20086-20087, U+2008a, U+20094, U+200ca-200cd, U+200d1, U+200ee, U+2010c, U+2010e, U+20118, U+201a4, U+201a9, U+201ab, U+201c1, U+201d4, U+201f2, U+20204, U+2020c, U+20214, U+20239, U+2025b, U+20274-20275, U+20299, U+2029e, U+202a0, U+202b7, U+202bf-202c0, U+202e5, U+2030a, U+20325, U+20341, U+20345-20347, U+2037e-20380, U+203a0, U+203a7, U+203b5, U+203c9, U+203cb, U+203f5, U+203fc, U+20413-20414, U+2041f, U+20465, U+20487) ); /* noto-sans-hk-[15]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-15-400-normal.woff2", $range: (U+ff37, U+ff39-ff3a, U+ff3c, U+ff3e-ff5b, U+ff5d, U+ff61-ff65, U+ff67-ff68, U+ff6a, U+ff6c-ff7e, U+ff80-ff86, U+ff89-ff94, U+ff97-ff9e, U+ffb9, U+ffe0-ffe3, U+ffe9, U+ffeb, U+ffed, U+fffc, U+1d7c7, U+1f004, U+1f0cf, U+1f141-1f142, U+1f150, U+1f154, U+1f158, U+1f15b, U+1f15d-1f15e, U+1f162-1f163, U+1f170-1f171, U+1f174, U+1f177-1f178, U+1f17d-1f17f, U+1f192-1f195, U+1f197-1f19a, U+1f1e6-1f1f5, U+1f1f7-1f1ff, U+1f21a, U+1f22f, U+1f232-1f237, U+1f239-1f23a, U+1f250-1f251, U+1f300, U+1f302-1f304) ); /* noto-sans-hk-[16]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-16-400-normal.woff2", $range: (U+f94f, U+f95a, U+f95d-f95e, U+f961-f963, U+f965-f970, U+f974, U+f976-f97a, U+f97c, U+f97e-f97f, U+f981, U+f983, U+f988, U+f98a, U+f98c, U+f98e, U+f996-f997, U+f999-f99a, U+f99c, U+f99f-f9a0, U+f9a3, U+f9a8, U+f9ad, U+f9b2-f9b6, U+f9b9-f9ba, U+f9bd-f9be, U+f9c1, U+f9c4, U+f9c7, U+f9ca, U+f9cd, U+f9d0-f9d1, U+f9d3-f9d4, U+f9d7-f9d8, U+f9dc-f9dd, U+f9df-f9e1, U+f9e4, U+f9e8-f9ea, U+f9f4, U+f9f6-f9f7, U+f9f9-f9fa, U+f9fc-fa01, U+fa03-fa04, U+fa06, U+fa08-fa0a, U+fa0c, U+fa11, U+fa17, U+fa19, U+fa1b, U+fa1d, U+fa26, U+fa2c, U+fb01, U+fdfc, U+fe0e, U+fe33-fe36, U+fe38-fe44, U+fe49-fe51, U+fe54, U+fe56-fe57, U+fe59-fe5c, U+fe5f-fe6a, U+fe8e, U+fe92-fe93, U+feae, U+fecb-fecc, U+fee0, U+feec, U+fef3, U+ff04, U+ff07, U+ff26-ff2c, U+ff31-ff32, U+ff35-ff36) ); /* noto-sans-hk-[17]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-17-400-normal.woff2", $range: (U+f0b2, U+f0b7, U+f0be, U+f0c9, U+f0d8, U+f0e0, U+f0e6, U+f0fc, U+f104-f105, U+f16a, U+f16d, U+f18a, U+f1e0, U+f232, U+f308, U+f400, U+f442, U+f4df, U+f610-f611, U+f6b1-f6b5, U+f6ba-f6bc, U+f6c7, U+f6dd, U+f6e2, U+f6f3-f6f4, U+f6f8, U+f6fa, U+f6fc, U+f6fe, U+f700-f703, U+f705, U+f707, U+f709-f70b, U+f70d-f70f, U+f711, U+f713, U+f715-f717, U+f719-f71a, U+f71c-f721, U+f724-f725, U+f728, U+f734-f735, U+f737-f738, U+f73a, U+f73e-f742, U+f745, U+f748-f749, U+f74b-f74d, U+f74f-f751, U+f753-f756, U+f758-f75a, U+f75c, U+f75e, U+f760-f764, U+f768-f76a, U+f76c, U+f76f-f774, U+f776-f77a, U+f77c, U+f77e-f780, U+f785, U+f787-f78c, U+f78e, U+f792-f796, U+f798, U+f79c, U+f7f5, U+f812, U+f815, U+f876, U+f8f5, U+f8f8, U+f8ff, U+f901-f902, U+f904, U+f906-f907, U+f909-f90a, U+f90f, U+f914, U+f918-f919, U+f91b, U+f91d, U+f91f, U+f923, U+f925, U+f92d-f92f, U+f934, U+f937-f938, U+f93d, U+f93f, U+f941, U+f949, U+f94c, U+f94e) ); /* noto-sans-hk-[25]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-25-400-normal.woff2", $range: (U+9f27, U+9f29, U+9f2c, U+9f2f, U+9f31, U+9f34, U+9f37, U+9f39, U+9f3d-9f3e, U+9f41, U+9f44-9f45, U+9f4c-9f50, U+9f53-9f54, U+9f57, U+9f59-9f5a, U+9f5c, U+9f5f-9f60, U+9f62-9f63, U+9f66-9f67, U+9f69-9f6a, U+9f6c, U+9f72, U+9f76-9f77, U+9f7f, U+9f84-9f85, U+9f88, U+9f8e, U+9f91, U+9f94-9f98, U+9f9a-9f9b, U+9f9f-9fa0, U+9fa2, U+9fa4-9fb3, U+9fc7-9fcb, U+9fd0, U+a1f4, U+a4b0-a4b1, U+a4b3, U+a9c1-a9c2, U+aa31, U+ab34, U+ac00-ac01, U+ac04, U+ac08, U+ac10-ac11, U+ac13-ac16, U+ac19, U+ac1c-ac1d, U+ac24, U+ac70-ac71, U+ac74, U+ac77-ac78, U+ac80-ac81, U+ac83, U+ac8c, U+ac90, U+aca0, U+aca8-aca9, U+acac, U+acb0, U+acb8-acb9, U+acbc-acbd, U+acc1, U+acc4, U+ace0-ace1, U+ace4, U+ace8, U+acf0-acf1, U+acf3, U+acf5, U+acfc-acfd, U+ad00, U+ad0c, U+ad11, U+ad1c, U+ad2b, U+ad34, U+ad3a, U+ad50, U+ad6c, U+ad70, U+ad74, U+ad7f, U+ad81, U+ad8c, U+adc0, U+adc8, U+addc, U+ade0, U+adf8-adf9, U+adfc, U+ae00, U+ae08-ae09, U+ae30, U+ae34, U+ae38, U+ae40, U+ae4a, U+ae4c, U+ae54, U+ae5d, U+ae68, U+aebc, U+aed8, U+aef4, U+af2c-af2d, U+af34, U+af43, U+afb8) ); /* noto-sans-hk-[26]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-26-400-normal.woff2", $range: (U+9d9a, U+9da1-9da2, U+9da5, U+9da9, U+9dab-9dac, U+9db1-9db2, U+9db5, U+9db9-9dbd, U+9dbf-9dc2, U+9dc4, U+9dc7-9dc9, U+9dd3-9dd4, U+9dd6, U+9dd9-9dda, U+9dde-9ddf, U+9de2, U+9de5-9de6, U+9de8, U+9def-9df0, U+9df2-9df4, U+9df8, U+9dfa, U+9dfc-9dfd, U+9dff, U+9e02, U+9e07, U+9e0a, U+9e0c, U+9e0e, U+9e11, U+9e15, U+9e18, U+9e1a-9e1e, U+9e20-9e23, U+9e25-9e26, U+9e2d, U+9e2f, U+9e33, U+9e35, U+9e3d-9e3f, U+9e42-9e43, U+9e45, U+9e48-9e4a, U+9e4c, U+9e4f, U+9e51, U+9e55, U+9e64, U+9e66, U+9e6b, U+9e6d-9e6e, U+9e70, U+9e73, U+9e75, U+9e78, U+9e7b, U+9e80-9e85, U+9e87-9e88, U+9e8b-9e8c, U+9e90-9e91, U+9e93, U+9e95-9e96, U+9e98, U+9e9d-9e9e, U+9ea1-9ea2, U+9ea4, U+9ea6, U+9ea8-9ead, U+9eaf, U+9eb1, U+9eb4, U+9eb7-9eba, U+9ebe-9ebf, U+9ec1, U+9ec6-9ec7, U+9ecc-9ecd, U+9ed0, U+9ed2, U+9ed4, U+9ed9-9eda, U+9edc-9edd, U+9edf-9ee0, U+9ee2, U+9ee5, U+9ee7, U+9eee, U+9ef1, U+9ef3-9ef4, U+9ef6-9ef9, U+9efb-9eff, U+9f02, U+9f07-9f09, U+9f10, U+9f14-9f15, U+9f17, U+9f19, U+9f22, U+9f26) ); /* noto-sans-hk-[27]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-27-400-normal.woff2", $range: (U+9bea, U+9bed-9bee, U+9bf0-9bf1, U+9bf4-9bf5, U+9bf7, U+9bf9, U+9bfd, U+9bff, U+9c02, U+9c06, U+9c08-9c0a, U+9c0c-9c0d, U+9c10, U+9c12-9c13, U+9c15, U+9c1b-9c1c, U+9c1f-9c21, U+9c23-9c26, U+9c28-9c29, U+9c2d-9c2f, U+9c31-9c33, U+9c35-9c37, U+9c39-9c3b, U+9c3d-9c3e, U+9c40, U+9c42, U+9c45-9c49, U+9c4f, U+9c52-9c54, U+9c56, U+9c58-9c5a, U+9c5d, U+9c5f-9c60, U+9c63, U+9c67-9c68, U+9c72, U+9c75, U+9c78, U+9c7a-9c7c, U+9c7f-9c81, U+9c87-9c88, U+9c8d, U+9c91, U+9c94, U+9c97, U+9c9b, U+9ca4, U+9ca8, U+9cab, U+9cad, U+9cb1-9cb3, U+9cb6-9cb8, U+9cc4-9cc5, U+9ccc-9ccd, U+9cd5-9cd7, U+9cdd-9cdf, U+9ce7, U+9ce9, U+9cee-9cf0, U+9cf2, U+9cfc-9cfe, U+9d02-9d03, U+9d06-9d08, U+9d0c, U+9d0e, U+9d10, U+9d12, U+9d15-9d17, U+9d1d-9d1f, U+9d21, U+9d23, U+9d2b, U+9d2f-9d30, U+9d34, U+9d37, U+9d39, U+9d3d, U+9d42, U+9d44, U+9d49, U+9d4e, U+9d50, U+9d52-9d53, U+9d59, U+9d5c, U+9d5e-9d61, U+9d6a, U+9d6d-9d70, U+9d77, U+9d7a, U+9d7c, U+9d7e, U+9d83, U+9d87, U+9d89, U+9d8f, U+9d91-9d93, U+9d96, U+9d98) ); /* noto-sans-hk-[28]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-28-400-normal.woff2", $range: (U+9a6b, U+9a6d, U+9a6f-9a71, U+9a73-9a74, U+9a76, U+9a78-9a79, U+9a7b-9a7c, U+9a7e-9a7f, U+9a81-9a82, U+9a84-9a87, U+9a8a-9a8b, U+9a8f-9a91, U+9a97, U+9a9a, U+9a9e, U+9aa0-9aa1, U+9aa4-9aa5, U+9aaf-9ab2, U+9ab6-9ab7, U+9ab9-9aba, U+9abd-9abe, U+9ac0-9ac5, U+9ac8, U+9acb-9acc, U+9ace-9acf, U+9ad1, U+9ad5-9ad7, U+9ad9, U+9adf-9ae3, U+9aea-9aeb, U+9aed, U+9aef, U+9af2, U+9af4, U+9af9, U+9afb, U+9afd, U+9aff, U+9b02-9b04, U+9b08-9b09, U+9b0f, U+9b13-9b14, U+9b18, U+9b1f, U+9b22-9b23, U+9b28-9b2a, U+9b2c-9b30, U+9b32, U+9b34, U+9b39, U+9b3b, U+9b40, U+9b43, U+9b46-9b49, U+9b4b-9b4e, U+9b50-9b51, U+9b55, U+9b58, U+9b5b, U+9b5e-9b60, U+9b63, U+9b68-9b69, U+9b74, U+9b7d, U+9b7f-9b81, U+9b83-9b84, U+9b87-9b88, U+9b8a-9b8b, U+9b8d-9b90, U+9b92-9b95, U+9b97, U+9b9d, U+9b9f-9ba0, U+9ba2-9ba3, U+9ba8, U+9bab, U+9bb0, U+9bb8, U+9bc0-9bc1, U+9bc3, U+9bc6-9bc8, U+9bcf, U+9bd3-9bd7, U+9bd9, U+9bdb, U+9bdd, U+9be1-9be2, U+9be4-9be5, U+9be7, U+9be9) ); /* noto-sans-hk-[29]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-29-400-normal.woff2", $range: (U+98ec-98ee, U+98f1, U+98f4-98f5, U+9901, U+9908-9909, U+990c, U+990e, U+9911-9912, U+9914, U+9916-9917, U+9919, U+991b-991c, U+991e, U+9920, U+9927, U+992b-992c, U+992e, U+9931-9933, U+9937-9940, U+9942-9944, U+9948-994a, U+994c-994e, U+9951, U+9954, U+995c-995f, U+9961-9963, U+9965, U+9968, U+996a, U+996d-9972, U+9975-9976, U+997a, U+997c, U+997f-9980, U+9984-9985, U+9988, U+998b, U+998d, U+998f, U+9992, U+9994-9995, U+9997-9998, U+999b-999c, U+999e, U+99a0-99a1, U+99a4, U+99aa-99ab, U+99af, U+99b1, U+99b4, U+99b8-99b9, U+99bc, U+99c4-99c6, U+99cf, U+99d1-99d2, U+99d4, U+99d6, U+99d8-99da, U+99df-99e2, U+99e6, U+99e9, U+99ee, U+99f0, U+99f5, U+99f8, U+99fb, U+9a01-9a05, U+9a0c, U+9a0f-9a13, U+9a16, U+9a1b-9a1c, U+9a1f-9a21, U+9a24, U+9a26, U+9a28, U+9a2b, U+9a2d-9a2f, U+9a34-9a36, U+9a38, U+9a3b-9a3c, U+9a3e, U+9a40-9a44, U+9a4a, U+9a4c-9a4e, U+9a52, U+9a56, U+9a58, U+9a5c, U+9a62-9a65, U+9a69-9a6a) ); /* noto-sans-hk-[30]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-30-400-normal.woff2", $range: (U+9798, U+979b, U+979d-979f, U+97a3, U+97a5-97a6, U+97a8, U+97ab-97ac, U+97ae, U+97b1-97b2, U+97b4, U+97b6-97ba, U+97bd-97c3, U+97c6, U+97c8-97c9, U+97cd, U+97d2, U+97d6, U+97d8-97d9, U+97dc-97de, U+97e0-97e1, U+97e6-97e7, U+97ec-97ee, U+97f0-97f2, U+97f5, U+97f9-97fa, U+97fe, U+9804, U+9807, U+980a, U+980e-980f, U+9814-9816, U+981a, U+981c, U+981e-9821, U+9823, U+9826, U+9828, U+982a-982c, U+982e, U+9832-9835, U+9837, U+9839, U+983c-983d, U+9845, U+9847-9849, U+984b, U+984e, U+9852-9857, U+9859-985a, U+9862-9863, U+9865-9866, U+9868, U+986c, U+9870-9871, U+9873-9874, U+9877, U+987a-987f, U+9881-9882, U+9885, U+9887-988a, U+988c-988d, U+9890, U+9893, U+9896-9897, U+989a, U+989c-989e, U+98a0, U+98a4, U+98a6-98a7, U+98a9, U+98ae-98af, U+98b2-98b4, U+98b6-98bd, U+98bf, U+98c3, U+98c7-98c8, U+98ca, U+98d2-98d3, U+98d8-98da, U+98dc, U+98de, U+98e0-98e1, U+98e3, U+98e5-98e9, U+98eb) ); /* noto-sans-hk-[31]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-31-400-normal.woff2", $range: (U+9602, U+9607-9609, U+960e, U+9610-9611, U+9614, U+9616, U+9619-961a, U+961c-961d, U+961f, U+9621, U+9624, U+9628, U+962f, U+9633-9636, U+9638, U+963c, U+9641-9643, U+9645, U+9647-9648, U+964e-964f, U+9651, U+9653-9656, U+9658, U+965b-965f, U+9661, U+9665, U+9668-9669, U+966c, U+9672, U+9674, U+967a-967b, U+9681-9685, U+9688-9689, U+968b, U+968d, U+9695-9698, U+969e, U+96a0-96a5, U+96a9, U+96ac, U+96ae, U+96b0, U+96b2-96b4, U+96b6-96b7, U+96b9, U+96bc-96be, U+96c3, U+96c9-96cb, U+96ce-96cf, U+96d1-96d2, U+96d8, U+96dd, U+96e9, U+96eb, U+96f0-96f1, U+96f3-96f4, U+96f9, U+96fe-96ff, U+9701-9703, U+9705, U+9708, U+970a, U+970e-9711, U+9719, U+971b, U+971d, U+971f-9721, U+9728, U+972a, U+972d, U+9730-9731, U+9733-9734, U+9736, U+973a, U+973d-973e, U+9740-9741, U+9744, U+9746-9747, U+9749-974a, U+9750-9751, U+9753, U+9755, U+9757-9759, U+975b, U+975d, U+975f, U+9763, U+9765-9766, U+9768, U+976c-976d, U+9771, U+9773, U+9776, U+977a, U+977c, U+9780, U+9784-9789, U+978e-978f) ); /* noto-sans-hk-[32]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-32-400-normal.woff2", $range: (U+949d-94a3, U+94a5-94a9, U+94ac, U+94ae-94b1, U+94b3-94b5, U+94bb-94bc, U+94be-94c3, U+94c5-94c6, U+94c9, U+94ce-94d0, U+94db-94dd, U+94e0, U+94e2-94e3, U+94e8, U+94ec-94ee, U+94f0, U+94f2, U+94f5-94f6, U+94f8, U+94fa, U+94ff-9502, U+9504-9506, U+9508, U+950b-950c, U+950f-9510, U+9519-951b, U+951d, U+951f, U+9521-9526, U+952d-9530, U+9535, U+953a-953b, U+9540-9542, U+9547, U+9549-954a, U+954d, U+9550-9551, U+9554-9556, U+955c, U+956c-956d, U+956f-9570, U+9573, U+9576, U+9578, U+9582, U+9585-9586, U+9588, U+958e-958f, U+9596-9597, U+9599, U+959c, U+959e-95a2, U+95a4, U+95a6-95a7, U+95aa-95ae, U+95b0, U+95b2, U+95b6, U+95b9-95bf, U+95c2-95c4, U+95c7-95c9, U+95cb-95cd, U+95d0, U+95d3-95d5, U+95d7-95d8, U+95da, U+95de, U+95e0-95e1, U+95e4-95e5, U+95ea-95eb, U+95ef-95f0, U+95f2-95f3, U+95f5, U+95f7-95fa, U+95fd, U+9600-9601) ); /* noto-sans-hk-[33]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-33-400-normal.woff2", $range: (U+9370-9371, U+9373-9374, U+9376, U+9378-937a, U+937c-937d, U+9381, U+9384-9387, U+938c, U+938f-9390, U+9394, U+9397-9398, U+939a-939e, U+93a0-93a3, U+93a6-93a7, U+93a9-93aa, U+93ac-93ad, U+93af-93b0, U+93b3-93bb, U+93bd-93c4, U+93c6-93c7, U+93ca-93cd, U+93d0-93d1, U+93d3, U+93d6-93d8, U+93db-93de, U+93e0, U+93e4, U+93e8, U+93ee, U+93f0-93f1, U+93f3-93f5, U+93f7-93f9, U+93fb, U+9401, U+9403-9404, U+9407-9408, U+940f-9410, U+9413-9414, U+9417, U+9419-941e, U+9420-942b, U+942d-942f, U+9432-9433, U+9436, U+9438, U+943a, U+943d-9440, U+9442-9443, U+9445, U+944a, U+944c-944d, U+9454-9455, U+9458, U+945a-945b, U+945e, U+9460, U+9462-9463, U+9465, U+9467-9468, U+946a, U+946c-946d, U+946f, U+9471, U+9474-9477, U+9479, U+947b, U+947e-9481, U+9485, U+9488-948a, U+948e, U+9492-9493, U+9497, U+9499, U+949b-949c) ); /* noto-sans-hk-[34]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-34-400-normal.woff2", $range: (U+926b-926f, U+9271-9272, U+9274, U+9276-9278, U+927a-927c, U+927e-927f, U+9281-9284, U+9286, U+9288-928a, U+928d-928f, U+9291, U+9295-9296, U+9299-929b, U+929d, U+92a0-92ae, U+92b1-92b2, U+92b5-92b6, U+92ba-92bc, U+92be-92bf, U+92c2-92c3, U+92c6-92cd, U+92cf-92d1, U+92d4-92d5, U+92d7, U+92d9, U+92db, U+92dd, U+92df, U+92e3-92e6, U+92e8-92e9, U+92eb-92ef, U+92f1-92f4, U+92f6, U+92f9, U+92fb, U+92fd, U+9300-9303, U+9306-9307, U+930b, U+930f, U+9312, U+9315, U+9319-931b, U+931d-931f, U+9321, U+9323-9325, U+9327-932a, U+932c-932e, U+9330-9333, U+9335, U+9338, U+933c, U+9340-9349, U+934f-9352, U+9354, U+9356-935a, U+935c-9360, U+9362-936c, U+936e) ); /* noto-sans-hk-[35]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-35-400-normal.woff2", $range: (U+913a, U+9143, U+9146, U+9148-914a, U+914e-9151, U+9154, U+9156-9157, U+9159-915a, U+915c-915e, U+9161-9164, U+9167, U+916b, U+916e, U+9170-9172, U+9174, U+9176, U+9179-917a, U+917c, U+917f, U+9181-9182, U+9184-9186, U+918c-918e, U+9190-9191, U+9196, U+919a-919b, U+919e, U+91a1-91a4, U+91a7, U+91a9-91aa, U+91ae-91b2, U+91b4-91b6, U+91b8, U+91bb, U+91bd-91be, U+91c1, U+91c3-91c6, U+91c8-91ca, U+91d2-91d7, U+91d9, U+91df, U+91e1, U+91e4-91e9, U+91ec-91ed, U+91f0-91f1, U+91f5-91fa, U+91fd-9201, U+9203-920a, U+920d-920e, U+9210-9211, U+9213, U+9217-9219, U+921c, U+9221, U+9224-9225, U+9227-9228, U+922a-922b, U+922d-922e, U+9230-9231, U+9233, U+9235-9239, U+923b-9241, U+9244, U+9246, U+9248-9249, U+924b-9251, U+9253, U+9255, U+9258, U+925a, U+925d-925f, U+9262, U+9265-9267) ); /* noto-sans-hk-[36]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-36-400-normal.woff2", $range: (U+8fa9, U+8fab, U+8fae, U+8fb3, U+8fb5-8fb8, U+8fba-8fbd, U+8fbf, U+8fc1-8fc2, U+8fc6, U+8fc8, U+8fca, U+8fcc-8fcd, U+8fcf, U+8fd2-8fd3, U+8fd5, U+8fda, U+8fdc-8fdd, U+8fdf, U+8fe2-8fe5, U+8fe8-8fe9, U+8fed-8fee, U+8ff3, U+8ff5, U+8ff8, U+8ffa-8ffc, U+8ffe, U+9002, U+9004, U+9008, U+900a-900b, U+9011-9013, U+9016, U+901e, U+9021, U+9024, U+902d, U+902f-9030, U+9033-9037, U+9039-903b, U+9041, U+9044-9046, U+904c, U+904f-9052, U+9056-9058, U+905b, U+905d, U+9061-9062, U+9064-9065, U+9068, U+906c, U+906f, U+9074, U+9079, U+907d, U+9083, U+9085, U+9087-9089, U+908b, U+9090, U+9093, U+9095, U+9097, U+9099, U+909b, U+909d-909e, U+90a0-90a2, U+90ac, U+90af-90b0, U+90b2-90b4, U+90b6, U+90b9, U+90bb, U+90bd-90be, U+90c3-90c5, U+90c7, U+90d1, U+90d4-90d5, U+90d7, U+90db-90df, U+90e2-90e4, U+90ea-90eb, U+90ef, U+90f4, U+90f7-90f8, U+90fc, U+90fe-9100, U+9102, U+9104, U+9106, U+9112, U+9114-911a, U+911c, U+911e, U+9120, U+9122-9123, U+9129, U+912b, U+912f, U+9131-9132, U+9134, U+9136, U+9139) ); /* noto-sans-hk-[37]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-37-400-normal.woff2", $range: (U+8e39-8e3a, U+8e3c-8e3d, U+8e40-8e42, U+8e46-8e47, U+8e49-8e50, U+8e53-8e55, U+8e59-8e5b, U+8e60, U+8e62-8e63, U+8e67-8e69, U+8e6c-8e6d, U+8e6f, U+8e71, U+8e74-8e77, U+8e7a-8e7c, U+8e7e, U+8e80, U+8e82, U+8e84-8e85, U+8e87, U+8e89-8e8b, U+8e8f-8e95, U+8e99-8e9a, U+8e9d-8e9e, U+8ea1, U+8ea3, U+8ea5-8ea7, U+8eaa, U+8eac-8ead, U+8eaf-8eb1, U+8eb6, U+8eb9, U+8ebc, U+8ebe, U+8ec3, U+8ec6, U+8ecb, U+8ece-8ecf, U+8ed1, U+8ed4, U+8ed7, U+8eda-8edb, U+8ee2, U+8ee4, U+8ee8, U+8eeb, U+8eed, U+8ef2, U+8ef9-8efe, U+8f05, U+8f07-8f08, U+8f0a-8f0c, U+8f12-8f13, U+8f17, U+8f19-8f1a, U+8f1c, U+8f1e-8f1f, U+8f25-8f26, U+8f2d, U+8f30, U+8f33, U+8f36, U+8f3c, U+8f3e, U+8f40-8f42, U+8f45-8f47, U+8f4a, U+8f4d, U+8f54-8f55, U+8f5c-8f5d, U+8f61-8f62, U+8f64, U+8f67-8f69, U+8f6d-8f72, U+8f74, U+8f76, U+8f7b-8f7c, U+8f7f, U+8f83-8f86, U+8f88-8f8a, U+8f8d, U+8f90, U+8f93, U+8f95-8f97, U+8f99, U+8f9e-8fa0, U+8fa2, U+8fa5, U+8fa7) ); /* noto-sans-hk-[38]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-38-400-normal.woff2", $range: (U+8cc1-8cc2, U+8cc4-8cc5, U+8ccd, U+8ccf-8cd2, U+8cd4-8cd6, U+8cd9-8cdb, U+8ce1, U+8ce8-8ce9, U+8ceb, U+8cf0, U+8cf2, U+8cf7-8cf8, U+8cfb, U+8cfe, U+8d03-8d04, U+8d07, U+8d0b-8d0d, U+8d10-8d14, U+8d17-8d18, U+8d1b-8d1f, U+8d21-8d27, U+8d29-8d2c, U+8d2e-8d32, U+8d34-8d35, U+8d37-8d38, U+8d3a-8d3c, U+8d3e-8d3f, U+8d41-8d43, U+8d48, U+8d4b-8d4c, U+8d4e-8d50, U+8d54, U+8d56, U+8d58, U+8d5a-8d5b, U+8d5f-8d60, U+8d62-8d63, U+8d66-8d69, U+8d6c-8d6e, U+8d73, U+8d75-8d76, U+8d7a-8d7b, U+8d7d, U+8d82, U+8d84, U+8d8b, U+8d90-8d91, U+8d94, U+8d96, U+8d9c, U+8da6, U+8da9, U+8dab, U+8daf, U+8db2, U+8db5, U+8db7, U+8dba, U+8dbc, U+8dbf-8dc0, U+8dc2-8dc3, U+8dc6, U+8dcb, U+8dce-8dd0, U+8dd4, U+8dd6-8dd7, U+8dda-8ddb, U+8de3-8de4, U+8de9, U+8deb-8dec, U+8df1, U+8df5-8df7, U+8dfa-8dfd, U+8e01, U+8e05, U+8e08-8e0a, U+8e0e, U+8e14, U+8e16, U+8e18, U+8e1d-8e21, U+8e23, U+8e26-8e28, U+8e2a-8e2b, U+8e2d-8e2e, U+8e30-8e31, U+8e35) ); /* noto-sans-hk-[39]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-39-400-normal.woff2", $range: (U+8b26, U+8b28, U+8b2b, U+8b2d-8b2e, U+8b33, U+8b3f, U+8b41, U+8b43, U+8b46, U+8b4c-8b4f, U+8b53-8b54, U+8b56, U+8b59, U+8b5e-8b60, U+8b62, U+8b64, U+8b69-8b6d, U+8b72, U+8b7e, U+8b81, U+8b83, U+8b89, U+8b8c, U+8b8e-8b90, U+8b92, U+8b95-8b96, U+8b99, U+8b9b-8b9c, U+8b9e-8ba0, U+8ba3, U+8ba5, U+8ba7, U+8baa, U+8bad, U+8bb2-8bb4, U+8bb6-8bb9, U+8bbc-8bbd, U+8bbf-8bc0, U+8bc3, U+8bc5, U+8bc8-8bcb, U+8bcf, U+8bd1, U+8bd7-8bdc, U+8bde-8be1, U+8be3, U+8be5-8be7, U+8be9, U+8beb-8bec, U+8bef, U+8bf1-8bf2, U+8bf5-8bf6, U+8bf8, U+8bfa, U+8bfd-8bfe, U+8c01-8c02, U+8c05, U+8c08, U+8c0a-8c11, U+8c13-8c15, U+8c18-8c1c, U+8c1f, U+8c23-8c29, U+8c2c-8c2d, U+8c31, U+8c34, U+8c36, U+8c39, U+8c3f, U+8c47, U+8c49-8c4c, U+8c4f, U+8c51, U+8c55, U+8c62, U+8c68, U+8c73, U+8c78, U+8c7a-8c7c, U+8c82, U+8c85, U+8c89-8c8a, U+8c8d-8c8e, U+8c90, U+8c94, U+8c98-8c99, U+8c9b, U+8c9f, U+8ca3-8ca4, U+8cad-8cb0, U+8cb2, U+8cb9-8cba, U+8cbd) ); /* noto-sans-hk-[40]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-40-400-normal.woff2", $range: (U+8983, U+8987-898a, U+898c, U+8991, U+8994-8995, U+8997-8998, U+899a, U+899c, U+89a1, U+89a4-89a7, U+89a9, U+89ac, U+89af, U+89b2-89b3, U+89b7, U+89bb-89bc, U+89bf, U+89c5, U+89c9-89ca, U+89d1, U+89d4-89d5, U+89da, U+89dc-89de, U+89e5-89e7, U+89ed, U+89f1, U+89f3-89f4, U+89f6, U+89ff, U+8a01, U+8a03, U+8a07, U+8a09, U+8a0c, U+8a0f-8a12, U+8a16, U+8a1b-8a1c, U+8a22, U+8a25, U+8a27, U+8a29, U+8a2b, U+8a33, U+8a36, U+8a38, U+8a3d-8a3e, U+8a41, U+8a45-8a46, U+8a48-8a49, U+8a4e, U+8a51-8a52, U+8a54, U+8a56-8a58, U+8a5b, U+8a5d, U+8a61, U+8a63, U+8a67, U+8a6a-8a6c, U+8a70, U+8a74-8a76, U+8a7a-8a7c, U+8a7e, U+8a82, U+8a84-8a86, U+8a89, U+8a8f-8a92, U+8a94, U+8a9a, U+8a9c, U+8aa1, U+8aa3, U+8aa5, U+8aa7-8aa9, U+8aad, U+8aaf, U+8ab1, U+8ab4, U+8ab6, U+8abe, U+8ac2, U+8ac4, U+8ac6, U+8ac9, U+8acc-8acf, U+8ad1, U+8ada-8adb, U+8add-8ae2, U+8ae4, U+8ae6, U+8aea-8aeb, U+8aed, U+8af1-8af6, U+8af9-8afa, U+8afc, U+8b01, U+8b04-8b05, U+8b07, U+8b0b-8b0d, U+8b0f-8b10, U+8b13-8b14, U+8b16, U+8b1a, U+8b1c, U+8b1f, U+8b21-8b22) ); /* noto-sans-hk-[41]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-41-400-normal.woff2", $range: (U+8804-8806, U+880a-880b, U+880e-8811, U+8813, U+8815-8816, U+8818, U+881b, U+8821, U+8823, U+8827, U+882d, U+8831-8832, U+8835, U+8839-883a, U+883c, U+8842, U+8844-8846, U+884a, U+884e-884f, U+8852, U+8854-8856, U+8859-885a, U+885e, U+8860, U+8862, U+8864-8865, U+8869-886a, U+886c-886e, U+8871-8872, U+8875, U+8879, U+887d-887f, U+8882, U+8884-8885, U+8887-8888, U+888f-8890, U+8892-8893, U+8897-8898, U+889a-889e, U+88a0, U+88a2, U+88a4, U+88a8, U+88aa, U+88ad-88ae, U+88b1, U+88b4-88b5, U+88b7-88b8, U+88bc-88c0, U+88c4, U+88c6-88c7, U+88c9-88cc, U+88ce, U+88d2, U+88d6, U+88d8, U+88db, U+88df, U+88e4, U+88e6, U+88e8-88e9, U+88ec, U+88ef-88f1, U+88f3-88f5, U+88fc, U+88fe-8900, U+8902, U+8906, U+890a-890c, U+8912-8915, U+8918-891a, U+891f, U+8921, U+8923-8925, U+892a-892b, U+892d, U+8930, U+8933, U+8935-8936, U+8938, U+893d, U+8941-8943, U+8946-8947, U+8949, U+894c-894d, U+8954, U+8956-8957, U+8959, U+895c, U+895e-8960, U+8964-8966, U+896c, U+8971, U+8974, U+8977, U+897b, U+897e, U+8980, U+8982) ); /* noto-sans-hk-[42]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-42-400-normal.woff2", $range: (U+8696, U+869a, U+869c-869d, U+86a0-86a1, U+86a3-86a4, U+86a7-86aa, U+86ad, U+86af-86b4, U+86b6, U+86b9-86ba, U+86c0-86c2, U+86c4, U+86c6, U+86c9-86ca, U+86cc-86ce, U+86d0, U+86d3-86d4, U+86de-86df, U+86e9, U+86ed-86f0, U+86f3, U+86f8-86fc, U+86fe, U+8703, U+8706-870a, U+870d-870e, U+8711-8712, U+8715, U+8717, U+8719-871a, U+871e, U+8721-8723, U+8725, U+8728-8729, U+872e, U+8731, U+8734, U+8737, U+873a, U+873e-8740, U+8742, U+8747, U+8749, U+874b-874c, U+874e-874f, U+8753, U+8757-8758, U+875d, U+875f, U+8761-8765, U+8768, U+876a, U+876c-8772, U+8777, U+877a-877b, U+877d, U+8781, U+8784-8786, U+8788, U+878b-878c, U+8793, U+8797-8798, U+879f, U+87a3, U+87a5, U+87a8-87a9, U+87ab-87ad, U+87af, U+87b1, U+87b3, U+87b5, U+87b9, U+87bb, U+87bd-87c1, U+87c4-87c8, U+87ca-87cc, U+87ce, U+87d2, U+87d6, U+87da-87dc, U+87e0-87e1, U+87e3, U+87e5, U+87e7, U+87ea-87eb, U+87ee-87ef, U+87f3-87f7, U+87fe, U+8802-8803) ); /* noto-sans-hk-[43]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-43-400-normal.woff2", $range: (U+8511, U+8515, U+8517, U+851d-851f, U+8524, U+852b, U+852f, U+8532-8535, U+8537-8538, U+853a, U+853c, U+853e, U+8541-8542, U+8545, U+8548, U+854b-854e, U+8552-8553, U+8555-8558, U+855a, U+855e-855f, U+8561-8565, U+8568, U+856a-856c, U+856f-8570, U+8573-8574, U+8577-857b, U+8580-8581, U+8585-8586, U+858a, U+858c, U+858f-8590, U+8593-8594, U+8597-8599, U+859c, U+859f, U+85a1-85a2, U+85a4, U+85a8, U+85ab-85ac, U+85ae, U+85b3-85b4, U+85b7, U+85b9-85ba, U+85bd-85be, U+85c1-85c2, U+85cb, U+85ce, U+85d0, U+85d3, U+85d5-85d6, U+85dc, U+85e0, U+85e6, U+85e8, U+85ea, U+85ed-85ee, U+85f4, U+85f6-85f7, U+85f9-85fa, U+85fc, U+85ff, U+8602, U+8604-8605, U+860d, U+860f-8610, U+8613-8614, U+8616-8618, U+861a, U+861e, U+8621-8622, U+8627-862a, U+862f, U+8634-8636, U+8638, U+863a, U+863c, U+8640, U+8642, U+8645-8646, U+864c-864d, U+864f, U+8651-8654, U+8657, U+8659-865a, U+865c, U+8662, U+866b-866c, U+866f-8673, U+8677, U+867a-867b, U+867d-867e, U+8680-8682, U+868b-868d, U+8692-8695) ); /* noto-sans-hk-[44]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-44-400-normal.woff2", $range: (U+83bc-83c0, U+83c2, U+83c4-83c5, U+83c8-83c9, U+83cb, U+83cd-83cf, U+83d1, U+83d4-83d6, U+83d8, U+83dd, U+83df, U+83e1-83e2, U+83e5, U+83ea-83eb, U+83ed, U+83f0, U+83f3-83f4, U+83f9, U+83fb-83fe, U+8405-8407, U+840b, U+840f, U+8411, U+8413-8414, U+8416, U+8418, U+841b-841d, U+8420-8421, U+8423-8424, U+8426-8429, U+842b, U+842d-842e, U+8432-8433, U+8435, U+8437-8439, U+843b-843c, U+843e, U+8445-8448, U+844a, U+844e, U+8451-8453, U+8455-8456, U+8458-845a, U+845c, U+845f, U+8462, U+8464, U+8466-8467, U+846d, U+846f-8474, U+8476-8478, U+847a, U+847f-8480, U+8484, U+8488, U+848b, U+848d-848e, U+8492-8494, U+8496-8497, U+849d, U+849f, U+84a1, U+84a3, U+84a8, U+84ad, U+84af, U+84b1, U+84b4, U+84b9-84bb, U+84bd-84c0, U+84c2, U+84c6-84c7, U+84ca, U+84cd-84d3, U+84d6, U+84da, U+84dd-84df, U+84e1-84e2, U+84e4-84e8, U+84ea, U+84ef-84f0, U+84f3-84f4, U+84f7-84f8, U+84fa, U+84fc-84fd, U+84ff-8500, U+8503-8506, U+850c, U+8510) ); /* noto-sans-hk-[45]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-45-400-normal.woff2", $range: (U+828d-8291, U+8293-8294, U+8298, U+829a-829c, U+829e-82a4, U+82a6-82ab, U+82ae, U+82b0, U+82b4, U+82b6, U+82ba-82bc, U+82be-82bf, U+82c1, U+82c4-82c5, U+82c7, U+82ca-82cb, U+82cd, U+82cf-82d0, U+82d2, U+82d5-82d6, U+82d8-82d9, U+82db-82dc, U+82de-82e4, U+82e7, U+82ea-82eb, U+82ee-82f0, U+82f3-82f4, U+82f6-8301, U+8306-8308, U+830b-830e, U+8316, U+8318, U+831a-831b, U+831d-831e, U+8327, U+832a, U+832c-832d, U+832f, U+8331, U+8333-8334, U+8337, U+833a-833d, U+833f-8340, U+8342, U+8344-8347, U+834b-834c, U+834f, U+8351, U+8356-8358, U+835a, U+835e-8364, U+8366-8368, U+836b, U+836f, U+8373, U+8375, U+8378, U+837a-8380, U+8383, U+8385-8386, U+8391-8392, U+8394-8395, U+8398-8399, U+839b-839c, U+83a0, U+83a2, U+83a4, U+83a7-83aa, U+83ac, U+83af-83b5, U+83b7, U+83b9-83ba) ); /* noto-sans-hk-[46]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-46-400-normal.woff2", $range: (U+8115, U+8117-8118, U+811a-811b, U+811e, U+8121-8127, U+8129-812a, U+812c, U+812f-8134, U+8137-8138, U+813a, U+813d, U+8142, U+8144, U+8146, U+8148, U+814a, U+814c-814d, U+8151, U+8153, U+8156, U+8158-815a, U+8160, U+8167, U+8169, U+816c-816d, U+816f, U+8171, U+8174, U+817b-817e, U+8182, U+8184, U+8188, U+818a, U+8193-8195, U+8198, U+819b, U+819e, U+81a3, U+81a5-81a7, U+81aa-81ab, U+81af-81b0, U+81b5-81b6, U+81b8, U+81ba-81bb, U+81be-81bf, U+81c1, U+81c3, U+81c6, U+81c8, U+81ca, U+81cc-81cd, U+81cf, U+81d1-81d3, U+81d6-81d7, U+81d9-81da, U+81dd-81de, U+81e0-81e2, U+81e4, U+81e7, U+81ec, U+81ef, U+81f6, U+81fc, U+81fe, U+8200-8202, U+8204-8206, U+820b, U+820e, U+8210, U+8215, U+8217-8218, U+821a-821b, U+821d, U+8221-8222, U+8224, U+8226, U+8228-8229, U+822b, U+822d, U+822f-8234, U+8236-8238, U+823a, U+823e, U+8240, U+8244-8245, U+8249, U+824b, U+824e-824f, U+8254, U+8257, U+825a, U+825f, U+8262, U+8264-8265, U+8268, U+826b, U+826e, U+8270, U+8273, U+8276, U+8278-8279, U+827b, U+827d, U+827f, U+8283-8284, U+8287-828a) ); /* noto-sans-hk-[47]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-47-400-normal.woff2", $range: (U+7f9a, U+7f9d, U+7f9f, U+7fa1-7fa3, U+7fa5, U+7fa7, U+7fad-7fb2, U+7fb4, U+7fb6, U+7fb8, U+7fbc, U+7fbf-7fc0, U+7fc3, U+7fcb-7fcc, U+7fce-7fcf, U+7fd1, U+7fd5, U+7fd8, U+7fdb, U+7fdd-7fdf, U+7fe5-7fe7, U+7fe9, U+7feb-7fec, U+7fee, U+7ff2-7ff3, U+7ffa, U+7ffd-7ffe, U+8002, U+8004, U+8006, U+8008, U+800b, U+800e, U+8011-8012, U+8014, U+8016, U+8018-8019, U+801c-801d, U+8020, U+8024-8026, U+8028, U+802c, U+802e-8031, U+8035, U+8037-8039, U+803b-803c, U+8042-8043, U+804b-804c, U+8052, U+805b, U+8061-8063, U+8066, U+8068, U+806a, U+806e, U+8071, U+8073-8076, U+8079, U+807c, U+807e-8080, U+8083-8084, U+808f, U+8093, U+8095, U+8098, U+809c, U+809f-80a0, U+80a4, U+80a7, U+80ab, U+80ad-80ae, U+80b0-80b1, U+80b4-80b8, U+80bc-80c2, U+80c4, U+80c6-80c7, U+80cb, U+80cd, U+80cf, U+80d4, U+80d7, U+80d9, U+80db-80dd, U+80e0, U+80e3-80e5, U+80e7, U+80e9, U+80eb-80ed, U+80ef-80f1, U+80f3-80f4, U+80f6-80f7, U+80fc, U+80fe-80ff, U+8101, U+8103, U+8107, U+8109, U+810c, U+810e-8114) ); /* noto-sans-hk-[48]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-48-400-normal.woff2", $range: (U+7e5b, U+7e62, U+7e65, U+7e67-7e68, U+7e6c-7e70, U+7e76, U+7e78, U+7e7b, U+7e7e-7e7f, U+7e81-7e82, U+7e86-7e88, U+7e8a, U+7e8d-7e8e, U+7e92-7e94, U+7e98-7e9b, U+7e9e-7ea0, U+7ea3-7ea4, U+7ea8, U+7eaa-7eaf, U+7eb1-7eb3, U+7eb5-7eba, U+7ebd-7ebe, U+7ec0-7ec1, U+7ec3, U+7ec5, U+7ec7-7eca, U+7ecd-7ece, U+7ed1-7ed2, U+7ed4-7ed5, U+7ed7-7ed8, U+7eda-7edb, U+7edd-7ede, U+7ee2-7ee3, U+7ee5, U+7ee7, U+7ee9-7eeb, U+7eee-7ef0, U+7ef3, U+7ef5, U+7ef7-7ef8, U+7efd-7f01, U+7f03, U+7f05-7f09, U+7f0e, U+7f10, U+7f13-7f15, U+7f18-7f1a, U+7f1c-7f1d, U+7f20, U+7f24-7f25, U+7f28-7f2a, U+7f2d-7f2e, U+7f30, U+7f34, U+7f36-7f37, U+7f3d, U+7f40-7f45, U+7f47-7f4e, U+7f52-7f54, U+7f58, U+7f5a, U+7f5d, U+7f5f-7f63, U+7f65, U+7f68, U+7f6b, U+7f71, U+7f78, U+7f7d-7f7e, U+7f81-7f83, U+7f86-7f87, U+7f8b-7f8d, U+7f8f, U+7f91, U+7f93-7f95, U+7f97, U+7f99) ); /* noto-sans-hk-[49]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-49-400-normal.woff2", $range: (U+7d07-7d0a, U+7d0f, U+7d11-7d12, U+7d15, U+7d18, U+7d1c-7d1e, U+7d25, U+7d27, U+7d29, U+7d2c, U+7d31-7d32, U+7d35, U+7d38, U+7d3a, U+7d3c, U+7d3e-7d41, U+7d43, U+7d45-7d46, U+7d4c-7d4f, U+7d53-7d54, U+7d56, U+7d5a-7d5d, U+7d5f, U+7d63, U+7d67, U+7d6a, U+7d6d, U+7d70, U+7d73, U+7d75, U+7d79-7d7b, U+7d7d, U+7d80, U+7d83-7d84, U+7d86-7d89, U+7d8b-7d8f, U+7d91, U+7d95-7d9a, U+7d9d-7d9e, U+7da2-7da4, U+7da6, U+7da8, U+7daa, U+7dac, U+7dae-7db0, U+7db3, U+7db5, U+7db7, U+7db9, U+7dbd, U+7dc1, U+7dc3-7dc7, U+7dcc-7dd1, U+7dd3-7dd4, U+7dd6-7dd9, U+7ddb-7ddc, U+7de1-7de2, U+7de4-7de6, U+7df0-7df3, U+7df5-7df6, U+7dfc-7dfe, U+7e01-7e02, U+7e04, U+7e07-7e0b, U+7e10-7e11, U+7e13, U+7e15, U+7e1d-7e20, U+7e22, U+7e25-7e27, U+7e29, U+7e2d, U+7e2f-7e30, U+7e32-7e37, U+7e39, U+7e3b, U+7e44-7e45, U+7e47-7e48, U+7e4a-7e4b, U+7e4d, U+7e50-7e52, U+7e56, U+7e58-7e5a) ); /* noto-sans-hk-[50]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-50-400-normal.woff2", $range: (U+7b91-7b93, U+7b95-7b96, U+7b98, U+7b9c-7b9d, U+7ba0, U+7ba2-7ba3, U+7ba7, U+7ba9-7bac, U+7bae, U+7bb0, U+7bb2, U+7bb4, U+7bb6, U+7bb8-7bb9, U+7bc1, U+7bc3, U+7bc5-7bc6, U+7bcb-7bcc, U+7bcf-7bd0, U+7bd4, U+7bd9-7bdb, U+7bdd, U+7be0-7be1, U+7be5-7be6, U+7bea, U+7bec-7bee, U+7bf1-7bf3, U+7bf8-7bfa, U+7bfc-7c01, U+7c03, U+7c07, U+7c0a-7c0d, U+7c0f, U+7c11-7c12, U+7c15, U+7c1b, U+7c1e-7c20, U+7c23, U+7c25-7c26, U+7c2a-7c2b, U+7c35, U+7c37-7c39, U+7c40-7c42, U+7c44, U+7c48-7c49, U+7c50-7c51, U+7c53-7c54, U+7c56-7c57, U+7c59-7c5d, U+7c5f, U+7c63, U+7c65, U+7c69, U+7c6c-7c6e, U+7c70, U+7c74-7c75, U+7c79, U+7c7c, U+7c7e, U+7c83-7c84, U+7c86, U+7c8b, U+7c8d-7c8e, U+7c91, U+7c94-7c95, U+7c9b-7c9c, U+7c9f, U+7ca2, U+7ca4, U+7ca6, U+7ca8-7caa, U+7cac, U+7cae, U+7cb1-7cb3, U+7cb8, U+7cba, U+7cbc, U+7cbf-7cc0, U+7cc2-7cc3, U+7cc5, U+7cc7-7cc9, U+7ccc-7cce, U+7cd3, U+7cd7, U+7cda, U+7cdc-7cdd, U+7ce0, U+7ce2, U+7ce6, U+7ce8, U+7cea, U+7ced, U+7cf2-7cf6, U+7cf8-7cfa, U+7cfc, U+7d02, U+7d06) ); /* noto-sans-hk-[51]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-51-400-normal.woff2", $range: (U+7a2c-7a2d, U+7a32-7a33, U+7a37, U+7a39-7a3a, U+7a3c, U+7a3e, U+7a42-7a43, U+7a45, U+7a49, U+7a4f, U+7a56, U+7a5a, U+7a5c, U+7a60-7a61, U+7a63, U+7a65, U+7a68, U+7a6d-7a6e, U+7a70-7a72, U+7a77-7a79, U+7a7d, U+7a80, U+7a83, U+7a85-7a86, U+7a88, U+7a8d, U+7a90-7a91, U+7a93-7a96, U+7a98, U+7a9c-7a9d, U+7aa0, U+7aa3, U+7aa5-7aa6, U+7aa8, U+7aaa, U+7aac, U+7ab0, U+7ab3, U+7ab6, U+7ab8, U+7abb-7abc, U+7abe-7abf, U+7ac2-7ac3, U+7ac8-7ac9, U+7acf, U+7ad1-7ad3, U+7ad6, U+7ada-7ade, U+7ae2, U+7ae4, U+7ae6-7ae7, U+7ae9-7aeb, U+7af4, U+7af8, U+7afa-7afe, U+7b01-7b06, U+7b09-7b0c, U+7b0e-7b10, U+7b14, U+7b18, U+7b1a, U+7b1e-7b1f, U+7b22-7b25, U+7b27, U+7b29-7b2b, U+7b2d-7b2e, U+7b31-7b35, U+7b38-7b3c, U+7b42-7b43, U+7b45, U+7b47-7b48, U+7b4a, U+7b4c, U+7b4e-7b50, U+7b55, U+7b58, U+7b5b, U+7b5d, U+7b60, U+7b62, U+7b65-7b67, U+7b69, U+7b6c-7b6f, U+7b72-7b76, U+7b79, U+7b7b, U+7b7e, U+7b82, U+7b84-7b85, U+7b87, U+7b8b, U+7b8d-7b90) ); /* noto-sans-hk-[52]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-52-400-normal.woff2", $range: (U+78d2-78d5, U+78d7-78d8, U+78de, U+78e3-78e4, U+78e6-78e7, U+78ea, U+78ec, U+78ee, U+78f0-78f5, U+78fa-78fb, U+78fd-7900, U+7904-7906, U+790a, U+790c, U+7910-7912, U+791c, U+791e, U+7920-7921, U+792a-792c, U+792e, U+7931-7934, U+7936, U+7938, U+793b, U+793d, U+793f, U+7941-7942, U+7945-7947, U+7949, U+794c, U+794e, U+7953-7954, U+7957-795c, U+795f, U+7961-7962, U+7964, U+7967, U+7969, U+796b-796c, U+796f, U+7971-7973, U+7977-7979, U+797b-797c, U+797e, U+7980, U+7982-7988, U+798a-798b, U+7991, U+7993-7996, U+7998-799b, U+799d, U+799f-79a2, U+79a4-79a5, U+79a8-79a9, U+79af-79b0, U+79b3, U+79b5, U+79b8, U+79ba, U+79c3-79c4, U+79c6, U+79c8, U+79ca, U+79cc, U+79cf-79d0, U+79d4-79d6, U+79dc-79de, U+79e2-79e3, U+79e7, U+79ea-79ed, U+79ef-79f1, U+79f4, U+79f6-79f8, U+79fd, U+7a02-7a03, U+7a06, U+7a08-7a0a, U+7a0c, U+7a0e, U+7a10-7a11, U+7a14, U+7a17-7a19, U+7a1c, U+7a1e-7a1f, U+7a23, U+7a26, U+7a2a) ); /* noto-sans-hk-[53]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-53-400-normal.woff2", $range: (U+776c-776e, U+7771-7772, U+7777-7778, U+777a-777b, U+777d-777e, U+7780, U+7785, U+7787, U+7789, U+778b-778d, U+7791-7793, U+7798, U+779c, U+779f-77a0, U+77a2, U+77a5, U+77a9, U+77af-77b1, U+77b4, U+77b6-77b7, U+77b9, U+77bc-77bf, U+77c3, U+77c5, U+77c7, U+77cb-77cd, U+77d3, U+77d6-77d7, U+77dc-77de, U+77e3, U+77e6-77e7, U+77eb-77ec, U+77f0, U+77f2, U+77f4, U+77f6, U+77f8, U+77fa-77fc, U+77fe-7800, U+7803, U+7805-7806, U+7808-7809, U+7810-7812, U+7815-7816, U+7818, U+781a, U+781c-7823, U+7825-7827, U+7829, U+782c-7830, U+7833, U+7835, U+7837, U+7839-783a, U+783c-783e, U+7840, U+7842-7845, U+7847, U+784a-7855, U+7858, U+785a, U+785c-785d, U+7864, U+7866, U+7868, U+786a, U+786f, U+7874, U+7876, U+787a, U+787c, U+787f, U+7886-7889, U+788d, U+788f, U+7893, U+7895-7896, U+7898, U+789a, U+789e, U+78a1, U+78a3, U+78a5, U+78aa, U+78ad, U+78af, U+78b1-78b2, U+78b4, U+78b6, U+78b8-78b9, U+78be, U+78c7-78c9, U+78cb, U+78ce, U+78d0-78d1) ); /* noto-sans-hk-[54]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-54-400-normal.woff2", $range: (U+7601-7602, U+7607-760a, U+760c-760d, U+7610, U+7615-7616, U+7618-7620, U+7622-7623, U+7625, U+7627, U+7629, U+762b-762c, U+762e, U+7630, U+7632-7635, U+7638, U+763a-763c, U+763e, U+7640, U+7643, U+7646, U+7648-7649, U+764d-764f, U+7651, U+7654, U+7658, U+765c, U+765f, U+7663-7667, U+7669, U+766b-766d, U+766f-7670, U+7673-7674, U+7676, U+7678-767a, U+767f-7681, U+7683, U+7688, U+768a-768b, U+768e, U+7690, U+7695-7696, U+769a-769e, U+76a1, U+76a3-76a5, U+76aa, U+76b0-76b1, U+76b4, U+76b7-76b8, U+76c2, U+76c5, U+76c9, U+76cc-76cd, U+76cf-76d1, U+76d6-76d9, U+76e5-76e6, U+76e9, U+76ec, U+76f1, U+76f7, U+76f9-76fb, U+76ff-7700, U+7704-7705, U+7707-7708, U+770a, U+770c, U+770e-770f, U+7715, U+7719-771b, U+771d-771e, U+7722, U+7724-7726, U+7728, U+772b, U+772d, U+772f, U+7733-7736, U+7738, U+773b, U+773d, U+7741, U+7743-7744, U+7746, U+774c, U+774e-7752, U+7755, U+7758-775a, U+775f-7760, U+7762, U+7765-7766, U+7768-776a) ); /* noto-sans-hk-[55]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-55-400-normal.woff2", $range: (U+74aa-74ab, U+74ae, U+74b1-74b2, U+74b4-74b5, U+74b8-74ba, U+74bf, U+74c5-74c6, U+74c8, U+74cc-74cd, U+74d0, U+74d2-74d4, U+74d6, U+74d8, U+74da, U+74de-74e0, U+74e2, U+74e4, U+74e7-74e9, U+74ee-74f2, U+74f4, U+74f8-74f9, U+74fb, U+74ff-7501, U+7503, U+7505, U+7507, U+750c-750e, U+7511, U+7513, U+7515-7517, U+7519, U+751e, U+7521, U+7525, U+752a, U+752c-752f, U+7534, U+753e, U+7542, U+7545-7548, U+754a-754b, U+754d-754e, U+7551, U+7553, U+7555, U+755a-755b, U+755d, U+7560, U+7563-7564, U+7566-7568, U+756c-756f, U+7572-7575, U+7577-757a, U+757c, U+757e-757f, U+7583-7584, U+7587, U+7589, U+758b-758e, U+7590, U+7592, U+7594-7595, U+7597, U+7599-759a, U+759d-759f, U+75a1-75a3, U+75a5, U+75a7, U+75aa, U+75ac, U+75ae-75b1, U+75b3-75b4, U+75b8, U+75bd, U+75c0, U+75c2-75c4, U+75c8-75ca, U+75cc-75cd, U+75d2, U+75d4, U+75d9, U+75dc, U+75df, U+75e2-75e4, U+75e6-75e7, U+75e9-75ec, U+75f0-75f3, U+75f7, U+75f9-75fa, U+75fc, U+75fe-7600) ); /* noto-sans-hk-[56]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-56-400-normal.woff2", $range: (U+73b9-73ba, U+73bc, U+73bf, U+73c2, U+73c4-73c6, U+73c9, U+73cb-73cc, U+73ce-73d2, U+73d5-73d7, U+73d9, U+73db-73de, U+73e1-73eb, U+73ef, U+73f3, U+73f5-73f7, U+73f9-73fd, U+7400-7402, U+7404-7405, U+7407-7408, U+740a-740d, U+740f-7412, U+7414-7417, U+7419-7425, U+7428-7429, U+742c-7432, U+7435-743a, U+743c-7443, U+7445-744a, U+744c, U+7451-7454, U+7456-7457, U+7459, U+745d, U+7460-7462, U+7465, U+7467-7468, U+746b-746e, U+7471-7477, U+7479-747a, U+747c-747f, U+7481-7482, U+7484-7486, U+7488-748a, U+748c-7490, U+7492, U+7498-74a1, U+74a3-74a7, U+74a9) ); /* noto-sans-hk-[57]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-57-400-normal.woff2", $range: (U+7265-7266, U+726a-726b, U+726e-7270, U+7273-7275, U+7277, U+727a-727b, U+727e-727f, U+7281-7282, U+7284, U+7287, U+728a, U+728d, U+728f, U+7292, U+7294, U+7296, U+7298, U+729b, U+729f-72a2, U+72ad-72ae, U+72b0-72b5, U+72b8-72b9, U+72bc-72bd, U+72c1, U+72c3, U+72c5-72c6, U+72c8, U+72cc-72ce, U+72d2, U+72d4, U+72db, U+72dd, U+72df, U+72e1-72e2, U+72e8, U+72ec-72ee, U+72f1, U+72f3-72f4, U+72f7, U+72fa-72fb, U+72fd, U+7300-7302, U+7304, U+7307, U+730a-730b, U+730e, U+7310, U+7313, U+7315-7317, U+7319, U+731e-731f, U+7322, U+7328-732e, U+7330-7331, U+7337-733c, U+733e, U+7340-7341, U+7343, U+7348, U+734c-734d, U+734f-7350, U+7352, U+7355, U+7357, U+7359-735a, U+7360-7363, U+7365, U+7369-7371, U+7373-7374, U+7377, U+737a, U+737c, U+737e, U+7380, U+7385-7386, U+738a, U+738c, U+738e-738f, U+7391-7395, U+7397-7398, U+739b-739c, U+739e, U+73a0-73a2, U+73a5-73a8, U+73aa, U+73ad-73ae, U+73b3-73b8) ); /* noto-sans-hk-[58]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-58-400-normal.woff2", $range: (U+70fe-70ff, U+7104-7106, U+7109, U+710c, U+7110, U+7113-7116, U+7118, U+711c-711e, U+7120, U+7122, U+7129, U+712b-712c, U+712e-712f, U+7131, U+7133-7135, U+713b-713c, U+713e-7140, U+7143, U+7145-7147, U+714a-714b, U+714f-7153, U+7155-7157, U+715a, U+7160, U+7162, U+7166, U+7168, U+716b-716c, U+7171, U+7173-7178, U+717a-717e, U+7180-7181, U+7185, U+7187-7188, U+718b-718c, U+718e-7192, U+7196-7198, U+719a-719c, U+71a0, U+71a2-71a4, U+71a8, U+71ad, U+71af, U+71b2-71b5, U+71b7-71ba, U+71be, U+71c1, U+71c4, U+71ca-71cb, U+71ce-71d1, U+71d4, U+71d7-71d8, U+71da, U+71dc-71dd, U+71e0-71e1, U+71e7, U+71eb-71ec, U+71ee, U+71f4-71f6, U+71f9, U+71fc, U+71fe-7201, U+7203, U+7207, U+7209, U+720c, U+720e-720f, U+7213-7217, U+721a, U+721d, U+7222-7225, U+7228, U+722b, U+722e, U+7230, U+7237, U+723b, U+723f-7242, U+724b, U+724d, U+7250, U+7252-7253, U+7255-7258, U+725c-725d, U+7263-7264) ); /* noto-sans-hk-[59]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-59-400-normal.woff2", $range: (U+6fbc, U+6fbe, U+6fc2, U+6fc6-6fcb, U+6fce, U+6fd1-6fd4, U+6fd8-6fda, U+6fde, U+6fe0-6fe2, U+6fe8-6fe9, U+6fec, U+6fee, U+6ff0, U+6ff3, U+6ff5-6ff6, U+6ff8, U+6ffa, U+6ffc, U+6fff-7001, U+7003, U+7005-7007, U+700b, U+700d, U+7015, U+7018, U+701b, U+701e, U+7020-7021, U+7023, U+7026-7027, U+702c, U+702f-7032, U+7034-7035, U+7037-703c, U+7040, U+7042-7044, U+7046, U+7049, U+704b, U+704d, U+704f-7050, U+7052, U+7054-7055, U+705c-7061, U+7064-7069, U+706c-706f, U+7073-7075, U+7077-707a, U+707e-7081, U+7085-7086, U+7089, U+708b, U+708f-7091, U+7094-7096, U+7098, U+709c, U+709f-70a1, U+70a3-70a7, U+70a9, U+70ac, U+70af-70b2, U+70b4-70b5, U+70b7, U+70bb-70be, U+70c0-70c4, U+70ca-70cc, U+70d0, U+70d2, U+70d4-70d6, U+70d9-70dd, U+70df, U+70e6-70e9, U+70eb-70ec, U+70ef, U+70f1, U+70f4-70f5, U+70f7, U+70fa, U+70fd) ); /* noto-sans-hk-[60]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-60-400-normal.woff2", $range: (U+6e88-6e89, U+6e8b, U+6e8d-6e8f, U+6e93, U+6e98-6e9a, U+6e9f, U+6ea1, U+6ea4-6ea7, U+6eae, U+6eb1-6eb2, U+6eb4-6eb5, U+6eb7-6eb8, U+6ebb, U+6ebd, U+6ec1-6ec3, U+6ec7-6ec9, U+6ecd-6ed0, U+6ed3-6ed6, U+6ed8, U+6eda-6edb, U+6edd-6ede, U+6ee2, U+6ee4-6ee5, U+6ee8-6ee9, U+6eeb, U+6eee, U+6ef3, U+6ef8-6efb, U+6f00, U+6f04, U+6f08-6f0e, U+6f11-6f13, U+6f15-6f17, U+6f19-6f1a, U+6f23-6f2a, U+6f2d-6f31, U+6f33-6f36, U+6f3a-6f3d, U+6f40-6f41, U+6f43-6f44, U+6f47, U+6f4d-6f4f, U+6f53, U+6f56-6f57, U+6f59-6f5a, U+6f5c, U+6f5e-6f61, U+6f63, U+6f66-6f67, U+6f69-6f6c, U+6f6f, U+6f72-6f7f, U+6f81-6f82, U+6f87, U+6f89-6f8d, U+6f90, U+6f92, U+6f94-6f97, U+6f9c-6f9d, U+6f9f-6fa0, U+6fa2-6fa3, U+6fa5-6fa8, U+6faa-6fab, U+6fae-6faf, U+6fb4-6fb6, U+6fb9-6fbb) ); /* noto-sans-hk-[61]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-61-400-normal.woff2", $range: (U+6d64-6d65, U+6d67, U+6d6c-6d6d, U+6d6f-6d72, U+6d75, U+6d79, U+6d7c, U+6d7f, U+6d81-6d82, U+6d85, U+6d87, U+6d8e-6d8f, U+6d91-6d9b, U+6d9d, U+6d9f, U+6da1, U+6da4-6dac, U+6db1, U+6db3-6db4, U+6db7-6db9, U+6dbe-6dc0, U+6dc2, U+6dc4-6dc5, U+6dc8-6dca, U+6dcc-6dcd, U+6dcf-6dd0, U+6dd2-6dd3, U+6dd5-6dd6, U+6dd9, U+6ddb-6de0, U+6de2-6de6, U+6de9, U+6dec, U+6def-6df0, U+6df2, U+6df4, U+6df6, U+6df8, U+6dfc-6dfe, U+6e00, U+6e02-6e04, U+6e07-6e0b, U+6e0d-6e10, U+6e13-6e15, U+6e17-6e1a, U+6e1d, U+6e1f, U+6e22, U+6e24-6e25, U+6e27, U+6e2a-6e2b, U+6e2d-6e2e, U+6e30-6e31, U+6e36, U+6e39-6e3a, U+6e3c-6e3d, U+6e40-6e41, U+6e44-6e45, U+6e47, U+6e49, U+6e4b, U+6e4d-6e51, U+6e53-6e54, U+6e57, U+6e59, U+6e5c, U+6e5e-6e61, U+6e63-6e66, U+6e69-6e6b, U+6e6e, U+6e70-6e76, U+6e78, U+6e7c, U+6e7f-6e80, U+6e83, U+6e85-6e86) ); /* noto-sans-hk-[62]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-62-400-normal.woff2", $range: (U+6c3f, U+6c43, U+6c46, U+6c49-6c4f, U+6c54-6c55, U+6c58, U+6c5a-6c5c, U+6c5e, U+6c64-6c69, U+6c6b-6c6f, U+6c71-6c75, U+6c78-6c79, U+6c7c, U+6c7e-6c7f, U+6c82, U+6c84-6c87, U+6c8c-6c8d, U+6c8f, U+6c93-6c94, U+6c98, U+6c9a, U+6c9d, U+6c9f, U+6ca2, U+6ca5-6ca8, U+6caa, U+6cac-6cb2, U+6cb4-6cb5, U+6cba, U+6cbc, U+6cc2-6cc3, U+6cc5-6cc7, U+6ccb, U+6cce, U+6cd0-6cd2, U+6cd4, U+6cd6-6cd7, U+6cd9-6cda, U+6cdc-6ce0, U+6ce7, U+6ce9-6cec, U+6cee-6cef, U+6cf1, U+6cf7-6cf8, U+6cfb-6d02, U+6d04-6d07, U+6d09-6d0a, U+6d0c, U+6d0e-6d12, U+6d18-6d1a, U+6d1f, U+6d22-6d24, U+6d26-6d28, U+6d2b, U+6d2d-6d31, U+6d33-6d3a, U+6d3c, U+6d3f, U+6d43-6d47, U+6d4a-6d4b, U+6d4e-6d4f, U+6d51-6d53, U+6d57-6d58, U+6d5a-6d5c, U+6d5e-6d63) ); /* noto-sans-hk-[63]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-63-400-normal.woff2", $range: (U+6a9c-6aa1, U+6aa3-6aa5, U+6aa7-6aa8, U+6aab, U+6aae, U+6ab1-6ab2, U+6ab5, U+6aba, U+6abe, U+6ac2, U+6ac5-6ac6, U+6ac8-6aca, U+6acc, U+6ad3-6ad4, U+6ad8, U+6ada-6adb, U+6add-6adf, U+6ae3, U+6ae7-6ae8, U+6aea-6aec, U+6af1, U+6af3, U+6af6, U+6af8, U+6afa, U+6afc, U+6b05, U+6b09, U+6b0e-6b13, U+6b17, U+6b1d-6b1e, U+6b25, U+6b2c, U+6b31, U+6b35-6b37, U+6b39, U+6b3b, U+6b40, U+6b43, U+6b46, U+6b48, U+6b52-6b55, U+6b57, U+6b59, U+6b5b, U+6b5f-6b60, U+6b68-6b69, U+6b6f, U+6b74, U+6b7a, U+6b7c, U+6b7f-6b84, U+6b86-6b87, U+6b89, U+6b8b, U+6b8d, U+6b91-6b93, U+6b9b, U+6b9e, U+6ba1-6ba2, U+6ba4, U+6baa-6bab, U+6bad-6bae, U+6bb2-6bb4, U+6bbb, U+6bbd, U+6bc1-6bc2, U+6bcc, U+6bce, U+6bd0-6bd1, U+6bd5-6bd9, U+6bdc, U+6bde, U+6be1, U+6bea, U+6bec, U+6bf3, U+6bf9-6bfa, U+6bfd, U+6bff-6c00, U+6c02, U+6c05-6c06, U+6c0a, U+6c0c-6c0d, U+6c10, U+6c13, U+6c16, U+6c18-6c1a, U+6c1c, U+6c1f, U+6c21-6c22, U+6c24, U+6c26, U+6c28-6c2a, U+6c2c, U+6c2e-6c33, U+6c35-6c37, U+6c39-6c3a, U+6c3d-6c3e) ); /* noto-sans-hk-[64]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-64-400-normal.woff2", $range: (U+6957, U+6959, U+695b-695f, U+6961-696c, U+696e-6970, U+6972-6974, U+6976, U+6978-697a, U+697c, U+6980, U+6984-6986, U+6988-698a, U+698d-698e, U+6990-6991, U+6994, U+6996-699b, U+699e-699f, U+69a2-69a7, U+69ab, U+69ad, U+69af, U+69b1-69b3, U+69b6-69b7, U+69bb-69bc, U+69bf-69c1, U+69c3-69c5, U+69c7, U+69ca, U+69cc, U+69ce, U+69d0-69d1, U+69d4-69d6, U+69d8-69d9, U+69db, U+69df, U+69e1, U+69e4, U+69e8-69ea, U+69ed-69ee, U+69f1-69f4, U+69f6, U+69f8-69fb, U+69ff-6a00, U+6a03, U+6a05, U+6a0a-6a0c, U+6a17-6a18, U+6a1a-6a1c, U+6a28-6a2d, U+6a31-6a33, U+6a35, U+6a3b, U+6a3e-6a40, U+6a43, U+6a45, U+6a47-6a48, U+6a4c, U+6a50, U+6a52-6a53, U+6a55-6a57, U+6a5a-6a5b, U+6a5e, U+6a62-6a63, U+6a65-6a66, U+6a6a, U+6a71, U+6a74, U+6a79-6a7a, U+6a7c, U+6a7e-6a82, U+6a84, U+6a87, U+6a89-6a8a, U+6a8d-6a92, U+6a97, U+6a99) ); /* noto-sans-hk-[65]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-65-400-normal.woff2", $range: (U+67fe, U+6800-6805, U+6808-6809, U+680b, U+680d-6812, U+6814, U+6816, U+6818, U+681b-681e, U+6820, U+6822, U+6825, U+6827-6829, U+682b, U+682e-682f, U+6831-6834, U+6836, U+683a-683b, U+683e, U+6840-6841, U+6844-6845, U+6847, U+6849-684a, U+684e, U+6853, U+6855-6856, U+685c-685d, U+685f, U+6861-6863, U+6865-6869, U+686b, U+686d, U+686f, U+6871-6872, U+6874-6875, U+6877, U+6879, U+687b-687c, U+687e, U+6880, U+6882-6884, U+6886, U+6888, U+688f, U+6891-6892, U+6894, U+6896, U+6898, U+689b-689c, U+689f-68a0, U+68a2-68a3, U+68a6, U+68a9, U+68b1-68b2, U+68b4, U+68b6, U+68b9, U+68bd, U+68c0-68c1, U+68c3, U+68c5-68c6, U+68c8, U+68ca, U+68d0-68d1, U+68d3, U+68d6, U+68e1, U+68e3, U+68e6, U+68e8-68ec, U+68ef-68f1, U+68f3, U+68f6-68f7, U+68f9-68fd, U+6900-6904, U+6906-6907, U+6909, U+690b, U+690f-6910, U+6917-691c, U+6925, U+692a, U+692c-692d, U+6932, U+6934, U+6936, U+6939, U+693c-6940, U+6942-6943, U+6946, U+6949, U+6952, U+6954-6956) ); /* noto-sans-hk-[66]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-66-400-normal.woff2", $range: (U+66b3, U+66b5-66b6, U+66b8-66bc, U+66be-66bf, U+66c1, U+66c4, U+66c7-66c8, U+66cc-66cf, U+66d5, U+66d8-66db, U+66df, U+66e1-66e2, U+66e7-66e9, U+66ef, U+66f1, U+66f5, U+66f7, U+66fa, U+66fd, U+6702, U+6705, U+670a, U+670c, U+670e-6710, U+6713-6716, U+6718-6719, U+671e, U+6720, U+6722-6727, U+6729, U+672e, U+6733, U+6736, U+6738-6739, U+673f-6740, U+6742, U+6744-6745, U+6747-6748, U+674b-674d, U+6753, U+6755, U+6759, U+675d-675e, U+6760, U+6762-6763, U+6767-676c, U+676e, U+6772-6777, U+677a-677c, U+6782, U+6786-6787, U+678a-678c, U+678e-678f, U+6791-6793, U+6796, U+6798-6799, U+679f-67a5, U+67aa-67ae, U+67b0-67b5, U+67b7-67bc, U+67bf-67c3, U+67c5-67c6, U+67c8-67ca, U+67ce, U+67d2, U+67d6-67d9, U+67db-67e0, U+67e2, U+67e4, U+67e9-67ea, U+67f0, U+67f2, U+67f6-67fb) ); /* noto-sans-hk-[67]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-67-400-normal.woff2", $range: (U+6535, U+6537-6538, U+653a, U+653d, U+6542-6543, U+6549, U+654c-654e, U+6554-6555, U+655a-655b, U+655d, U+655f, U+6561, U+6564-6565, U+6567, U+656b, U+656d-656e, U+6573, U+6576, U+6579-657b, U+6581, U+6585-6586, U+6588-6589, U+658b, U+658e, U+6593, U+6595, U+659b, U+659d, U+659f-65a1, U+65a9, U+65ab, U+65ad, U+65b2-65b3, U+65b5, U+65bb, U+65be-65bf, U+65c2-65c4, U+65c6, U+65cc, U+65ce, U+65d1-65d2, U+65d4, U+65d6, U+65db, U+65e1, U+65e3, U+65e7, U+65ee-65f0, U+65f2-65f4, U+65f7-65f8, U+65fc-65fd, U+65ff-6600, U+6603-6605, U+6609, U+660d, U+6610-6611, U+6618-6619, U+661c-661e, U+6621-6624, U+6626, U+6629, U+662b, U+6630, U+6633-6636, U+6639-663d, U+6640-6641, U+6644-6645, U+6648, U+664a-664d, U+6653-6657, U+6659, U+665b, U+665d-665e, U+6660-6667, U+6669, U+666b-666c, U+6672-6673, U+6677-6679, U+667b-667e, U+6681-6685, U+668b-6690, U+6692, U+6698, U+669a, U+669d, U+669f-66a0, U+66a4, U+66a6-66a7, U+66aa, U+66ad, U+66b2) ); /* noto-sans-hk-[68]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-68-400-normal.woff2", $range: (U+63f2-63f3, U+63f5-63f8, U+63fa-63fe, U+6400-6402, U+6405-6407, U+6409-640c, U+6410, U+6414-6415, U+6418, U+641b, U+641f-6423, U+6425-6428, U+642a-642b, U+642f-6430, U+6432, U+6434, U+6437-6438, U+643a-643b, U+643d-6444, U+6446-6447, U+644a-644b, U+644e, U+6450-6453, U+6456, U+6459-645c, U+645e, U+6460-6461, U+6463-6465, U+6468, U+646c-646e, U+6470-6477, U+6479, U+647b-647d, U+6480, U+6482, U+6485, U+648b-648d, U+6491, U+6493, U+6496-649a, U+649d, U+649f-64a0, U+64a2-64a3, U+64ac, U+64af, U+64b1, U+64b3-64b4, U+64b6-64b9, U+64bb, U+64be, U+64c0, U+64c3-64c4, U+64d0, U+64d2-64d3, U+64d5, U+64d7-64d8, U+64dd, U+64e1-64e5, U+64e7, U+64e9-64ea, U+64ed, U+64ef-64f0, U+64f3, U+64f8, U+64fb-64fc, U+64ff, U+6504-6506, U+6509-650a, U+6511-6512, U+6516, U+6518-6519, U+651b, U+651f-6523, U+6525-6526, U+6529, U+652b, U+652e, U+6530, U+6532, U+6534) ); /* noto-sans-hk-[69]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-69-400-normal.woff2", $range: (U+628e, U+6290, U+6294, U+629a-629e, U+62a0, U+62a2, U+62a6, U+62a8, U+62af, U+62b3, U+62b6, U+62ba-62bb, U+62be-62bf, U+62c1-62c5, U+62c8, U+62ca, U+62cf, U+62d1, U+62d5, U+62d7, U+62d9, U+62dd, U+62df-62e3, U+62e5-62e8, U+62ee, U+62f4-62fb, U+62fd, U+6300, U+6302, U+6308, U+630c-630e, U+6310, U+6312-6313, U+6318-631b, U+631d-6321, U+6323-6325, U+632d-632e, U+6331-6332, U+6334-6339, U+633b-633c, U+633e-6340, U+6342-6346, U+634b-634c, U+634e, U+6352, U+6357, U+635a, U+635c-635f, U+6361, U+6363-6365, U+6369, U+636b-636d, U+636f-6370, U+6373, U+6375-6376, U+6379-637b, U+637d, U+637f, U+6381, U+6384, U+6387, U+638a-638b, U+638d-638e, U+6390, U+6394-6397, U+639e-639f, U+63a3-63a4, U+63a6, U+63ac-63af, U+63b1-63b4, U+63b7, U+63b9-63bb, U+63bd-63be, U+63c1, U+63c3-63c4, U+63c8, U+63cd-63ce, U+63d1, U+63d6, U+63dc, U+63de, U+63e0, U+63e2-63e4, U+63e6, U+63e9, U+63f0) ); /* noto-sans-hk-[70]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-70-400-normal.woff2", $range: (U+612f-6130, U+6134, U+6136, U+613c-613f, U+6142, U+6144, U+6146-6147, U+6149-614a, U+614d, U+6150-6153, U+6159-615a, U+615c-6160, U+6164-6165, U+6169-616d, U+616f, U+6171-6175, U+6177, U+617a, U+617c-617d, U+617f-6181, U+6187, U+618a-618e, U+6192-6195, U+6198-619c, U+619f, U+61a1, U+61a7-61a8, U+61aa-61af, U+61b7-61ba, U+61bf-61c0, U+61c3, U+61c6, U+61ca-61cd, U+61cf-61d0, U+61d2-61d3, U+61da, U+61de-61e0, U+61e2-61e3, U+61e6, U+61e8, U+61ed-61ee, U+61f5, U+61f9-61fa, U+61fd-61fe, U+6207, U+6209, U+620d-620e, U+6213-6215, U+6219, U+621b, U+621d-6223, U+6225-6227, U+6229, U+622b-622c, U+622e-622f, U+6231, U+6238-6239, U+623b, U+623d-623e, U+6242-6243, U+6246, U+6248-6249, U+624c, U+6251, U+6255, U+6259-625a, U+625e, U+6260-6262, U+6265-6269, U+626b-626c, U+6270-6273, U+6275, U+627a-627d, U+6282-6283, U+6285-6286, U+6289, U+628c) ); /* noto-sans-hk-[71]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-71-400-normal.woff2", $range: (U+5fe7, U+5fea, U+5fec-5fee, U+5ff1, U+5ff3, U+5ff8, U+5ffa-5ffc, U+5fff-6000, U+6002, U+6005, U+600a, U+600d, U+600f-6010, U+6014, U+6017, U+6019-601c, U+601e, U+6020, U+6022-6023, U+6026, U+6029, U+602b-602c, U+602e-602f, U+6031, U+6033-6035, U+6039, U+603c, U+6040-6043, U+6045, U+6047, U+604a-604c, U+604f, U+6053, U+6059-605b, U+605d, U+6060, U+6063, U+6067, U+606a-606b, U+606e, U+6072-6078, U+607a, U+607c, U+607e-6081, U+6083, U+6086, U+608a, U+608c, U+608e, U+6092-6093, U+6095-6097, U+609b, U+609d-609e, U+60a2, U+60a4, U+60a6-60a7, U+60a9-60aa, U+60ac-60ad, U+60af-60b1, U+60b3-60b5, U+60b8, U+60bb, U+60bd-60be, U+60c0, U+60c6-60c7, U+60ca-60cb, U+60d3-60d5, U+60d7-60db, U+60dd-60de, U+60e2-60e3, U+60e6-60f0, U+60f2, U+60f4, U+60f6, U+60fa-60fb, U+60fd, U+60ff-6100, U+6103, U+6106-6107, U+610a-610e, U+6110, U+6112-6116, U+6119, U+6120, U+6122-6124, U+6128-612e) ); /* noto-sans-hk-[72]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-72-400-normal.woff2", $range: (U+5e6c, U+5e6e, U+5e75, U+5e77, U+5e7a, U+5e80-5e81, U+5e83, U+5e86, U+5e88, U+5e8b, U+5e90, U+5e92, U+5e96, U+5e99, U+5e9b, U+5e9d-5ea2, U+5ea4-5ea5, U+5eb3-5eb6, U+5eb9, U+5ebd-5ebe, U+5ec3-5ec4, U+5ec6, U+5ecb-5ecd, U+5ed0-5ed2, U+5ed4-5ed5, U+5ed8-5ed9, U+5edb, U+5edd, U+5ee1, U+5ee8-5ee9, U+5eec, U+5eef-5ef0, U+5ef4-5ef5, U+5ef8-5ef9, U+5efb-5efc, U+5efe, U+5f01-5f03, U+5f05, U+5f07-5f09, U+5f0b-5f0e, U+5f10-5f12, U+5f14, U+5f16, U+5f1b, U+5f1d, U+5f22, U+5f25, U+5f28-5f29, U+5f2d, U+5f2f-5f30, U+5f36, U+5f38-5f39, U+5f3b-5f3c, U+5f3e, U+5f40-5f42, U+5f45-5f46, U+5f4a, U+5f4d, U+5f50-5f52, U+5f54, U+5f56-5f58, U+5f5a-5f5e, U+5f61, U+5f63, U+5f66-5f67, U+5f6b, U+5f72-5f74, U+5f76, U+5f78, U+5f7b, U+5f7d, U+5f82-5f84, U+5f87, U+5f89-5f8a, U+5f8d, U+5f93, U+5f95, U+5f98-5f99, U+5f9b-5f9c, U+5fa0, U+5fa4, U+5fa6-5fa8, U+5fab-5fad, U+5fb1, U+5fb3-5fb4, U+5fba, U+5fbc, U+5fc2, U+5fc4, U+5fc6, U+5fc9, U+5fcb, U+5fce-5fd6, U+5fdb-5fdf, U+5fe1, U+5fe4) ); /* noto-sans-hk-[73]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-73-400-normal.woff2", $range: (U+5cee, U+5cf1, U+5cf4-5cf5, U+5cf8, U+5cfc, U+5cfe-5d00, U+5d06, U+5d08, U+5d0a-5d0d, U+5d15, U+5d18, U+5d1a, U+5d1d, U+5d1f-5d22, U+5d24, U+5d26-5d28, U+5d2c-5d2f, U+5d33-5d35, U+5d3d-5d3f, U+5d42-5d43, U+5d46-5d4b, U+5d4e, U+5d52-5d53, U+5d56-5d59, U+5d5b-5d5c, U+5d65, U+5d68-5d69, U+5d6b-5d6c, U+5d6f-5d70, U+5d74-5d75, U+5d78, U+5d7b, U+5d7e-5d7f, U+5d81-5d82, U+5d85-5d88, U+5d8b-5d8c, U+5d8e, U+5d92, U+5d94, U+5d97, U+5d99, U+5d9d, U+5da0-5da2, U+5da4, U+5da7, U+5da9-5dab, U+5dae, U+5db2, U+5db4, U+5db6-5db9, U+5dbd, U+5dc1-5dc5, U+5dc9, U+5dcb-5dcd, U+5dd2, U+5dd6-5dd8, U+5ddb-5ddc, U+5de0, U+5de3, U+5de9, U+5df0, U+5df3, U+5df5, U+5df9, U+5dfb-5dfd, U+5e00-5e01, U+5e04-5e05, U+5e09-5e0b, U+5e11-5e12, U+5e14, U+5e18-5e1c, U+5e1f-5e22, U+5e27-5e28, U+5e2f-5e30, U+5e34, U+5e37, U+5e3a, U+5e3c, U+5e40, U+5e42-5e44, U+5e47-5e48, U+5e4c, U+5e54, U+5e57-5e5b, U+5e5e-5e5f, U+5e61-5e62, U+5e64, U+5e6a) ); /* noto-sans-hk-[74]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-74-400-normal.woff2", $range: (U+5b6d-5b6e, U+5b70-5b76, U+5b7a-5b7d, U+5b7f-5b82, U+5b84, U+5b8d, U+5b90, U+5b92-5b93, U+5b95-5b96, U+5b9f-5ba1, U+5ba6-5ba8, U+5baa-5bad, U+5bb7, U+5bbd-5bbe, U+5bc0-5bc1, U+5bc3, U+5bd0-5bd1, U+5bd4-5bd8, U+5bdb-5bdd, U+5be4-5be5, U+5bef, U+5bf3, U+5bfb, U+5bfe-5bff, U+5c02-5c03, U+5c05, U+5c09, U+5c0c, U+5c10, U+5c12-5c13, U+5c15, U+5c18-5c19, U+5c1b-5c20, U+5c22-5c23, U+5c25, U+5c27-5c28, U+5c2a-5c2b, U+5c34, U+5c38, U+5c3d, U+5c42, U+5c44, U+5c47, U+5c49-5c4a, U+5c50, U+5c53, U+5c58-5c59, U+5c5b, U+5c5d, U+5c61, U+5c63, U+5c68, U+5c6d-5c6e, U+5c74, U+5c78-5c86, U+5c88, U+5c8a-5c8d, U+5c92-5c9c, U+5c9e, U+5ca0, U+5ca2-5ca3, U+5ca5-5ca7, U+5cab-5cad, U+5cb5, U+5cb7, U+5cba-5cbb, U+5cc1-5cc2, U+5cc8, U+5cca-5ccb, U+5cce, U+5cd1-5cd2, U+5cd5-5cd6, U+5cd8-5cda, U+5cdf-5ce1, U+5ce5-5ce6, U+5ce8-5cea, U+5ced) ); /* noto-sans-hk-[75]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-75-400-normal.woff2", $range: (U+5a33-5a34, U+5a38, U+5a3c-5a3d, U+5a3f-5a45, U+5a47-5a48, U+5a4a, U+5a4c-5a4d, U+5a50-5a51, U+5a53-5a54, U+5a56-5a57, U+5a59, U+5a5d-5a5e, U+5a60-5a63, U+5a65, U+5a67-5a68, U+5a6a-5a6e, U+5a71, U+5a73-5a76, U+5a79-5a7c, U+5a7e, U+5a81-5a84, U+5a86, U+5a88, U+5a8c, U+5a90-5a91, U+5a93, U+5a96-5a97, U+5a99, U+5a9c, U+5a9e-5aa1, U+5aa4, U+5aa7, U+5aaa-5aac, U+5aae-5aaf, U+5ab1, U+5ab4-5ab5, U+5ab8, U+5aba-5abc, U+5abe-5abf, U+5ac3-5ac4, U+5ac6-5acb, U+5ace-5adc, U+5ae0-5ae1, U+5ae3-5ae6, U+5ae8, U+5aea-5aeb, U+5aee, U+5af0, U+5af2, U+5af5, U+5afa, U+5afe-5aff, U+5b01, U+5b05, U+5b08, U+5b0b, U+5b0d, U+5b11, U+5b15-5b17, U+5b19, U+5b1b, U+5b1d, U+5b1f, U+5b21-5b23, U+5b28, U+5b2a-5b2d, U+5b32, U+5b34, U+5b36-5b38, U+5b3e-5b41, U+5b43-5b46, U+5b4a-5b4c, U+5b4f, U+5b51, U+5b53, U+5b59, U+5b5b-5b5c, U+5b62, U+5b65, U+5b68, U+5b6c) ); /* noto-sans-hk-[76]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-76-400-normal.woff2", $range: (U+58bc, U+58c2, U+58c5-58c6, U+58ca-58cc, U+58ce, U+58d0-58d1, U+58d5, U+58d9-58da, U+58dc, U+58df-58e0, U+58e9, U+58ec, U+58ee, U+58f1-58f3, U+58f6-58f7, U+58fb-58fc, U+5900, U+5902, U+5905-5906, U+5909-590c, U+590e, U+5910-5911, U+5914, U+5919, U+591b, U+591d, U+591f, U+5923-5924, U+592c, U+5932, U+5938-593a, U+5940, U+5942, U+5944, U+594b-594c, U+594e, U+5950, U+5953, U+5956, U+5958, U+595a, U+5961, U+5966, U+5968-5969, U+596c-596d, U+5975, U+5977, U+597b-597c, U+597e, U+5980-5981, U+5986-598a, U+598f, U+5994, U+5997-5998, U+599a, U+599f-59a3, U+59a6-59a7, U+59a9, U+59ab-59ac, U+59af-59b2, U+59b6-59b8, U+59ba, U+59be-59bf, U+59c1, U+59c3-59c4, U+59c7-59c9, U+59cd-59ce, U+59d2, U+59d6-59d9, U+59dd-59de, U+59e0, U+59e3-59e5, U+59e9-59eb, U+59ee-59f3, U+59f5-59f9, U+59fc-59fd, U+5a00, U+5a02, U+5a04-5a07, U+5a09, U+5a0b-5a0d, U+5a11-5a13, U+5a16-5a17, U+5a1a, U+5a1e, U+5a20-5a21, U+5a23-5a24, U+5a27, U+5a29-5a2f, U+5a32) ); /* noto-sans-hk-[77]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-77-400-normal.woff2", $range: (U+575b-5760, U+5763, U+5767-5769, U+576b, U+576d, U+576f-5770, U+5772-5775, U+5777, U+577a-5780, U+5784, U+5788, U+578a, U+578c-578e, U+5790, U+5792-5793, U+5795, U+579a-579c, U+579f-57a1, U+57a4, U+57a6-57a7, U+57a9-57ab, U+57b3-57b5, U+57b8-57bb, U+57be, U+57c2, U+57c4-57c8, U+57cc, U+57cf, U+57d2, U+57dc-57de, U+57e1-57e2, U+57e5-57e7, U+57ed-57f0, U+57f3-57f6, U+57f8, U+57fb-57fe, U+5800-5801, U+5803-5804, U+5807, U+5809-580b, U+580d-580e, U+5810-5812, U+5814-5815, U+5818-5819, U+581d-581e, U+5820, U+5822-5823, U+5826, U+582c-582d, U+5830, U+583a, U+583f-5841, U+5844, U+5847-5848, U+584b, U+584d, U+584f, U+5852, U+5859-585a, U+585c, U+585f, U+5861, U+5864, U+5868-5869, U+586c-586d, U+5871-5873, U+5879, U+587c-5881, U+5887-5889, U+588e, U+5890-5892, U+5896-589a, U+589d, U+58a1, U+58a3, U+58a6-58a7, U+58a9-58aa, U+58ac, U+58b0-58b1, U+58b5-58b6, U+58bb) ); /* noto-sans-hk-[78]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-78-400-normal.woff2", $range: (U+5611-5613, U+5615-5616, U+5618, U+561a, U+561c, U+561e, U+5620-5621, U+5623-5625, U+5627, U+562a, U+562c-562e, U+5630-5631, U+5635-563a, U+5640, U+5642-5643, U+5649, U+564c-5650, U+5652, U+5654, U+5658-565d, U+5661, U+5664-5666, U+5669, U+566b, U+566d, U+566f, U+5671-5672, U+5676, U+567a-567c, U+5680, U+5684-5686, U+5689-568c, U+568e-568f, U+5692-5693, U+5697-5699, U+569c, U+569e, U+56a1-56a7, U+56a9, U+56ab-56ad, U+56af, U+56b1, U+56b3, U+56b5-56b6, U+56b8-56b9, U+56bf-56c1, U+56c3, U+56c5, U+56c7-56c8, U+56cb-56cc, U+56d1-56d4, U+56d6-56d9, U+56dd, U+56df, U+56e1-56e5, U+56ea-56ec, U+56ee-56ef, U+56f1-56f4, U+56f7, U+56f9, U+56fb, U+56ff-5700, U+5703-5704, U+5706-5707, U+5709-570a, U+570c, U+570f, U+5711, U+5715, U+5717, U+571c-571d, U+5723-5724, U+5727, U+5729-572a, U+572c, U+572e-572f, U+5732, U+5734-5735, U+573b, U+573d, U+573f, U+5741, U+5743, U+5746, U+574b-574d, U+574f, U+5752, U+5754, U+575a) ); /* noto-sans-hk-[79]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-79-400-normal.woff2", $range: (U+54bf, U+54c4, U+54ca, U+54cc, U+54cf-54d2, U+54d4, U+54d6-54d7, U+54da, U+54de-54df, U+54e2-54e4, U+54e7, U+54eb, U+54ef, U+54f3, U+54fd, U+54ff, U+5501-5502, U+5504-5506, U+550a, U+550c-550f, U+5511-5513, U+5516-5518, U+551a-551b, U+551e, U+5520, U+5523-5528, U+552a-552d, U+5530, U+5532-5533, U+5535-5536, U+553b-553c, U+553e-553f, U+5541-5542, U+5544-5545, U+5547, U+5549, U+554b, U+554d-554e, U+5550-5551, U+5553, U+5555-5557, U+555c-555d, U+5562-5563, U+5567, U+5569, U+556b-556c, U+5570, U+5573, U+5575-5579, U+557b-557c, U+557f, U+5581, U+5583, U+5586, U+5588, U+558b, U+558f-5591, U+5599, U+559f, U+55a1, U+55a3, U+55a5-55a6, U+55a8-55a9, U+55ab, U+55ad, U+55b0-55b1, U+55b3-55b4, U+55b6-55b7, U+55b9, U+55bc-55bd, U+55c1, U+55c4-55c5, U+55c7, U+55c9, U+55cc-55cd, U+55d0, U+55d2, U+55d4-55d9, U+55db, U+55dd-55df, U+55e1-55e6, U+55e9-55ea, U+55ec, U+55ee, U+55f1-55f3, U+55f5-55f7, U+55f9-55fb, U+55fd-55fe, U+5600-5602, U+5608, U+560c, U+560f) ); /* noto-sans-hk-[80]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-80-400-normal.woff2", $range: (U+536e-536f, U+5372, U+5374, U+5379-537a, U+537c-537e, U+5382, U+5385, U+5389, U+538b-538c, U+538e, U+5392-5396, U+5399, U+53a0-53a2, U+53a4-53a6, U+53a8-53ab, U+53ae, U+53b0, U+53b3-53b4, U+53b6-53b7, U+53b9, U+53bf, U+53c1, U+53c4-53c5, U+53ce-53d0, U+53d2, U+53d5, U+53d9-53da, U+53df-53e1, U+53e7-53e9, U+53f1, U+53f5-53f6, U+53f9, U+53fb-53fe, U+5400-5402, U+5405-5407, U+540f, U+5412, U+5414-5417, U+541a, U+5420-5421, U+5423-5425, U+5428-5429, U+542c-542f, U+5431-5432, U+5434, U+5437, U+543d, U+543f, U+5441, U+5444-5445, U+5447, U+5449, U+544b-544d, U+5450-5455, U+5457, U+545b-545c, U+545f-5460, U+5463-5464, U+5469-5472, U+5474, U+5476, U+5478, U+547b, U+547e-547f, U+5482-5488, U+548a, U+548d-5491, U+5493-5494, U+5498-549e, U+54a1-54a5, U+54ab, U+54ad-54af, U+54b4-54b5, U+54b7, U+54b9, U+54bb-54bc, U+54be) ); /* noto-sans-hk-[81]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-81-400-normal.woff2", $range: (U+51d0-51d4, U+51d6, U+51d9, U+51db-51dc, U+51df, U+51e2, U+51e4, U+51e6, U+51e9-51ea, U+51ed, U+51ef, U+51f4-51f5, U+51fc, U+51fe-51ff, U+5201-5202, U+5204-5205, U+5208, U+520b, U+520d-520e, U+5213, U+5215-5216, U+5218, U+521a, U+521f-5220, U+5223, U+5226-5228, U+5232-5234, U+5239, U+523c, U+5241-5242, U+5244, U+5249, U+524c, U+524f, U+5251-5252, U+5255, U+5257, U+5259, U+525c, U+525e, U+5260-5261, U+5263-5265, U+5268, U+526e, U+5270, U+5273-5274, U+5277, U+5279, U+527d, U+527f, U+5281-5282, U+5284, U+528a, U+528c, U+528f-5290, U+5292-5294, U+529a, U+529d, U+52a4, U+52a6, U+52ac-52ad, U+52b1-52b5, U+52b9, U+52bb-52bc, U+52be-52c0, U+52c5, U+52cb-52cd, U+52d0-52d1, U+52d6-52d7, U+52db, U+52e0-52e1, U+52e3, U+52e6-52e7, U+52eb, U+52ed-52ee, U+52f0-52f2, U+52f7, U+52f9-52fa, U+5300-5302, U+530a-530b, U+530d, U+530f-5310, U+5315, U+531a, U+531c-531d, U+5324, U+5327, U+532c-532e, U+5331-5333, U+5338, U+533b-533e, U+5342, U+5344-5345, U+534b-534d, U+534f-5350, U+5358, U+535d-535f, U+5362-5364, U+5367, U+5369, U+536b-536d) ); /* noto-sans-hk-[82]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-82-400-normal.woff2", $range: (U+505d-5060, U+5063, U+5066, U+506a, U+506c, U+506f-5072, U+5078, U+507a-507b, U+507f-5081, U+5088-5089, U+508b-508c, U+508e, U+5090, U+5092, U+5095-5096, U+509a-509d, U+50a3, U+50a5-50a6, U+50a8, U+50af, U+50b1, U+50b4, U+50ba, U+50bc, U+50c2, U+50c6-50ca, U+50cd-50ce, U+50d0, U+50d6, U+50d9, U+50dd-50df, U+50e1, U+50e3, U+50e5-50e6, U+50e8-50ea, U+50ec-50f0, U+50f3-50f4, U+50fb-50fc, U+50fe, U+5101-5102, U+5105-5109, U+510b-510e, U+5110, U+5113-5115, U+5117, U+511a-511c, U+511e, U+5120-5121, U+5125, U+512b, U+5131, U+5134-5135, U+5138-513c, U+5140, U+514e, U+5150-5151, U+5155-5157, U+515a, U+515f-5160, U+5162, U+516a, U+516e, U+5172, U+5174, U+5179, U+517b, U+517d, U+5182, U+5186, U+5188-5189, U+518b, U+518f, U+5191, U+5193, U+5195-5197, U+519a-519c, U+519e, U+51a2, U+51a6-51a9, U+51ab, U+51ad-51af, U+51b1-51b6, U+51b8, U+51ba-51c0, U+51c3-51c5, U+51c7, U+51c9-51cb, U+51ce-51cf) ); /* noto-sans-hk-[83]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-83-400-normal.woff2", $range: (U+4f22, U+4f24, U+4f28-4f2b, U+4f2d, U+4f31-4f32, U+4f35, U+4f37, U+4f39, U+4f3b, U+4f3e, U+4f41-4f43, U+4f45, U+4f47, U+4f49, U+4f4b-4f4c, U+4f52, U+4f57-4f58, U+4f5a, U+4f5d-4f5f, U+4f61, U+4f63-4f64, U+4f67, U+4f6a, U+4f6e-4f6f, U+4f72, U+4f74, U+4f76-4f7b, U+4f7d-4f7e, U+4f80-4f82, U+4f84, U+4f89-4f8a, U+4f8e-4f94, U+4f96-4f98, U+4f9a, U+4f9e, U+4fa0-4fa3, U+4fa5-4fa8, U+4faa-4fac, U+4fb0, U+4fb2-4fb4, U+4fb7-4fba, U+4fbd, U+4fc0-4fc1, U+4fc5-4fc8, U+4fcb-4fce, U+4fd1, U+4fd3-4fd4, U+4fd8-4fdc, U+4fdf, U+4fe2-4fe5, U+4fe8-4fea, U+4fec-4fed, U+4ff0, U+4ff2-4ff6, U+4ff8-4ffa, U+4ffd, U+5000, U+5002-5003, U+5005, U+5008, U+500c, U+500f, U+5013-5015, U+501b-501c, U+501e, U+5022-5025, U+5027-5028, U+502c-502e, U+5030-5032, U+5034, U+5036, U+503a-503b, U+503e, U+5040-5041, U+5043, U+5045-5046, U+5048, U+504a-504e, U+5051-5053, U+5056, U+5058) ); /* noto-sans-hk-[84]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-84-400-normal.woff2", $range: (U+4ad1, U+4ae4, U+4aff, U+4b10, U+4b19, U+4b20, U+4b2c, U+4b37, U+4b6f-4b70, U+4b72, U+4b7b, U+4b7e, U+4b8e, U+4b90, U+4b93, U+4b96-4b97, U+4b9d, U+4bbd-4bbe, U+4bc0, U+4c04, U+4c07, U+4c0e, U+4c32, U+4c3b, U+4c3e, U+4c40, U+4c47, U+4c57, U+4c5b, U+4c6d, U+4c77, U+4c7b, U+4c7d, U+4c81, U+4c85, U+4ca4, U+4cae, U+4cb0, U+4cb7, U+4ccd, U+4ce1-4ce2, U+4ced, U+4d07, U+4d09, U+4d10, U+4d34, U+4d76-4d77, U+4d89, U+4d91, U+4d9c, U+4e02, U+4e04-4e05, U+4e0c, U+4e0f-4e10, U+4e15, U+4e17, U+4e1b, U+4e21-4e22, U+4e25, U+4e27, U+4e2c, U+4e2f, U+4e31, U+4e34, U+4e36-4e37, U+4e3d, U+4e3f-4e42, U+4e44, U+4e47, U+4e49, U+4e4c, U+4e52-4e54, U+4e57, U+4e5a-4e5b, U+4e60-4e61, U+4e69-4e6a, U+4e6d, U+4e78, U+4e80-4e81, U+4e85, U+4e87, U+4e89-4e8a, U+4e8d, U+4e8f, U+4e93, U+4e96, U+4e98-4e99, U+4e9c, U+4e9f-4ea0, U+4ea2-4ea3, U+4ea5, U+4ea9, U+4eb0, U+4eb2-4eb3, U+4eb5-4eb7, U+4eb9, U+4ebb-4ebc, U+4ebf, U+4ec2-4ec6, U+4ec8-4ec9, U+4ecf, U+4ed1, U+4ed3, U+4edc-4ee1, U+4ee7-4eeb, U+4eee-4eef, U+4ef1, U+4ef3-4ef5, U+4ef8, U+4efa, U+4efc, U+4f00, U+4f02-4f03, U+4f05, U+4f07-4f09, U+4f0b, U+4f0e, U+4f15, U+4f17, U+4f1d-4f1f) ); /* noto-sans-hk-[85]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-85-400-normal.woff2", $range: (U+41db, U+41ed, U+41ef, U+41f9, U+4211, U+4223, U+4240, U+4260, U+426a, U+4276, U+427a, U+428c, U+4294, U+42a2, U+42b5, U+42b9, U+42bc, U+42f4, U+42fb-42fc, U+430a, U+432b, U+436e, U+4397, U+439a, U+43ba, U+43c1, U+43c8, U+43d9, U+43df, U+43ed, U+43f0, U+43f2, U+4401-4402, U+4413, U+4425, U+442d, U+447a, U+448f, U+4491, U+449f-44a0, U+44a2, U+44b0, U+44b7, U+44bd, U+44c0, U+44c3, U+44c5, U+44ce, U+44dd-44df, U+44e1, U+44e4, U+44e9-44ec, U+44f4, U+4503-4504, U+4509, U+450b, U+4516, U+451b, U+451d, U+4527, U+452e, U+4533, U+4536, U+453b, U+453d, U+453f, U+4543, U+4551-4552, U+4555, U+4558, U+455c, U+4561-4562, U+456a, U+456d, U+4576-4578, U+4585, U+45a6, U+45b3, U+45da, U+45e9-45ea, U+4603, U+4606, U+460f, U+4615, U+4617, U+465b, U+467a, U+4680, U+46a1, U+46ae, U+46bb, U+46cf-46d0, U+46e5, U+46f5, U+46f7, U+4713, U+4718, U+4736, U+4744, U+474e-474f, U+477c, U+4798, U+47a6, U+47d5, U+47ed, U+47f4, U+4800, U+480b, U+4837, U+485d, U+4871, U+489b, U+48ad-48ae, U+48d0, U+48dd, U+48ed, U+48f3, U+48fa, U+4906, U+4911, U+491e, U+4925, U+492a, U+492d, U+492f-4930, U+4935, U+493c-493e, U+4945, U+4951, U+4953, U+4965, U+496a, U+4972, U+4989, U+49a1, U+49a7, U+49df, U+49e5, U+49e7, U+4a0f, U+4a1d, U+4a24, U+4a35, U+4a3b, U+4a96, U+4aa4, U+4ab4, U+4ab8) ); /* noto-sans-hk-[86]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-86-400-normal.woff2", $range: (U+3b95-3b96, U+3b99, U+3ba1, U+3bbc, U+3bbe, U+3bc2, U+3bc4, U+3bd7, U+3bdd, U+3bec, U+3bf2-3bf4, U+3bff, U+3c0d, U+3c11, U+3c15, U+3c18, U+3c54, U+3c8b, U+3ca5, U+3ccb, U+3ccd, U+3cd1, U+3cd6, U+3cdc, U+3ceb, U+3cef, U+3d12-3d13, U+3d1d, U+3d32, U+3d3b, U+3d46, U+3d4c, U+3d4e, U+3d51, U+3d5f, U+3d62, U+3d68-3d6a, U+3d6f, U+3d75, U+3d7d, U+3d85, U+3d88, U+3d8a, U+3d8f, U+3d91, U+3da5, U+3dad, U+3db4, U+3dbf, U+3dc6-3dc7, U+3dc9, U+3dcc-3dcd, U+3dd3, U+3ddb, U+3de7-3de8, U+3deb, U+3df3-3df4, U+3df7, U+3dfc-3dfd, U+3e03, U+3e06, U+3e40, U+3e43, U+3e48, U+3e55, U+3e74, U+3ea8-3eaa, U+3ead, U+3eb1, U+3eb8, U+3ebf, U+3ec2, U+3ec7, U+3eca, U+3ecc, U+3ed0-3ed1, U+3ed6-3ed7, U+3eda-3edb, U+3ede, U+3ee1-3ee2, U+3ee7, U+3ee9, U+3eeb-3eec, U+3ef0, U+3ef3-3ef4, U+3efa, U+3efc, U+3eff-3f00, U+3f04, U+3f06-3f08, U+3f0e, U+3f21, U+3f53, U+3f58-3f59, U+3f63, U+3f7c, U+3f93, U+3f97, U+3fc0, U+3fc8, U+3fd7, U+3fdc, U+3fe5, U+3fed, U+3ff9-3ffa, U+4004, U+4009, U+401d, U+4039, U+4045, U+4053, U+4057, U+4062, U+4065, U+406a, U+406f, U+4071, U+40a8, U+40b4, U+40bb, U+40bf, U+40c8, U+40d8, U+40df, U+40f8, U+40fa, U+4102-4104, U+4109, U+410e, U+411b, U+4131-4132, U+4167, U+416c, U+416e, U+417c, U+417f, U+4181, U+4190, U+41b2, U+41c4, U+41ca, U+41cf) ); /* noto-sans-hk-[87]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-87-400-normal.woff2", $range: (U+3572, U+3577-3578, U+3584, U+3597-3598, U+35a1, U+35a5, U+35ad, U+35bf, U+35c1, U+35c5, U+35c7, U+35ca, U+35ce, U+35d2, U+35d6, U+35db, U+35dd, U+35f1-35f3, U+35fb, U+35fe, U+3609, U+3618, U+361a, U+3623, U+3625, U+362d, U+3635, U+3639, U+363e, U+3647-3649, U+364e, U+365f, U+3661, U+367a, U+3681, U+369a, U+36a5, U+36aa, U+36ac, U+36b0-36b1, U+36b5, U+36b9, U+36bc, U+36c1, U+36c3-36c5, U+36c7-36c8, U+36d3-36d4, U+36d6, U+36dd, U+36e1-36e2, U+36e5-36e6, U+36f5, U+3701, U+3703, U+3708, U+370a, U+370d, U+371c, U+3722-3723, U+3725, U+372c-372d, U+3730, U+3732-3733, U+373a, U+3740, U+3743, U+3762, U+376f, U+3797, U+37a0, U+37b9, U+37be, U+37d6, U+37f2, U+37f8, U+37fb, U+380f, U+3819, U+3820, U+382d, U+3836, U+3838, U+3863, U+3875, U+38a0, U+38c3, U+38cc, U+38d1, U+38d4, U+38ec, U+38fa, U+3908, U+3914, U+3927, U+3932, U+393f, U+394d, U+3963, U+3978, U+3980, U+3989-398a, U+3992, U+3999, U+399b, U+39a1, U+39a4, U+39b8, U+39dc, U+39e2, U+39e5, U+39ec, U+39f8, U+39fb, U+39fe, U+3a01-3a03, U+3a06, U+3a17-3a18, U+3a29-3a2a, U+3a34, U+3a4b, U+3a52, U+3a57, U+3a5c, U+3a5e, U+3a66-3a67, U+3a97, U+3aab, U+3abd, U+3ade, U+3ae0, U+3af0, U+3af2, U+3af5, U+3afb, U+3b0e, U+3b19, U+3b22, U+3b2b, U+3b39, U+3b42, U+3b58, U+3b60, U+3b71-3b72, U+3b7b-3b7c, U+3b80) ); /* noto-sans-hk-[88]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-88-400-normal.woff2", $range: (U+2f3f, U+2f42, U+2f45, U+2f63-2f64, U+2f83, U+2f8f, U+3003-3007, U+3012-3013, U+3016-3019, U+3020-3025, U+3030, U+303d, U+3041, U+3043, U+3045, U+3047, U+3049, U+3052, U+305c, U+3062, U+306d, U+307a, U+307c, U+3080, U+308e, U+3090-3091, U+3099-309e, U+30a5, U+30c2, U+30c5, U+30ee, U+30f0-30f2, U+30f4-30f6, U+30fd-30fe, U+3105-3106, U+3108, U+310a-310b, U+310d-3112, U+3115-3117, U+3119, U+3131, U+3134, U+3137, U+3139, U+3141-3142, U+3145, U+3147-3148, U+314b, U+314d-314f, U+3153, U+315c, U+3160-3161, U+3163-3164, U+3181, U+318d, U+3192-3193, U+3196-3198, U+319d-319f, U+3220-3226, U+3231, U+3268, U+3281, U+328b, U+3291-3292, U+3295-3297, U+3299, U+329d, U+329f, U+32a3-32a4, U+32d6, U+32e1, U+3314, U+3322, U+337f, U+338e-338f, U+339c-339e, U+33a1, U+33c4, U+33d1-33d2, U+3435, U+3440, U+3449-344a, U+344c, U+3464, U+3473, U+3479-347a, U+347d-347e, U+3493, U+3496, U+34a5, U+34af, U+34bc, U+34c1, U+34c8, U+34df, U+34e4, U+34e6, U+34fb, U+3506, U+353e, U+3551, U+3553, U+3559, U+3561, U+3569, U+356d, U+3570) ); /* noto-sans-hk-[89]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-89-400-normal.woff2", $range: (U+26fd, U+2701-2702, U+2704-2706, U+2708, U+270a-2712, U+2714, U+2716-2727, U+2729-273e, U+2740-274f, U+2752-275b, U+275d-275e, U+2761, U+2763, U+2765-2769, U+276e-276f, U+2771, U+2776-277e, U+2780-2782, U+278a-278c, U+2794-2796, U+2798-2799, U+279c-27a6, U+27a8-27ab, U+27ad, U+27af-27b0, U+27b2-27b3, U+27b7-27b9, U+27bc-27bd, U+27bf, U+27e9-27eb, U+27f5-27f6, U+2800, U+28ec, U+2922, U+2934-2935, U+29bf, U+2a2f, U+2b05-2b07, U+2b1b, U+2b50, U+2b55, U+2cf5, U+2e1c-2e1d, U+2f00, U+2f08, U+2f12, U+2f24, U+2f29, U+2f2f, U+2f3c) ); /* noto-sans-hk-[90]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-90-400-normal.woff2", $range: (U+25a1, U+25a3-25a4, U+25a6-25ac, U+25b0, U+25b4, U+25b7-25b9, U+25bb, U+25bd, U+25bf-25c2, U+25c7-25ca, U+25cc-25cd, U+25d0-25d9, U+25dc-25e6, U+25ea-25eb, U+25ef, U+25fb-25fe, U+2600-2604, U+2607, U+2609-260b, U+260d-2615, U+2618, U+261a-2623, U+262a, U+262d-2630, U+2638-263e, U+2641-2642, U+2648-2656, U+2658-265c, U+265e-2660, U+2662-2664, U+2666-2669, U+266b-266f, U+267b, U+2692-2696, U+2698, U+269b-269c, U+26a0-26a1, U+26a3-26a5, U+26aa-26ac, U+26bd-26be, U+26c4-26c5, U+26c8, U+26d1, U+26d3-26d4, U+26e4, U+26e9-26ea, U+26f0-26f5, U+26f9-26fa) ); /* noto-sans-hk-[91]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-91-400-normal.woff2", $range: (U+2477-2481, U+2488-2491, U+24b6-24c5, U+24c7-24ca, U+24cc, U+24ce, U+24d0-24df, U+24e1-24ea, U+24f5, U+24ff, U+2501, U+2503-250d, U+250f-2511, U+2513-2515, U+2517-2518, U+251b-251d, U+2520, U+2523-2524, U+2528, U+252b-252c, U+252f, U+2533-2534, U+2537, U+253b-253c, U+2541, U+2543-2545, U+254b, U+2550-2570, U+2572, U+2574, U+2579, U+2580-258a, U+258c-2595, U+2597) ); /* noto-sans-hk-[92]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-92-400-normal.woff2", $range: (U+208d-208e, U+20a1, U+20a4, U+20a6, U+20a8-20ab, U+20ad-20ae, U+20b1-20b3, U+20b5, U+20b8-20ba, U+20bd, U+20dd, U+20e3, U+2105, U+2109, U+2112-2113, U+2115-2117, U+2120-2121, U+2126, U+212b, U+2139, U+2153, U+2194-2197, U+2199, U+219d-219e, U+21a0, U+21a9-21aa, U+21ac, U+21af-21b1, U+21b3-21b5, U+21ba-21bb, U+21c4, U+21ca, U+21cc, U+21d0, U+21d2-21d4, U+21d8, U+21dd, U+21e2-21e9, U+2200, U+2202, U+2205-2208, U+220e-220f, U+2211-2212, U+2215, U+2217-221a, U+221d-2220, U+2225, U+2227-222b, U+222e, U+2234-2237, U+223c-223d, U+2248, U+2256, U+2260-2261, U+2264-2265, U+226a-226b, U+226e-226f, U+2282-2283, U+2295-2296, U+2299, U+22a5, U+22b0-22b1, U+22b9, U+22bf, U+22c5-22c6, U+22c8, U+22d0-22d1, U+22ee, U+2312-2313, U+2318, U+231a-231b, U+2323, U+2328, U+239d, U+23a0, U+23af, U+23e4, U+23e9-23ea, U+23ec, U+23f0-23f3, U+23fa, U+2445, U+2460-2471, U+2474-2476) ); /* noto-sans-hk-[93]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-93-400-normal.woff2", $range: (U+1d0a-1d0b, U+1d0d, U+1d0f, U+1d17-1d18, U+1d1b-1d1c, U+1d20-1d22, U+1d25, U+1d2c, U+1d2e, U+1d30-1d31, U+1d33-1d3a, U+1d3c, U+1d3e-1d42, U+1d52, U+1d55, U+1d5b, U+1d5e, U+1d9c, U+1da0, U+1dc4-1dc5, U+1e3b, U+1e43, U+1e45, U+1e47, U+1e63, U+1e6d, U+1e73, U+1ea0, U+1ea2, U+1ea4-1ea9, U+1eab-1eaf, U+1eb1, U+1eb3, U+1eb5, U+1eb7, U+1eb9, U+1ebb, U+1ebd-1ebe, U+1ec0-1ec3, U+1ec5-1ec6, U+1ec9, U+1ecb-1ecd, U+1ecf-1ed1, U+1ed3-1ed5, U+1ed7-1edd, U+1edf, U+1ee1, U+1ee3-1ee7, U+1ee9, U+1eeb, U+1eed, U+1eef-1ef1, U+1ef3, U+1ef7, U+1ef9, U+1f62, U+1fa2, U+2001-2006, U+2009-200a, U+200c-200d, U+200f-2012, U+2015-2016, U+201a, U+201e, U+2020-2021, U+2023-2025, U+2028, U+202a-202d, U+202f-2030, U+2032-2033, U+2035, U+2038, U+203e-203f, U+2042-2044, U+2049, U+204d-204e, U+2060-2061, U+2063, U+2070, U+2074-207b, U+207d-2083, U+208a) ); /* noto-sans-hk-[98]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-98-400-normal.woff2", $range: (U+1fb-1ff, U+219, U+221, U+225-226, U+228-22b, U+22e-22f, U+231-235, U+239, U+23b, U+23e, U+250-252, U+254-255, U+259-25e, U+261-263, U+268-26b, U+26d, U+26f-277, U+279-27a, U+27d-281, U+283, U+28a-28c, U+28f, U+292, U+294-296, U+298-29a, U+29c, U+29f, U+2a1-2a2, U+2a4-2a7, U+2a9-2aa, U+2ae-2b3, U+2b5-2b7, U+2b9-2bf, U+2c2-2c4, U+2c6-2c9, U+2cc-2cd, U+2d0, U+2d8, U+2da, U+2dc, U+2e1-2e3, U+2e7, U+2eb, U+2ee, U+2f1-2ff, U+302-304, U+306-309, U+30c-30d, U+311, U+31b, U+321, U+323-325, U+328-329, U+32b-32c, U+32e-32f, U+331-33a, U+33c-33f, U+348, U+353, U+358-359) ); /* noto-sans-hk-[99]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-99-400-normal.woff2", $range: (U+a1-a2, U+a4, U+a6-a8, U+aa, U+ac, U+af, U+b1, U+b5-b6, U+b8-ba, U+bc-be, U+c0-c8, U+ca-cc, U+ce-d5, U+d8-df, U+f0, U+f5, U+f8, U+fb, U+fe-100, U+102, U+105, U+107, U+109-10b, U+10f, U+112, U+115, U+117, U+119, U+11b, U+11f, U+121, U+123-124, U+127, U+129, U+12c-12d, U+130-13f, U+141-142, U+144, U+148, U+14b-14c, U+14f-153, U+159-15b, U+15e-160, U+163-166, U+169-16a, U+16d-171, U+173-17e, U+192, U+1a0, U+1a4, U+1aa, U+1ac-1ad, U+1af, U+1b1, U+1b4-1be, U+1d0, U+1d2, U+1d4, U+1da, U+1dc-1dd, U+1e1, U+1e3-1e4, U+1e7, U+1e9, U+1eb-1ec, U+1f0-1f1, U+1f3-1f5, U+1f7, U+1f9-1fa) ); /* noto-sans-hk-[100]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-100-400-normal.woff2", $range: (U+a3, U+2ca, U+6cc, U+200e, U+2223, U+2640, U+273f, U+301c-301d, U+3107, U+310c, U+4e30, U+4e3e, U+4e5e, U+4e71, U+4f26, U+4f7c, U+4f83, U+50da, U+5243, U+5267, U+529e, U+5321, U+5352, U+5477, U+548b, U+54a6, U+54b2, U+54c2, U+54c6, U+54cd, U+54ee, U+5543, U+55d1, U+55d3, U+55f0, U+560d, U+5629, U+5660, U+57ae, U+57e0, U+57e4, U+5904, U+592d, U+5965, U+5a31, U+5a7f, U+5b5a, U+5bb8, U+5c14, U+5c3b, U+5c5c, U+5c5e, U+5d10, U+5e10, U+603b, U+604d, U+611c, U+6137, U+61c8, U+6292, U+62c7, U+6371, U+6382, U+645f, U+64ae, U+64c2, U+651e, U+65f1, U+660a, U+663e, U+673d, U+6784, U+6789, U+67ff, U+6813, U+6854, U+68d8, U+697d, U+6a01, U+6a1e, U+6baf, U+6c08, U+6c17, U+6c2b, U+6c81, U+6cbd, U+6dc6, U+6df9, U+6ed9, U+6ee1, U+6f86, U+6fc1, U+6fdb, U+701f, U+7076, U+715c, U+7194, U+71fb, U+720d, U+72b6, U+7396, U+739f, U+73af, U+745b, U+746f, U+748b, U+7647, U+7699, U+76bf, U+76ce, U+76de, U+77aa, U+786b, U+7881, U+78ca, U+793c, U+797a, U+79b9, U+79bb, U+79bf, U+7a92, U+7ac7, U+7ae3, U+7b19, U+7b20, U+7b51, U+7b94, U+7cbd, U+7cde, U+7cef, U+7dde, U+7f88, U+80da, U+814b, U+8235, U+8258, U+8282, U+82b9, U+8401, U+846b, U+84c1, U+8518, U+8611, U+8778, U+8783, U+8814, U+8a15, U+8aa6, U+8b2c, U+8ba8-8ba9, U+8bc6, U+8be2, U+8c22, U+8d05, U+8dbe, U+8e34, U+8e66, U+8ec0, U+8f91, U+9005, U+9082, U+9091, U+914b, U+916f, U+92c5, U+92f0, U+9318, U+9382, U+938a, U+93e2, U+964b, U+968f, U+96c1, U+96cc-96cd, U+96db, U+97a0, U+9803, U+9876, U+9879, U+9886, U+9955, U+9986, U+99f1, U+9a5b, U+9abc, U+9b77, U+9c57, U+9c9c, U+9d1b, U+9d26, U+9d51, U+9eef, U+9f99, U+c2a4, U+e253, U+e313-e314, U+e5c7, U+e5c9, U+e8db-e8dc, U+ff25, U+ff2d-ff2e, U+ff34, U+ffe5, U+1f60a, U+1f618, U+1f62d) ); /* noto-sans-hk-[101]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-101-400-normal.woff2", $range: (U+b4, U+10d, U+2d9, U+641, U+e20, U+e29, U+20ac, U+2266, U+25be, U+301e, U+3058, U+4e07, U+4e1d, U+4e66, U+4ece, U+4f88, U+4fde, U+5016, U+5180, U+5199, U+51aa, U+5306, U+5386, U+53d8, U+5413, U+541d, U+5436, U+54ce, U+54e8, U+54fc, U+5571, U+557e, U+558e, U+55a7, U+56a8, U+57a2-57a3, U+58b3, U+5960, U+5992-5993, U+59a4, U+5a55, U+5ab2, U+5afb, U+5b56, U+5bc5, U+5bc7, U+5bf0, U+5cb1, U+5cc7, U+5d84, U+5dff, U+5e93, U+5ed3, U+5f6a, U+60bc, U+61c7, U+61ff, U+6218, U+6254, U+634d, U+6467, U+64f1-64f2, U+6582, U+65fb, U+6615, U+6687, U+66ae, U+66e0, U+66e6, U+66f0, U+6781, U+67f5, U+6837, U+68a7, U+6a1f, U+6b27, U+6b4e, U+6b73, U+6b79, U+6bcb, U+6c5d, U+6cf5, U+6dee, U+6ec4, U+6ecc, U+6f88, U+6fef, U+701d, U+703e, U+707c, U+7099, U+710a, U+725f, U+72d9, U+72e9, U+731d, U+7325, U+7463, U+7480, U+74a8, U+7523, U+7526, U+75e0, U+7613, U+7656, U+76d4, U+773a, U+775c, U+775e, U+780c, U+78e1, U+78f7, U+7960, U+7a20, U+7aaf, U+7b08, U+7b71, U+7be4, U+7cec, U+7cf0, U+7d5e, U+7d62, U+7dbe, U+7e1b, U+7ea2, U+7ec4, U+7ec6, U+7edc, U+7eed, U+7efc, U+7f16, U+7f57, U+7fb9, U+7fca, U+803d, U+816e, U+82a5, U+82b7, U+8317, U+8338, U+834a, U+83d3, U+8469, U+849e, U+854a, U+8559, U+865e, U+86e4, U+8700, U+8759, U+8760, U+8782, U+879e, U+87d1, U+880d, U+8836, U+8944, U+89c8, U+8aac, U+8b74, U+8ba2, U+8ba4, U+8bae, U+8bfb, U+8c4e, U+8cb3, U+8cb6, U+8d16, U+8d28, U+8e44, U+8f3b, U+8f3f, U+8fb9, U+8fc4, U+8fde, U+8ff9, U+9076, U+90ae, U+90b8, U+9257, U+9310, U+93df, U+94fe, U+95a5, U+95a9, U+962e, U+9690, U+9704, U+9713, U+97f6, U+9824, U+986b, U+9884, U+98e2, U+991a, U+99a5, U+99dd, U+9ab8, U+9b41, U+9bad, U+9dd7, U+c774, U+e5d4, U+fe52, U+fe5d, U+ff02, U+1f389, U+1f449, U+1f495) ); /* noto-sans-hk-[102]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-102-400-normal.woff2", $range: (U+2cb, U+5d1, U+5d9, U+5e2, U+5e8, U+5ea, U+633, U+e32, U+2252, U+2267, U+2573, U+25b3, U+25c4, U+2713, U+2715, U+30e2, U+4e28, U+4e3c, U+4e4d, U+4e70, U+4f18, U+4fef, U+5018, U+501a, U+5026, U+5137, U+513f, U+51a5, U+51f3, U+524b, U+5254, U+52d8, U+5308, U+5384, U+53cc, U+5443, U+5466, U+54a7-54a8, U+54bd, U+54c9, U+54cb, U+555e, U+556a, U+5580, U+560e, U+5614, U+561f, U+562f, U+566c, U+5679, U+56bc, U+56cd, U+56e7, U+56ed, U+572d, U+5742, U+57d7, U+582f, U+589f, U+5b09, U+5ba5, U+5c51, U+5c90, U+5cef, U+5d16, U+5dd4, U+5e08, U+5e26, U+5f0a, U+5f20, U+606c, U+620f, U+625b, U+62a4, U+62ce, U+62d0, U+62f1, U+63a0, U+63c6, U+63f9, U+6413, U+6417, U+6483, U+64f7, U+650f, U+65a7, U+665f, U+66d6, U+6746, U+6756, U+67d1, U+68d7, U+68e0, U+68f5, U+6977, U+6995, U+69a8, U+69b4, U+69d3, U+6a3d, U+6abb, U+6bb7, U+6bd3, U+6c47, U+6cc4, U+6cd3, U+6dae, U+6e26, U+6e29, U+6e5b, U+6eaf, U+6eba, U+7028, U+70b3, U+711a, U+733f, U+73c0, U+73ee, U+7444, U+745a, U+7487, U+7540, U+75a4, U+7729, U+779e, U+798e, U+79bd, U+79cd, U+79e9, U+7a3d, U+7a4c, U+7a9f, U+7ac4, U+7aff, U+7b77, U+7c27, U+7ca7, U+7cd9, U+7d76, U+7e43, U+7e55, U+7ea6, U+7ed9, U+7ff1, U+808b, U+809b, U+80fa, U+81a8, U+827a, U+8309, U+8328, U+832b, U+8396, U+83e0, U+840e, U+8425, U+852d, U+853b, U+8588, U+85e9, U+86b5, U+8718, U+87ec, U+8910, U+893b, U+89c1-89c2, U+8b3e, U+8baf, U+8bc1, U+8bcd, U+8bdd, U+8c41, U+8c48, U+8d2d, U+8d5e, U+8fbe, U+9015, U+90a8, U+90b5, U+90e1, U+9169, U+9183, U+91d0, U+91dc, U+9293, U+92f8, U+9472, U+9598, U+95ed, U+95fb, U+9605, U+96c7, U+9739, U+9742, U+9761, U+99ad, U+9ae6, U+9b1a, U+9b44, U+9bc9, U+9d3f, U+9e7c, U+9e92, U+fe5e, U+ff22-ff24, U+ff2f-ff30, U+ff33) ); /* noto-sans-hk-[103]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-103-400-normal.woff2", $range: (U+60, U+f7, U+161, U+2198, U+2571, U+258b, U+25b6, U+2661, U+3051, U+3109, U+4e11, U+4e1c, U+4e24, U+4e2b, U+4ef7, U+4f36, U+4fd0, U+5029-502a, U+5055, U+508d, U+50ad, U+50d5, U+50e7, U+50f1, U+50f5, U+51c8, U+51fb, U+5203, U+524e, U+5288, U+5323, U+53c2, U+5458, U+54b1, U+54b3, U+54b8, U+5582, U+55b2, U+55ba, U+55da, U+55dc, U+5662, U+5678, U+56ae, U+56c2, U+57d5, U+5862, U+58e4, U+58f0, U+5907, U+590d, U+5934, U+5978, U+5984, U+5a25, U+5be1, U+5c06, U+5c62, U+5c91, U+5cfb, U+5d01, U+5d11, U+5d1b, U+5e87, U+5eb8, U+5eff, U+5f27, U+5f3a, U+5f53, U+5f64, U+6001, U+6168, U+61a9, U+6233, U+62a5, U+62ed, U+638f, U+6399, U+63c0, U+646f, U+6590, U+6631, U+664f, U+6689, U+66dc, U+672f, U+67af, U+67ec, U+6807, U+6a44, U+6c14, U+6c40, U+6c70, U+6c76, U+6cb8, U+6ce3, U+6df3, U+6e20, U+6e43, U+6ebc, U+6eec, U+6f2c, U+6fb1, U+7009, U+7011, U+701a, U+7117, U+7184, U+71ed, U+72f9, U+7426, U+74bd, U+74cf, U+752b, U+7554, U+75b9, U+7621, U+7671-7672, U+7693, U+76ef, U+7737, U+77a7, U+77b3, U+77bb, U+77da, U+77e2, U+77e9, U+77ef, U+7801, U+7940, U+797f, U+79a7, U+79b1, U+7a6b, U+7ac5, U+7b1b, U+7dab, U+7db4, U+7db8, U+7dcb, U+7ddd, U+7de0, U+7e9c, U+7ed3, U+7ef4, U+803f, U+8046, U+8087, U+8116, U+8214, U+821c, U+82d4, U+8305, U+831c, U+8335, U+8339, U+8350, U+8354, U+8526, U+860a, U+86db, U+8713, U+873b, U+8822, U+88c5, U+8993, U+8a1f, U+8ab9, U+8ad7, U+8e72, U+8f44, U+8f4e, U+8f9c, U+8fd0, U+8fd8, U+8fe6, U+9042, U+907c, U+91ba, U+9452, U+9591, U+95e2, U+9631, U+9699, U+96b8, U+9709, U+978d, U+9811, U+9830, U+98ce, U+9945, U+99ed, U+9a8c, U+9ad3, U+9baa, U+9be8, U+9c77, U+9cf6, U+9d72, U+9e1f, U+9ec4, U+fe31, U+fe55, U+ff03, U+ff20, U+ff3b, U+ff3d, U+1f3fb, U+1f44d, U+1f60d) ); /* noto-sans-hk-[104]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-104-400-normal.woff2", $range: (U+10c, U+e17, U+e44, U+2728, U+3081, U+4e13, U+4e19, U+4e1e, U+4e5c, U+4ea7, U+4ed7, U+4f20, U+4f8d, U+4ffe, U+5021, U+515c, U+51a4, U+51e0, U+521b, U+522b, U+532a, U+534e, U+5355, U+537f, U+5398, U+539d, U+541f, U+543c, U+544e, U+5509, U+5598, U+5622, U+5632, U+563f, U+5641, U+566a, U+5695, U+569f, U+56da, U+573a, U+574e, U+5835, U+584c, U+5885, U+58ae, U+5a1f, U+5ac2, U+5b24, U+5bb0, U+5bde, U+5bfc, U+5c39, U+5c4c, U+5c60, U+5e76, U+5e7f, U+5e9a, U+5f13, U+5f6c, U+6127, U+61f2, U+6208, U+620a, U+620c, U+6252, U+62ef, U+6328, U+633d, U+6362, U+63b0, U+63c9, U+640f, U+64a9, U+6514, U+652c, U+655e, U+6583, U+658c, U+6627, U+66f3, U+6734, U+6743, U+676d, U+67c4, U+67da, U+68cd, U+68f2, U+690e, U+6ab3, U+6b16, U+6b38, U+6b3d, U+6bc6, U+6ca1, U+6cab, U+6d8c, U+6dea, U+6e32, U+6e3e, U+6e58, U+6eef, U+6ef2, U+6fe4, U+708a, U+7130, U+7165, U+7172, U+71c9, U+7232, U+7239, U+7261, U+7280, U+72a7, U+72f8, U+73c8, U+7464, U+753b, U+754f, U+755c, U+75d8, U+76ea, U+776b, U+7779, U+777f, U+7784, U+778e, U+77db, U+77ee, U+79e4, U+7a46, U+7a57, U+7aba, U+7aed, U+7b4d, U+7c7b, U+7c7d, U+7d13, U+7d33, U+7dbb, U+7dec, U+7df9, U+7e46, U+7ea7, U+7edf, U+8085, U+8165, U+81fb, U+82b8, U+82d3, U+8343, U+839e, U+83e9, U+840d, U+851a, U+853d, U+8543, U+859b, U+85fb, U+87fb, U+888d, U+8adc, U+8b0a, U+8bb0, U+8bbe, U+8bc4, U+8bf4, U+8c5a, U+8cc3, U+8ce4, U+8d44, U+8e81, U+8f66, U+8fdb, U+900d, U+9063, U+914c, U+9223, U+9226, U+923a, U+925b, U+9264, U+929c, U+92b9, U+9320, U+934d, U+935b, U+9444, U+957f, U+96a7, U+9756, U+97ad, U+97cc, U+9898, U+98ea, U+9921, U+9952, U+9a55, U+9b0d, U+9b91, U+9bca, U+9ebd, U+9f4b, U+e60f-e611, U+ff1c-ff1d, U+ff21, U+ff38, U+ff9f, U+fffd, U+1f602) ); /* noto-sans-hk-[105]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-105-400-normal.woff2", $range: (U+e22, U+2103, U+25a0, U+266a, U+2699, U+3014-3015, U+4e1a, U+4e50, U+4f10, U+4f3d, U+4f6c, U+4f70, U+4fcf, U+5006, U+50d1, U+5170, U+518c, U+51f0, U+51f6, U+51f9, U+5219, U+5256, U+525d, U+52c9, U+5349, U+5351, U+5356, U+5375, U+53db, U+53ee, U+53f7, U+5492, U+5497, U+54fa, U+5538, U+55bb, U+55e8, U+56b7, U+5757, U+58be, U+5937, U+59dc, U+59e8, U+5a49, U+5a9a-5a9b, U+5ab3, U+5b9b, U+5b9e, U+5be8, U+5c37, U+5c4e, U+5d14, U+5d19, U+5d4c, U+5d50, U+5deb, U+5e84, U+5e94, U+5ec2, U+5f17, U+5f26, U+5f55, U+5f77, U+5f7f, U+5fbd, U+6052, U+6064-6065, U+608d, U+609a, U+6101, U+611a, U+614c, U+621a, U+6237, U+6284, U+6296, U+62e9, U+632a-632b, U+634f, U+6488, U+6500, U+652a, U+6556, U+65e0, U+65ec, U+6643, U+679a, U+6850, U+6893, U+6897, U+68b3, U+68d5, U+6930, U+6960, U+6a11, U+6a38, U+6a3a, U+6b22, U+6b67, U+6b6a, U+6c59, U+6c83, U+6ccc, U+6df5, U+6ef7, U+6f3e, U+6f80, U+70ed, U+7164, U+722a, U+7260, U+7272, U+73b0, U+74ca, U+74e3, U+7538, U+7586, U+75b5, U+7624, U+7661-7662, U+7838, U+786e, U+788c, U+7950, U+79a6, U+79aa, U+7a40, U+7a62, U+7bf7, U+7c3e, U+7c98, U+7ca5, U+7d21, U+7d2e, U+7dba, U+7e79, U+7ecf, U+7f79, U+8086, U+810a, U+8139, U+813e, U+817a, U+81b3, U+821f, U+8247, U+8259, U+8271, U+8431, U+846c, U+849c, U+84b2, U+84c4, U+8513-8514, U+8549, U+8755, U+8877, U+8881, U+88f9, U+8a1d, U+8a3c, U+8a6d-8a6e, U+8a93, U+8ae7, U+8af7, U+8b17, U+8b5a, U+8ba1, U+8bba, U+8cdc, U+8dea, U+8f6c, U+8f7d, U+8fc7, U+8fd9, U+902e, U+90ca, U+916a, U+916c, U+921e, U+9245, U+947c, U+9594, U+95a8, U+95ee, U+95f4, U+9706, U+971e, U+980c, U+9891, U+98b1, U+98fc, U+9903, U+9957, U+99ae, U+99ff, U+9db4, U+e602-e605, U+ff16-ff19) ); /* noto-sans-hk-[106]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-106-400-normal.woff2", $range: (U+a5, U+2190-2191, U+2193, U+22c1, U+2302, U+25cb, U+25ce, U+2709, U+4e0e, U+4e18, U+4e3a, U+4e48, U+4e91, U+4eec, U+5112, U+524a, U+52a3, U+52ab, U+52c3, U+52f3, U+52fb, U+5320, U+5339, U+533f, U+53e2, U+5435, U+543e, U+5480, U+5495, U+5564, U+5572, U+55c6, U+55ef, U+563b, U+5653, U+5657, U+5764, U+5824, U+58d8, U+5955, U+5983, U+598d, U+59a8, U+59da, U+59e6, U+5a36, U+5bb5, U+5bc2, U+5bee, U+5bf9, U+5cb3, U+5d17, U+5dbc, U+5e2e, U+6070, U+60df, U+6190, U+61a4, U+61be, U+61fc, U+62ac, U+62bc, U+636e, U+6398, U+63a9, U+6435, U+6487, U+6495, U+64ab, U+64bf, U+6577, U+65ac, U+6602, U+6652, U+66f9, U+672d, U+6761, U+683d, U+68ad, U+68b5, U+68da, U+68e7, U+6a59, U+6a61, U+6ae5, U+6b47, U+6bef, U+6c50, U+6c9b, U+6e23, U+6e34, U+6e4a, U+6e67, U+6ea2, U+6eb6, U+6f20, U+6feb, U+7149, U+714c, U+715e, U+7199, U+71ac, U+7231, U+7262, U+7409, U+745f, U+7469, U+7504, U+7535, U+753a, U+75f4, U+7682, U+76ba, U+76f2, U+77fd, U+780d, U+7832, U+78c5, U+78ef, U+7901, U+79be, U+79c9, U+79e6, U+7a1a, U+7a84, U+7aca, U+7cb5, U+7cb9, U+7cdf, U+7ce7, U+7d6e, U+7db1, U+7def, U+7e61, U+7e7d, U+7e8f, U+7f38, U+7f77, U+7fa8, U+7fc5, U+7fe1, U+7ff9, U+800d, U+8015, U+8054, U+80a2, U+80aa, U+80ba, U+814e, U+8180, U+819d, U+81c0, U+828b, U+82ad, U+82af, U+83f1, U+83f8, U+8403, U+8475, U+84bc, U+84c9, U+84ec, U+8523, U+8569, U+8591, U+85b0, U+86d9, U+8774, U+881f, U+884d, U+88d4, U+89c4, U+89c6, U+8a60, U+8a79, U+8b19, U+8bd5, U+8bf7, U+8c03, U+8c79, U+8cc8, U+8d9f, U+8e10, U+8e48, U+8eba, U+8faf, U+9009, U+9017, U+9175, U+9187, U+918b, U+91d8, U+9214, U+946b, U+9470, U+9640, U+9675, U+96ef, U+9716, U+97cb, U+97e9, U+985b, U+99b3, U+9b4f, U+9d09, U+9e9f, U+9edb, U+9f90, U+ff05, U+ff14, U+1f464) ); /* noto-sans-hk-[107]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-107-400-normal.woff2", $range: (U+4e08, U+4e2a, U+4e56, U+4e9a, U+4ea8, U+4ead, U+4ec7, U+4f3a, U+4f51, U+4f62, U+4faf, U+507d, U+5098, U+50ac, U+5147, U+5173, U+5187, U+51f8, U+51fd, U+52a1, U+52a8, U+52f8, U+535c, U+53ed, U+541e, U+5475, U+54a9, U+54c0, U+54c7, U+5589, U+5605, U+5690, U+5733, U+5782, U+57c3, U+5858, U+5893, U+589c, U+58e2, U+5974, U+599e, U+59a5, U+59ec, U+5b66, U+5b99, U+5b9d, U+5c2c, U+5c48, U+5c65, U+5cfd, U+5d0e, U+5dba, U+5de2, U+5e06, U+5e15, U+5ec1, U+5ed6, U+5f00, U+5f4c, U+5f65, U+6055, U+609f, U+60b6, U+6241, U+624e, U+626f, U+6291, U+62cc, U+62d3, U+62d8, U+62da, U+62fe, U+6349, U+6367, U+63ea, U+6454, U+64a4, U+64b2, U+64bc, U+64c5, U+64ce, U+6558, U+6572, U+65a5, U+65e8, U+65ed, U+6606, U+6614, U+6670, U+6688, U+673a, U+674f, U+6770, U+6795, U+68cb, U+6912, U+6953, U+6aac, U+6aaf, U+6ab8, U+6b20, U+6b96, U+6bbf, U+6bc5, U+6c6a, U+6cbe, U+6d59, U+6d78, U+6dc7, U+6deb, U+6e7e, U+6e9c, U+6f3f, U+6f51, U+6f70, U+6f84, U+6fa1, U+704c, U+7051, U+70ab, U+70ad, U+70f9, U+7119, U+714e, U+71d9, U+71e5-71e6, U+72c4, U+72d0, U+72e0, U+7334, U+744b, U+7455, U+74f7, U+7529, U+75ab, U+75b2, U+766e, U+76c3, U+76fc, U+76fe, U+7891, U+7948, U+7a74, U+7b28, U+7c60, U+7c72, U+7cca, U+7ebf, U+7f55, U+7ff0, U+8154, U+81c2, U+81d8, U+81e3, U+81e5, U+8292, U+8299, U+8302, U+8304, U+8332, U+83c1, U+83c7, U+83ca, U+845b, U+8490, U+85af, U+8650, U+8667, U+8abc, U+8b0e, U+8b39, U+8bed, U+8c54, U+8c6b, U+8c9e, U+8ca7, U+8caa-8cab, U+8ce6, U+8cec-8ced, U+8eb2, U+8fb0, U+901d, U+908f, U+9127, U+91c0, U+9215, U+92b3, U+932b, U+93fd, U+95ca, U+964c, U+96c0, U+970d, U+9774, U+97fb, U+9812, U+9817, U+9913, U+9935, U+99c1, U+9b31, U+9d5d, U+9d6c, U+9e79, U+fe0f, U+fe30, U+ff0b, U+ff10, U+ff15) ); /* noto-sans-hk-[108]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-108-400-normal.woff2", $range: (U+b0, U+926, U+928, U+939, U+93f-940, U+94d, U+200b, U+22ef, U+25ba, U+25c6, U+2665, U+4e4f, U+4e59, U+4f0d, U+4f0f, U+4f19, U+4f59, U+4fae, U+5075, U+50b2, U+50b5, U+511f, U+5141, U+5146, U+514c, U+5185, U+51dd, U+522e, U+5319, U+533a, U+5378, U+53ad, U+53c9, U+53d1, U+53d4, U+543b, U+5442, U+5446, U+5481, U+54e9, U+5507, U+5565, U+559a, U+55aa, U+5606, U+56ca, U+56fe, U+582a, U+58fa, U+5915, U+5949, U+5962, U+5996, U+59fb, U+5a77, U+5b0c, U+5b5f, U+5bd3, U+5be2, U+5bfa, U+5c41, U+5ca9, U+5d07, U+5ec8, U+5eca, U+5f18, U+5f4e, U+5f59, U+5f6d, U+5f79, U+5fb9, U+6028, U+6062, U+6068, U+606d, U+6094, U+60f1, U+6108-6109, U+614e, U+6170, U+617e, U+61b2, U+61f8, U+6247, U+626d, U+6276, U+62ab, U+62cb, U+62f3, U+6368, U+6380, U+6492, U+64b0, U+64e0, U+6570, U+660f, U+6649, U+6691, U+66a8, U+6749, U+67f1, U+67f3-67f4, U+6842, U+6851, U+687f, U+68df, U+69fd, U+6a58, U+6c27, U+6c88, U+6cca, U+6cdb, U+6d29, U+6d66, U+6daf, U+6f01, U+6f06, U+6f58, U+6f62, U+6f6d, U+6ff1, U+6ffe, U+7058, U+70ae, U+7235, U+7267, U+73ca, U+742a, U+758f, U+75bc, U+76c6, U+7740, U+7955, U+7a00, U+7a3b, U+7b4b, U+7bad, U+7be9, U+7c4c, U+7cfe, U+7dbf, U+7e2b, U+7e31, U+7e73, U+7f9e, U+7fc1, U+7ffc, U+8096, U+809d, U+80de, U+8108, U+8155, U+816b, U+81df, U+8277, U+82bd, U+8352, U+8393, U+8404, U+8525, U+856d, U+8587, U+8606, U+868a, U+8776, U+87ba, U+87f9, U+886b, U+8870, U+88d5, U+896a, U+896f, U+8a23, U+8a87, U+8ad2, U+8b00, U+8b20, U+8cb8, U+8cca, U+8ce0, U+8d39, U+8d6b, U+8d81, U+8db4, U+8e29, U+8ef8, U+8f1b, U+8f5f, U+8fa8, U+906e, U+9077, U+90aa, U+90b1, U+90c1, U+9165, U+919c, U+92c1, U+95d6, U+95e8, U+975a, U+98c6, U+9ecf, U+9f0e, U+9f52, U+feff, U+ff06, U+ff0a, U+ff12-ff13) ); /* noto-sans-hk-[109]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-109-400-normal.woff2", $range: (U+627-629, U+631, U+639, U+644, U+64a, U+25cf, U+2606, U+2764, U+3008-3009, U+4e1f, U+4e38, U+4e43, U+4ed5, U+4ef0, U+4eff, U+4fb6, U+4fe0, U+5085, U+50a2, U+50be, U+5118, U+5211-5212, U+5272, U+52fe, U+5366, U+53b2, U+53ec, U+54ac, U+5587, U+55b5, U+561b, U+5751, U+576a, U+57cb, U+58ef, U+592f, U+594f, U+5951, U+5954, U+596e, U+59d1, U+5ac1, U+5acc, U+5b8b, U+5c4d, U+5c6f, U+5ca1, U+5d29, U+5de1, U+5dfe, U+5e7d, U+5edf, U+5ef7, U+5f7c, U+5f81, U+5fa1, U+5faa, U+5fcc, U+5ffd, U+6021, U+6046, U+6155, U+6212, U+62b9, U+6316, U+6350, U+6478, U+647a, U+6490, U+64e6, U+6524, U+6591, U+659c, U+65a4, U+65e6, U+65f6, U+6607, U+6674, U+6765, U+679d, U+68a8, U+6b3a, U+6c57, U+6c61, U+6c90, U+6cbf, U+6d69, U+6db5, U+6dcb, U+6dd1, U+6e21, U+70d8, U+71c3, U+71d5, U+722c, U+727d, U+72ac, U+72fc, U+731c, U+7336, U+7344, U+7384, U+73ab, U+7433-7434, U+745c, U+7470, U+758a, U+75d5, U+7652, U+76c8, U+76e7, U+7709, U+7720, U+7747, U+7763, U+77ac-77ad, U+7802, U+78a7, U+78a9, U+78b3, U+78c1, U+78da, U+7926, U+796d, U+798d, U+7aae, U+7b52, U+7c92, U+7d68, U+7d81, U+7e5e, U+7e69, U+7f50, U+7f70, U+7f75, U+8058, U+8070, U+80c3, U+8105-8106, U+8179, U+818f, U+81a9, U+81ed, U+820c-820d, U+82d1, U+838e, U+83cc, U+8461, U+84b8, U+852c, U+857e, U+85e4, U+863f, U+8679, U+86c7, U+8702, U+8896, U+88c2, U+88f8, U+8af8, U+8b7d, U+8ca2, U+8cc0, U+8d64, U+8d74, U+8d99, U+8e5f, U+8e8d, U+8ecc, U+8ed2, U+8fb1, U+8fc5, U+9022, U+9038, U+903e, U+905c, U+9072, U+9081, U+9189, U+9234, U+92d2, U+934a, U+95a3, U+962a, U+9646, U+9676, U+96d5, U+971c, U+9838, U+9875, U+98c4, U+99db, U+9a45, U+9a5f, U+9a6c, U+9ad2, U+9cf4, U+9d28, U+9daf, U+9df9, U+9e7d, U+9f9c, U+ff11, U+ff1e) ); /* noto-sans-hk-[110]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-110-400-normal.woff2", $range: (U+2500, U+25bc, U+4e95, U+4f50, U+4f54, U+4f69, U+4fc4, U+4fca, U+5009, U+50bb, U+5154, U+51cc, U+528d, U+5291, U+52d2, U+52e4, U+5353, U+5360, U+540a-540b, U+5410, U+54f2, U+5510, U+5514, U+5537, U+558a, U+55ac, U+5617, U+56fd, U+573e, U+5766, U+5783, U+57d4, U+5806, U+5821, U+5857, U+5875, U+58f9, U+596a, U+59ae, U+59c6, U+59ca, U+59ff, U+5a03, U+5ae9, U+5b64, U+5bb4, U+5c3f, U+5e16, U+5e45, U+5e72, U+5ec9, U+5f90-5f92, U+6012, U+6016, U+6084-6085, U+6089, U+60a0, U+60a3, U+60b2, U+60d1, U+60f9, U+6148, U+6158, U+6191, U+626e, U+62d4, U+632f, U+633a, U+6355, U+63aa, U+642c, U+64a5, U+64cb, U+6566, U+6575, U+6597, U+660c, U+66b1, U+66ec, U+6731, U+6735, U+675c, U+67ef, U+6846, U+6876, U+6881, U+68af-68b0, U+68c9, U+6905, U+6b98, U+6bc0, U+6beb, U+6c0f, U+6c1b, U+6c41, U+6ce5, U+6cf3, U+6d25, U+6d2a, U+6d3d, U+6d6e, U+6dd8, U+6dda, U+6dfa, U+6e9d, U+6eaa, U+6ec5, U+6ecb, U+6ef4, U+6f0f, U+6f32, U+707d, U+708e, U+7092, U+716e, U+723a, U+731b, U+7345, U+7375, U+7378, U+73b2, U+74e6, U+75be, U+75de, U+764c, U+76dc, U+788e, U+7897, U+789f, U+78b0, U+790e, U+7965, U+7a4e, U+7aa9, U+7c43, U+7d17, U+7dd2, U+7e96, U+7f51, U+7f69, U+7f72, U+7fd4, U+7fe0, U+8017, U+80a9, U+80d6, U+8102, U+8150, U+8178, U+81bd, U+829d, U+82ac, U+8303, U+840c, U+8482, U+8499, U+85a9-85aa, U+883b, U+8861, U+88c1, U+88cf, U+88d9, U+8a3a, U+8a98, U+8aee, U+8c8c, U+8ce2, U+8d0f, U+8da8, U+8dcc, U+8e0f, U+8e22, U+8f1d, U+8f29, U+8fad, U+9003, U+9006, U+903c, U+904d, U+9059, U+9075, U+90ce, U+90ed, U+9130, U+91ac, U+91e3, U+9285, U+9298, U+92ea, U+9326, U+937e, U+93c8, U+95c6, U+9677, U+9727, U+994b, U+99a8, U+99d0, U+9a30, U+9a37, U+9b42, U+9b45, U+9d3b, U+9e7f, U+9ee8, U+9f3b, U+c5b4) ); /* noto-sans-hk-[111]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-111-400-normal.woff2", $range: (U+5e, U+2502, U+2605, U+4e32, U+4e58, U+4ea1, U+4ef2, U+4f2f-4f30, U+4f75, U+4fd7, U+4ff1, U+501f, U+5049, U+5074, U+5091, U+5144, U+517c, U+51c6, U+51cd, U+5269-526a, U+52aa, U+52c1, U+52c7, U+52df, U+5377, U+541b, U+5439, U+5440, U+5448, U+54aa, U+54e6, U+54ed, U+5674, U+5687, U+585e, U+588a, U+58a8, U+58c1, U+5925, U+5948, U+5999, U+59b3, U+5a1c, U+5a46, U+5b54, U+5b5d, U+5b6b, U+5b8f, U+5bd2, U+5be9, U+5c0a, U+5c16, U+5c46, U+5cf0, U+5e25, U+5e3d, U+5e79, U+5ee2, U+5f04, U+5f31, U+5fcd, U+5fe0, U+60dc, U+6163, U+616e, U+6182, U+61f6, U+622a, U+6258, U+6293, U+62c6, U+62d2, U+6372, U+63da, U+63ed-63ee, U+6416, U+6458, U+649e, U+64ec, U+64f4, U+651c, U+65cb, U+65e2, U+65fa, U+6628, U+6668, U+66a2, U+66c9, U+66fc, U+6717, U+67cf, U+67d4, U+6817, U+6885, U+69cd, U+6a6b, U+6afb, U+6b32, U+6b49, U+6bbc, U+6c89, U+6c96, U+6cc9, U+6d1b, U+6d1e, U+6dfb, U+6efe, U+6f38, U+6f5b, U+6f64, U+6f8e, U+6fa4, U+7070, U+70b8, U+70cf, U+70e4, U+7159, U+7169, U+7210, U+721b, U+7238, U+737b, U+73bb, U+746a, U+7483, U+74dc, U+74f6, U+7518, U+756a, U+75c7, U+775b, U+78e8, U+7919, U+7956, U+795d, U+7a0d, U+7bc9, U+7c97, U+7cd5, U+7d10, U+7d1b, U+7de9, U+7dfb, U+7e3e, U+7e6a, U+7f6a, U+7f8a, U+7fbd, U+8000, U+8036, U+809a, U+80ce, U+80e1, U+80f8, U+8170, U+819c, U+8216, U+8239, U+8266, U+827e, U+82b3, U+8377, U+83ab, U+85c9, U+865b, U+8766, U+87a2, U+87f2, U+8972, U+8a17, U+8a50, U+8a95, U+8b02, U+8b6f, U+8c6c, U+8ca9, U+8cfa, U+8d95, U+8de1, U+8f14, U+8f9b, U+8fa3, U+8feb, U+8ff4, U+9010, U+901b, U+905e, U+9080, U+912d, U+9177, U+91c7, U+9336, U+9451, U+947d, U+963b, U+966a, U+9670, U+9769, U+9813, U+98fd, U+99d5, U+9a19, U+9b27, U+9b6f, U+9ece, U+9ed8, U+9f13, U+9f20, U+ad6d, U+d55c) ); /* noto-sans-hk-[112]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-112-400-normal.woff2", $range: (U+201c-201d, U+203b, U+2192, U+25b2, U+300f, U+4e01, U+4e39, U+4e73, U+4e88, U+4e8e, U+4ed9, U+4f0a, U+4f38, U+4f5b, U+4fc3, U+500d, U+504f, U+5076-5077, U+5100, U+5104, U+5132, U+5175, U+5192, U+51a0, U+51ac, U+51e1, U+51f1, U+5200, U+5224, U+5237-5238, U+523a, U+526f, U+5289, U+52de, U+52f5, U+5371, U+539a, U+53e5, U+540e, U+547c, U+552f, U+5531, U+5634, U+56c9, U+56f0, U+574a, U+5761, U+57f7, U+57f9, U+5805, U+5851, U+5854, U+586b, U+58fd, U+592e, U+5967, U+59bb, U+59d3, U+5a18, U+5b30, U+5b55, U+5b87, U+5b97, U+5be7, U+5bec, U+5bf8, U+5c24, U+5cb8, U+5df7, U+5e1d, U+5e2d, U+5e7b, U+5f1f, U+5f70, U+5fd9, U+61b6, U+6234, U+62b5, U+62d6, U+62dc, U+62fc, U+6383, U+63cf, U+63d2, U+63e1, U+640d, U+64cd, U+64fa, U+64fe, U+654f, U+6562, U+656c, U+65c1, U+65d7, U+6620, U+6676, U+6697, U+66ab, U+66c6, U+66dd, U+66ff, U+671d, U+672b, U+677e, U+67d0, U+67d3, U+68c4, U+690d, U+694a, U+695a, U+6ac3, U+6b04, U+6b23, U+6b78, U+6b8a, U+6c60, U+6d74, U+6d89, U+6db2, U+6dbc, U+6de1, U+6df7, U+6e38, U+6e6f, U+6f02, U+6fc3, U+6fd5, U+70c8, U+7126, U+718a, U+723d, U+7246, U+72af, U+73cd, U+760b, U+7626, U+7687, U+79df, U+7a05, U+7a3f, U+7a69, U+7af6, U+7c3d, U+7c3f, U+7c4d, U+7cd6, U+7d0b, U+7d2b, U+7de3, U+7e2e, U+8010, U+808c, U+80a5, U+80af, U+812b, U+817f, U+819a, U+82d7, U+8389-838a, U+83f2, U+840a, U+8463, U+8521, U+8584, U+860b, U+864e, U+871c, U+878d, U+885d, U+8932, U+89f8, U+8a69, U+8afe, U+8b5c, U+8c37, U+8c46, U+8cbf, U+8cd3, U+8cf4, U+8d08, U+8d0a, U+8ddd, U+8fea, U+9014, U+9055, U+907a, U+9178, U+92fc, U+934b, U+9396, U+93ae, U+9583, U+9663, U+96bb, U+9707, U+9738, U+9846, U+9905, U+9a0e, U+9aa8, U+9b25, U+9b3c, U+9ce5, U+9cf3, U+9ea5, U+9eb5, U+9f4a, U+9f61, U+ff0d) ); /* noto-sans-hk-[113]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-113-400-normal.woff2", $range: (U+3c, U+d7, U+300e, U+4e4e, U+4e82, U+4e92, U+4ec1, U+4ecd, U+4f48, U+4f53, U+4fb5, U+5012, U+502b, U+522a, U+52dd, U+52ff, U+532f, U+53eb, U+53f3, U+5409, U+5433, U+5496, U+54c8, U+554a, U+5561, U+5594, U+559d, U+56b4, U+56fa, U+5713, U+5750, U+57df, U+584a, U+58c7, U+58de, U+593e, U+5976, U+59d0, U+59d4, U+5a66, U+5b85, U+5b88, U+5ba3, U+5bae, U+5bbf, U+5bdf, U+5c01, U+5c04, U+5c3a, U+5c3e, U+5c4f, U+5ddd-5dde, U+5de8, U+5e63, U+5e7c, U+5e8a, U+5eda, U+5ef3, U+5ef6, U+5f48, U+6015, U+6025, U+602a, U+6050, U+6069, U+60e1, U+6162, U+6176, U+61c2, U+6200, U+6263, U+6279, U+6297, U+62b1, U+62bd, U+62ec, U+6311, U+6377, U+6388-6389, U+638c, U+63a2, U+63f4, U+641e, U+6436, U+64c1, U+6551, U+6557, U+6563, U+6696, U+66b4, U+66f2, U+6751, U+675f, U+676f, U+6790, U+6838, U+684c, U+68d2, U+6982, U+699c, U+69ae, U+69cb, U+6a39, U+6a4b, U+6b66, U+6bd2, U+6cb3, U+6ce1, U+6d3e, U+6de8, U+6ed1, U+6f22, U+6f54, U+6fc0, U+6fdf, U+719f, U+71c8, U+7236, U+7259, U+72d7, U+7389, U+73e0, U+745e, U+751a, U+7532-7533, U+7562, U+7591, U+75c5, U+75db, U+7686, U+76d2, U+76db, U+76df, U+76e3, U+7701, U+7761, U+786c, U+7981, U+79cb, U+79d2, U+79fb, U+7a81, U+7a97, U+7aef, U+7b26, U+7b80, U+7c64, U+7d0d, U+7d14, U+7d2f, U+7dca, U+7df4, U+7e54, U+7e6b, U+7f3a, U+8033, U+804a, U+805a, U+81a0, U+81e8, U+8212, U+821e, U+82e6, U+8336, U+8449, U+84cb, U+84ee, U+85e5, U+8607, U+888b, U+8a13, U+8a5e, U+8aa0, U+8aa4, U+8ab0, U+8ab2, U+8ac7, U+8b66, U+8c6a, U+8c93, U+8c9d, U+8de8, U+8f2a, U+8fb2, U+906d, U+907f, U+90a6, U+9109, U+9192, U+91cb, U+91dd, U+964d, U+9686, U+968e, U+9694, U+969c, U+96de, U+96e8, U+96ea, U+96f7, U+975c, U+9760, U+978b, U+9858, U+9918, U+9aee, U+9ebb, U+ff0e-ff0f, U+ff5c) ); /* noto-sans-hk-[114]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-114-400-normal.woff2", $range: (U+b7, U+2022, U+2027, U+3042, U+3044, U+3046, U+3048, U+304a-3050, U+3053-3057, U+3059-305b, U+305d-3061, U+3063-306c, U+306e-3079, U+307b, U+307d-307f, U+3082-308d, U+308f, U+3092-3093, U+30a1-30a4, U+30a6-30c1, U+30c3-30c4, U+30c6-30e1, U+30e3-30ed, U+30ef, U+30f3, U+30fb-30fc, U+4e7e, U+4ea6, U+4eac, U+4f34, U+50b7, U+51b0, U+523b, U+5283, U+5348, U+5354, U+54e5, U+5708, U+590f, U+592b, U+599d, U+59b9, U+5a01, U+5a5a, U+5de7, U+5e78, U+5e9c, U+5fb5, U+6167, U+61f7, U+627f, U+63a1, U+64d4, U+65bd, U+68ee, U+6b4c, U+6bba, U+6c5f, U+6d0b, U+6d6a, U+6e1b, U+6e56, U+6f6e, U+71d2, U+722d, U+72c2, U+751c, U+7530, U+7642, U+76e1, U+79c0, U+7adf, U+7af9, U+7d9c, U+7da0, U+7e23, U+7e41, U+8056, U+8173, U+822a, U+8349, U+83dc, U+8840, U+885b, U+8907, U+8a34, U+8cb4, U+8dd1, U+8fd4, U+8ff0, U+93e1, U+984f, U+98ef, U+9b54) ); /* noto-sans-hk-[115]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-115-400-normal.woff2", $range: (U+23-25, U+3d, U+2026, U+4e03, U+4e45, U+4e5d, U+4eae, U+4ed4, U+4ed8, U+4ee4, U+4f01, U+4f3c, U+4f8b, U+4fc2, U+5019, U+505c, U+50c5, U+5145, U+51b7, U+5207, U+521d, U+525b, U+5287, U+52e2, U+535a, U+537b, U+5426, U+542b, U+5438, U+5462, U+54ea, U+555f, U+5566, U+5584, U+5609, U+570d, U+571f, U+5747, U+5802, U+58d3, U+591c, U+5920, U+5922, U+5957, U+5979, U+5a92, U+5abd, U+5b63, U+5b69, U+5b83, U+5b9c, U+5bb3, U+5bc4, U+5bf5, U+5c3c, U+5c40, U+5c4b, U+5c64, U+5cf6, U+5de6, U+5e0c, U+5e55, U+5eab, U+5ead, U+5ee0, U+5f85, U+5f8b, U+5fa9, U+5fd7-5fd8, U+5ff5, U+600e, U+6298, U+62db, U+62ff, U+639b, U+63a7, U+642d, U+6469, U+64ad, U+651d, U+653b, U+65b7, U+65cf, U+665a, U+666e, U+66fe, U+6728, U+674e, U+67b6, U+6821, U+6839, U+6843, U+6a94, U+6b50, U+6b62, U+6b72, U+6b7b, U+6bcd, U+6bdb, U+6c38, U+6c7a, U+6c7d, U+6c99, U+6cb9, U+6ce2, U+6cf0, U+6d17, U+6d32, U+6e2c, U+6fb3, U+7206, U+723e, U+725b, U+734e, U+7387, U+73ed, U+7565, U+7570, U+76ca, U+76e4, U+773e, U+77ed, U+77f3, U+7814, U+7834, U+7968, U+79d8, U+7a76, U+7a7f, U+7b11, U+7b46, U+7b54, U+7bc4, U+7d19, U+7d20, U+7d22, U+7d42, U+7d55, U+7e7c, U+7f85, U+7ffb, U+8077, U+8089, U+80cc, U+81c9, U+81f4, U+81fa, U+820a, U+822c, U+826f, U+85cd, U+86cb, U+88dc, U+8986, U+8a0e, U+8a2a, U+8a73, U+8a8c, U+8b1b, U+8b9a, U+8c50, U+8c61, U+8ca0, U+8cde, U+8cfd, U+8d8a, U+8df3, U+8e64, U+8ecd, U+8edf, U+8f38, U+8ff7, U+9000, U+9047, U+9060, U+90f5, U+9152, U+91ce, U+9280, U+9418, U+9435, U+9589, U+9592, U+9678, U+967d, U+968a, U+96aa, U+96c5, U+96d6, U+96dc, U+96f6, U+9732, U+9748, U+9802, U+9806, U+9808, U+9818, U+983b, U+984d, U+9867, U+98db, U+98f2, U+98fe, U+9a5a, U+9b06, U+9b5a, U+9bae, U+9e97, U+ff1b, U+ff5e) ); /* noto-sans-hk-[116]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-116-400-normal.woff2", $range: (U+26, U+40, U+4e14, U+4e9e, U+4ec0, U+4f11, U+4f4e-4f4f, U+4f73, U+4fee, U+503c, U+5047, U+514b, U+516b, U+516d, U+5178, U+520a, U+5236, U+5343, U+5347, U+534a, U+5370, U+53cd, U+53e4, U+53e6, U+53f2, U+5403, U+5411, U+5427, U+5468, U+5473, U+547d, U+552e, U+55ce, U+5740, U+57ce, U+5883, U+589e, U+5931, U+5947, U+59cb, U+5a1b, U+5b58, U+5b98, U+5ba4, U+5bc6, U+5bcc, U+5beb, U+5bf6, U+5c45, U+5c6c, U+5dee, U+5df4, U+5e03, U+5e33, U+5e6b, U+5e7e, U+5e8f, U+5e95, U+5ea7, U+5f15, U+5f62, U+5f69, U+5f80, U+5fae, U+5fb7, U+601d, U+60e0, U+614b, U+6230, U+6236, U+623f, U+628a, U+6295, U+62c9, U+6309, U+63db, U+64c7, U+64ca, U+64da, U+652f, U+6545, U+6548, U+65af, U+65e9, U+6625, U+666f, U+667a, U+670b, U+671b, U+6750, U+677f, U+6848, U+6975, U+6a13, U+6a21, U+6aa2, U+6b65, U+6b77, U+6bb5, U+6cc1, U+6ce8, U+6df1, U+6e90, U+6e96, U+6eab, U+6f14, U+6f2b, U+700f, U+706b, U+724c, U+72c0, U+7368, U+7372, U+74b0, U+756b, U+76ae, U+773c, U+78ba, U+78bc, U+798f, U+79ae, U+7a4d, U+7ae5, U+7b56, U+7b97, U+7bb1, U+7bc7, U+7c73, U+7c89, U+7d00, U+7d30, U+7d39, U+7d72, U+7dad, U+7e8c, U+7f6e, U+7fa4, U+7fa9, U+7fd2, U+8003, U+807d, U+80a1, U+80b2, U+8166, U+8208-8209, U+82e5, U+843d, U+85cf, U+85dd, U+862d, U+8857, U+8863, U+88e1, U+89ba, U+89d2, U+8a31, U+8a62, U+8a66, U+8a72, U+8abf, U+8b1d, U+8b58, U+8b70, U+8b80, U+8ca1, U+8ca8, U+8cac, U+8cbc, U+8d70, U+8da3, U+8db3, U+8ddf, U+8f03, U+8f15, U+8f2f, U+8fa6, U+8fce, U+8ffd, U+900f, U+9031, U+9069, U+908a, U+91ab, U+91cc, U+92b7, U+9322, U+932f, U+9375, U+9632, U+963f, U+9644, U+9662, U+9673, U+96a8, U+96c4, U+96d9, U+96e2-96e3, U+96f2, U+9752, U+97d3, U+97ff, U+9805, U+9810, U+986f, U+990a, U+9910, U+9928, U+9ec3, U+9ed1, U+9f8d) ); /* noto-sans-hk-[117]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-117-400-normal.woff2", $range: (U+3e, U+5f, U+7e, U+3000, U+300a-300b, U+3010-3011, U+4e16, U+4e26, U+4e94, U+4e9b, U+4ea4, U+4eca-4ecb, U+4efb, U+4efd, U+4f46, U+4f55, U+4f9b, U+4f9d, U+4fbf, U+505a, U+5065, U+5099, U+50cf, U+50f9, U+512a, U+5143, U+5148, U+514d, U+5152, U+5169, U+5171, U+5177, U+518a, U+5217, U+5225, U+5247, U+5275, U+529f, U+52a9, U+5305, U+5341, U+5357, U+5361, U+5373, U+53bb, U+53c3, U+53c8, U+53d6-53d7, U+53e3, U+53ea, U+53f8, U+5404, U+559c, U+5668, U+56db, U+56e0, U+5712, U+5718, U+578b, U+57fa, U+58eb, U+592a, U+5c0b, U+5c0e, U+5c11, U+5c1a, U+5c55, U+5c71, U+5df1, U+5e2b, U+5e36, U+5e97, U+5eb7, U+5ee3, U+5efa, U+5f35, U+5f37, U+5f88, U+5f9e, U+5fc5, U+606f, U+60a8, U+6232, U+624d, U+6253, U+627e, U+6280, U+62cd, U+6301, U+6307, U+6392, U+6539, U+653e-653f, U+6559, U+6574, U+65c5, U+6613, U+66f8, U+672a, U+6797, U+67e5, U+6a19, U+6a23, U+6b61, U+6bcf, U+6bd4, U+6c11, U+6c42, U+6d41, U+6d77, U+6d88, U+6e05, U+6e2f, U+6eff, U+7136, U+7167, U+71df, U+738b, U+73a9, U+7403, U+7531, U+7537, U+754c, U+7559, U+767d-767e, U+76f4, U+793a, U+795e, U+79c1, U+79d1, U+7a2e, U+7a31, U+7a7a, U+7ae0, U+7ba1, U+7bc0, U+7c21, U+7cfb, U+7d04-7d05, U+7d1a, U+7d44, U+7d66, U+7d71, U+7de8, U+7e3d, U+8001, U+800c, U+805e, U+8072, U+81f3, U+82b1, U+82f1, U+83ef, U+842c, U+8457, U+85a6, U+8655, U+8853, U+88ab, U+88dd, U+88fd, U+897f, U+898f, U+89aa, U+89bd, U+89c0, U+89e3, U+8a02, U+8a3b, U+8a55, U+8a8d, U+8a9e, U+8ad6, U+8b49, U+8b77, U+8b8a, U+8b93, U+8cb7, U+8ce3, U+8cea, U+8cfc, U+8f09, U+8fd1, U+9001, U+901f-9020, U+9054, U+90a3, U+914d, U+91cf, U+9304, U+95b1, U+9650, U+9664, U+969b, U+96b1, U+96c6, U+9700, U+975e, U+97f3, U+98a8, U+98df, U+9999, U+99ac, U+9a57, U+9ebc) ); /* noto-sans-hk-[118]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-118-400-normal.woff2", $range: (U+d, U+2b, U+7c, U+a0, U+a9, U+300c-300d, U+4e09, U+4e3b, U+4e4b, U+4e5f, U+4e86, U+4e8b-4e8c, U+4eab, U+4ed6, U+4ee3, U+4ef6, U+4f1a, U+4f4d, U+4f60, U+4f7f, U+4f86, U+4fdd, U+4fe1, U+5011, U+50b3, U+5149, U+5167, U+5176, U+518d, U+5229, U+524d, U+529b, U+52a0, U+52d9, U+5316-5317, U+5340, U+539f, U+53ca-53cb, U+5408, U+540c-540d, U+544a, U+548c, U+54c1, U+54e1, U+5546, U+554f, U+55ae, U+56de, U+5716, U+5831, U+5834, U+5916, U+5929, U+5973, U+597d, U+5982, U+5b57, U+5b78, U+5b89, U+5b8c, U+5b9a, U+5ba2, U+5bb9, U+5be6, U+5c07-5c08, U+5c0d, U+5c31, U+5de5, U+5df2, U+5e02, U+5e38, U+5e73-5e74, U+5ea6, U+5f0f, U+5f71, U+5f8c, U+5f97, U+5feb, U+6027, U+60c5, U+60f3, U+610f, U+611b, U+611f, U+61c9, U+6210, U+6216, U+6240, U+624b, U+63a5, U+63a8, U+63d0, U+641c, U+6536, U+6578, U+6599, U+65b9, U+660e, U+661f, U+662d, U+66f4, U+670d, U+671f, U+6771, U+679c, U+682a, U+683c, U+689d, U+696d, U+6a02, U+6a5f, U+6b0a, U+6b21, U+6b3e, U+6b64, U+6c23, U+6c34, U+6c92, U+6cbb, U+6cd5, U+6d3b, U+7063, U+7121, U+71b1, U+7247-7248, U+7269, U+7279, U+73fe, U+7406, U+7522, U+7576, U+767b, U+76ee, U+76f8, U+770b, U+771f, U+77e5, U+793e, U+7a0b, U+7acb, U+7ad9, U+7b2c, U+7b49, U+7cbe, U+7d50, U+7d61, U+7d93, U+7dda, U+7f8e, U+8005, U+806f, U+80fd, U+81ea, U+8207, U+8272, U+865f, U+8868, U+8981, U+898b, U+8996, U+8a00, U+8a08, U+8a0a, U+8a18, U+8a2d, U+8a71, U+8aaa, U+8acb, U+8cbb, U+8cc7, U+8d77, U+8d85, U+8def, U+8eab, U+8eca, U+8f49, U+9019-901a, U+9023, U+9032, U+904a-904b, U+904e, U+9053, U+9078, U+9084, U+90e8, U+90fd, U+91cd, U+91d1, U+9577, U+9580, U+9593, U+9762, U+982d, U+984c, U+985e, U+9996, U+9ad4, U+9ad8, U+9ede, U+ff01, U+ff08-ff09, U+ff1f) ); /* noto-sans-hk-[119]-400-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-119-400-normal.woff2", $range: (U+20-22, U+27-2a, U+2c-3b, U+3f, U+41-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2-b3, U+bb, U+bf, U+c9, U+cd, U+d6, U+e0-ef, U+f1-f4, U+f6, U+f9-fa, U+fc-fd, U+101, U+103, U+110-111, U+113, U+12b, U+14d, U+16b, U+1a1, U+1b0, U+1ce, U+300-301, U+1ea1, U+1ea3, U+1ebf, U+1ec7, U+2013-2014, U+2039-203a, U+203c, U+2122, U+3001-3002, U+3113-3114, U+3118, U+311a-3129, U+4e00, U+4e0a-4e0b, U+4e0d, U+4e2d, U+4eba, U+4ee5, U+4f5c, U+500b, U+5165, U+5168, U+516c, U+51fa, U+5206, U+5230, U+52d5, U+53ef-53f0, U+570b, U+5728, U+5730, U+591a, U+5927, U+5b50, U+5bb6, U+5c0f, U+5fc3, U+6211, U+6587, U+65b0, U+65bc, U+65e5, U+662f, U+6642, U+6700, U+6703, U+6708-6709, U+672c, U+6b63, U+70b9-70ba, U+751f, U+7528, U+767c, U+7684, U+7db2, U+884c, U+958b, U+95dc, U+96fb, U+9801, U+ff0c, U+ff1a) diff --git a/src/styles/noto-sans/hk-700-normal.scss b/src/styles/noto-sans/hk-700-normal.scss index 0adc71e154..86e6d7ba71 100644 --- a/src/styles/noto-sans/hk-700-normal.scss +++ b/src/styles/noto-sans/hk-700-normal.scss @@ -1,7 +1,9 @@ +@use "../font"; + $hkFamily: "Noto Sans HK"; /* noto-sans-hk-[0]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-0-700-normal.woff2", @@ -9,7 +11,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[1]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-1-700-normal.woff2", @@ -17,7 +19,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[2]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-2-700-normal.woff2", @@ -25,7 +27,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[3]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-3-700-normal.woff2", @@ -33,7 +35,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[4]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-4-700-normal.woff2", @@ -41,7 +43,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[5]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-5-700-normal.woff2", @@ -49,7 +51,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[6]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-6-700-normal.woff2", @@ -57,7 +59,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[7]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-7-700-normal.woff2", @@ -65,7 +67,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[8]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-8-700-normal.woff2", @@ -73,7 +75,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[9]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-9-700-normal.woff2", @@ -81,7 +83,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[10]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-10-700-normal.woff2", @@ -89,7 +91,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[15]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-15-700-normal.woff2", @@ -97,7 +99,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[16]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-16-700-normal.woff2", @@ -105,7 +107,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[17]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-17-700-normal.woff2", @@ -113,7 +115,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[25]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-25-700-normal.woff2", @@ -121,7 +123,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[26]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-26-700-normal.woff2", @@ -129,7 +131,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[27]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-27-700-normal.woff2", @@ -137,7 +139,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[28]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-28-700-normal.woff2", @@ -145,7 +147,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[29]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-29-700-normal.woff2", @@ -153,7 +155,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[30]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-30-700-normal.woff2", @@ -161,7 +163,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[31]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-31-700-normal.woff2", @@ -169,7 +171,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[32]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-32-700-normal.woff2", @@ -177,7 +179,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[33]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-33-700-normal.woff2", @@ -185,7 +187,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[34]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-34-700-normal.woff2", @@ -193,7 +195,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[35]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-35-700-normal.woff2", @@ -201,7 +203,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[36]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-36-700-normal.woff2", @@ -209,7 +211,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[37]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-37-700-normal.woff2", @@ -217,7 +219,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[38]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-38-700-normal.woff2", @@ -225,7 +227,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[39]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-39-700-normal.woff2", @@ -233,7 +235,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[40]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-40-700-normal.woff2", @@ -241,7 +243,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[41]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-41-700-normal.woff2", @@ -249,7 +251,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[42]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-42-700-normal.woff2", @@ -257,7 +259,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[43]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-43-700-normal.woff2", @@ -265,7 +267,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[44]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-44-700-normal.woff2", @@ -273,7 +275,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[45]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-45-700-normal.woff2", @@ -281,7 +283,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[46]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-46-700-normal.woff2", @@ -289,7 +291,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[47]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-47-700-normal.woff2", @@ -297,7 +299,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[48]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-48-700-normal.woff2", @@ -305,7 +307,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[49]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-49-700-normal.woff2", @@ -313,7 +315,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[50]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-50-700-normal.woff2", @@ -321,7 +323,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[51]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-51-700-normal.woff2", @@ -329,7 +331,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[52]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-52-700-normal.woff2", @@ -337,7 +339,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[53]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-53-700-normal.woff2", @@ -345,7 +347,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[54]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-54-700-normal.woff2", @@ -353,7 +355,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[55]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-55-700-normal.woff2", @@ -361,7 +363,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[56]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-56-700-normal.woff2", @@ -369,7 +371,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[57]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-57-700-normal.woff2", @@ -377,7 +379,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[58]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-58-700-normal.woff2", @@ -385,7 +387,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[59]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-59-700-normal.woff2", @@ -393,7 +395,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[60]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-60-700-normal.woff2", @@ -401,7 +403,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[61]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-61-700-normal.woff2", @@ -409,7 +411,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[62]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-62-700-normal.woff2", @@ -417,7 +419,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[63]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-63-700-normal.woff2", @@ -425,7 +427,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[64]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-64-700-normal.woff2", @@ -433,7 +435,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[65]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-65-700-normal.woff2", @@ -441,7 +443,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[66]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-66-700-normal.woff2", @@ -449,7 +451,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[67]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-67-700-normal.woff2", @@ -457,7 +459,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[68]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-68-700-normal.woff2", @@ -465,7 +467,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[69]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-69-700-normal.woff2", @@ -473,7 +475,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[70]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-70-700-normal.woff2", @@ -481,7 +483,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[71]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-71-700-normal.woff2", @@ -489,7 +491,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[72]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-72-700-normal.woff2", @@ -497,7 +499,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[73]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-73-700-normal.woff2", @@ -505,7 +507,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[74]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-74-700-normal.woff2", @@ -513,7 +515,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[75]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-75-700-normal.woff2", @@ -521,7 +523,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[76]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-76-700-normal.woff2", @@ -529,7 +531,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[77]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-77-700-normal.woff2", @@ -537,7 +539,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[78]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-78-700-normal.woff2", @@ -545,7 +547,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[79]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-79-700-normal.woff2", @@ -553,7 +555,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[80]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-80-700-normal.woff2", @@ -561,7 +563,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[81]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-81-700-normal.woff2", @@ -569,7 +571,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[82]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-82-700-normal.woff2", @@ -577,7 +579,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[83]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-83-700-normal.woff2", @@ -585,7 +587,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[84]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-84-700-normal.woff2", @@ -593,7 +595,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[85]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-85-700-normal.woff2", @@ -601,7 +603,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[86]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-86-700-normal.woff2", @@ -609,7 +611,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[87]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-87-700-normal.woff2", @@ -617,7 +619,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[88]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-88-700-normal.woff2", @@ -625,7 +627,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[89]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-89-700-normal.woff2", @@ -633,7 +635,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[90]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-90-700-normal.woff2", @@ -641,7 +643,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[91]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-91-700-normal.woff2", @@ -649,7 +651,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[92]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-92-700-normal.woff2", @@ -657,7 +659,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[93]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-93-700-normal.woff2", @@ -665,7 +667,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[98]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-98-700-normal.woff2", @@ -673,7 +675,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[99]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-99-700-normal.woff2", @@ -681,7 +683,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[100]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-100-700-normal.woff2", @@ -689,7 +691,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[101]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-101-700-normal.woff2", @@ -697,7 +699,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[102]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-102-700-normal.woff2", @@ -705,7 +707,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[103]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-103-700-normal.woff2", @@ -713,7 +715,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[104]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-104-700-normal.woff2", @@ -721,7 +723,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[105]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-105-700-normal.woff2", @@ -729,7 +731,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[106]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-106-700-normal.woff2", @@ -737,7 +739,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[107]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-107-700-normal.woff2", @@ -745,7 +747,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[108]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-108-700-normal.woff2", @@ -753,7 +755,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[109]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-109-700-normal.woff2", @@ -761,7 +763,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[110]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-110-700-normal.woff2", @@ -769,7 +771,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[111]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-111-700-normal.woff2", @@ -777,7 +779,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[112]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-112-700-normal.woff2", @@ -785,7 +787,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[113]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-113-700-normal.woff2", @@ -793,7 +795,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[114]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-114-700-normal.woff2", @@ -801,7 +803,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[115]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-115-700-normal.woff2", @@ -809,7 +811,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[116]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-116-700-normal.woff2", @@ -817,7 +819,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[117]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-117-700-normal.woff2", @@ -825,7 +827,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[118]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-118-700-normal.woff2", @@ -833,7 +835,7 @@ $hkFamily: "Noto Sans HK"; ); /* noto-sans-hk-[119]-700-normal */ -@include fontFace( +@include font.face( $family: $hkFamily, $weight: 700, $url: "~@fontsource/noto-sans-hk/files/noto-sans-hk-119-700-normal.woff2", diff --git a/src/styles/noto-sans/index.scss b/src/styles/noto-sans/index.scss index 560a38d441..e9037522c3 100644 --- a/src/styles/noto-sans/index.scss +++ b/src/styles/noto-sans/index.scss @@ -1,33 +1,18 @@ -// Map font weight numbers to names -$weight-names: (100: "Thin", 200: "ExtraLight", 300: "Light", 400: "Regular", 500: "Medium", 600: "SemiBold", 700: "Bold", 800: "ExtraBold", 900: "Black"); - -// Mixin to help create the Noto Sans font-faces -@mixin fontFace($family: "Noto Sans", $style: normal, $weight: 400, $url: null, $range: null) { - @font-face { - font-family: $family; - font-style: $style; - font-display: swap; - font-weight: $weight; - src: local($family), local("#{$family} #{map-get($weight-names, $weight)}"), url($url) format("woff2"); - unicode-range: $range; - } -} - // Standard character set -@import "./base-400-normal"; -@import "./base-700-normal"; +@use "./base-400-normal"; +@use "./base-700-normal"; // HK character set -@import "./hk-400-normal"; -@import "./hk-700-normal"; +@use "./hk-400-normal"; +@use "./hk-700-normal"; // JP character set -@import "./jp-400-normal"; -@import "./jp-700-normal"; +@use "./jp-400-normal"; +@use "./jp-700-normal"; // KR character set -@import "./kr-400-normal"; -@import "./kr-700-normal"; +@use "./kr-400-normal"; +@use "./kr-700-normal"; // SC character set -@import "./sc-400-normal"; -@import "./sc-700-normal"; +@use "./sc-400-normal"; +@use "./sc-700-normal"; // TC character set -@import "./tc-400-normal"; -@import "./tc-700-normal"; +@use "./tc-400-normal"; +@use "./tc-700-normal"; diff --git a/src/styles/noto-sans/jp-400-normal.scss b/src/styles/noto-sans/jp-400-normal.scss index f24cfebd02..ee7378d0cd 100644 --- a/src/styles/noto-sans/jp-400-normal.scss +++ b/src/styles/noto-sans/jp-400-normal.scss @@ -1,840 +1,842 @@ +@use "../font"; + $jpFamily: "Noto Sans JP"; /* noto-sans-jp-[0]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-0-400-normal.woff2", $range: (U+25ee8, U+25f23, U+25f5c, U+25fd4, U+25fe0, U+25ffb, U+2600c, U+26017, U+26060, U+260ed, U+26222, U+2626a, U+26270, U+26286, U+2634c, U+26402, U+2667e, U+266b0, U+2671d, U+268dd, U+268ea, U+26951, U+2696f, U+26999, U+269dd, U+26a1e, U+26a58, U+26a8c, U+26ab7, U+26aff, U+26c29, U+26c73, U+26c9e, U+26cdd, U+26e40, U+26e65, U+26f94, U+26ff6-26ff8, U+270f4, U+2710d, U+27139, U+273da-273db, U+273fe, U+27410, U+27449, U+27614-27615, U+27631, U+27684, U+27693, U+2770e, U+27723, U+27752, U+278b2, U+27985, U+279b4, U+27a84, U+27bb3, U+27bbe, U+27bc7, U+27c3c, U+27cb8, U+27d73, U+27da0, U+27e10, U+27eaf, U+27fb7, U+2808a, U+280bb, U+28277, U+28282, U+282f3, U+283cd, U+2840c, U+28455, U+284dc, U+2856b, U+285c8-285c9, U+286d7, U+286fa, U+28946, U+28949, U+2896b, U+28987-28988, U+289ba-289bb, U+28a1e, U+28a29, U+28a43, U+28a71, U+28a99, U+28acd, U+28add, U+28ae4, U+28bc1, U+28bef, U+28cdd, U+28d10, U+28d71, U+28dfb, U+28e0f, U+28e17, U+28e1f, U+28e36, U+28e89, U+28eeb, U+28ef6, U+28f32, U+28ff8, U+292a0, U+292b1, U+29490, U+295cf, U+2967f, U+296f0, U+29719, U+29750, U+29810, U+298c6, U+29a72, U+29d4b, U+29ddb, U+29e15, U+29e3d, U+29e49, U+29e8a, U+29ec4, U+29edb, U+29ee9, U+29fce, U+29fd7, U+2a01a, U+2a02f, U+2a082, U+2a0f9, U+2a190, U+2a2b2, U+2a38c, U+2a437, U+2a5f1, U+2a602, U+2a61a, U+2a6b2, U+2a9e6, U+2b746, U+2b751, U+2b753, U+2b75a, U+2b75c, U+2b765, U+2b776-2b777, U+2b77c, U+2b782, U+2b789, U+2b78b, U+2b78e, U+2b794, U+2b7ac, U+2b7af, U+2b7bd, U+2b7c9, U+2b7cf, U+2b7d2, U+2b7d8, U+2b7f0, U+2b80d, U+2b817, U+2b81a, U+2d544, U+2e278, U+2e569, U+2e6ea, U+2f804, U+2f80f, U+2f815, U+2f818, U+2f81a, U+2f822, U+2f828, U+2f82c, U+2f833, U+2f83f, U+2f846, U+2f852, U+2f862, U+2f86d, U+2f873, U+2f877, U+2f884, U+2f899-2f89a, U+2f8a6, U+2f8ac, U+2f8b2, U+2f8b6, U+2f8d3, U+2f8db-2f8dc, U+2f8e1, U+2f8e5, U+2f8ea, U+2f8ed, U+2f8fc, U+2f903, U+2f90b, U+2f90f, U+2f91a, U+2f920-2f921, U+2f945, U+2f947, U+2f96c, U+2f995, U+2f9d0, U+2f9de-2f9df, U+2f9f4) ); /* noto-sans-jp-[1]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-1-400-normal.woff2", $range: (U+1f235-1f23b, U+1f240-1f248, U+1f250-1f251, U+2000b, U+20089-2008a, U+200a2, U+200a4, U+200b0, U+200f5, U+20158, U+201a2, U+20213, U+2032b, U+20371, U+20381, U+203f9, U+2044a, U+20509, U+2053f, U+205b1, U+205d6, U+20611, U+20628, U+206ec, U+2074f, U+207c8, U+20807, U+2083a, U+208b9, U+2090e, U+2097c, U+20984, U+2099d, U+20a64, U+20ad3, U+20b1d, U+20b9f, U+20bb7, U+20d45, U+20d58, U+20de1, U+20e64, U+20e6d, U+20e95, U+20f5f, U+21201, U+2123d, U+21255, U+21274, U+2127b, U+212d7, U+212e4, U+212fd, U+2131b, U+21336, U+21344, U+213c4, U+2146d-2146e, U+215d7, U+21647, U+216b4, U+21706, U+21742, U+218bd, U+219c3, U+21a1a, U+21c56, U+21d2d, U+21d45, U+21d62, U+21d78, U+21d92, U+21d9c, U+21da1, U+21db7, U+21de0, U+21e33-21e34, U+21f1e, U+21f76, U+21ffa, U+2217b, U+22218, U+2231e, U+223ad, U+22609, U+226f3, U+2285b, U+228ab, U+2298f, U+22ab8, U+22b46, U+22b4f-22b50, U+22ba6, U+22c1d, U+22c24, U+22de1, U+22e42, U+22feb, U+231b6, U+231c3-231c4, U+231f5, U+23372, U+233cc, U+233d0, U+233d2-233d3, U+233d5, U+233da, U+233df, U+233e4, U+233fe, U+2344a-2344b, U+23451, U+23465, U+234e4, U+2355a, U+23594, U+235c4, U+23638-2363a, U+23647, U+2370c, U+2371c, U+2373f, U+23763-23764, U+237e7, U+237f1, U+237ff, U+23824, U+2383d, U+23a98, U+23c7f, U+23cbe, U+23cfe, U+23d00, U+23d0e, U+23d40, U+23dd3, U+23df9-23dfa, U+23f7e, U+2404b, U+24096, U+24103, U+241c6, U+241fe, U+242ee, U+243bc, U+243d0, U+24629, U+246a5, U+247f1, U+24896, U+248e9, U+24a4d, U+24b56, U+24b6f, U+24c16, U+24d14, U+24e04, U+24e0e, U+24e37, U+24e6a, U+24e8b, U+24ff2, U+2504a, U+25055, U+25122, U+251a9, U+251cd, U+251e5, U+2521e, U+2524c, U+2542e, U+2548e, U+254d9, U+2550e, U+255a7, U+2567f, U+25771, U+257a9, U+257b4, U+25874, U+259c4, U+259cc, U+259d4, U+25ad7, U+25ae3-25ae4, U+25af1, U+25bb2, U+25c4b, U+25c64, U+25da1, U+25e2e, U+25e56, U+25e62, U+25e65, U+25ec2, U+25ed8) ); /* noto-sans-jp-[2]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-2-400-normal.woff2", $range: (U+ffd7, U+ffda-ffdc, U+ffe0-ffe2, U+ffe4, U+ffe6, U+ffe8-ffee, U+1f100-1f10c, U+1f110-1f16c, U+1f170-1f1ac, U+1f200-1f202, U+1f210-1f234) ); /* noto-sans-jp-[3]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-3-400-normal.woff2", $range: (U+fa10, U+fa12-fa6d, U+fb00-fb04, U+fe10-fe19, U+fe30-fe42, U+fe44-fe52, U+fe54-fe66, U+fe68-fe6b, U+ff02, U+ff04, U+ff07, U+ff51, U+ff5b, U+ff5d, U+ff5f-ff60, U+ff66, U+ff69, U+ff87, U+ffa1-ffbe, U+ffc2-ffc7, U+ffca-ffcf, U+ffd2-ffd6) ); /* noto-sans-jp-[4]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-4-400-normal.woff2", $range: (U+f92d-f959, U+f95b-f9f2, U+f9f4-fa0b, U+fa0e-fa0f) ); /* noto-sans-jp-[5]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-5-400-normal.woff2", $range: (U+9e8b-9e8c, U+9e8e-9e8f, U+9e91-9e92, U+9e95-9e96, U+9e98, U+9e9b, U+9e9d-9e9e, U+9ea4-9ea5, U+9ea8-9eaa, U+9eac-9eb0, U+9eb3-9eb5, U+9eb8, U+9ebc-9ebf, U+9ec3, U+9ec6, U+9ec8, U+9ecb-9ecd, U+9ecf-9ed1, U+9ed4-9ed5, U+9ed8, U+9edb-9ee0, U+9ee4-9ee5, U+9ee7-9ee8, U+9eec-9ef2, U+9ef4-9ef9, U+9efb-9eff, U+9f02-9f03, U+9f07-9f09, U+9f0e-9f12, U+9f14-9f17, U+9f19-9f1b, U+9f1f-9f22, U+9f26, U+9f2a-9f2c, U+9f2f, U+9f31-9f32, U+9f34, U+9f37, U+9f39-9f3a, U+9f3c-9f3f, U+9f41, U+9f43-9f47, U+9f4a, U+9f4e-9f50, U+9f52-9f58, U+9f5a, U+9f5d-9f61, U+9f63, U+9f66-9f6a, U+9f6c-9f73, U+9f75-9f77, U+9f7a, U+9f7d, U+9f7f, U+9f8f-9f92, U+9f94-9f97, U+9f99, U+9f9c-9fa3, U+9fa5, U+9fb4, U+9fbc-9fc2, U+9fc4, U+9fc6, U+9fcc, U+f900-f92c) ); /* noto-sans-jp-[6]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-6-400-normal.woff2", $range: (U+9c3e, U+9c41, U+9c43-9c4a, U+9c4e-9c50, U+9c52-9c54, U+9c56, U+9c58, U+9c5a-9c61, U+9c63, U+9c65, U+9c67-9c6b, U+9c6d-9c6e, U+9c70, U+9c72, U+9c75-9c78, U+9c7a-9c7c, U+9ce6-9ce7, U+9ceb-9cec, U+9cf0, U+9cf2, U+9cf6-9cf7, U+9cf9, U+9d02-9d03, U+9d06-9d09, U+9d0b, U+9d0e, U+9d11-9d12, U+9d15, U+9d17-9d18, U+9d1b-9d1f, U+9d23, U+9d26, U+9d2a-9d2c, U+9d2f-9d30, U+9d32-9d34, U+9d3a, U+9d3c-9d3f, U+9d41-9d48, U+9d4a, U+9d50-9d54, U+9d59, U+9d5d-9d65, U+9d69-9d6c, U+9d6f-9d70, U+9d72-9d73, U+9d76-9d77, U+9d7a-9d7c, U+9d7e, U+9d83-9d84, U+9d86-9d87, U+9d89-9d8a, U+9d8d-9d8e, U+9d92-9d93, U+9d95-9d9a, U+9da1, U+9da4, U+9da9-9dac, U+9dae, U+9db1-9db2, U+9db5, U+9db8-9dbd, U+9dbf-9dc4, U+9dc6-9dc7, U+9dc9-9dca, U+9dcf, U+9dd3-9dd7, U+9dd9-9dda, U+9dde-9de0, U+9de3, U+9de5-9de7, U+9de9, U+9deb, U+9ded-9df0, U+9df3-9df4, U+9df8, U+9dfd-9dfe, U+9e02, U+9e07, U+9e0a, U+9e0d-9e0e, U+9e10-9e12, U+9e15-9e16, U+9e19-9e1f, U+9e75, U+9e79-9e7d, U+9e80-9e85, U+9e87-9e88) ); /* noto-sans-jp-[7]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-7-400-normal.woff2", $range: (U+9ae5-9ae7, U+9ae9, U+9aeb-9aec, U+9aee-9aef, U+9af1-9af5, U+9af7, U+9af9-9afb, U+9afd, U+9aff-9b06, U+9b08-9b09, U+9b0b-9b0e, U+9b10, U+9b12, U+9b16, U+9b18-9b1d, U+9b1f-9b20, U+9b22-9b23, U+9b25-9b2f, U+9b32-9b35, U+9b37, U+9b39-9b3b, U+9b3d, U+9b43-9b44, U+9b48, U+9b4b-9b4f, U+9b51, U+9b55-9b58, U+9b5b, U+9b5e, U+9b61, U+9b63, U+9b65-9b66, U+9b68, U+9b6a-9b6f, U+9b72-9b79, U+9b7f-9b80, U+9b83-9b87, U+9b89-9b8b, U+9b8d, U+9b8f-9b94, U+9b96-9b97, U+9b9a, U+9b9d-9ba0, U+9ba6-9ba7, U+9ba9-9baa, U+9bac, U+9bb0-9bb2, U+9bb4, U+9bb7-9bb9, U+9bbb-9bbc, U+9bbe-9bc1, U+9bc6-9bc8, U+9bca, U+9bce-9bd2, U+9bd4, U+9bd7-9bd8, U+9bdd, U+9bdf, U+9be1-9be5, U+9be7, U+9bea-9beb, U+9bee-9bf3, U+9bf5, U+9bf7-9bfa, U+9bfd, U+9bff-9c00, U+9c02, U+9c04, U+9c06, U+9c08-9c0d, U+9c0f-9c16, U+9c18-9c1e, U+9c21-9c2a, U+9c2d-9c32, U+9c35-9c37, U+9c39-9c3a, U+9c3d) ); /* noto-sans-jp-[8]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-8-400-normal.woff2", $range: (U+98eb, U+98ed-98ee, U+98f0-98f1, U+98f3, U+98f6, U+9902, U+9907-9909, U+9911-9912, U+9914-9918, U+991a-9922, U+9924, U+9926-9927, U+992b-992c, U+992e, U+9931-9935, U+9939-993e, U+9940-9942, U+9945-9949, U+994b-994e, U+9950-9952, U+9954-9955, U+9958-9959, U+995b-995c, U+995e-9960, U+9963, U+9997-9998, U+999b, U+999d-999f, U+99a3, U+99a5-99a6, U+99a8, U+99ad-99ae, U+99b0-99b2, U+99b5, U+99b9-99ba, U+99bc-99bd, U+99bf, U+99c1, U+99c3, U+99c8-99c9, U+99d1, U+99d3-99d5, U+99d8-99df, U+99e1-99e2, U+99e7, U+99ea-99ee, U+99f0-99f2, U+99f4-99f5, U+99f8-99f9, U+99fb-99fe, U+9a01-9a05, U+9a08, U+9a0a-9a0c, U+9a0f-9a11, U+9a16, U+9a1a, U+9a1e, U+9a20, U+9a22-9a24, U+9a27, U+9a2b, U+9a2d-9a2e, U+9a31, U+9a33, U+9a35-9a38, U+9a3e, U+9a40-9a45, U+9a47, U+9a4a-9a4e, U+9a51-9a52, U+9a54-9a58, U+9a5b, U+9a5d, U+9a5f, U+9a62, U+9a64-9a65, U+9a69-9a6c, U+9aaa, U+9aac-9ab0, U+9ab2, U+9ab4-9ab7, U+9ab9, U+9abb-9ac1, U+9ac3, U+9ac6, U+9ac8, U+9ace-9ad3, U+9ad5-9ad7, U+9adb-9adc, U+9ade-9ae0, U+9ae2-9ae4) ); /* noto-sans-jp-[9]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-9-400-normal.woff2", $range: (U+971d, U+9721-9724, U+9728, U+972a, U+9730-9731, U+9733, U+9736, U+9738-9739, U+973b, U+973d-973e, U+9741-9744, U+9746-974a, U+974d-974f, U+9751, U+9755, U+9757-9758, U+975a-975c, U+9760-9761, U+9763-9764, U+9766-9768, U+976a-976b, U+976e, U+9771, U+9773, U+9776-977d, U+977f-9781, U+9785-9786, U+9789, U+978b, U+978f-9790, U+9795-9797, U+9799-979a, U+979c, U+979e-97a0, U+97a2-97a3, U+97a6, U+97a8, U+97ab-97ac, U+97ae, U+97b1-97b6, U+97b8-97ba, U+97bc, U+97be-97bf, U+97c1, U+97c3-97ce, U+97d0-97d1, U+97d4, U+97d7-97d9, U+97db-97de, U+97e0-97e1, U+97e4, U+97e6, U+97ed-97ef, U+97f1-97f2, U+97f4-97f8, U+97fa, U+9804, U+9807, U+980a, U+980c-980f, U+9814, U+9816-9817, U+9819-981a, U+981c, U+981e, U+9820-9821, U+9823-9826, U+982b, U+982e-9830, U+9832-9835, U+9837, U+9839, U+983d-983e, U+9844, U+9846-9847, U+984a-984b, U+984f, U+9851-9853, U+9856-9857, U+9859-985b, U+9862-9863, U+9865-9866, U+986a-986c, U+986f-9871, U+9873-9875, U+98aa-98ab, U+98ad-98ae, U+98b0-98b1, U+98b4, U+98b6-98b8, U+98ba-98bc, U+98bf, U+98c2-98c8, U+98cb-98cc, U+98ce, U+98dc, U+98de, U+98e0-98e1, U+98e3, U+98e5-98e7, U+98e9-98ea) ); /* noto-sans-jp-[10]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-10-400-normal.woff2", $range: (U+944a, U+944c, U+9452-9453, U+9455, U+9459-945c, U+945e-9463, U+9468, U+946a-946b, U+946d-9472, U+9475, U+9477, U+947c-947f, U+9481, U+9483-9485, U+9578-9579, U+957e-957f, U+9582, U+9584, U+9586-9588, U+958a, U+958c-958f, U+9592, U+9594, U+9596, U+9598-9599, U+959d-95a1, U+95a4, U+95a6-95a9, U+95ab-95ad, U+95b1, U+95b4, U+95b6, U+95b9-95bf, U+95c3, U+95c6, U+95c8-95cd, U+95d0-95d6, U+95d9-95da, U+95dc-95e2, U+95e4-95e6, U+95e8, U+961d-961e, U+9621-9622, U+9624-9626, U+9628, U+962c, U+962e-962f, U+9631, U+9633-9634, U+9637-963a, U+963c-963d, U+9641-9642, U+964b-964c, U+964f, U+9652, U+9654, U+9656-9658, U+965c-965f, U+9661, U+9666, U+966a, U+966c, U+966e, U+9672, U+9674, U+9677, U+967b-967c, U+967e-967f, U+9681-9684, U+9689, U+968b, U+968d, U+9691, U+9695-9698, U+969a, U+969d, U+969f, U+96a4-96aa, U+96ae-96b4, U+96b6, U+96b8-96bb, U+96bd, U+96c1, U+96c9-96cb, U+96cd-96ce, U+96d2, U+96d5-96d6, U+96d8-96da, U+96dc-96df, U+96e9, U+96ef, U+96f1, U+96f9-96fa, U+9702-9706, U+9708-9709, U+970d-970f, U+9711, U+9713-9714, U+9716, U+9719-971b) ); /* noto-sans-jp-[11]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-11-400-normal.woff2", $range: (U+92bc-92bd, U+92bf-92c3, U+92c5-92c8, U+92cb-92d0, U+92d2-92d3, U+92d5, U+92d7-92d9, U+92dc-92dd, U+92df-92e1, U+92e3-92e5, U+92e7-92ea, U+92ec, U+92ee, U+92f0, U+92f2, U+92f7-92fb, U+92ff-9300, U+9302, U+9304, U+9308, U+930d, U+930f-9311, U+9314-9315, U+9318-931a, U+931c-931f, U+9321-9325, U+9327-932b, U+932e, U+9333-9337, U+933a-933b, U+9344, U+9347-934a, U+934d, U+9350-9352, U+9354-9358, U+935a, U+935c, U+935e, U+9360, U+9364-9365, U+9367, U+9369-936d, U+936f-9371, U+9373-9374, U+9376, U+937a, U+937d-9382, U+9388, U+938a-938b, U+938d, U+938f, U+9392, U+9394-9395, U+9397-9398, U+939a-939b, U+939e, U+93a1, U+93a3-93a4, U+93a6, U+93a8-93a9, U+93ab-93ad, U+93b0, U+93b4-93b6, U+93b9-93bb, U+93c1, U+93c3-93cd, U+93d0-93d1, U+93d3, U+93d6-93d9, U+93dc-93df, U+93e2, U+93e4-93e8, U+93f1, U+93f5, U+93f7-93fb, U+93fd, U+9401-9404, U+9407-9409, U+940d-9410, U+9413-9417, U+9419-941a, U+941f, U+9421, U+942b, U+942e-942f, U+9431-9434, U+9436, U+9438, U+943a-943b, U+943d, U+943f, U+9441, U+9443-9445, U+9448) ); /* noto-sans-jp-[12]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-12-400-normal.woff2", $range: (U+9143, U+9146-914c, U+914f, U+9153, U+9156-915b, U+9161, U+9163-9165, U+9167, U+9169, U+916d, U+9172-9174, U+9179-917b, U+9181-9183, U+9185-9187, U+9189-918b, U+918e, U+9191, U+9193-9195, U+9197-9198, U+919e, U+91a1-91a2, U+91a6, U+91a8, U+91aa-91b6, U+91ba-91bd, U+91bf-91c6, U+91c9, U+91cb, U+91d0, U+91d3-91d4, U+91d6-91d7, U+91d9-91db, U+91de-91df, U+91e1, U+91e4-91e6, U+91e9-91ea, U+91ec-91f1, U+91f5-91f7, U+91f9, U+91fb-91fd, U+91ff-9201, U+9204-9207, U+9209-920a, U+920c, U+920e, U+9210-9218, U+921c-921e, U+9223-9226, U+9228-9229, U+922c, U+922e-9230, U+9233, U+9235-923a, U+923c, U+923e-9240, U+9242-9243, U+9245-924b, U+924d-9251, U+9256-925a, U+925c-925e, U+9260-9261, U+9264-9269, U+926e-9270, U+9275-9279, U+927b-927f, U+9288-928a, U+928d-928e, U+9291-9293, U+9295-9297, U+9299, U+929b-929c, U+929f-92a0, U+92a4-92a5, U+92a7-92a8, U+92ab, U+92af, U+92b2-92b3, U+92b6-92bb) ); /* noto-sans-jp-[13]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-13-400-normal.woff2", $range: (U+8f52-8f55, U+8f57-8f58, U+8f5c-8f5e, U+8f61-8f66, U+8f9c-8f9d, U+8f9f-8fa2, U+8fa4-8fa8, U+8fad-8faf, U+8fb4-8fb8, U+8fbe, U+8fc0-8fc2, U+8fc6, U+8fc8, U+8fca-8fcb, U+8fcd, U+8fd0, U+8fd2-8fd3, U+8fd5, U+8fda, U+8fe0, U+8fe2-8fe5, U+8fe8-8fea, U+8fed-8fef, U+8ff1, U+8ff4-8ff6, U+8ff8-8ffb, U+8ffe, U+9002, U+9004-9005, U+9008, U+900b-900e, U+9011, U+9013, U+9015-9016, U+9018, U+901b, U+901e, U+9021, U+9027-902a, U+902c-902d, U+902f, U+9033-9037, U+9039, U+903c, U+903e-903f, U+9041, U+9043-9044, U+9049, U+904c, U+904f-9052, U+9056, U+9058, U+905b-905e, U+9062, U+9066-9068, U+906c, U+906f-9070, U+9072, U+9074, U+9076, U+9079, U+9080-9083, U+9085, U+9087-9088, U+908b-908c, U+908e-9090, U+9095, U+9097-9099, U+909b, U+90a0-90a2, U+90a5, U+90a8, U+90af-90b6, U+90bd-90be, U+90c3-90c5, U+90c7-90c9, U+90cc, U+90d2, U+90d5, U+90d7-90d9, U+90db-90df, U+90e2, U+90e4-90e5, U+90eb, U+90ef-90f0, U+90f2, U+90f4, U+90f6, U+90fe-9100, U+9102, U+9104-9106, U+9108, U+910d, U+9110, U+9112, U+9114-911a, U+911c, U+911e, U+9120, U+9122-9123, U+9125, U+9127, U+9129, U+912d-9132, U+9134, U+9136-9137, U+9139-913a, U+913c-913d) ); /* noto-sans-jp-[14]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-14-400-normal.woff2", $range: (U+8dc0, U+8dc2, U+8dc5-8dc8, U+8dca-8dcc, U+8dce-8dcf, U+8dd1, U+8dd4-8dd7, U+8dd9-8ddb, U+8ddf, U+8de3-8de5, U+8de7, U+8dea-8dec, U+8df0-8df2, U+8df4, U+8dfc-8dfd, U+8dff, U+8e01, U+8e04-8e06, U+8e08-8e09, U+8e0b-8e0c, U+8e10-8e11, U+8e14, U+8e16, U+8e1d-8e23, U+8e26-8e27, U+8e30-8e31, U+8e33-8e39, U+8e3d, U+8e40-8e42, U+8e44, U+8e47-8e50, U+8e54-8e55, U+8e59, U+8e5b-8e64, U+8e69, U+8e6c-8e6d, U+8e6f-8e72, U+8e75-8e77, U+8e79-8e7c, U+8e81-8e85, U+8e89, U+8e8b, U+8e90-8e95, U+8e98-8e9b, U+8e9d-8e9e, U+8ea1-8ea2, U+8ea7, U+8ea9-8eaa, U+8eac-8eb1, U+8eb3, U+8eb5-8eb6, U+8eba-8ebb, U+8ebe, U+8ec0-8ec1, U+8ec3-8ec8, U+8ecb, U+8ecf, U+8ed1, U+8ed4, U+8edb-8edc, U+8ee3, U+8ee8, U+8eeb, U+8eed-8eee, U+8ef0-8ef1, U+8ef7, U+8ef9-8efc, U+8efe, U+8f00, U+8f02, U+8f05, U+8f07-8f08, U+8f0a, U+8f0f-8f10, U+8f12-8f13, U+8f15-8f19, U+8f1b-8f1c, U+8f1e-8f21, U+8f23, U+8f25-8f28, U+8f2b-8f2f, U+8f33-8f37, U+8f39-8f3b, U+8f3e, U+8f40-8f43, U+8f45-8f47, U+8f49-8f4a, U+8f4c-8f4f, U+8f51) ); /* noto-sans-jp-[15]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-15-400-normal.woff2", $range: (U+8b2d, U+8b30, U+8b37, U+8b3c, U+8b3e, U+8b41-8b46, U+8b48-8b49, U+8b4c-8b4f, U+8b51-8b54, U+8b56, U+8b59, U+8b5b, U+8b5e-8b5f, U+8b63, U+8b69, U+8b6b-8b6d, U+8b6f, U+8b71, U+8b74, U+8b76, U+8b78-8b79, U+8b7c-8b81, U+8b84-8b85, U+8b8a-8b8f, U+8b92-8b96, U+8b99-8b9a, U+8b9c-8ba0, U+8c38-8c3a, U+8c3d-8c3f, U+8c41, U+8c45, U+8c47-8c49, U+8c4b-8c4c, U+8c4e-8c51, U+8c53-8c55, U+8c57-8c59, U+8c5b, U+8c5d, U+8c62-8c64, U+8c66, U+8c68-8c69, U+8c6b-8c6d, U+8c73, U+8c75-8c76, U+8c78, U+8c7a-8c7c, U+8c7e, U+8c82, U+8c85-8c87, U+8c89-8c8b, U+8c8d-8c8e, U+8c90, U+8c92-8c94, U+8c98-8c99, U+8c9b-8c9c, U+8c9f, U+8ca4, U+8cad-8cae, U+8cb2-8cb3, U+8cb6, U+8cb9-8cba, U+8cbd, U+8cc1-8cc2, U+8cc4-8cc6, U+8cc8-8cc9, U+8ccb, U+8ccd-8ccf, U+8cd2, U+8cd5-8cd6, U+8cd9-8cda, U+8cdd, U+8ce1, U+8ce3-8ce4, U+8ce6, U+8ce8, U+8cec, U+8cef-8cf2, U+8cf4-8cf5, U+8cf7-8cf8, U+8cfa-8cfb, U+8cfd-8cff, U+8d01, U+8d03-8d04, U+8d07, U+8d09-8d0b, U+8d0d-8d10, U+8d12-8d14, U+8d16-8d17, U+8d1b-8d1d, U+8d65, U+8d67, U+8d69, U+8d6b-8d6e, U+8d71, U+8d73, U+8d76, U+8d7f, U+8d81-8d82, U+8d84, U+8d88, U+8d8d, U+8d90-8d91, U+8d95, U+8d99, U+8d9e-8da0, U+8da6, U+8da8, U+8dab-8dac, U+8daf, U+8db2, U+8db5, U+8db7, U+8db9-8dbc, U+8dbe) ); /* noto-sans-jp-[16]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-16-400-normal.woff2", $range: (U+8973-8975, U+8977, U+897a-897e, U+8980, U+8983, U+8988-898a, U+898d, U+8990, U+8993-8995, U+8998, U+899b-899c, U+899f-89a1, U+89a5-89a6, U+89a9, U+89ac, U+89af-89b0, U+89b2, U+89b4-89b7, U+89ba, U+89bc-89bd, U+89bf-89c1, U+89d4-89d8, U+89da, U+89dc-89dd, U+89e5, U+89e7, U+89e9, U+89eb, U+89ed, U+89f1, U+89f3-89f4, U+89f6, U+89f8-89f9, U+89fd, U+89ff, U+8a01, U+8a04-8a05, U+8a07, U+8a0c, U+8a0f-8a12, U+8a14-8a16, U+8a1b, U+8a1d-8a1e, U+8a20-8a22, U+8a24-8a26, U+8a2b-8a2c, U+8a2f, U+8a35-8a37, U+8a3b, U+8a3d-8a3e, U+8a40-8a41, U+8a43, U+8a45-8a49, U+8a4d-8a4e, U+8a51-8a54, U+8a56-8a58, U+8a5b-8a5d, U+8a61-8a62, U+8a65, U+8a67, U+8a6c-8a6d, U+8a75-8a77, U+8a79-8a7c, U+8a7e-8a80, U+8a82-8a86, U+8a8b, U+8a8f-8a92, U+8a96-8a97, U+8a99-8a9a, U+8a9f, U+8aa1, U+8aa3, U+8aa5-8aaa, U+8aae-8aaf, U+8ab3, U+8ab6-8ab7, U+8abb-8abc, U+8abe, U+8ac2-8ac4, U+8ac6, U+8ac8-8aca, U+8acc-8acd, U+8ad0-8ad1, U+8ad3-8ad5, U+8ad7, U+8ada-8ae2, U+8ae4, U+8ae7, U+8aeb-8aec, U+8aee, U+8af0-8af1, U+8af3-8af7, U+8afa, U+8afc, U+8aff, U+8b01-8b02, U+8b04-8b07, U+8b0a-8b0d, U+8b0f-8b11, U+8b14, U+8b16, U+8b1a, U+8b1c, U+8b1e-8b20, U+8b26, U+8b28, U+8b2b-8b2c) ); /* noto-sans-jp-[17]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-17-400-normal.woff2", $range: (U+87e2-87e6, U+87ea-87ed, U+87ef, U+87f1, U+87f3, U+87f5-87f8, U+87fa-87fb, U+87fe-87ff, U+8801, U+8803, U+8805-8807, U+8809-880b, U+880d-8816, U+8818-881c, U+881e-881f, U+8821-8822, U+8827-8828, U+882d-882e, U+8830-8832, U+8835-8836, U+8839-883c, U+8841-8845, U+8848-884b, U+884d-884e, U+8851-8852, U+8855-8856, U+8858-885a, U+885c, U+885e-8860, U+8862, U+8864, U+8869, U+886b, U+886e-886f, U+8871-8872, U+8875, U+8877, U+8879, U+887b, U+887d-887e, U+8880-8882, U+8888, U+888d, U+8892, U+8897-889c, U+889e-88a0, U+88a2, U+88a4, U+88a8, U+88aa, U+88ae, U+88b0-88b1, U+88b5, U+88b7, U+88ba, U+88bc-88c0, U+88c3-88c4, U+88c6, U+88ca-88ce, U+88d1-88d4, U+88d8-88d9, U+88db, U+88dd-88e1, U+88e7-88e8, U+88ef-88f2, U+88f4-88f5, U+88f7, U+88f9, U+88fc, U+8901-8902, U+8904, U+8906, U+890a, U+890c-890f, U+8913, U+8915-8916, U+8918-891a, U+891c-891e, U+8920, U+8925-8928, U+892a-892b, U+8930-8932, U+8935-893b, U+893e, U+8940-8946, U+8949, U+894c-894d, U+894f, U+8952, U+8956-8957, U+895a-895c, U+895e, U+8960-8964, U+8966, U+896a-896b, U+896d-8970) ); /* noto-sans-jp-[18]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-18-400-normal.woff2", $range: (U+8655-8659, U+865b, U+865d-8664, U+8667, U+8669, U+866c, U+866f, U+8671, U+8675-8677, U+867a-867b, U+867d, U+8687-8689, U+868b-868d, U+8691, U+8693, U+8695-8696, U+8698, U+869a, U+869c-869d, U+86a1, U+86a3-86a4, U+86a6-86ab, U+86ad, U+86af-86b1, U+86b3-86b9, U+86bf-86c1, U+86c3-86c6, U+86c9, U+86cb, U+86ce, U+86d1-86d2, U+86d4-86d5, U+86d7, U+86da, U+86dc, U+86de-86e0, U+86e3-86e7, U+86e9, U+86ec-86ed, U+86ef, U+86f8-86fe, U+8700, U+8703-870b, U+870d-8714, U+8719-871a, U+871e-871f, U+8721-8723, U+8725, U+8728-8729, U+872e-872f, U+8731-8732, U+8734, U+8737, U+8739-8740, U+8743, U+8745, U+8749, U+874b-874e, U+8751, U+8753, U+8755, U+8757-8759, U+875d, U+875f-8761, U+8763-8766, U+8768, U+876a, U+876e-876f, U+8771-8772, U+8774, U+8778, U+877b-877c, U+877f, U+8782-8789, U+878b-878c, U+878e, U+8790, U+8793, U+8795, U+8797-8799, U+879e-87a0, U+87a2-87a3, U+87a7, U+87ab-87af, U+87b1, U+87b3, U+87b5, U+87bb, U+87bd-87c1, U+87c4, U+87c6-87cb, U+87ce, U+87d0, U+87d2, U+87d5-87d6, U+87d9-87da, U+87dc, U+87df-87e0) ); /* noto-sans-jp-[19]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-19-400-normal.woff2", $range: (U+84b4, U+84b9-84bb, U+84bd-84c2, U+84c6-84ca, U+84cc-84d1, U+84d3, U+84d6, U+84d9-84da, U+84dc, U+84e7, U+84ea, U+84ec, U+84ef-84f2, U+84f4, U+84f7, U+84fa-84fd, U+84ff-8500, U+8502-8503, U+8506-8507, U+850c, U+850e, U+8510, U+8514-8515, U+8517-8518, U+851a-851c, U+851e-851f, U+8521-8525, U+8527, U+852a-852c, U+852f, U+8532-8534, U+8536, U+853e-8541, U+8543, U+8546, U+8548, U+854a-854b, U+854f-8553, U+8555-855a, U+855c-8564, U+8569-856b, U+856d, U+856f, U+8577, U+8579-857b, U+857d-8581, U+8585-8586, U+8588-858c, U+858f-8591, U+8593, U+8597-8598, U+859b-859d, U+859f-85a0, U+85a2, U+85a4-85a5, U+85a7-85a8, U+85ad-85b0, U+85b4, U+85b6-85ba, U+85bc-85bf, U+85c1-85c2, U+85c7, U+85c9-85cb, U+85ce-85d0, U+85d5, U+85d8-85da, U+85dc, U+85df-85e1, U+85e5-85e6, U+85e8, U+85ed, U+85f3-85f4, U+85f6-85f7, U+85f9-85fa, U+85fc, U+85fe-8600, U+8602, U+8604-8606, U+860a-860b, U+860d-860e, U+8610-8613, U+8616-861b, U+861e, U+8621-8622, U+8624, U+8627, U+8629, U+862f-8630, U+8636, U+8638-863a, U+863c-863d, U+863f-8642, U+8646, U+864d, U+8652-8654) ); /* noto-sans-jp-[20]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-20-400-normal.woff2", $range: (U+82e8, U+82ea, U+82ed, U+82ef, U+82f3-82f4, U+82f6-82f7, U+82f9, U+82fb, U+82fd-82fe, U+8300-8301, U+8303, U+8306-8308, U+830a-830c, U+8316-8318, U+831b, U+831d-831f, U+8321-8323, U+832b-8335, U+8337, U+833a, U+833c-833d, U+8340, U+8342-8347, U+834a, U+834d-8351, U+8353-8357, U+835a, U+8362-8363, U+8370, U+8373, U+8375, U+8378, U+837c-837d, U+837f-8380, U+8382, U+8384-8387, U+838a, U+838d-838e, U+8392-8396, U+8398-83a0, U+83a2, U+83a6-83ad, U+83b1, U+83b5, U+83bd-83c1, U+83c7, U+83c9, U+83ce-83d1, U+83d4, U+83d6, U+83d8, U+83dd, U+83df-83e1, U+83e5, U+83e8, U+83ea-83eb, U+83f0, U+83f2, U+83f4, U+83f6-83f9, U+83fb-83fd, U+8401, U+8403-8404, U+8406-8407, U+840a-840b, U+840d, U+840f, U+8411, U+8413, U+8415, U+8417, U+8419, U+8420, U+8422, U+842a, U+842f, U+8431, U+8435, U+8438-8439, U+843c, U+8445-8448, U+844a, U+844d-844f, U+8451-8452, U+8456, U+8458-845a, U+845c, U+845f-8462, U+8464-8467, U+8469-846b, U+846d-8470, U+8473-8474, U+8476-847a, U+847c-847d, U+8481-8482, U+8484-8485, U+848b, U+8490, U+8492-8493, U+8495, U+8497, U+849c, U+849e-849f, U+84a1, U+84a6, U+84a8-84aa, U+84ad, U+84af, U+84b1) ); /* noto-sans-jp-[21]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-21-400-normal.woff2", $range: (U+814a, U+814c, U+8151-8153, U+8157, U+815f-8161, U+8165-8169, U+816d-816f, U+8171, U+8173-8174, U+8177, U+8180-8186, U+8188, U+818a-818b, U+818e, U+8190, U+8193, U+8195-8196, U+8198, U+819b, U+819e, U+81a0, U+81a2, U+81a4, U+81a9, U+81ae, U+81b0, U+81b2, U+81b4-81b5, U+81b8, U+81ba-81bb, U+81bd-81be, U+81c0-81c3, U+81c5-81c6, U+81c8-81cb, U+81cd-81cf, U+81d1, U+81d5-81db, U+81dd-81e1, U+81e4-81e5, U+81e7, U+81eb-81ec, U+81ef-81f2, U+81f5-81f6, U+81f8-81fb, U+81fd-8205, U+8209-820b, U+820d, U+820f, U+8212-8214, U+8216, U+8219-821d, U+8221-8222, U+8228-8229, U+822b, U+822e, U+8232-8235, U+8237-8238, U+823a, U+823c, U+8240, U+8243-8246, U+8249, U+824b, U+824e-824f, U+8251, U+8256-825a, U+825c-825d, U+825f-8260, U+8262-8264, U+8267-8268, U+826a-826b, U+826d-826e, U+8271, U+8274, U+8277, U+8279, U+827b, U+827d-8281, U+8283-8284, U+8287, U+8289-828a, U+828d-828e, U+8291-8294, U+8296, U+8298-829b, U+829f-82a1, U+82a3-82a4, U+82a7-82ac, U+82ae, U+82b0, U+82b2, U+82b4, U+82b7, U+82ba-82bc, U+82be-82bf, U+82c5-82c6, U+82d0, U+82d2-82d3, U+82d5, U+82d9-82da, U+82dc, U+82de-82e4, U+82e7) ); /* noto-sans-jp-[22]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-22-400-normal.woff2", $range: (U+7f77-7f79, U+7f7d-7f80, U+7f82-7f83, U+7f86-7f88, U+7f8b-7f8d, U+7f8f-7f91, U+7f94, U+7f96-7f97, U+7f9a, U+7f9c-7f9d, U+7fa1-7fa3, U+7fa6, U+7faa, U+7fad-7faf, U+7fb2, U+7fb4, U+7fb6, U+7fb8-7fb9, U+7fbc, U+7fbf-7fc0, U+7fc3, U+7fc5-7fc6, U+7fc8, U+7fca, U+7fce-7fcf, U+7fd5, U+7fdb, U+7fdf, U+7fe1, U+7fe3, U+7fe5-7fe6, U+7fe8-7fe9, U+7feb-7fec, U+7fee-7ff0, U+7ff2-7ff3, U+7ff9-7ffa, U+7ffd-7fff, U+8002, U+8004, U+8006-8008, U+800a-800f, U+8011-8014, U+8016, U+8018-8019, U+801c-8021, U+8024, U+8026, U+8028, U+802c, U+802e, U+8030, U+8034-8035, U+8037, U+8039-8040, U+8043-8044, U+8046, U+804a, U+8052, U+8058, U+805a, U+805f-8060, U+8062, U+8064, U+8066, U+8068, U+806d, U+806f-8073, U+8075-8076, U+8079, U+807b, U+807d-8081, U+8084-8088, U+808b, U+808e, U+8093, U+8099-809a, U+809c, U+809e, U+80a4, U+80a6-80a7, U+80ab-80ad, U+80b1, U+80b8-80b9, U+80c4-80c5, U+80c8, U+80ca, U+80cd, U+80cf, U+80d2, U+80d4-80db, U+80dd, U+80e0, U+80e4-80e6, U+80ed-80f3, U+80f5-80f7, U+80f9-80fc, U+80fe, U+8101, U+8103, U+8109, U+810b, U+810d, U+8116-8118, U+811b-811c, U+811e, U+8120, U+8123-8124, U+8127, U+8129, U+812b-812c, U+812f-8130, U+8135, U+8139-813a, U+813c-813e, U+8141, U+8145-8147) ); /* noto-sans-jp-[23]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-23-400-normal.woff2", $range: (U+7d57, U+7d59-7d5d, U+7d63, U+7d65, U+7d67, U+7d6a, U+7d6e, U+7d70, U+7d72-7d73, U+7d78, U+7d7a-7d7b, U+7d7d, U+7d7f, U+7d81-7d83, U+7d85-7d86, U+7d88-7d89, U+7d8b-7d8d, U+7d8f, U+7d91, U+7d93, U+7d96-7d97, U+7d9b-7da0, U+7da2-7da3, U+7da6-7da7, U+7daa-7dac, U+7dae-7db0, U+7db3, U+7db5-7db9, U+7dbd, U+7dc0, U+7dc2-7dc7, U+7dcc-7dce, U+7dd0, U+7dd5-7dd9, U+7ddc-7dde, U+7de1-7de6, U+7dea-7ded, U+7df1-7df2, U+7df5-7df6, U+7df9-7dfa, U+7e00, U+7e05, U+7e08-7e0b, U+7e10-7e12, U+7e15, U+7e17, U+7e1c-7e1d, U+7e1f-7e23, U+7e27-7e28, U+7e2c-7e2d, U+7e2f, U+7e31-7e33, U+7e35-7e37, U+7e39-7e3b, U+7e3d, U+7e3f, U+7e43-7e48, U+7e4e, U+7e50, U+7e52, U+7e56, U+7e58-7e5a, U+7e5d-7e5f, U+7e61-7e62, U+7e65-7e67, U+7e69-7e6b, U+7e6d-7e6f, U+7e73, U+7e75, U+7e78-7e79, U+7e7b-7e7f, U+7e81-7e83, U+7e86-7e8a, U+7e8c-7e8e, U+7e90-7e96, U+7e98, U+7e9a-7e9f, U+7f38, U+7f3a-7f3f, U+7f43-7f45, U+7f47, U+7f4c-7f50, U+7f52-7f55, U+7f58, U+7f5b-7f5d, U+7f5f, U+7f61, U+7f63-7f69, U+7f6b, U+7f6d, U+7f71) ); /* noto-sans-jp-[24]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-24-400-normal.woff2", $range: (U+7bc8, U+7bca-7bcc, U+7bcf, U+7bd4, U+7bd6-7bd7, U+7bd9-7bdb, U+7bdd, U+7be5-7be6, U+7be8-7bea, U+7bf0, U+7bf2-7bfa, U+7bfc, U+7bfe, U+7c00-7c04, U+7c06-7c07, U+7c09, U+7c0b-7c0f, U+7c11-7c14, U+7c17, U+7c19, U+7c1b, U+7c1e-7c20, U+7c23, U+7c25-7c28, U+7c2a-7c2c, U+7c2f, U+7c31, U+7c33-7c34, U+7c36-7c3a, U+7c3d-7c3e, U+7c40, U+7c42-7c43, U+7c45-7c46, U+7c4a, U+7c4c, U+7c4f-7c5f, U+7c61, U+7c63-7c65, U+7c67, U+7c69, U+7c6c-7c70, U+7c72, U+7c75, U+7c79, U+7c7b-7c7e, U+7c81-7c83, U+7c86-7c87, U+7c8d, U+7c8f-7c90, U+7c94, U+7c9e, U+7ca0-7ca2, U+7ca4-7ca6, U+7ca8, U+7cab, U+7cad-7cae, U+7cb0-7cb3, U+7cb6-7cb7, U+7cb9-7cbd, U+7cbf-7cc0, U+7cc2, U+7cc4-7cc5, U+7cc7-7cca, U+7ccd-7ccf, U+7cd2-7cd5, U+7cd7-7cda, U+7cdc-7cdd, U+7cdf-7ce0, U+7ce2, U+7ce6, U+7ce9, U+7ceb, U+7cef, U+7cf2, U+7cf4-7cf6, U+7cf9-7cfa, U+7cfe, U+7d02-7d03, U+7d06-7d0a, U+7d0f, U+7d11-7d13, U+7d15-7d16, U+7d1c-7d1e, U+7d23, U+7d26, U+7d2a, U+7d2c-7d2e, U+7d31-7d32, U+7d35, U+7d3c-7d41, U+7d43, U+7d45, U+7d47-7d48, U+7d4b, U+7d4d-7d4f, U+7d51, U+7d53, U+7d55-7d56) ); /* noto-sans-jp-[25]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-25-400-normal.woff2", $range: (U+7a17-7a19, U+7a1b, U+7a1e-7a21, U+7a27, U+7a2b, U+7a2d, U+7a2f-7a31, U+7a34-7a35, U+7a37-7a3b, U+7a3e, U+7a43-7a49, U+7a4c, U+7a4e, U+7a50, U+7a55-7a57, U+7a59, U+7a5c-7a5d, U+7a5f-7a63, U+7a65, U+7a67, U+7a69-7a6a, U+7a6d, U+7a70, U+7a75, U+7a78-7a79, U+7a7d-7a7e, U+7a80, U+7a82, U+7a84-7a86, U+7a88, U+7a8a-7a8b, U+7a90-7a91, U+7a94-7a98, U+7a9e, U+7aa0, U+7aa3, U+7aa9, U+7aac, U+7ab0, U+7ab3, U+7ab5-7ab6, U+7ab9-7abf, U+7ac3, U+7ac5-7aca, U+7acc-7acf, U+7ad1-7ad3, U+7ad5, U+7ada-7adb, U+7add, U+7adf, U+7ae1-7ae2, U+7ae6-7aed, U+7af0-7af1, U+7af4, U+7af8, U+7afa-7afb, U+7afd-7afe, U+7b02, U+7b04, U+7b06-7b08, U+7b0a-7b0b, U+7b0f, U+7b12, U+7b14, U+7b18-7b19, U+7b1e-7b1f, U+7b23, U+7b25, U+7b27-7b2b, U+7b2d-7b31, U+7b33-7b36, U+7b3b, U+7b3d, U+7b3f-7b41, U+7b45, U+7b47, U+7b4c-7b50, U+7b53, U+7b55, U+7b5d, U+7b60, U+7b64-7b66, U+7b69-7b6a, U+7b6c-7b75, U+7b77, U+7b79-7b7a, U+7b7f, U+7b84, U+7b86, U+7b89, U+7b8d-7b92, U+7b96, U+7b98-7ba0, U+7ba5, U+7bac-7bad, U+7baf-7bb0, U+7bb2, U+7bb4-7bb6, U+7bba-7bbd, U+7bc1-7bc2, U+7bc5-7bc6) ); /* noto-sans-jp-[26]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-26-400-normal.woff2", $range: (U+7851-7852, U+785c, U+785e, U+7860-7861, U+7863-7864, U+7868, U+786a, U+786e-786f, U+7872, U+7874, U+787a, U+787c, U+787e, U+7886-7887, U+788a, U+788c-788f, U+7893-7895, U+7898, U+789a, U+789d-789f, U+78a1, U+78a3-78a4, U+78a8-78aa, U+78ac-78ad, U+78af-78b3, U+78b5, U+78bb-78bf, U+78c5-78cc, U+78ce, U+78d1-78d6, U+78da-78db, U+78df-78e1, U+78e4, U+78e6-78e7, U+78ea, U+78ec, U+78f2-78f4, U+78f6-78f7, U+78f9-78fb, U+78fd-7901, U+7906-7907, U+790c, U+7910-7912, U+7919-791c, U+791e-7920, U+7925-792e, U+7930-7931, U+7934-7935, U+793b, U+793d, U+793f, U+7941-7942, U+7944-7946, U+794a-794b, U+794f, U+7951, U+7954-7955, U+7957-7958, U+795a-795c, U+795f-7960, U+7962, U+7967, U+7969, U+796b, U+7972, U+7977, U+7979-797c, U+797e-7980, U+798a-798e, U+7991, U+7993-7996, U+7998, U+799b-799d, U+79a1, U+79a6-79ab, U+79ae-79b1, U+79b3-79b4, U+79b8-79bb, U+79bd-79be, U+79c2, U+79c4, U+79c7-79ca, U+79cc-79cd, U+79cf, U+79d4-79d6, U+79da, U+79dd-79e3, U+79e5, U+79e7, U+79ea-79ed, U+79f1, U+79f8, U+79fc, U+7a02-7a03, U+7a05, U+7a07-7a0a, U+7a0c-7a0d, U+7a11, U+7a15) ); /* noto-sans-jp-[27]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-27-400-normal.woff2", $range: (U+768c-768e, U+7690, U+7693, U+7695-7696, U+7699-76a8, U+76aa, U+76ad, U+76af-76b0, U+76b4, U+76b6-76ba, U+76bd, U+76c1-76c3, U+76c5, U+76c8-76c9, U+76cb-76ce, U+76d2, U+76d4, U+76d6, U+76d9, U+76dc, U+76de, U+76e0-76e1, U+76e5-76e8, U+76ea-76ec, U+76f0-76f1, U+76f6, U+76f9, U+76fb-76fc, U+7700, U+7704, U+7706-7708, U+770a, U+770e, U+7712, U+7714-7715, U+7717, U+7719-771c, U+7722, U+7724-7726, U+7728, U+772d-772f, U+7734-7739, U+773d-773e, U+7742, U+7745-7747, U+774a, U+774d-774f, U+7752, U+7756-7758, U+775a-775c, U+775e-7760, U+7762, U+7764-7765, U+7767, U+776a-776c, U+7770, U+7772-7774, U+7779-777a, U+777c-7780, U+7784, U+778b-778e, U+7794-7796, U+779a, U+779e-77a0, U+77a2, U+77a4-77a5, U+77a7, U+77a9-77aa, U+77ae-77b1, U+77b5-77b7, U+77b9, U+77bb-77bf, U+77c3, U+77c7, U+77c9, U+77cd, U+77d1-77d2, U+77d5, U+77d7, U+77d9-77da, U+77dc, U+77de-77e0, U+77e3-77e4, U+77e6-77e7, U+77e9-77ea, U+77ec, U+77ee, U+77f0-77f1, U+77f4, U+77f8, U+77fb-77fc, U+7805-7806, U+7809, U+780c-780e, U+7811-7812, U+7819, U+781d, U+7820-7823, U+7826-7827, U+782c-782e, U+7830, U+7835, U+7837, U+783a, U+783f, U+7843-7845, U+7847-7848, U+784c, U+784e-784f) ); /* noto-sans-jp-[28]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-28-400-normal.woff2", $range: (U+7511-7513, U+7515-7517, U+751c, U+751e, U+7520-7522, U+7524, U+7526-7527, U+7529-752c, U+752f, U+7536, U+7538-7539, U+753c-7540, U+7543-7544, U+7546-754b, U+754d-7550, U+7552, U+7557, U+755a-755b, U+755d-755f, U+7561-7562, U+7564, U+7566-7567, U+7569, U+756b-756d, U+756f, U+7571-7572, U+7574-757e, U+7581-7582, U+7585-7587, U+7589-758c, U+758f-7590, U+7592-7595, U+7599-759a, U+759c-759d, U+75a2-75a5, U+75b0-75b1, U+75b3-75b5, U+75b7-75b8, U+75ba, U+75bd, U+75bf-75c4, U+75c6, U+75ca, U+75cc-75cf, U+75d3-75d4, U+75d7-75d8, U+75dc-75e1, U+75e3-75e4, U+75e7, U+75ec, U+75ee-75f3, U+75f9, U+75fc, U+75fe-7604, U+7607-760c, U+760f, U+7612-7613, U+7615-7616, U+7618-7619, U+761b-7629, U+762d, U+7630, U+7632-7635, U+7638-763c, U+7640-7641, U+7643-764b, U+764e, U+7655, U+7658-7659, U+765c, U+765f, U+7661-7662, U+7664-7665, U+7667-766a, U+766c-7672, U+7674, U+7676, U+7678, U+7680-7683, U+7685, U+7688, U+768b) ); /* noto-sans-jp-[29]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-29-400-normal.woff2", $range: (U+736c, U+736e-7371, U+7375, U+7377-737c, U+7380-7381, U+7383, U+7385-7386, U+738a, U+738e, U+7390, U+7393-7398, U+739c, U+739e-73a0, U+73a2, U+73a5-73a6, U+73a8, U+73aa-73ab, U+73ad, U+73b3, U+73b5, U+73b7, U+73b9-73bd, U+73bf, U+73c5-73c6, U+73c9-73cc, U+73ce-73cf, U+73d2-73d3, U+73d6, U+73d9, U+73dd-73de, U+73e1, U+73e3-73e7, U+73e9-73ea, U+73ee, U+73f1, U+73f4-73f5, U+73f7-73fb, U+73fd, U+73ff-7401, U+7404-7405, U+7407, U+740a, U+7411, U+7413, U+741a-741b, U+7421, U+7424, U+7426, U+7428-7431, U+7433, U+7439-743a, U+743f-7441, U+7443-7444, U+7446-7447, U+744b, U+744d, U+7451-7453, U+7455, U+7457, U+7459-745a, U+745c-745d, U+745f, U+7462-7464, U+7466-746b, U+746d-7473, U+7476, U+747e, U+7480-7481, U+7485-7489, U+748b, U+748f-7492, U+7497-749a, U+749c, U+749e-74a3, U+74a5-74a6, U+74a8-74ab, U+74ae-74af, U+74b1-74b2, U+74b5, U+74b9-74bb, U+74bd, U+74bf, U+74c8-74ca, U+74cc, U+74cf-74d0, U+74d3-74d4, U+74d6, U+74d8, U+74da-74db, U+74de-74e0, U+74e3-74e4, U+74e7-74eb, U+74ee-74f2, U+74f4, U+74f7-74f8, U+74fa-74fc, U+74ff, U+7501, U+7503-7506, U+750c-750e) ); /* noto-sans-jp-[30]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-30-400-normal.woff2", $range: (U+7166, U+7168, U+716c, U+7179, U+7180, U+7184-7185, U+7187-7188, U+718c, U+718f, U+7192, U+7194-7196, U+7199-719b, U+71a0, U+71a2, U+71a8, U+71ac, U+71ae-71b0, U+71b2-71b3, U+71b9-71ba, U+71be-71c1, U+71c4, U+71c9, U+71cb-71cc, U+71ce, U+71d0, U+71d2-71d4, U+71d6-71d7, U+71d9-71da, U+71dc, U+71df-71e0, U+71e6-71e7, U+71ec-71ee, U+71f4-71f5, U+71f8-71f9, U+71fc, U+71fe-7200, U+7207-7209, U+720d, U+7210, U+7213, U+7215, U+7217, U+721a, U+721d, U+721f, U+7224, U+7228, U+722b, U+722d, U+722f-7230, U+7232, U+7234, U+7238-7239, U+723b-723c, U+723e-7243, U+7245-7246, U+724b, U+724e-7250, U+7252-7253, U+7255-7258, U+725a, U+725c, U+725e, U+7260, U+7263, U+7268, U+726b, U+726e-726f, U+7271, U+7274, U+7277-7278, U+727b-727c, U+727e-7282, U+7284, U+7287, U+7289, U+728d-728e, U+7292-7293, U+7296, U+729b, U+72a2, U+72a7-72a8, U+72ad-72ae, U+72b0-72b2, U+72b4, U+72b9, U+72be, U+72c0-72c1, U+72c3-72c4, U+72c6-72c7, U+72c9, U+72cc, U+72ce, U+72d2, U+72d5-72d6, U+72d8, U+72df-72e2, U+72e5, U+72f3-72f4, U+72f7, U+72f9-72fb, U+72fd-72fe, U+7302, U+7304-7305, U+7307, U+730a-730b, U+730d, U+7312-7313, U+7316-7319, U+731c-731e, U+7322, U+7324, U+7327-7329, U+732c, U+732f, U+7331-7337, U+7339-733b, U+733d-733e, U+7343, U+734d-7350, U+7352, U+7356-7358, U+735d-7360, U+7366-736b) ); /* noto-sans-jp-[31]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-31-400-normal.woff2", $range: (U+6f58-6f5b, U+6f5d-6f5e, U+6f60-6f62, U+6f66, U+6f68, U+6f6c-6f6d, U+6f6f, U+6f74, U+6f78, U+6f7a, U+6f7c-6f7e, U+6f80, U+6f82-6f83, U+6f86-6f88, U+6f8b-6f8e, U+6f90-6f94, U+6f96-6f98, U+6f9a, U+6f9d, U+6f9f-6fa1, U+6fa3, U+6fa5-6fa8, U+6fae-6fb1, U+6fb3, U+6fb5-6fb7, U+6fb9, U+6fbc, U+6fbe, U+6fc2, U+6fc5-6fca, U+6fd4-6fd5, U+6fd8, U+6fda-6fdb, U+6fde-6fe0, U+6fe4, U+6fe8-6fe9, U+6feb-6fec, U+6fee, U+6ff0, U+6ff3, U+6ff5-6ff6, U+6ff9-6ffa, U+6ffc-6ffe, U+7000-7001, U+7005-7007, U+7009-700b, U+700d, U+700f, U+7011, U+7015, U+7017-7018, U+701a-701b, U+701d-7020, U+7023, U+7026, U+7028, U+702f-7030, U+7032, U+7034, U+7037, U+7039-703a, U+703c, U+703e, U+7043-7044, U+7047-704c, U+704e, U+7051, U+7054-7055, U+705d-705e, U+7064-7065, U+7069, U+706c, U+706e, U+7075-7076, U+707e, U+7081, U+7085-7086, U+7094-7098, U+709b, U+709f, U+70a4, U+70ab-70ac, U+70ae-70b1, U+70b3-70b4, U+70b7, U+70bb, U+70ca-70cb, U+70d1, U+70d3-70d6, U+70d8-70d9, U+70dc-70dd, U+70df, U+70e4, U+70ec, U+70f1, U+70fa, U+70fd, U+7103-7108, U+710b-710c, U+710f, U+7114, U+7119, U+711c, U+711e, U+7120, U+712b, U+712d-7131, U+7138, U+7141, U+7145-7147, U+7149-714b, U+7150-7153, U+7155-7157, U+715a, U+715c, U+715e, U+7160, U+7162, U+7164-7165) ); /* noto-sans-jp-[32]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-32-400-normal.woff2", $range: (U+6d7c, U+6d80-6d82, U+6d85, U+6d87, U+6d89-6d8a, U+6d8c-6d8e, U+6d91-6d98, U+6d9c, U+6daa-6dac, U+6dae, U+6db4-6db5, U+6db7-6db9, U+6dbd, U+6dbf, U+6dc2, U+6dc4-6dc8, U+6dca, U+6dcc, U+6dce-6dd0, U+6dd2, U+6dd5-6dd6, U+6dd8-6ddb, U+6ddd-6de0, U+6de2, U+6de4-6de6, U+6de8-6dea, U+6dec, U+6dee-6df0, U+6df2, U+6df4, U+6df6, U+6df8-6dfa, U+6dfc, U+6e00, U+6e04, U+6e0a, U+6e17, U+6e19, U+6e1d-6e20, U+6e22-6e25, U+6e27, U+6e2b, U+6e2d-6e2e, U+6e32, U+6e34, U+6e36, U+6e38-6e3c, U+6e42-6e45, U+6e48-6e49, U+6e4b-6e4f, U+6e51-6e54, U+6e57, U+6e5b-6e5f, U+6e62-6e63, U+6e68, U+6e6b, U+6e6e, U+6e72-6e73, U+6e76, U+6e7b, U+6e7d, U+6e82, U+6e89, U+6e8c-6e8d, U+6e8f, U+6e93, U+6e98-6e99, U+6e9f-6ea0, U+6ea5, U+6ea7, U+6eaa-6eab, U+6ead-6eaf, U+6eb1-6eb4, U+6eb7, U+6ebb-6ebd, U+6ebf-6ec4, U+6ec7-6eca, U+6ecc-6ecf, U+6ed3-6ed5, U+6ed9-6edb, U+6ee6, U+6eeb-6eef, U+6ef7-6ef9, U+6efb, U+6efd-6eff, U+6f04, U+6f08-6f0a, U+6f0c-6f0d, U+6f10-6f11, U+6f13, U+6f15-6f16, U+6f18, U+6f1a-6f1b, U+6f25-6f26, U+6f29-6f2a, U+6f2d, U+6f2f-6f33, U+6f35-6f36, U+6f38, U+6f3b-6f3c, U+6f3e-6f3f, U+6f41, U+6f45, U+6f4f, U+6f51-6f53, U+6f57) ); /* noto-sans-jp-[33]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-33-400-normal.woff2", $range: (U+6b85, U+6b89, U+6b8d, U+6b95, U+6b97-6b98, U+6b9b, U+6b9e-6ba0, U+6ba2-6ba4, U+6ba8-6bb3, U+6bb7-6bb9, U+6bbc-6bbe, U+6bc0, U+6bc3-6bc4, U+6bc6-6bc9, U+6bcb-6bcc, U+6bcf, U+6bd3, U+6bd6-6bd8, U+6bda, U+6bdf, U+6be1, U+6be3, U+6be6-6be7, U+6beb-6bec, U+6bee, U+6bf1, U+6bf3, U+6bf7, U+6bf9, U+6bff, U+6c02, U+6c04-6c05, U+6c08-6c0a, U+6c0d-6c0e, U+6c10, U+6c12-6c14, U+6c19, U+6c1b, U+6c1f, U+6c24, U+6c26-6c28, U+6c2c, U+6c2e, U+6c33, U+6c35-6c36, U+6c3a-6c3b, U+6c3e-6c40, U+6c4a-6c4b, U+6c4d, U+6c4f, U+6c52, U+6c54-6c55, U+6c59, U+6c5b-6c5e, U+6c62, U+6c67-6c68, U+6c6a-6c6b, U+6c6d, U+6c6f, U+6c73-6c74, U+6c76, U+6c78-6c79, U+6c7b, U+6c7e, U+6c81-6c87, U+6c89, U+6c8c-6c8d, U+6c90, U+6c92-6c95, U+6c97-6c98, U+6c9a-6c9c, U+6c9f, U+6caa-6cae, U+6cb0-6cb2, U+6cb4, U+6cba, U+6cbd-6cbe, U+6cc2, U+6cc5-6cc6, U+6ccd, U+6ccf-6cd4, U+6cd6-6cd7, U+6cd9-6cdd, U+6ce0, U+6ce7, U+6ce9-6cef, U+6cf1-6cf2, U+6cf4, U+6cfb, U+6d00-6d01, U+6d04, U+6d07, U+6d0a, U+6d0c, U+6d0e-6d0f, U+6d11, U+6d13, U+6d19-6d1a, U+6d1f, U+6d24, U+6d26-6d28, U+6d2b, U+6d2e-6d2f, U+6d31, U+6d33-6d36, U+6d38-6d39, U+6d3c-6d3d, U+6d3f, U+6d57-6d5b, U+6d5e-6d61, U+6d64-6d65, U+6d67, U+6d6c, U+6d6f-6d70, U+6d79) ); /* noto-sans-jp-[34]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-34-400-normal.woff2", $range: (U+69dd-69de, U+69e2-69e3, U+69e5, U+69e7-69eb, U+69ed-69ef, U+69f1-69f6, U+69f9, U+69fe-6a01, U+6a03, U+6a05, U+6a0a, U+6a0c, U+6a0f, U+6a11-6a15, U+6a17, U+6a1a-6a1b, U+6a1d-6a20, U+6a22-6a24, U+6a28, U+6a2e, U+6a30, U+6a32-6a38, U+6a3b, U+6a3e-6a3f, U+6a44-6a4a, U+6a4e, U+6a50-6a52, U+6a54-6a56, U+6a5b, U+6a61-6a62, U+6a64, U+6a66-6a67, U+6a6a-6a6b, U+6a71-6a73, U+6a78, U+6a7a, U+6a7e-6a7f, U+6a81, U+6a83-6a84, U+6a86-6a87, U+6a89, U+6a8b, U+6a8d, U+6a90-6a91, U+6a94, U+6a97, U+6a9b, U+6a9d-6aa3, U+6aa5, U+6aaa-6aac, U+6aae-6ab1, U+6ab3-6ab4, U+6ab8, U+6abb, U+6abd-6abf, U+6ac1-6ac3, U+6ac6, U+6ac8-6ac9, U+6acc, U+6ad0-6ad1, U+6ad3-6ad6, U+6ada-6adf, U+6ae2, U+6ae4, U+6ae7-6ae8, U+6aea, U+6aec, U+6af0-6af3, U+6af8, U+6afa, U+6afc-6afd, U+6b02-6b03, U+6b06-6b07, U+6b09-6b0b, U+6b0f-6b12, U+6b16-6b17, U+6b1b, U+6b1d-6b1f, U+6b23-6b24, U+6b28, U+6b2b-6b2c, U+6b2f, U+6b35-6b39, U+6b3b, U+6b3d, U+6b3f, U+6b43, U+6b46-6b47, U+6b49-6b4a, U+6b4d-6b4e, U+6b50, U+6b52, U+6b54, U+6b56, U+6b58-6b59, U+6b5b, U+6b5d, U+6b5f-6b61, U+6b65, U+6b67, U+6b6b-6b6c, U+6b6e, U+6b70, U+6b72, U+6b75, U+6b77-6b7a, U+6b7d-6b84) ); /* noto-sans-jp-[35]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-35-400-normal.woff2", $range: (U+6855, U+6857-6859, U+685b, U+685d, U+685f, U+6863, U+6867, U+686b, U+686e-6872, U+6874-6875, U+6877, U+6879-687c, U+687e-687f, U+6882-6884, U+6886, U+6888, U+688d-6890, U+6894, U+6896, U+6898-689c, U+689f-68a3, U+68a5-68a7, U+68a9-68ab, U+68ad-68af, U+68b2-68b5, U+68b9-68bc, U+68c3, U+68c5-68c6, U+68c8-68ca, U+68cc-68cd, U+68cf-68d1, U+68d3-68d9, U+68dc-68dd, U+68e0-68e1, U+68e3-68e5, U+68e7-68e8, U+68ea-68ed, U+68ef-68f1, U+68f5-68f7, U+68f9, U+68fb-68fd, U+6900-6901, U+6903-6904, U+6906-690c, U+690f-6911, U+6913, U+6916-6917, U+6919-691b, U+6921-6923, U+6925-6926, U+6928, U+692a, U+6930-6931, U+6933-6936, U+6938-6939, U+693b, U+693d, U+6942, U+6945-6946, U+6949, U+694e, U+6954, U+6957, U+6959, U+695b-695e, U+6961-6966, U+6968-696c, U+696e-6974, U+6977-697b, U+697e-6981, U+6986, U+698d, U+6991-6992, U+6994-6996, U+6998, U+699c, U+69a0-69a1, U+69a5-69a8, U+69ab, U+69ad, U+69af-69b2, U+69b4, U+69b7-69b8, U+69ba-69bc, U+69be-69c1, U+69c3, U+69c5, U+69c7-69c8, U+69ca, U+69ce-69d1, U+69d3, U+69d6-69d7, U+69d9) ); /* noto-sans-jp-[36]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-36-400-normal.woff2", $range: (U+667e-6680, U+6683-6684, U+6688, U+668b-668e, U+6690, U+6692, U+6698-669d, U+669f-66a0, U+66a2, U+66a4, U+66ad, U+66b1-66b3, U+66b5, U+66b8-66b9, U+66bb-66bc, U+66be-66c4, U+66c6, U+66c8-66c9, U+66cc, U+66ce-66cf, U+66d4, U+66da-66db, U+66dd, U+66df-66e0, U+66e6, U+66e8-66e9, U+66eb-66ec, U+66ee, U+66f5, U+66f7, U+66fa-66fc, U+6701, U+6705, U+6707, U+670c, U+670e-6710, U+6712-6716, U+6719, U+671c, U+671e, U+6720, U+6722, U+6725-6726, U+672e, U+6733, U+6735-6738, U+673e-673f, U+6741, U+6743, U+6745-6748, U+674c-674d, U+6753-6755, U+6759, U+675d-675e, U+6760, U+6762-6764, U+6766, U+676a, U+676c, U+676e, U+6770, U+6772-6774, U+6776-6777, U+677b-677c, U+6780-6781, U+6784-6785, U+6787, U+6789, U+678b-678c, U+678e-678f, U+6791-6793, U+6796, U+6798-6799, U+679b, U+67a1, U+67a4, U+67a6, U+67a9, U+67b0-67b5, U+67b7-67b9, U+67bb-67be, U+67c0-67c3, U+67c5-67c6, U+67c8-67c9, U+67ce, U+67d2, U+67d7-67d9, U+67db-67de, U+67e1-67e2, U+67e4, U+67e6-67e7, U+67e9, U+67ec, U+67ee-67f0, U+67f2, U+67f6-67f7, U+67f9-67fa, U+67fc, U+67fe, U+6801-6802, U+6805, U+6810, U+6814, U+6818-6819, U+681d, U+681f, U+6822, U+6827-6829, U+682b-682d, U+682f-6834, U+683b, U+683e-6840, U+6844-6846, U+6849-684a, U+684c-684e, U+6852-6854) ); /* noto-sans-jp-[37]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-37-400-normal.woff2", $range: (U+64d2, U+64d4-64d5, U+64d7-64d8, U+64da, U+64e0-64e1, U+64e3-64e5, U+64e7, U+64e9-64ea, U+64ed, U+64ef-64f2, U+64f4-64f7, U+64fa-64fb, U+64fd-6501, U+6504-6505, U+6508-650a, U+650f, U+6513-6514, U+6516, U+6518-6519, U+651b-651f, U+6522, U+6524, U+6526, U+6529-652c, U+652e, U+6531-6532, U+6534-6538, U+653a, U+653c-653d, U+6543-6544, U+6547-6549, U+654d-654e, U+6550, U+6552, U+6554-6556, U+6558, U+655d-6560, U+6567, U+656b, U+6572, U+6578, U+657a, U+657d, U+6581-6585, U+6588, U+658a, U+658c, U+6592, U+6595, U+6598, U+659b, U+659d, U+659f-65a1, U+65a3-65a6, U+65ab, U+65ae, U+65b2-65b5, U+65b7-65b8, U+65be-65bf, U+65c1-65c4, U+65c6, U+65c8-65c9, U+65cc, U+65ce, U+65d0, U+65d2, U+65d4, U+65d6, U+65d8-65d9, U+65db, U+65df-65e1, U+65e3, U+65f0-65f2, U+65f4-65f5, U+65f9, U+65fb-65fc, U+65fe-6600, U+6603-6604, U+6608-660a, U+660d, U+6611-6612, U+6615-6616, U+661c-661e, U+6621-6624, U+6626, U+6629-662c, U+662e, U+6630-6631, U+6633-6637, U+6639-663b, U+663f-6641, U+6644-6646, U+6648-664a, U+664c, U+664e-664f, U+6651, U+6657-6665, U+6667-6668, U+666a-666d, U+6670, U+6673, U+6675, U+6677-6679, U+667b-667c) ); /* noto-sans-jp-[38]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-38-400-normal.woff2", $range: (U+62cf, U+62d1, U+62d4-62d6, U+62da, U+62dc, U+62ea, U+62ee-62ef, U+62f1-62f2, U+62f4-62f5, U+62fc-62fd, U+62ff, U+6302-6304, U+6308-630d, U+6310, U+6313, U+6316, U+6318, U+631b, U+6327, U+6329-632a, U+632d, U+6332, U+6335-6336, U+6339-633c, U+633e, U+6341-6344, U+6346, U+634a-634e, U+6350, U+6352-6354, U+6358-6359, U+635b, U+6365-6366, U+6369, U+636b-636d, U+6371-6372, U+6374-6378, U+637a, U+637c-637d, U+637f-6380, U+6382, U+6384, U+6387, U+6389-638a, U+638e-6390, U+6394-6396, U+6399-639a, U+639e, U+63a0, U+63a3-63a4, U+63a6, U+63a9, U+63ab-63af, U+63b5, U+63bd-63be, U+63c0-63c1, U+63c4-63c6, U+63c8, U+63ce, U+63d1-63d6, U+63dc, U+63e0, U+63e3, U+63e5, U+63e9-63ed, U+63f2-63f3, U+63f5-63f9, U+6406, U+6409-640a, U+640f-6410, U+6412-6414, U+6416-6418, U+641e, U+6420, U+6422, U+6424-6426, U+6428-642a, U+642f-6430, U+6434-6436, U+643d, U+643f, U+644b, U+644e-644f, U+6451-6454, U+645a-645d, U+645f-6461, U+6463, U+6467, U+646d, U+6473-6474, U+6476, U+6478-6479, U+647b, U+647d, U+6485, U+6487-6488, U+648f-6491, U+6493, U+6495, U+6498-649b, U+649d-649f, U+64a1, U+64a3, U+64a6, U+64a8-64a9, U+64ac, U+64b3, U+64bb-64bf, U+64c2, U+64c4-64c5, U+64c7, U+64c9-64cc, U+64ce, U+64d0-64d1) ); /* noto-sans-jp-[39]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-39-400-normal.woff2", $range: (U+6117, U+6119, U+611c, U+611e, U+6120-6122, U+6127-6128, U+612a-612c, U+6130-6131, U+6134-6137, U+6139-613a, U+613c-613f, U+6141-6142, U+6144-6147, U+6149-614a, U+614d, U+6153, U+6158-615a, U+615d-6160, U+6164-6165, U+616b-616c, U+616f, U+6171-6175, U+6177-6178, U+617b-6181, U+6183-6184, U+6187, U+618a-618b, U+618d, U+6192-6194, U+6196-619a, U+619c-619d, U+619f-61a0, U+61a5, U+61a8, U+61aa-61ae, U+61b8-61ba, U+61bc, U+61be, U+61c0-61c3, U+61c6, U+61c8, U+61ca-61cf, U+61d5, U+61dc-61df, U+61e1-61e3, U+61e5-61e9, U+61ec-61ed, U+61ef, U+61f4-61f7, U+61fa, U+61fc-6201, U+6203-6204, U+6207-620a, U+620d-620e, U+6213-6215, U+621b-621e, U+6220-6223, U+6227, U+6229-622b, U+622e, U+6230-6233, U+6236, U+6239, U+623d-623e, U+6241-6244, U+6246, U+6248, U+624c, U+624e, U+6250-6252, U+6254, U+6256, U+6258, U+625a-625c, U+625e, U+6260-6261, U+6263-6264, U+6268, U+626d, U+626f, U+6273, U+627a-627e, U+6282-6283, U+6285, U+6289, U+628d-6290, U+6292-6294, U+6296, U+6299, U+629b, U+62a6, U+62a8, U+62ac, U+62b3, U+62b6-62b7, U+62ba-62bb, U+62be-62bf, U+62c2, U+62c4, U+62c6-62c8, U+62ca, U+62ce) ); /* noto-sans-jp-[40]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-40-400-normal.woff2", $range: (U+5f6c-5f6d, U+5f6f, U+5f72-5f75, U+5f78, U+5f7a, U+5f7d-5f7f, U+5f82-5f83, U+5f87-5f89, U+5f8d, U+5f8f, U+5f91, U+5f96, U+5f99, U+5f9c-5f9d, U+5fa0, U+5fa2, U+5fa4, U+5fa7-5fa8, U+5fab-5fad, U+5faf-5fb1, U+5fb5, U+5fb7-5fb8, U+5fbc-5fbd, U+5fc4, U+5fc7-5fc9, U+5fcb, U+5fd0-5fd4, U+5fdd-5fde, U+5fe1-5fe2, U+5fe4, U+5fe8-5fea, U+5fec-5ff3, U+5ff6, U+5ff8, U+5ffa-5ffd, U+5fff, U+6007, U+600a, U+600d-6010, U+6013-6015, U+6017-601b, U+601f, U+6021-6022, U+6024, U+6026, U+6029, U+602b, U+602d, U+6031, U+6033, U+6035, U+603a, U+6040-6043, U+6046-604a, U+604c-604d, U+6051, U+6054-6057, U+6059-605a, U+605d, U+605f-6064, U+6067, U+606a-606c, U+6070-6071, U+6077, U+607e-607f, U+6081-6086, U+6088-608e, U+6091-6093, U+6095-6098, U+609a-609b, U+609d-609e, U+60a2, U+60a4-60a5, U+60a7-60a8, U+60b0-60b1, U+60b3-60b5, U+60b7-60b8, U+60bb, U+60bd-60be, U+60c2, U+60c4, U+60c6-60cb, U+60ce-60cf, U+60d3-60d5, U+60d8-60d9, U+60db, U+60dd-60df, U+60e1-60e2, U+60e5, U+60ee, U+60f0-60f2, U+60f4-60f8, U+60fa-60fd, U+6100, U+6102-6103, U+6106-6108, U+610a, U+610c-610e, U+6110-6114, U+6116) ); /* noto-sans-jp-[41]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-41-400-normal.woff2", $range: (U+5d9b, U+5d9d, U+5d9f-5da0, U+5da2, U+5da4, U+5da7, U+5dab-5dac, U+5dae, U+5db0, U+5db2, U+5db4, U+5db7-5db9, U+5dbc-5dbd, U+5dc3, U+5dc7, U+5dc9, U+5dcb-5dce, U+5dd0-5dd3, U+5dd6-5dd9, U+5ddb, U+5de0, U+5de2, U+5de4, U+5de9, U+5df2, U+5df5, U+5df8-5df9, U+5dfd, U+5dff-5e00, U+5e07, U+5e0b, U+5e0d, U+5e11-5e12, U+5e14-5e15, U+5e18-5e1b, U+5e1f-5e20, U+5e25, U+5e28, U+5e2e, U+5e32, U+5e35-5e37, U+5e3e, U+5e40, U+5e43-5e44, U+5e47, U+5e49, U+5e4b, U+5e4e, U+5e50-5e51, U+5e54, U+5e56-5e58, U+5e5b-5e5c, U+5e5e-5e5f, U+5e62, U+5e64, U+5e68, U+5e6a-5e6e, U+5e70, U+5e75-5e77, U+5e7a, U+5e7f-5e80, U+5e87, U+5e8b, U+5e8e, U+5e96, U+5e99-5e9a, U+5ea0, U+5ea2, U+5ea4-5ea5, U+5ea8, U+5eaa, U+5eac, U+5eb1, U+5eb3, U+5eb8-5eb9, U+5ebd-5ebf, U+5ec1-5ec2, U+5ec6, U+5ec8, U+5ecb-5ecc, U+5ece-5ed6, U+5ed9-5ee2, U+5ee5, U+5ee8-5ee9, U+5eeb-5eec, U+5ef0-5ef1, U+5ef3-5ef4, U+5ef8-5ef9, U+5efc-5f00, U+5f02-5f03, U+5f06-5f09, U+5f0b-5f0e, U+5f11, U+5f16-5f17, U+5f19, U+5f1b-5f1e, U+5f21-5f24, U+5f27-5f29, U+5f2b-5f30, U+5f34, U+5f36, U+5f38, U+5f3a-5f3d, U+5f3f-5f41, U+5f44-5f45, U+5f47-5f48, U+5f4a, U+5f4c-5f4e, U+5f50-5f51, U+5f54, U+5f56-5f58, U+5f5b-5f5d, U+5f60, U+5f63-5f65, U+5f67, U+5f6a) ); /* noto-sans-jp-[42]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-42-400-normal.woff2", $range: (U+5bbc, U+5bc0-5bc1, U+5bc3, U+5bc7, U+5bc9, U+5bcd-5bd0, U+5bd3-5bd4, U+5bd6-5bda, U+5bde, U+5be0-5be2, U+5be4-5be6, U+5be8, U+5beb-5bec, U+5bef-5bf1, U+5bf3-5bf6, U+5bfd, U+5c03, U+5c05, U+5c07-5c09, U+5c0c-5c0d, U+5c12-5c14, U+5c17, U+5c19, U+5c1e-5c20, U+5c22-5c24, U+5c26, U+5c28-5c2e, U+5c30, U+5c32, U+5c35-5c36, U+5c38-5c39, U+5c46, U+5c4d-5c50, U+5c53, U+5c59-5c5c, U+5c5f-5c63, U+5c67-5c69, U+5c6c-5c70, U+5c74-5c76, U+5c79-5c7d, U+5c87-5c88, U+5c8a, U+5c8c, U+5c8f, U+5c91-5c92, U+5c94, U+5c9d, U+5c9f-5ca0, U+5ca2-5ca3, U+5ca6-5ca8, U+5caa-5cab, U+5cad, U+5cb1-5cb2, U+5cb4-5cb7, U+5cba-5cbc, U+5cbe, U+5cc5, U+5cc7, U+5cc9, U+5ccb, U+5cd0, U+5cd2, U+5cd7, U+5cd9, U+5cdd, U+5ce6, U+5ce8-5cea, U+5ced-5cee, U+5cf1-5cf2, U+5cf4-5cf5, U+5cfa-5cfb, U+5cfd, U+5d01, U+5d06, U+5d0b, U+5d0d, U+5d10-5d12, U+5d14-5d15, U+5d17-5d1b, U+5d1d, U+5d1f-5d20, U+5d22-5d24, U+5d26-5d27, U+5d2b, U+5d31, U+5d34, U+5d39, U+5d3d, U+5d3f, U+5d42-5d43, U+5d46-5d48, U+5d4a-5d4b, U+5d4e, U+5d51-5d53, U+5d55, U+5d59, U+5d5c, U+5d5f-5d62, U+5d64, U+5d69-5d6a, U+5d6c-5d6d, U+5d6f-5d70, U+5d73, U+5d76, U+5d79-5d7a, U+5d7e-5d7f, U+5d81-5d84, U+5d87-5d88, U+5d8a, U+5d8c, U+5d90, U+5d92-5d95, U+5d97, U+5d99) ); /* noto-sans-jp-[43]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-43-400-normal.woff2", $range: (U+598b-598e, U+5992, U+5995, U+5997, U+599b, U+599d, U+599f, U+59a3-59a4, U+59a7, U+59ad-59b0, U+59b2-59b3, U+59b7, U+59ba, U+59bc, U+59be, U+59c1, U+59c3-59c4, U+59c6, U+59c8, U+59ca, U+59cd, U+59d2, U+59d9-59da, U+59dd-59df, U+59e3-59e5, U+59e7-59e8, U+59ec, U+59ee-59ef, U+59f1-59f2, U+59f4, U+59f6-59f8, U+5a00, U+5a03-5a04, U+5a09, U+5a0c-5a0e, U+5a11-5a13, U+5a17, U+5a1a-5a1c, U+5a1e-5a1f, U+5a23-5a25, U+5a27-5a28, U+5a2a, U+5a2d, U+5a30, U+5a35-5a36, U+5a40-5a41, U+5a44-5a45, U+5a47-5a49, U+5a4c, U+5a50, U+5a55, U+5a5e, U+5a62-5a63, U+5a65, U+5a67, U+5a6a, U+5a6c-5a6d, U+5a77, U+5a7a-5a7b, U+5a7e, U+5a84, U+5a8b, U+5a90, U+5a93, U+5a96, U+5a99, U+5a9c, U+5a9e-5aa0, U+5aa2, U+5aa7, U+5aac, U+5ab1-5ab3, U+5ab5, U+5ab8, U+5aba-5abf, U+5ac2, U+5ac4, U+5ac6, U+5ac8, U+5acb, U+5acf-5ad0, U+5ad6-5ad7, U+5ada, U+5adc, U+5ae0-5ae1, U+5ae3, U+5ae5-5ae6, U+5ae9-5aea, U+5aee, U+5af0, U+5af5-5af6, U+5afa-5afb, U+5afd, U+5b00-5b01, U+5b08, U+5b0b, U+5b16-5b17, U+5b19, U+5b1b, U+5b1d, U+5b21, U+5b25, U+5b2a, U+5b2c-5b2d, U+5b30, U+5b32, U+5b34, U+5b36, U+5b38, U+5b3e, U+5b40-5b41, U+5b43, U+5b45, U+5b4b-5b4c, U+5b51-5b52, U+5b56, U+5b5a-5b5c, U+5b5e-5b5f, U+5b65, U+5b68-5b69, U+5b6e-5b71, U+5b73, U+5b75-5b76, U+5b7a, U+5b7c-5b84, U+5b86, U+5b8a-5b8b, U+5b8d-5b8e, U+5b90-5b91, U+5b93-5b94, U+5b96, U+5ba5-5ba6, U+5ba8-5ba9, U+5bac-5bad, U+5baf, U+5bb1-5bb2, U+5bb7-5bb8, U+5bba) ); /* noto-sans-jp-[44]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-44-400-normal.woff2", $range: (U+57b3, U+57b8, U+57bd, U+57c0, U+57c3, U+57c6-57c8, U+57cc, U+57cf, U+57d2-57d7, U+57dc-57de, U+57e0-57e1, U+57e3-57e4, U+57e6-57e7, U+57e9, U+57ed, U+57f0, U+57f4-57f6, U+57f8, U+57fb, U+57fd-57ff, U+5803-5804, U+5808-580d, U+5819, U+581b, U+581d-5821, U+5826-5827, U+582d, U+582f-5830, U+5832, U+5835, U+5839, U+583d, U+583f-5840, U+5849, U+584b-584d, U+584f-5852, U+5855, U+5858-5859, U+585f, U+5861-5862, U+5864, U+5867-5868, U+586d, U+5870, U+5872, U+5878-5879, U+587c, U+587f-5881, U+5885, U+5887-588d, U+588f-5890, U+5894, U+5896, U+5898, U+589d-589e, U+58a0-58a2, U+58a6, U+58a9-58ab, U+58ae, U+58b1-58b3, U+58b8-58bc, U+58be, U+58c2-58c5, U+58c8, U+58cd-58ce, U+58d0-58da, U+58dc-58e2, U+58e4-58e5, U+58e9, U+58ec, U+58ef, U+58f3-58f4, U+58f7, U+58f9, U+58fb-58fd, U+5902, U+5905-5906, U+590a-590d, U+5910, U+5912-5914, U+5918-5919, U+591b, U+591d, U+591f, U+5921, U+5923-5925, U+5928, U+592c-592d, U+592f-5930, U+5932-5933, U+5935-5936, U+5938-5939, U+593d-593f, U+5943, U+5946, U+594e, U+5950, U+5952-5953, U+5955, U+5957-595b, U+595d-5961, U+5963, U+5967, U+5969, U+596b-596d, U+596f, U+5972, U+5975-5976, U+5978-5979, U+597b-597c, U+5981) ); /* noto-sans-jp-[45]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-45-400-normal.woff2", $range: (U+5616-5617, U+5619, U+561b, U+5620, U+5628, U+562c, U+562f-5639, U+563b-563d, U+563f-5641, U+5643-5644, U+5646-5647, U+5649, U+564b, U+564d-5650, U+5653-5654, U+565e, U+5660-5664, U+5666, U+5669-566d, U+566f, U+5671-5672, U+5675-5676, U+5678, U+567a, U+5680, U+5684-5688, U+568a-568c, U+568f, U+5694-5695, U+5699-569a, U+569d-56a0, U+56a5-56a9, U+56ab-56ae, U+56b1-56b4, U+56b6-56b7, U+56bc, U+56be, U+56c0, U+56c2-56c3, U+56c5, U+56c8-56d1, U+56d3, U+56d7-56d9, U+56dc-56dd, U+56df, U+56e1, U+56e4-56e8, U+56eb, U+56ed-56ee, U+56f1, U+56f6-56f7, U+56f9, U+56ff-5704, U+5707-570a, U+570c-570d, U+5711, U+5713, U+5715-5716, U+5718, U+571a-571d, U+5720-5726, U+5729-572a, U+572c, U+572e-572f, U+5733-5734, U+5737-5738, U+573b, U+573d-573f, U+5745-5746, U+574c-574f, U+5751-5752, U+5759, U+575f, U+5761-5762, U+5764-5765, U+5767-5769, U+576b, U+576d-5771, U+5773-5775, U+5777, U+5779-577c, U+577e-577f, U+5781, U+5783, U+5788-5789, U+578c, U+5793-5795, U+5797, U+5799-579a, U+579c-57a1, U+57a4, U+57a7-57aa, U+57ac, U+57ae, U+57b0) ); /* noto-sans-jp-[46]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-46-400-normal.woff2", $range: (U+543f-5440, U+5443-5444, U+5447, U+544c-544f, U+5455, U+545e, U+5462, U+5464, U+5466-5467, U+5469, U+546b-546e, U+5470-5471, U+5474-5477, U+547b, U+547f-5481, U+5483-5486, U+5488-548b, U+548d-5492, U+5495-5496, U+549c, U+549f-54a2, U+54a4, U+54a6-54af, U+54b1, U+54b7-54bc, U+54be-54bf, U+54c2-54c4, U+54c6-54c8, U+54ca, U+54cd-54ce, U+54d8, U+54e0, U+54e2, U+54e5-54e6, U+54e8-54ea, U+54ec-54ef, U+54f1, U+54f3, U+54f6, U+54fc-5501, U+5505, U+5508-5509, U+550c-550f, U+5514-5516, U+5527, U+552a-552b, U+552e, U+5532-5533, U+5535-5536, U+5538-5539, U+553b-553d, U+5540-5541, U+5544-5545, U+5547, U+5549-554a, U+554c-554d, U+5550-5551, U+5556-5558, U+555a-555e, U+5560-5561, U+5563-5564, U+5566, U+557b-5583, U+5586-5588, U+558a, U+558e-558f, U+5591-5594, U+5597, U+5599, U+559e-559f, U+55a3-55a4, U+55a8-55a9, U+55ac-55ae, U+55b2, U+55bf, U+55c1, U+55c3-55c4, U+55c6-55c7, U+55c9, U+55cb-55cc, U+55ce, U+55d1-55d4, U+55d7-55d8, U+55da-55db, U+55dd-55df, U+55e2, U+55e4, U+55e9, U+55ec, U+55ee, U+55f1, U+55f6-55f9, U+55fd-55ff, U+5605, U+5607-5608, U+560a, U+560d-5612) ); /* noto-sans-jp-[47]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-47-400-normal.woff2", $range: (U+528d, U+5291-5298, U+529a, U+529c, U+52a4-52a7, U+52ab-52ad, U+52af-52b0, U+52b5-52b8, U+52ba-52be, U+52c0-52c1, U+52c4-52c6, U+52c8, U+52ca, U+52cc-52cd, U+52cf-52d2, U+52d4, U+52d6-52d7, U+52db-52dc, U+52de, U+52e0-52e1, U+52e3, U+52e5-52e6, U+52e8-52ea, U+52ec, U+52f0-52f1, U+52f3-52fb, U+5300-5301, U+5303, U+5306-5308, U+530a-530d, U+530f-5311, U+5313, U+5315, U+5318-531f, U+5321, U+5323-5325, U+5327-532d, U+532f-5333, U+5335, U+5338, U+533c-533e, U+5340, U+5342, U+5345-5346, U+5349, U+534b-534c, U+5359, U+535b, U+535e, U+5361, U+5363-5367, U+5369, U+536c-536e, U+5372, U+5377, U+5379-537b, U+537d-537f, U+5382-5383, U+5387-5389, U+538e, U+5393-5394, U+5396, U+5398-5399, U+539d, U+53a0-53a1, U+53a4-53a6, U+53a9-53ab, U+53ad-53b0, U+53b2, U+53b4-53b8, U+53ba, U+53bd, U+53c0-53c1, U+53c3-53c5, U+53cf, U+53d2-53d3, U+53d5, U+53da-53db, U+53dd-53e0, U+53e2, U+53e6-53e8, U+53ed-53ee, U+53f4-53f5, U+53fa, U+5401-5403, U+540b, U+540f, U+5412-5413, U+541a, U+541d-541e, U+5421, U+5424, U+5427-542a, U+542c-542f, U+5431, U+5433-5436, U+543c-543d) ); /* noto-sans-jp-[48]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-48-400-normal.woff2", $range: (U+50dd-50df, U+50e1-50e6, U+50e8-50e9, U+50ed-50f6, U+50f9-50fb, U+50fe, U+5101-5103, U+5106-5109, U+510b-510e, U+5110, U+5112, U+5114-511e, U+5121, U+5123, U+5127-5128, U+512c-512d, U+512f, U+5131, U+5133-5135, U+5137-513c, U+513f-5142, U+5147, U+514a, U+514c, U+514f, U+5152-5155, U+5157-5158, U+515f-5160, U+5162, U+5164, U+5166-5167, U+5169-516a, U+516e, U+5173-5174, U+5179, U+517b, U+517e, U+5180, U+5182-5184, U+5189, U+518b-518c, U+518e-5191, U+5193, U+5195-5196, U+5198, U+519d, U+51a1-51a4, U+51a6, U+51a9-51ab, U+51ad, U+51b0-51b3, U+51b5, U+51b8, U+51ba, U+51bc-51bf, U+51c2-51c3, U+51c5, U+51c8-51cb, U+51cf, U+51d1-51d6, U+51d8, U+51de-51e0, U+51e2, U+51e5, U+51e7, U+51e9, U+51ec-51ee, U+51f2-51f5, U+51f7, U+51fe, U+5201-5202, U+5204-5205, U+520b, U+520e, U+5212-5216, U+5218, U+5222, U+5226-5228, U+522a-522b, U+522e, U+5231-5233, U+5235, U+523c, U+5244-5245, U+5249, U+524b-524c, U+524f, U+5254-5255, U+5257-5258, U+525a, U+525c-5261, U+5266, U+5269, U+526c, U+526e, U+5271, U+5273-5274, U+5277-5279, U+527d, U+527f-5280, U+5282-5285, U+5288-528a, U+528c) ); /* noto-sans-jp-[49]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-49-400-normal.woff2", $range: (U+4f57-4f58, U+4f5a-4f5b, U+4f5d-4f5f, U+4f63-4f64, U+4f69-4f6a, U+4f6c, U+4f6e-4f71, U+4f76-4f7e, U+4f81-4f85, U+4f88-4f8a, U+4f8c, U+4f8e-4f90, U+4f92-4f94, U+4f96-4f9a, U+4f9e-4fa0, U+4fab, U+4fad, U+4faf, U+4fb2, U+4fb7, U+4fb9, U+4fbb-4fbe, U+4fc0-4fc1, U+4fc4-4fc6, U+4fc8-4fc9, U+4fcb-4fd4, U+4fd8, U+4fda-4fdc, U+4fdf-4fe0, U+4fe2, U+4fe4-4fe6, U+4fef-4ff2, U+4ff6, U+4ffc-5002, U+5004-5007, U+500a, U+500c, U+500e-5011, U+5013-5014, U+5016-5018, U+501a-501e, U+5021-5023, U+5025-502a, U+502c-502e, U+5030, U+5032-5033, U+5035, U+5039, U+503b, U+5040-5043, U+5045-5048, U+504a, U+504c, U+504e, U+5050-5053, U+5055-5057, U+5059-505a, U+505f-5060, U+5062-5063, U+5066-5067, U+506a, U+506c-506d, U+5070-5072, U+5077-5078, U+5080-5081, U+5083-5086, U+5088, U+508a, U+508e-5090, U+5092-5096, U+509a-509c, U+509e-50a3, U+50aa, U+50ad, U+50af-50b4, U+50b9-50bb, U+50bd, U+50c0, U+50c2-50c4, U+50c7, U+50c9-50ca, U+50cc, U+50ce, U+50d0-50d1, U+50d3-50d4, U+50d6, U+50d8-50d9, U+50dc) ); /* noto-sans-jp-[50]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-50-400-normal.woff2", $range: (U+4093, U+4103, U+4105, U+4148, U+414f, U+4163, U+41b4, U+41bf, U+41e6, U+41ee, U+41f3, U+4207, U+420e, U+4264, U+4293, U+42c6, U+42d6, U+42dd, U+4302, U+432b, U+4343, U+43ee, U+43f0, U+4408, U+440c, U+4417, U+441c, U+4422, U+4453, U+445b, U+4476, U+447a, U+4491, U+44b3, U+44be, U+44d4, U+4508, U+450d, U+4525, U+4543, U+457a, U+459d, U+45b8, U+45be, U+45e5, U+45ea, U+460f-4610, U+4641, U+4665, U+46a1, U+46ae-46af, U+470c, U+471f, U+4764, U+47e6, U+47fd, U+4816, U+481e, U+4844, U+484e, U+48b5, U+49b0, U+49e7, U+49fa, U+4a04, U+4a29, U+4abc, U+4b38, U+4b3b, U+4b7e, U+4bc2, U+4bca, U+4bd2, U+4be8, U+4c17, U+4c20, U+4c38, U+4cc4, U+4cd1, U+4ce1, U+4d07, U+4d77, U+4e02, U+4e04-4e05, U+4e0c, U+4e0f-4e12, U+4e15, U+4e17, U+4e19, U+4e1e-4e1f, U+4e23-4e24, U+4e28-4e2c, U+4e2e-4e31, U+4e35-4e37, U+4e3f-4e42, U+4e44, U+4e47-4e48, U+4e4d-4e4e, U+4e51, U+4e55-4e56, U+4e58, U+4e5a-4e5c, U+4e62-4e63, U+4e68-4e69, U+4e74-4e75, U+4e79, U+4e7f, U+4e82, U+4e85, U+4e8a, U+4e8d-4e8e, U+4e96-4e99, U+4e9d-4ea0, U+4ea2, U+4ea5-4ea6, U+4ea8, U+4eaf-4eb0, U+4eb3, U+4eb6, U+4eb9, U+4ebb-4ebc, U+4ec2-4ec4, U+4ec6-4ec8, U+4ecd, U+4ed0, U+4ed7, U+4eda-4edb, U+4edd-4ee2, U+4ee8, U+4eeb, U+4eed, U+4eef, U+4ef1, U+4ef3, U+4ef5, U+4ef7, U+4efc-4f00, U+4f02-4f03, U+4f08-4f09, U+4f0b-4f0d, U+4f12, U+4f15-4f17, U+4f19, U+4f1c, U+4f2b, U+4f2e, U+4f30-4f31, U+4f33, U+4f35-4f37, U+4f39, U+4f3b, U+4f3e, U+4f40, U+4f42-4f43, U+4f48-4f49, U+4f4b-4f4c, U+4f52, U+4f54, U+4f56) ); /* noto-sans-jp-[51]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-51-400-normal.woff2", $range: (U+3395-339b, U+339e-33a0, U+33a2-33ff, U+3402, U+3405-3406, U+3427, U+342c, U+342e, U+3468, U+346a, U+3488, U+3492, U+34b5, U+34bc, U+34c1, U+34c7, U+34db, U+351f, U+353e, U+355d-355e, U+3563, U+356e, U+35a6, U+35a8, U+35c5, U+35da, U+35de, U+35f4, U+3605, U+3614, U+364a, U+3691, U+3696, U+3699, U+36cf, U+3761-3762, U+376b-376c, U+3775, U+378d, U+37c1, U+37e2, U+37e8, U+37f4, U+37fd, U+3800, U+382f, U+3836, U+3840, U+385c, U+3861, U+38a1, U+38ad, U+38fa, U+3917, U+391a, U+396f, U+39a4, U+39b8, U+3a5c, U+3a6e, U+3a73, U+3a85, U+3ac4, U+3acb, U+3ad6-3ad7, U+3aea, U+3af3, U+3b0e, U+3b1a, U+3b1c, U+3b22, U+3b35, U+3b6d, U+3b77, U+3b87-3b88, U+3b8d, U+3ba4, U+3bb6, U+3bc3, U+3bcd, U+3bf0, U+3bf3, U+3c0f, U+3c26, U+3cc3, U+3cd2, U+3d11, U+3d1e, U+3d31, U+3d4e, U+3d64, U+3d9a, U+3dc0, U+3dcc, U+3dd4, U+3e05, U+3e3f-3e40, U+3e60, U+3e66, U+3e68, U+3e83, U+3e8a, U+3e94, U+3eda, U+3f57, U+3f72, U+3f75, U+3f77, U+3fae, U+3fb1, U+3fc9, U+3fd7, U+3fdc, U+4039, U+4058) ); /* noto-sans-jp-[52]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-52-400-normal.woff2", $range: (U+32b5-332b, U+332d-3394) ); /* noto-sans-jp-[53]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-53-400-normal.woff2", $range: (U+31c8-31e3, U+31f0-321e, U+3220-3230, U+3232-32b4) ); /* noto-sans-jp-[54]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-54-400-normal.woff2", $range: (U+3028-303f, U+3094-3096, U+309f-30a0, U+30ee, U+30f7-30fa, U+30ff, U+3105-312f, U+3131-3163, U+3165-318e, U+3190-31bb, U+31c0-31c7) ); /* noto-sans-jp-[55]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-55-400-normal.woff2", $range: (U+2f14-2fd5, U+2ff0-2ffb, U+3004, U+3013, U+3016-301b, U+301e, U+3020-3027) ); /* noto-sans-jp-[56]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-56-400-normal.woff2", $range: (U+25e4-25e6, U+2601-2603, U+2609, U+260e-260f, U+2616-2617, U+261c-261f, U+262f, U+2641, U+2660, U+2662-2664, U+2666-2668, U+266d-266e, U+2672-267d, U+26bd-26be, U+2702, U+271a, U+273d, U+2740, U+2756, U+2776-2793, U+27a1, U+2934-2935, U+29bf, U+29fa-29fb, U+2b05-2b07, U+2b1a, U+2b95, U+2e3a-2e3b, U+2e80-2e99, U+2e9b-2ef3, U+2f00-2f13) ); /* noto-sans-jp-[57]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-57-400-normal.woff2", $range: (U+24d1-24ff, U+2503-2513, U+2515-2516, U+2518-251b, U+251d-2522, U+2524-259f, U+25a2-25ab, U+25b1, U+25b7, U+25c0-25c1, U+25c9-25ca, U+25cc, U+25d0-25d3, U+25e2-25e3) ); /* noto-sans-jp-[58]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-58-400-normal.woff2", $range: (U+2105, U+2109-210a, U+210f, U+2116, U+2121, U+2126-2127, U+212b, U+212e, U+2135, U+213b, U+2194-2199, U+21b8-21b9, U+21c4-21c6, U+21cb-21cc, U+21d0, U+21e6-21e9, U+21f5, U+2202-2203, U+2205-2206, U+2208-220b, U+220f, U+2211, U+2213, U+2215, U+221a, U+221d, U+2220, U+2223, U+2225-2226, U+2228, U+222a-222e, U+2234-2237, U+223d, U+2243, U+2245, U+2248, U+224c, U+2260, U+2262, U+2264-2265, U+226e-226f, U+2272-2273, U+2276-2277, U+2283-2287, U+228a-228b, U+2295-2299, U+22a0, U+22a5, U+22bf, U+22da-22db, U+22ef, U+2305-2307, U+2318, U+2329-232a, U+23b0-23b1, U+23be-23cc, U+23ce, U+23da-23db, U+2423, U+2469-24d0) ); /* noto-sans-jp-[59]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-59-400-normal.woff2", $range: (U+a1-a4, U+a6-a7, U+aa, U+ac-ad, U+b5-b6, U+b8-ba, U+bc-c8, U+ca-cc, U+ce-d5, U+d9-db, U+dd-df, U+e6, U+ee, U+f0, U+f5, U+f7, U+f9, U+fb, U+fe-102, U+110-113, U+11a-11b, U+128-12b, U+143-144, U+147-148, U+14c, U+14e-14f, U+152-153, U+168-16d, U+192, U+1a0-1a1, U+1af, U+1cd-1dc, U+1f8-1f9, U+251, U+261, U+2bb, U+2c7, U+2c9, U+2ea-2eb, U+304, U+307, U+30c, U+1e3e-1e3f, U+1ea0-1ebe, U+1ec0-1ec6, U+1ec8-1ef9, U+2011-2012, U+2016, U+2018-201a, U+201e, U+2021, U+2030, U+2033, U+2035, U+2042, U+2047, U+2051, U+2074, U+20a9, U+20ab-20ac, U+20dd-20de, U+2100) ); /* noto-sans-jp-[60]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-60-400-normal.woff2", $range: (U+2227, U+26a0, U+2713, U+301f, U+4ff8, U+5239, U+526a, U+54fa, U+5740, U+5937, U+5993, U+59fb, U+5a3c, U+5c41, U+6028, U+626e, U+646f, U+647a, U+64b0, U+64e2, U+65a7, U+66fe, U+6727, U+6955, U+6bef, U+6f23, U+724c, U+767c, U+7a83, U+7ac4, U+7b67, U+8000, U+8471, U+8513, U+8599, U+86db, U+8718, U+87f2, U+88f3, U+8ad2, U+8e2a, U+8fa3, U+95a5, U+9798, U+9910, U+9957, U+9bab, U+9c3b, U+9daf, U+ff95) ); /* noto-sans-jp-[61]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-61-400-normal.woff2", $range: (U+a8, U+2032, U+2261, U+2282, U+3090, U+30f1, U+339c, U+535c, U+53d9, U+56a2, U+56c1, U+5806, U+589f, U+59d0, U+5a7f, U+60e0, U+639f, U+65af, U+68fa, U+69ae, U+6d1b, U+6ef2, U+71fb, U+725d, U+7262, U+75bc, U+7768, U+7940, U+79bf, U+7bed, U+7d68, U+7dfb, U+814b, U+8207, U+83e9, U+8494, U+8526, U+8568, U+85ea, U+86d9, U+87ba, U+8861, U+887f, U+8fe6, U+9059, U+9061, U+916a, U+976d, U+97ad, U+9ece) ); /* noto-sans-jp-[62]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-62-400-normal.woff2", $range: (U+2d9, U+21d4, U+301d, U+515c, U+52fe, U+5420, U+5750, U+5766, U+5954, U+5b95, U+5f8a, U+5f98, U+620c, U+621f, U+641c, U+66d9, U+676d, U+6775, U+67f5, U+694a, U+6a02, U+6a3a, U+6a80, U+6c23, U+6c72, U+6dcb, U+6faa, U+707c, U+71c8, U+7422, U+74e2, U+7791, U+7825, U+7a14, U+7a1c, U+7c95, U+7fc1, U+82a5, U+82db, U+8304, U+853d, U+8cd3, U+8de8, U+8f0c, U+8f3f, U+9091, U+91c7, U+929a, U+98af, U+9913) ); /* noto-sans-jp-[63]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-63-400-normal.woff2", $range: (U+2ca-2cb, U+2229, U+2468, U+2669, U+266f, U+273f, U+4ec0, U+4f60, U+4fb6, U+5347, U+540e, U+543b, U+5b0c, U+5d4c, U+5f14, U+5f9e, U+6155, U+62d0, U+6602, U+6666, U+66f3, U+67a2, U+67ca, U+69cc, U+6d29, U+6d9b, U+6e3e, U+6f81, U+7109, U+73c0, U+73c2, U+7425, U+7435-7436, U+7525, U+7554, U+785d, U+786b, U+7ae3, U+7b94, U+7d18, U+81bf, U+8511, U+8549, U+9075, U+9640, U+98e2, U+9e9f, U+ff96) ); /* noto-sans-jp-[64]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-64-400-normal.woff2", $range: (U+2467, U+4ece, U+4ed4, U+4f91, U+4fae, U+534d, U+53c9, U+54b3, U+586b, U+5944, U+5b78, U+5df7, U+5f77, U+6101, U+6167-6168, U+61a4, U+62d9, U+698a, U+699b, U+6a59, U+6cc4, U+6e07, U+7099, U+75d2, U+77ad, U+7953, U+7984, U+7a92, U+7baa, U+7dbb, U+817f, U+82ad, U+85e9, U+868a, U+8caa, U+8f44, U+9017, U+907c, U+908a, U+92f3, U+936e, U+9435, U+978d, U+9838, U+9a28, U+9b41, U+9ba8, U+9c57, U+9eb9) ); /* noto-sans-jp-[65]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-65-400-normal.woff2", $range: (U+b1, U+309b, U+4e5e, U+51f1, U+5506, U+55c5, U+58cc, U+59d1, U+5c51, U+5ef7, U+6284, U+62d7, U+6689, U+673d, U+6a2b, U+6a8e, U+6a9c, U+6d63, U+6dd1, U+70b8, U+7235, U+72db, U+72f8, U+7560, U+7c9b, U+7ce7, U+7e1e, U+80af, U+82eb, U+8463, U+8499, U+85dd, U+86ee, U+8a60, U+8a6e, U+8c79, U+8e87, U+8e8a, U+8f5f, U+9010, U+918d, U+9190, U+965b, U+97fb, U+9ab8, U+9bad, U+9d3b, U+9d5c, U+9dfa, U+9e93) ); /* noto-sans-jp-[66]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-66-400-normal.woff2", $range: (U+2020, U+3003, U+3231, U+4e9b, U+4f3d, U+4f47, U+51b6, U+51dc, U+53e1, U+5bc5, U+602f, U+60bc, U+61c9, U+633d, U+637b, U+6492, U+65fa, U+660f, U+66f0, U+6703, U+681e, U+6876, U+6893, U+6912, U+698e, U+6c7d, U+714c, U+7169, U+71d5, U+725f, U+72d7, U+745b, U+74dc, U+75e2, U+7891, U+7897, U+7dcb, U+810a, U+8218, U+8339, U+840e, U+852d, U+8823, U+8a0a, U+9089, U+919c, U+971c, U+9ad9, U+ff4a, U+ff5a) ); /* noto-sans-jp-[67]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-67-400-normal.woff2", $range: (U+2466, U+2600, U+4eab, U+4fe3, U+4ff5, U+51a5, U+51f0, U+536f, U+53d4, U+53f1, U+54a5, U+559d, U+55e3, U+58fa, U+5962, U+59ea, U+5c16, U+5cef, U+5d16, U+5f10, U+5fd6, U+6190, U+6216, U+634f, U+63bb, U+66d6, U+6756, U+6bc5, U+6e26, U+727d, U+731f, U+76f2, U+7729, U+7a7f, U+7aff, U+7c9f, U+818f, U+8236, U+82b9, U+8338, U+85aa, U+88b4, U+8b33, U+904d, U+93a7, U+96cc, U+96eb, U+9aed, U+9b8e, U+fa11) ); /* noto-sans-jp-[68]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-68-400-normal.woff2", $range: (U+251c, U+2523, U+4e14, U+545f, U+54bd, U+553e, U+55dc, U+56da, U+589c, U+5b55, U+5bb5, U+5ce1, U+5df4, U+5eb6, U+5ec9, U+6191, U+62f7, U+6357, U+64a5, U+6591, U+65bc, U+6897, U+6e1a, U+7063, U+711a, U+721b, U+722c, U+75b9, U+75d5, U+75fa, U+7766, U+7aae, U+7b48, U+7b8b, U+7d21, U+7e55, U+7f75, U+842c, U+8910, U+8a63, U+8b39, U+8b5a, U+8cdc, U+8d74, U+907d, U+91e7, U+9306, U+96bc, U+98f4, U+9ac4) ); /* noto-sans-jp-[69]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-69-400-normal.woff2", $range: (U+2003, U+2312, U+266c, U+4f86, U+51ea, U+5243, U+5256, U+541f, U+5841, U+59dc, U+5df3, U+601c, U+60e7, U+632b, U+638c, U+64ad, U+6881, U+697c, U+69cd, U+6c50, U+6d2a, U+6fc1, U+7027, U+7058, U+70f9, U+714e, U+7345, U+751a, U+760d, U+764c, U+77db, U+7d79, U+7e8f, U+80ce, U+814e, U+81fc, U+8247, U+8278, U+85a9, U+8a03, U+90ed, U+9784, U+9801, U+984e, U+99b3, U+9bc9, U+9bdb, U+9be8, U+9e78, U+ff6b) ); /* noto-sans-jp-[70]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-70-400-normal.woff2", $range: (U+266b, U+3006, U+5176, U+5197, U+51a8, U+51c6, U+52f2, U+5614, U+5875, U+5a2f, U+5b54, U+5ce0, U+5dba, U+5deb, U+5e63, U+5f59, U+5fcc, U+6068, U+6367, U+68b6, U+6a0b, U+6b64, U+6e15, U+6eba, U+7272, U+72a0, U+7947, U+7985, U+79e6, U+79e9, U+7a3d, U+7a9f, U+7aaf, U+7b95, U+7f60, U+7f9e, U+7fe0, U+8098, U+80ba, U+8106, U+82d4, U+831c, U+87f9, U+8a1f, U+8acf, U+90c1, U+920d, U+9756, U+fe43, U+ff94) ); /* noto-sans-jp-[71]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-71-400-normal.woff2", $range: (U+af, U+2465, U+2517, U+33a1, U+4f10, U+50c5, U+51b4, U+5384, U+5606, U+5bb0, U+5cac, U+5ee3, U+618e, U+61f2, U+62c9, U+66ab, U+66f9, U+6816, U+6960, U+6b3e, U+6f20, U+7078, U+72d0, U+73ed, U+7ad9, U+7b1b, U+7be4, U+7d62, U+7f51, U+80b4, U+80f4, U+8154, U+85fb, U+865c, U+8702, U+895f, U+8aed, U+8b90, U+8ced, U+8fbf, U+91d8, U+9418, U+9583, U+9591, U+9813, U+982c, U+9bd6, U+ff46, U+ff7f, U+ff88) ); /* noto-sans-jp-[72]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-72-400-normal.woff2", $range: (U+4e91, U+508d, U+50e7, U+514e, U+51f6, U+5446, U+5504, U+584a, U+59a8, U+59d3, U+5a46, U+5ac9, U+6020, U+60a6, U+6148, U+621a, U+6234, U+64c1, U+6523, U+675c, U+67d1, U+6953, U+6ccc, U+6df5, U+6e13, U+6f06, U+723a, U+7325, U+74e6, U+758e, U+75ab, U+75d9, U+7a40, U+8096, U+82fa, U+8587, U+8594, U+8a6b, U+8ab9, U+8b17, U+8b83, U+937c, U+963b, U+9673, U+96db, U+9ce9, U+9f4b, U+ff67, U+ff82, U+ff93) ); /* noto-sans-jp-[73]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-73-400-normal.woff2", $range: (U+221e, U+2514, U+51f9, U+5270, U+5449, U+5824, U+59a5, U+5a29, U+5d07, U+5e16, U+60e3, U+614c, U+6276, U+643e, U+64ab, U+6562, U+6681, U+670b, U+6734, U+67af, U+6a3d, U+6b05, U+6dc0, U+6e4a, U+7259, U+732a, U+7409, U+78a7, U+7a6b, U+8015, U+809b, U+817a, U+830e, U+837b, U+85ab, U+8a23, U+8a93, U+8b00, U+8b19, U+8b21, U+8cbf, U+8fb0, U+901d, U+91b8, U+9320, U+932c, U+9688, U+96f6, U+9df2, U+ff6a) ); /* noto-sans-jp-[74]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-74-400-normal.woff2", $range: (U+2002, U+2025, U+4f8d, U+51e1, U+51f8, U+5507, U+5598, U+58f1, U+5983, U+59ac, U+5c3c, U+5de7, U+5e7d, U+5eca, U+5f61, U+606d, U+60f9, U+636e, U+64ec, U+67da, U+67ff, U+6813, U+68f2, U+693f, U+6b6a, U+6bbb, U+6ef4, U+7092, U+717d, U+7261, U+73c8, U+7432, U+7483, U+76fe, U+7709, U+78d0, U+81a3, U+81b3, U+82af, U+8305, U+8309, U+8870, U+88fe, U+8cd1, U+8d66, U+906e, U+971e, U+9812, U+ff79, U+ff90) ); /* noto-sans-jp-[75]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-75-400-normal.woff2", $range: (U+2464, U+2501, U+2640, U+2642, U+339d, U+4f0e, U+5091, U+50b5, U+5132, U+51cc, U+558b, U+55aa, U+585e, U+5bee, U+5dfe, U+60b6, U+62b9, U+6349, U+6566, U+6590, U+6842, U+689d, U+6a58, U+6c70, U+6ff1, U+7815, U+7881, U+7aaa, U+7bc7, U+7def, U+7fa8, U+8017, U+8036, U+8061, U+821f, U+8429, U+8ce0, U+8e74, U+9019, U+90ca, U+9162, U+932f, U+93ae, U+9644, U+990c, U+9cf3, U+ff56, U+ff6e, U+ff7e, U+ff85) ); /* noto-sans-jp-[76]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-76-400-normal.woff2", $range: (U+2266-2267, U+4f2f, U+5208, U+5451, U+546a, U+5589, U+576a, U+5815, U+5a9a, U+5b9b, U+5c3a, U+5efb, U+5faa, U+6109, U+6643, U+6652, U+695a, U+69fd, U+6b86, U+6bb4, U+6daf, U+7089, U+70cf, U+7a00, U+7a4f, U+7b39, U+7d33, U+80e1, U+828b, U+82a6, U+86cd, U+8c8c, U+8cca, U+8df3, U+9077, U+9175, U+91dc, U+925b, U+9262, U+9271, U+92ed, U+9855, U+9905, U+9d28, U+ff3f, U+ff58, U+ff68, U+ff6d, U+ff9c) ); /* noto-sans-jp-[77]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-77-400-normal.woff2", $range: (U+2207, U+25ef, U+309c, U+4e4f, U+5146, U+51dd, U+5351, U+540a, U+5629, U+5eb5, U+5f04, U+5f13, U+60dc, U+6212, U+63b4, U+642c, U+6627, U+66a6, U+66c7, U+66fd, U+674e, U+6b96, U+6c4e, U+6df3, U+6e67, U+6f84, U+72fc, U+733f, U+7c97, U+7db1, U+7e4d, U+816b, U+82d1, U+84cb, U+854e, U+8607, U+86c7, U+871c, U+8776, U+8a89, U+8fc4, U+91a4, U+9285, U+9685, U+9903, U+9b31, U+9f13, U+ff42, U+ff74, U+ff91) ); /* noto-sans-jp-[78]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-78-400-normal.woff2", $range: (U+4e32, U+51db, U+53a8, U+53ea, U+5609, U+5674, U+5a92, U+5e7e, U+6115, U+611a, U+62cc, U+62ed, U+63c9, U+64b9, U+64e6, U+65cb, U+6606, U+6731, U+683d, U+6afb, U+7460, U+771e, U+78ef, U+7b26, U+7b51, U+7cde, U+7d10, U+7d2f, U+7d46, U+80de, U+819c, U+84b2, U+85cd, U+865a, U+8ecc, U+9022, U+90b8, U+9192, U+9675, U+96b7, U+99ff, U+ff44, U+ff55, U+ff6c, U+ff73, U+ff75, U+ff86, U+ff8d, U+ff92, U+ffe3) ); /* noto-sans-jp-[79]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-79-400-normal.woff2", $range: (U+25b3, U+30f5, U+4eae, U+4f46, U+4f51, U+5203, U+52ff, U+55a7, U+564c, U+565b, U+57f9, U+5805, U+5b64, U+5e06, U+5f70, U+5f90, U+60e8, U+6182, U+62f3, U+62fe, U+63aa, U+64a4, U+65d7, U+673a, U+6851, U+68cb, U+68df, U+6d1e, U+6e58, U+6e9d, U+77b3, U+7832, U+7c3f, U+7db4, U+7f70, U+80aa, U+80c6, U+8105, U+819d, U+8276, U+8679, U+8986, U+8c9d, U+8fc5, U+916c, U+9665, U+9699, U+96c0, U+9a19, U+ff8b) ); /* noto-sans-jp-[80]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-80-400-normal.woff2", $range: (U+2463, U+25a1, U+4ef0, U+5076, U+5098, U+51fd, U+5302, U+5448, U+54c9, U+570b, U+583a, U+5893, U+58a8, U+58ee, U+5949, U+5bdb, U+5f26, U+5f81, U+6052, U+6170, U+61c7, U+631f, U+635c, U+664b, U+69fb, U+6f01, U+7070, U+722a, U+745e, U+755c, U+76c6, U+78c1, U+79e4, U+7bb8, U+7d0b, U+81a8, U+82d7, U+8b5c, U+8f14, U+8fb1, U+8fbb, U+9283, U+9298, U+9a30, U+ff03, U+ff50, U+ff59, U+ff7b, U+ff8e-ff8f) ); /* noto-sans-jp-[81]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-81-400-normal.woff2", $range: (U+2010, U+2502, U+25b6, U+4f3a, U+514b, U+5265, U+52c3, U+5339, U+53ec, U+54c0, U+55b0, U+5854, U+5b8f, U+5cb3, U+5e84, U+60da, U+6247, U+6249, U+628a, U+62cd, U+65ac, U+6838, U+690e, U+6cf0, U+6f02, U+6f2c, U+6f70, U+708a, U+7434, U+75be, U+77ef, U+7c60, U+7c98, U+7d1b, U+7e2b, U+80a5, U+81e3, U+820c, U+8210, U+8475, U+862d, U+8650, U+8997, U+906d, U+91c8, U+9700, U+9727, U+9df9, U+ff3a, U+ff9a) ); /* noto-sans-jp-[82]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-82-400-normal.woff2", $range: (U+2103, U+5049, U+52b1, U+5320, U+5553, U+572d, U+58c7, U+5b5d, U+5bc2, U+5de3, U+5e61, U+5f80, U+61a9, U+67d0, U+67f4, U+6c88, U+6ca1, U+6ce5, U+6d78, U+6e9c, U+6f54, U+731b, U+73b2, U+74a7, U+74f6, U+75e9, U+7b20, U+7c8b, U+7f72, U+809d, U+8108, U+82b3, U+82bd, U+84b8, U+84c4, U+88c2, U+8ae6, U+8ef8, U+902e, U+9065, U+9326, U+935b, U+938c, U+9676, U+9694, U+96f7, U+9ed9, U+ff48, U+ff4c, U+ff81) ); /* noto-sans-jp-[83]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-83-400-normal.woff2", $range: (U+2500, U+3008-3009, U+4ead, U+4f0f, U+4fca, U+53eb, U+543e, U+57a2, U+5cf0, U+5e8f, U+5fe0, U+61b2, U+62d8, U+6442, U+64b2, U+6589, U+659c, U+67f1, U+68c4, U+6cb8, U+6d12, U+6de1, U+6fe1, U+70c8, U+723d, U+73e0, U+7656, U+773a, U+7948, U+7b87, U+7c92, U+7d3a, U+7e1b, U+7e4a, U+819a, U+8358, U+83c5, U+84bc, U+864e, U+8912, U+8c9e, U+8d05, U+92fc, U+9396, U+98fd, U+99d2, U+ff64, U+ff7a, U+ff83) ); /* noto-sans-jp-[84]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-84-400-normal.woff2", $range: (U+3014-3015, U+4e3c, U+5036, U+5075, U+533f, U+53e9, U+5531, U+5642, U+5984, U+59e6, U+5a01, U+5b6b, U+5c0b, U+5f25, U+6069, U+60a0, U+614e, U+62b5, U+62d2-62d3, U+6597, U+660c, U+674f, U+67cf, U+6841, U+6905, U+6cf3, U+6d32, U+6d69, U+6f64, U+716e, U+7761, U+7b52, U+7be0, U+7dbf, U+7de9, U+7f36, U+81d3, U+8302, U+8389, U+846c, U+84ee, U+8a69, U+9038, U+9d8f, U+ff47, U+ff4b, U+ff76, U+ff9b) ); /* noto-sans-jp-[85]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-85-400-normal.woff2", $range: (U+25c7, U+3007, U+504f, U+507d, U+51a0, U+52a3, U+5410, U+5510, U+559a, U+5782, U+582a, U+5c0a, U+5c3f, U+5c48, U+5f6b, U+6176, U+622f, U+6279, U+62bd, U+62dd, U+65ed, U+67b6, U+6817, U+6850, U+6d6a, U+6deb, U+6ea2, U+6edd, U+6f5c, U+72e9, U+73a9, U+7573, U+76bf, U+7950, U+7956, U+7f8a, U+7ffc, U+80a2, U+80c3, U+83ca, U+8a02, U+8a13, U+8df5, U+9375, U+983b, U+99b4, U+ff4e, U+ff71, U+ff89, U+ff97) ); /* noto-sans-jp-[86]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-86-400-normal.woff2", $range: (U+24, U+2022, U+2212, U+221f, U+2665, U+4ecf, U+5100, U+51cd, U+52d8, U+5378, U+53f6, U+574a, U+5982, U+5996, U+5c1a, U+5e1d, U+5f84, U+609f, U+61a7, U+61f8, U+6398, U+63ee, U+6676, U+6691, U+6eb6, U+7126, U+71e5, U+7687, U+7965, U+7d17, U+80a1, U+8107, U+8266, U+85a6, U+8987, U+8ca2, U+8cab, U+8e0a, U+9042, U+95c7, U+9810, U+9867, U+98fc, U+ff52-ff54, U+ff61, U+ff77, U+ff98-ff99) ); /* noto-sans-jp-[87]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-87-400-normal.woff2", $range: (U+b0, U+226a, U+2462, U+4e39, U+4fc3, U+4fd7, U+50be, U+50da, U+5200, U+5211, U+54f2, U+5618, U+596a, U+5b22, U+5bb4, U+5d50, U+60a3, U+63fa, U+658e, U+65e8, U+6669, U+6795, U+679d, U+67a0, U+6b3a, U+6e09, U+757f, U+7cd6, U+7dbe, U+7ffb, U+83cc, U+83f1, U+840c, U+845b, U+8846, U+8972, U+8a34, U+8a50, U+8a87, U+8edf, U+8ff0, U+90a6, U+9154, U+95a3, U+9663, U+9686, U+96c7, U+ff3c, U+ff7c, U+ff8a) ); /* noto-sans-jp-[88]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-88-400-normal.woff2", $range: (U+25bd, U+4e59, U+4ec1, U+4ff3, U+515a, U+518a, U+525b, U+5375, U+552f, U+57a3, U+5b9c, U+5c3d, U+5e3d, U+5e7b, U+5f0a, U+6094, U+6458, U+654f, U+67f3, U+6b8a, U+6bd2, U+6c37, U+6ce1, U+6e56, U+6e7f, U+6ed1, U+6ede, U+6f0f, U+70ad, U+7267, U+7363, U+786c, U+7a42, U+7db2, U+7f85, U+8178, U+829d, U+8896, U+8c5a, U+8cb0, U+8ce2, U+8ed2, U+9047, U+9177, U+970a, U+9ea6, U+ff1b, U+ff31, U+ff39, U+ff80) ); /* noto-sans-jp-[89]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-89-400-normal.woff2", $range: (U+a5, U+4e80, U+4f34, U+4f73, U+4f75, U+511f, U+5192, U+52aa, U+53c8, U+570f, U+57cb, U+596e, U+5d8b, U+5f66, U+5fd9, U+62db, U+62f6, U+6328, U+633f, U+63a7, U+6469, U+6bbf, U+6c41, U+6c57, U+6d44, U+6dbc, U+706f, U+72c2, U+72ed, U+7551, U+75f4, U+7949, U+7e26, U+7fd4, U+8150, U+8af8, U+8b0e, U+8b72, U+8ca7, U+934b, U+9a0e, U+9a12, U+9b42, U+ff41, U+ff43, U+ff45, U+ff49, U+ff4f, U+ff62-ff63) ); /* noto-sans-jp-[90]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-90-400-normal.woff2", $range: (U+4e18, U+4fb5, U+5104, U+52c7, U+5353, U+5374, U+53e5, U+587e, U+594f, U+5a20, U+5de1, U+5f18, U+5fcd, U+6291, U+62ab, U+6355, U+6392, U+63da, U+63e1, U+656c, U+6687, U+68b0-68b1, U+68d2, U+68da, U+6b27, U+6cbc, U+7159, U+7344, U+73cd, U+76df, U+790e, U+7cf8, U+8102, U+88c1, U+8aa0, U+8e0f, U+9178, U+92ad, U+9670, U+96c5, U+9cf4, U+9db4, U+ff3e, U+ff6f, U+ff72, U+ff78, U+ff7d, U+ff84, U+ff8c) ); /* noto-sans-jp-[91]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-91-400-normal.woff2", $range: (U+60, U+2200, U+226b, U+2461, U+517c, U+526f, U+5800, U+5b97, U+5bf8, U+5c01, U+5d29, U+5e4c, U+5e81, U+6065, U+61d0, U+667a, U+6696, U+6843, U+6c99, U+6d99, U+6ec5, U+6f22, U+6f6e, U+6fa4, U+6fef, U+71c3, U+72d9, U+7384, U+78e8, U+7a1a, U+7a32, U+7a3c, U+7adc, U+7ca7, U+7d2b, U+7dad, U+7e4b, U+80a9, U+8170, U+81ed, U+820e, U+8a17, U+8afe, U+90aa, U+914e, U+963f, U+99c4, U+9eba, U+9f3b, U+ff38) ); /* noto-sans-jp-[92]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-92-400-normal.woff2", $range: (U+2460, U+4e5f, U+4e7e, U+4ed9, U+501f, U+502b, U+5968, U+5974, U+5ac1, U+5b99, U+5ba3, U+5be7, U+5be9, U+5c64, U+5cb8, U+5ec3, U+5f1f, U+616e, U+6297, U+62e0, U+62ec, U+6368, U+642d, U+65e6, U+6717, U+676f, U+6b04, U+732e, U+7652, U+76ca, U+76d7, U+7802, U+7e70, U+7f6a, U+8133, U+81e8, U+866b, U+878d, U+88f8, U+8a5e, U+8cdb, U+8d08, U+907a, U+90e1, U+96f2, U+9f8d, U+ff35, U+ff37, U+ff40, U+ff9d) ); /* noto-sans-jp-[93]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-93-400-normal.woff2", $range: (U+21d2, U+25ce, U+300a-300b, U+4e89, U+4e9c, U+4ea1, U+5263, U+53cc, U+5426, U+5869, U+5947, U+598a, U+5999, U+5e55, U+5e72, U+5e79, U+5fae, U+5fb9, U+602a, U+6163, U+624d, U+6749, U+6c5a, U+6cbf, U+6d45, U+6dfb, U+6e7e, U+708e, U+725b, U+7763, U+79c0, U+7bc4, U+7c89, U+7e01, U+7e2e, U+8010, U+8033, U+8c6a, U+8cc3, U+8f1d, U+8f9b, U+8fb2, U+907f, U+90f7, U+9707, U+9818, U+9b3c, U+ff0a, U+ff4d) ); /* noto-sans-jp-[94]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-94-400-normal.woff2", $range: (U+2015, U+2190, U+4e43, U+5019, U+5247, U+52e7, U+5438, U+54b2, U+55ab, U+57f7, U+5bd2, U+5e8a, U+5ef6, U+6016, U+60b2, U+6162, U+6319, U+6551, U+6607, U+66b4, U+675f, U+67d4, U+6b20, U+6b53, U+6ce3, U+719f, U+75b2, U+770b, U+7720, U+77ac, U+79d2, U+7af9, U+7d05, U+7dca, U+8056, U+80f8, U+81f3, U+8352, U+885d, U+8a70, U+8aa4, U+8cbc, U+900f, U+9084, U+91e3, U+9451, U+96c4, U+99c6, U+9ad4, U+ff70) ); /* noto-sans-jp-[95]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-95-400-normal.woff2", $range: (U+2193, U+25b2, U+4e4b, U+516d, U+51c4, U+529f, U+52c9, U+5360, U+5442, U+5857, U+5915, U+59eb, U+5a9b, U+5c3b, U+6012, U+61b6, U+62b1, U+6311, U+6577, U+65e2, U+65ec, U+6613, U+6790, U+6cb9, U+7372, U+76ae, U+7d5e, U+7fcc, U+88ab, U+88d5, U+8caf, U+8ddd, U+8ecd, U+8f38, U+8f9e, U+8feb, U+9063, U+90f5, U+93e1, U+968a, U+968f, U+98fe, U+9ec4, U+ff1d, U+ff27, U+ff2a, U+ff36, U+ff3b, U+ff3d, U+ffe5) ); /* noto-sans-jp-[96]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-96-400-normal.woff2", $range: (U+4e03, U+4f38, U+50b7, U+5264, U+5348, U+5371, U+585a, U+58ca, U+5951, U+59b9, U+59d4, U+5b98, U+5f8b, U+6388, U+64cd, U+65e7, U+6803, U+6b6f, U+6d66, U+6e0b, U+6ecb, U+6fc3, U+72ac, U+773c, U+77e2, U+7968, U+7a74, U+7dba, U+7dd1, U+7e3e, U+808c, U+811a, U+8179, U+8239, U+8584, U+8a0e, U+8a72, U+8b66, U+8c46, U+8f29, U+90a3, U+9234, U+96f0, U+9769, U+9774, U+9aa8, U+ff26, U+ff28, U+ff9e-ff9f) ); /* noto-sans-jp-[97]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-97-400-normal.woff2", $range: (U+7e, U+b4, U+25c6, U+2661, U+4e92, U+4eee, U+4ffa, U+5144, U+5237, U+5287, U+52b4, U+58c1, U+5bff, U+5c04, U+5c06, U+5e95, U+5f31, U+5f93, U+63c3, U+640d, U+6557, U+6614, U+662f, U+67d3, U+690d, U+6bba, U+6e6f, U+72af, U+732b, U+7518, U+7ae0, U+7ae5, U+7af6, U+822a, U+89e6, U+8a3a, U+8a98, U+8cb8, U+8de1, U+8e8d, U+95d8, U+961c, U+96a3, U+96ea, U+9bae, U+ff20, U+ff22, U+ff29, U+ff2b-ff2c) ); /* noto-sans-jp-[98]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-98-400-normal.woff2", $range: (U+25cb, U+4e71, U+4f59, U+50d5, U+520a, U+5217, U+5230, U+523a-523b, U+541b, U+5439, U+5747, U+59c9, U+5bdf, U+5c31, U+5de8, U+5e7c, U+5f69, U+6050, U+60d1, U+63cf, U+663c, U+67c4, U+6885, U+6c38, U+6d6e, U+6db2, U+6df7, U+6e2c, U+6f5f, U+7532, U+76e3-76e4, U+7701, U+793c, U+79f0, U+7a93, U+7d00, U+7de0, U+7e54, U+8328, U+8840, U+969c, U+96e8, U+9811, U+9aea, U+9b5a, U+ff24, U+ff2e, U+ff57) ); /* noto-sans-jp-[99]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-99-400-normal.woff2", $range: (U+2191, U+505c, U+52e4, U+5305, U+535a, U+56e0, U+59bb, U+5acc, U+5b09, U+5b87, U+5c90, U+5df1, U+5e2d, U+5e33, U+5f3e, U+6298, U+6383, U+653b, U+6697, U+6804, U+6a39, U+6cca, U+6e90, U+6f2b, U+702c, U+7206, U+7236, U+7559, U+7565, U+7591, U+75c7, U+75db, U+7b4b, U+7bb1, U+7d99, U+7fbd, U+8131, U+885b, U+8b1d, U+8ff7, U+9003, U+9045, U+96a0, U+9732, U+990a, U+99d0, U+9e97, U+9f62, U+ff25, U+ff2d) ); /* noto-sans-jp-[100]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-100-400-normal.woff2", $range: (U+4e08, U+4f9d, U+5012, U+514d, U+51b7, U+5275, U+53ca, U+53f8, U+5584, U+57fc, U+5b9d, U+5bfa, U+5c3e, U+5f01, U+5fb4, U+5fd7, U+606f, U+62e1, U+6563, U+6674, U+6cb3, U+6d3e, U+6d74, U+6e1b, U+6e2f, U+718a, U+7247, U+79d8, U+7d14, U+7d66, U+7d71, U+7df4, U+7e41, U+80cc, U+8155, U+83d3, U+8a95, U+8ab2, U+8ad6, U+8ca1, U+9000, U+9006, U+9678, U+97d3, U+9808, U+98ef, U+9a5a, U+9b45, U+ff23, U+ff30) ); /* noto-sans-jp-[101]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-101-400-normal.woff2", $range: (U+25bc, U+3012, U+4ef2, U+4f0a, U+516b, U+5373, U+539a, U+53b3, U+559c, U+56f0, U+5727, U+5742, U+5965, U+59ff, U+5bc6, U+5dfb, U+5e45, U+5ead, U+5fb3, U+6211, U+6253, U+639b, U+63a8, U+6545, U+6575, U+6628, U+672d, U+68a8, U+6bdb, U+6d25, U+707d, U+767e, U+7834, U+7b46, U+7bc9, U+8074, U+82e6, U+8349, U+8a2a, U+8d70, U+8da3, U+8fce, U+91cc, U+967d, U+97ff, U+9996, U+ff1c, U+ff2f, U+ff32, U+ff34) ); /* noto-sans-jp-[102]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-102-400-normal.woff2", $range: (U+3d, U+5e, U+25cf, U+4e0e, U+4e5d, U+4e73, U+4e94, U+4f3c, U+5009, U+5145, U+51ac, U+5238, U+524a, U+53f3, U+547c, U+5802, U+5922, U+5a66, U+5c0e, U+5de6, U+5fd8, U+5feb, U+6797, U+685c, U+6b7b, U+6c5f-6c60, U+6cc9, U+6ce2, U+6d17, U+6e21, U+7167, U+7642, U+76db, U+8001, U+821e, U+8857, U+89d2, U+8b1b, U+8b70, U+8cb4, U+8cde, U+8f03, U+8f2a, U+968e, U+9b54, U+9e7f, U+9ebb, U+ff05, U+ff33) ); /* noto-sans-jp-[103]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-103-400-normal.woff2", $range: (U+500d, U+5074, U+50cd, U+5175, U+52e2, U+5352, U+5354, U+53f2, U+5409, U+56fa, U+5a18, U+5b88, U+5bdd, U+5ca9, U+5f92, U+5fa9, U+60a9, U+623f, U+6483, U+653f, U+666f, U+66ae, U+66f2, U+6a21, U+6b66, U+6bcd, U+6d5c, U+796d, U+7a4d, U+7aef, U+7b56, U+7b97, U+7c4d, U+7e04, U+7fa9, U+8377, U+83dc, U+83ef, U+8535, U+8863, U+88cf, U+88dc, U+8907, U+8acb, U+90ce, U+91dd, U+ff0b, U+ff0d, U+ff19, U+ff65) ); /* noto-sans-jp-[104]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-104-400-normal.woff2", $range: (U+4e01, U+4e21, U+4e38, U+52a9, U+547d, U+592e, U+5931, U+5b63, U+5c40, U+5dde, U+5e78, U+5efa, U+5fa1, U+604b, U+6075, U+62c5, U+632f, U+6a19, U+6c0f, U+6c11, U+6c96, U+6e05, U+70ba, U+71b1, U+7387, U+7403, U+75c5, U+77ed, U+795d, U+7b54, U+7cbe, U+7d19, U+7fa4, U+8089, U+81f4, U+8208, U+8336, U+8457, U+8a33, U+8c4a, U+8ca0, U+8ca8, U+8cc0, U+9014, U+964d, U+9803, U+983c, U+98db, U+ff17, U+ff21) ); /* noto-sans-jp-[105]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-105-400-normal.woff2", $range: (U+25, U+25a0, U+4e26, U+4f4e, U+5341, U+56f2, U+5bbf, U+5c45, U+5c55, U+5c5e, U+5dee, U+5e9c, U+5f7c, U+6255, U+627f, U+62bc, U+65cf, U+661f, U+666e, U+66dc, U+67fb, U+6975, U+6a4b, U+6b32, U+6df1, U+6e29, U+6fc0, U+738b, U+7686, U+7a76, U+7a81, U+7c73, U+7d75, U+7dd2, U+82e5, U+82f1, U+85ac, U+888b, U+899a, U+8a31, U+8a8c, U+8ab0, U+8b58, U+904a, U+9060, U+9280, U+95b2, U+984d, U+9ce5, U+ff18) ); /* noto-sans-jp-[106]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-106-400-normal.woff2", $range: (U+30f6, U+50ac, U+5178, U+51e6, U+5224, U+52dd, U+5883, U+5897, U+590f, U+5a5a, U+5bb3, U+5c65, U+5e03, U+5e2b, U+5e30, U+5eb7, U+6271, U+63f4, U+64ae, U+6574, U+672b, U+679a, U+6a29-6a2a, U+6ca2, U+6cc1, U+6d0b, U+713c, U+74b0, U+7981, U+7a0b, U+7bc0, U+7d1a, U+7d61, U+7fd2, U+822c, U+8996, U+89aa, U+8cac, U+8cbb, U+8d77, U+8def, U+9020, U+9152, U+9244, U+9662, U+967a, U+96e3, U+9759, U+ff16) ); /* noto-sans-jp-[107]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-107-400-normal.woff2", $range: (U+23, U+3c, U+2192, U+4e45, U+4efb, U+4f50, U+4f8b, U+4fc2, U+5024, U+5150, U+5272, U+5370, U+53bb, U+542b, U+56db, U+56e3, U+57ce, U+5bc4, U+5bcc, U+5f71, U+60aa, U+6238, U+6280, U+629c, U+6539, U+66ff, U+670d, U+677e-677f, U+6839, U+69cb, U+6b4c, U+6bb5, U+6e96, U+6f14, U+72ec, U+7389, U+7814, U+79cb, U+79d1, U+79fb, U+7a0e, U+7d0d, U+85e4, U+8d64, U+9632, U+96e2, U+9805, U+99ac, U+ff1e) ); /* noto-sans-jp-[108]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-108-400-normal.woff2", $range: (U+2605-2606, U+301c, U+4e57, U+4fee, U+5065, U+52df, U+533b, U+5357, U+57df, U+58eb, U+58f0, U+591c, U+592a-592b, U+5948, U+5b85, U+5d0e, U+5ea7, U+5ff5, U+6025, U+63a1, U+63a5, U+63db, U+643a, U+65bd, U+671d, U+68ee, U+6982, U+6b73, U+6bd4, U+6d88, U+7570, U+7b11, U+7d76, U+8077, U+8217, U+8c37, U+8c61, U+8cc7, U+8d85, U+901f, U+962a, U+9802, U+9806, U+9854, U+98f2, U+9928, U+99c5, U+9ed2) ); /* noto-sans-jp-[109]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-109-400-normal.woff2", $range: (U+266a, U+4f11, U+533a, U+5343, U+534a, U+53cd, U+5404, U+56f3, U+5b57-5b58, U+5bae, U+5c4a, U+5e0c, U+5e2f, U+5eab, U+5f35, U+5f79, U+614b, U+6226, U+629e, U+65c5, U+6625, U+6751, U+6821, U+6b69, U+6b8b, U+6bce, U+6c42, U+706b, U+7c21, U+7cfb, U+805e, U+80b2, U+82b8, U+843d, U+8853, U+88c5, U+8a3c, U+8a66, U+8d8a, U+8fba, U+9069, U+91cf, U+9752, U+975e, U+9999, U+ff0f-ff10, U+ff14-ff15) ); /* noto-sans-jp-[110]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-110-400-normal.woff2", $range: (U+40, U+4e86, U+4e95, U+4f01, U+4f1d, U+4fbf, U+5099, U+5171, U+5177, U+53cb, U+53ce, U+53f0, U+5668, U+5712, U+5ba4, U+5ca1, U+5f85, U+60f3, U+653e, U+65ad, U+65e9, U+6620, U+6750, U+6761, U+6b62, U+6b74, U+6e08, U+6e80, U+7248, U+7531, U+7533, U+753a, U+77f3, U+798f, U+7f6e, U+8449, U+88fd, U+89b3, U+8a55, U+8ac7, U+8b77, U+8db3, U+8efd, U+8fd4, U+9031-9032, U+9580, U+9589, U+96d1, U+985e) ); /* noto-sans-jp-[111]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-111-400-normal.woff2", $range: (U+2b, U+d7, U+300e-300f, U+4e07, U+4e8c, U+512a, U+5149, U+518d, U+5236, U+52b9, U+52d9, U+5468, U+578b, U+57fa, U+5b8c, U+5ba2, U+5c02, U+5de5, U+5f37, U+5f62, U+623b, U+63d0, U+652f, U+672a, U+6848, U+6d41, U+7136, U+7537, U+754c, U+76f4, U+79c1, U+7ba1, U+7d44, U+7d4c, U+7dcf, U+7dda, U+7de8, U+82b1, U+897f, U+8ca9, U+8cfc, U+904e, U+9664, U+982d, U+9858, U+98a8, U+9a13, U+ff13, U+ff5c) ); /* noto-sans-jp-[112]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-112-400-normal.woff2", $range: (U+4e16, U+4e3b, U+4ea4, U+4ee4, U+4f4d, U+4f4f, U+4f55, U+4f9b, U+5317, U+5358, U+53c2, U+53e4, U+548c, U+571f, U+59cb, U+5cf6, U+5e38, U+63a2, U+63b2, U+6559, U+662d, U+679c, U+6c7a, U+72b6, U+7523, U+767d, U+770c, U+7a2e, U+7a3f, U+7a7a, U+7b2c, U+7b49, U+7d20, U+7d42, U+8003, U+8272, U+8a08, U+8aac, U+8cb7, U+8eab, U+8ee2, U+9054-9055, U+90fd, U+914d, U+91cd, U+969b, U+97f3, U+984c, U+ff06) ); /* noto-sans-jp-[113]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-113-400-normal.woff2", $range: (U+26, U+5f, U+2026, U+203b, U+4e09, U+4eac, U+4ed5, U+4fa1, U+5143, U+5199, U+5207, U+539f, U+53e3, U+53f7, U+5411, U+5473, U+5546, U+55b6, U+5929, U+597d, U+5bb9, U+5c11, U+5c4b, U+5ddd, U+5f97, U+5fc5, U+6295, U+6301, U+6307, U+671b, U+76f8, U+78ba, U+795e, U+7d30, U+7d39, U+7d9a, U+89e3, U+8a00, U+8a73, U+8a8d, U+8a9e, U+8aad, U+8abf, U+8cea, U+8eca, U+8ffd, U+904b, U+9650, U+ff11-ff12) ); /* noto-sans-jp-[114]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-114-400-normal.woff2", $range: (U+3e, U+3005, U+4e0d, U+4e88, U+4ecb, U+4ee3, U+4ef6, U+4fdd, U+4fe1, U+500b, U+50cf, U+5186, U+5316, U+53d7, U+540c, U+544a, U+54e1, U+5728, U+58f2, U+5973, U+5b89, U+5c71, U+5e02, U+5e97, U+5f15, U+5fc3, U+5fdc, U+601d, U+611b, U+611f, U+671f, U+6728, U+6765, U+683c, U+6b21, U+6ce8, U+6d3b, U+6d77, U+7530, U+7740, U+7acb, U+7d50, U+826f, U+8f09, U+8fbc, U+9001, U+9053, U+91ce, U+9762, U+98df) ); /* noto-sans-jp-[115]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-115-400-normal.woff2", $range: (U+7c, U+3080, U+4ee5, U+5148, U+516c, U+521d, U+5225, U+529b, U+52a0, U+53ef, U+56de, U+56fd, U+5909, U+591a, U+5b66, U+5b9f, U+5bb6, U+5bfe, U+5e73, U+5e83, U+5ea6, U+5f53, U+6027, U+610f, U+6210, U+6240, U+660e, U+66f4, U+66f8, U+6709, U+6771, U+697d, U+69d8, U+6a5f, U+6c34, U+6cbb, U+73fe, U+756a, U+7684, U+771f, U+793a, U+7f8e, U+898f, U+8a2d, U+8a71, U+8fd1, U+9078, U+9577, U+96fb, U+ff5e) ); /* noto-sans-jp-[116]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-116-400-normal.woff2", $range: (U+a9, U+3010-3011, U+30e2, U+4e0b, U+4eca, U+4ed6, U+4ed8, U+4f53, U+4f5c, U+4f7f, U+53d6, U+540d, U+54c1, U+5730, U+5916, U+5b50, U+5c0f, U+5f8c, U+624b, U+6570, U+6587, U+6599, U+691c, U+696d, U+6cd5, U+7269, U+7279, U+7406, U+767a-767b, U+77e5, U+7d04, U+7d22, U+8005, U+80fd, U+81ea, U+8868, U+8981, U+89a7, U+901a, U+9023, U+90e8, U+91d1, U+9332, U+958b, U+96c6, U+9ad8, U+ff1a, U+ff1f) ); /* noto-sans-jp-[117]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-117-400-normal.woff2", $range: (U+4e, U+a0, U+3000, U+300c-300d, U+4e00, U+4e0a, U+4e2d, U+4e8b, U+4eba, U+4f1a, U+5165, U+5168, U+5185, U+51fa, U+5206, U+5229, U+524d, U+52d5, U+5408, U+554f, U+5831, U+5834, U+5927, U+5b9a, U+5e74, U+5f0f, U+60c5, U+65b0, U+65b9, U+6642, U+6700, U+672c, U+682a, U+6b63, U+6c17, U+7121, U+751f, U+7528, U+753b, U+76ee, U+793e, U+884c, U+898b, U+8a18, U+9593, U+95a2, U+ff01, U+ff08-ff09) ); /* noto-sans-jp-[118]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-118-400-normal.woff2", $range: (U+21-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2-b3, U+b7, U+bb, U+c9, U+cd, U+d6, U+d8, U+dc, U+e0-e5, U+e7-ed, U+ef, U+f1-f4, U+f6, U+f8, U+fa, U+fc-fd, U+103, U+14d, U+1b0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+201c-201d, U+2039-203a, U+203c, U+2048-2049, U+2113, U+2122, U+65e5, U+6708, U+70b9) ); /* noto-sans-jp-[119]-400-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-119-400-normal.woff2", $range: (U+20, U+2027, U+3001-3002, U+3041-307f, U+3081-308f, U+3091-3093, U+3099-309a, U+309d-309e, U+30a1-30e1, U+30e3-30ed, U+30ef-30f0, U+30f2-30f4, U+30fb-30fe, U+ff0c, U+ff0e) diff --git a/src/styles/noto-sans/jp-700-normal.scss b/src/styles/noto-sans/jp-700-normal.scss index 743b16c250..4e9c9e7baa 100644 --- a/src/styles/noto-sans/jp-700-normal.scss +++ b/src/styles/noto-sans/jp-700-normal.scss @@ -1,7 +1,9 @@ +@use "../font"; + $jpFamily: "Noto Sans JP"; /* noto-sans-jp-[0]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-0-700-normal.woff2", @@ -9,7 +11,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[1]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-1-700-normal.woff2", @@ -17,7 +19,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[2]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-2-700-normal.woff2", @@ -25,7 +27,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[3]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-3-700-normal.woff2", @@ -33,7 +35,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[4]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-4-700-normal.woff2", @@ -41,7 +43,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[5]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-5-700-normal.woff2", @@ -49,7 +51,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[6]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-6-700-normal.woff2", @@ -57,7 +59,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[7]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-7-700-normal.woff2", @@ -65,7 +67,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[8]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-8-700-normal.woff2", @@ -73,7 +75,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[9]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-9-700-normal.woff2", @@ -81,7 +83,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[10]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-10-700-normal.woff2", @@ -89,7 +91,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[11]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-11-700-normal.woff2", @@ -97,7 +99,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[12]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-12-700-normal.woff2", @@ -105,7 +107,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[13]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-13-700-normal.woff2", @@ -113,7 +115,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[14]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-14-700-normal.woff2", @@ -121,7 +123,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[15]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-15-700-normal.woff2", @@ -129,7 +131,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[16]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-16-700-normal.woff2", @@ -137,7 +139,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[17]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-17-700-normal.woff2", @@ -145,7 +147,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[18]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-18-700-normal.woff2", @@ -153,7 +155,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[19]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-19-700-normal.woff2", @@ -161,7 +163,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[20]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-20-700-normal.woff2", @@ -169,7 +171,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[21]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-21-700-normal.woff2", @@ -177,7 +179,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[22]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-22-700-normal.woff2", @@ -185,7 +187,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[23]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-23-700-normal.woff2", @@ -193,7 +195,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[24]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-24-700-normal.woff2", @@ -201,7 +203,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[25]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-25-700-normal.woff2", @@ -209,7 +211,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[26]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-26-700-normal.woff2", @@ -217,7 +219,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[27]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-27-700-normal.woff2", @@ -225,7 +227,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[28]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-28-700-normal.woff2", @@ -233,7 +235,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[29]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-29-700-normal.woff2", @@ -241,7 +243,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[30]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-30-700-normal.woff2", @@ -249,7 +251,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[31]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-31-700-normal.woff2", @@ -257,7 +259,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[32]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-32-700-normal.woff2", @@ -265,7 +267,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[33]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-33-700-normal.woff2", @@ -273,7 +275,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[34]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-34-700-normal.woff2", @@ -281,7 +283,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[35]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-35-700-normal.woff2", @@ -289,7 +291,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[36]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-36-700-normal.woff2", @@ -297,7 +299,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[37]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-37-700-normal.woff2", @@ -305,7 +307,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[38]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-38-700-normal.woff2", @@ -313,7 +315,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[39]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-39-700-normal.woff2", @@ -321,7 +323,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[40]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-40-700-normal.woff2", @@ -329,7 +331,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[41]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-41-700-normal.woff2", @@ -337,7 +339,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[42]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-42-700-normal.woff2", @@ -345,7 +347,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[43]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-43-700-normal.woff2", @@ -353,7 +355,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[44]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-44-700-normal.woff2", @@ -361,7 +363,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[45]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-45-700-normal.woff2", @@ -369,7 +371,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[46]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-46-700-normal.woff2", @@ -377,7 +379,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[47]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-47-700-normal.woff2", @@ -385,7 +387,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[48]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-48-700-normal.woff2", @@ -393,7 +395,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[49]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-49-700-normal.woff2", @@ -401,7 +403,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[50]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-50-700-normal.woff2", @@ -409,7 +411,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[51]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-51-700-normal.woff2", @@ -417,7 +419,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[52]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-52-700-normal.woff2", @@ -425,7 +427,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[53]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-53-700-normal.woff2", @@ -433,7 +435,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[54]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-54-700-normal.woff2", @@ -441,7 +443,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[55]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-55-700-normal.woff2", @@ -449,7 +451,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[56]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-56-700-normal.woff2", @@ -457,7 +459,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[57]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-57-700-normal.woff2", @@ -465,7 +467,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[58]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-58-700-normal.woff2", @@ -473,7 +475,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[59]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-59-700-normal.woff2", @@ -481,7 +483,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[60]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-60-700-normal.woff2", @@ -489,7 +491,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[61]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-61-700-normal.woff2", @@ -497,7 +499,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[62]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-62-700-normal.woff2", @@ -505,7 +507,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[63]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-63-700-normal.woff2", @@ -513,7 +515,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[64]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-64-700-normal.woff2", @@ -521,7 +523,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[65]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-65-700-normal.woff2", @@ -529,7 +531,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[66]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-66-700-normal.woff2", @@ -537,7 +539,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[67]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-67-700-normal.woff2", @@ -545,7 +547,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[68]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-68-700-normal.woff2", @@ -553,7 +555,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[69]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-69-700-normal.woff2", @@ -561,7 +563,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[70]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-70-700-normal.woff2", @@ -569,7 +571,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[71]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-71-700-normal.woff2", @@ -577,7 +579,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[72]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-72-700-normal.woff2", @@ -585,7 +587,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[73]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-73-700-normal.woff2", @@ -593,7 +595,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[74]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-74-700-normal.woff2", @@ -601,7 +603,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[75]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-75-700-normal.woff2", @@ -609,7 +611,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[76]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-76-700-normal.woff2", @@ -617,7 +619,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[77]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-77-700-normal.woff2", @@ -625,7 +627,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[78]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-78-700-normal.woff2", @@ -633,7 +635,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[79]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-79-700-normal.woff2", @@ -641,7 +643,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[80]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-80-700-normal.woff2", @@ -649,7 +651,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[81]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-81-700-normal.woff2", @@ -657,7 +659,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[82]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-82-700-normal.woff2", @@ -665,7 +667,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[83]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-83-700-normal.woff2", @@ -673,7 +675,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[84]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-84-700-normal.woff2", @@ -681,7 +683,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[85]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-85-700-normal.woff2", @@ -689,7 +691,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[86]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-86-700-normal.woff2", @@ -697,7 +699,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[87]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-87-700-normal.woff2", @@ -705,7 +707,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[88]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-88-700-normal.woff2", @@ -713,7 +715,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[89]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-89-700-normal.woff2", @@ -721,7 +723,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[90]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-90-700-normal.woff2", @@ -729,7 +731,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[91]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-91-700-normal.woff2", @@ -737,7 +739,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[92]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-92-700-normal.woff2", @@ -745,7 +747,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[93]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-93-700-normal.woff2", @@ -753,7 +755,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[94]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-94-700-normal.woff2", @@ -761,7 +763,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[95]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-95-700-normal.woff2", @@ -769,7 +771,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[96]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-96-700-normal.woff2", @@ -777,7 +779,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[97]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-97-700-normal.woff2", @@ -785,7 +787,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[98]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-98-700-normal.woff2", @@ -793,7 +795,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[99]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-99-700-normal.woff2", @@ -801,7 +803,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[100]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-100-700-normal.woff2", @@ -809,7 +811,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[101]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-101-700-normal.woff2", @@ -817,7 +819,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[102]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-102-700-normal.woff2", @@ -825,7 +827,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[103]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-103-700-normal.woff2", @@ -833,7 +835,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[104]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-104-700-normal.woff2", @@ -841,7 +843,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[105]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-105-700-normal.woff2", @@ -849,7 +851,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[106]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-106-700-normal.woff2", @@ -857,7 +859,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[107]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-107-700-normal.woff2", @@ -865,7 +867,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[108]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-108-700-normal.woff2", @@ -873,7 +875,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[109]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-109-700-normal.woff2", @@ -881,7 +883,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[110]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-110-700-normal.woff2", @@ -889,7 +891,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[111]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-111-700-normal.woff2", @@ -897,7 +899,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[112]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-112-700-normal.woff2", @@ -905,7 +907,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[113]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-113-700-normal.woff2", @@ -913,7 +915,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[114]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-114-700-normal.woff2", @@ -921,7 +923,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[115]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-115-700-normal.woff2", @@ -929,7 +931,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[116]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-116-700-normal.woff2", @@ -937,7 +939,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[117]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-117-700-normal.woff2", @@ -945,7 +947,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[118]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-118-700-normal.woff2", @@ -953,7 +955,7 @@ $jpFamily: "Noto Sans JP"; ); /* noto-sans-jp-[119]-700-normal */ -@include fontFace( +@include font.face( $family: $jpFamily, $weight: 700, $url: "~@fontsource/noto-sans-jp/files/noto-sans-jp-119-700-normal.woff2", diff --git a/src/styles/noto-sans/kr-400-normal.scss b/src/styles/noto-sans/kr-400-normal.scss index e986c0868d..a9f09de223 100644 --- a/src/styles/noto-sans/kr-400-normal.scss +++ b/src/styles/noto-sans/kr-400-normal.scss @@ -1,840 +1,842 @@ +@use "../font"; + $krFamily: "Noto Sans KR"; /* noto-sans-kr-[0]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-0-400-normal.woff2", $range: (U+f9ca-fa0b, U+ff03-ff05, U+ff07, U+ff0a-ff0b, U+ff0d-ff19, U+ff1b, U+ff1d, U+ff20-ff5b, U+ff5d, U+ffe0-ffe3, U+ffe5-ffe6) ); /* noto-sans-kr-[1]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-1-400-normal.woff2", $range: (U+f92f-f980, U+f982-f9c9) ); /* noto-sans-kr-[2]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-2-400-normal.woff2", $range: (U+d723-d728, U+d72a-d733, U+d735-d748, U+d74a-d74f, U+d752-d753, U+d755-d757, U+d75a-d75f, U+d762-d764, U+d766-d768, U+d76a-d76b, U+d76d-d76f, U+d771-d787, U+d789-d78b, U+d78d-d78f, U+d791-d797, U+d79a, U+d79c, U+d79e-d7a3, U+f900-f909, U+f90b-f92e) ); /* noto-sans-kr-[3]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-3-400-normal.woff2", $range: (U+d679-d68b, U+d68e-d69e, U+d6a0, U+d6a2-d6a7, U+d6a9-d6c3, U+d6c6-d6c7, U+d6c9-d6cb, U+d6cd-d6d3, U+d6d5-d6d6, U+d6d8-d6e3, U+d6e5-d6e7, U+d6e9-d6fb, U+d6fd-d717, U+d719-d71f, U+d721-d722) ); /* noto-sans-kr-[4]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-4-400-normal.woff2", $range: (U+d5bc-d5c7, U+d5ca-d5cb, U+d5cd-d5cf, U+d5d1-d5d7, U+d5d9-d5da, U+d5dc, U+d5de-d5e3, U+d5e6-d5e7, U+d5e9-d5eb, U+d5ed-d5f6, U+d5f8, U+d5fa-d5ff, U+d602-d603, U+d605-d607, U+d609-d60f, U+d612-d613, U+d616-d61b, U+d61d-d637, U+d63a-d63b, U+d63d-d63f, U+d641-d647, U+d64a-d64c, U+d64e-d653, U+d656-d657, U+d659-d65b, U+d65d-d666, U+d668, U+d66a-d678) ); /* noto-sans-kr-[5]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-5-400-normal.woff2", $range: (U+d507, U+d509-d50b, U+d50d-d513, U+d515-d53b, U+d53e-d53f, U+d541-d543, U+d545-d54c, U+d54e, U+d550, U+d552-d557, U+d55a-d55b, U+d55d-d55f, U+d561-d564, U+d566-d567, U+d56a, U+d56c, U+d56e-d573, U+d576-d577, U+d579-d583, U+d585-d586, U+d58a-d5a4, U+d5a6-d5bb) ); /* noto-sans-kr-[6]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-6-400-normal.woff2", $range: (U+d464-d477, U+d47a-d47b, U+d47d-d47f, U+d481-d487, U+d489-d48a, U+d48c, U+d48e-d4e7, U+d4e9-d503, U+d505-d506) ); /* noto-sans-kr-[7]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-7-400-normal.woff2", $range: (U+d3bf-d3c7, U+d3ca-d3cf, U+d3d1-d3eb, U+d3ee-d3ef, U+d3f1-d3f3, U+d3f5-d3fb, U+d3fd-d400, U+d402-d45b, U+d45d-d463) ); /* noto-sans-kr-[8]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-8-400-normal.woff2", $range: (U+d2ff, U+d302-d304, U+d306-d30b, U+d30f, U+d311-d313, U+d315-d31b, U+d31e, U+d322-d324, U+d326-d327, U+d32a-d32b, U+d32d-d32f, U+d331-d337, U+d339-d33c, U+d33e-d37b, U+d37e-d37f, U+d381-d383, U+d385-d38b, U+d38e-d390, U+d392-d397, U+d39a-d39b, U+d39d-d39f, U+d3a1-d3a7, U+d3a9-d3aa, U+d3ac, U+d3ae-d3b3, U+d3b5-d3b7, U+d3b9-d3bb, U+d3bd-d3be) ); /* noto-sans-kr-[9]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-9-400-normal.woff2", $range: (U+d257-d27f, U+d281-d29b, U+d29d-d29f, U+d2a1-d2ab, U+d2ad-d2b7, U+d2ba-d2bb, U+d2bd-d2bf, U+d2c1-d2c7, U+d2c9-d2ef, U+d2f2-d2f3, U+d2f5-d2f7, U+d2f9-d2fe) ); /* noto-sans-kr-[10]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-10-400-normal.woff2", $range: (U+d1b4, U+d1b6-d1f3, U+d1f5-d22b, U+d22e-d22f, U+d231-d233, U+d235-d23b, U+d23d-d240, U+d242-d256) ); /* noto-sans-kr-[11]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-11-400-normal.woff2", $range: (U+d105-d12f, U+d132-d133, U+d135-d137, U+d139-d13f, U+d141-d142, U+d144, U+d146-d14b, U+d14e-d14f, U+d151-d153, U+d155-d15b, U+d15e-d187, U+d189-d19f, U+d1a2-d1a3, U+d1a5-d1a7, U+d1a9-d1af, U+d1b2-d1b3) ); /* noto-sans-kr-[12]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-12-400-normal.woff2", $range: (U+d04b-d04f, U+d051-d057, U+d059-d06b, U+d06d-d06f, U+d071-d073, U+d075-d07b, U+d07e-d0a3, U+d0a6-d0a7, U+d0a9-d0ab, U+d0ad-d0b3, U+d0b6, U+d0b8, U+d0ba-d0bf, U+d0c2-d0c3, U+d0c5-d0c7, U+d0c9-d0cf, U+d0d2, U+d0d6-d0db, U+d0de-d0df, U+d0e1-d0e3, U+d0e5-d0eb, U+d0ee-d0f0, U+d0f2-d104) ); /* noto-sans-kr-[13]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-13-400-normal.woff2", $range: (U+cfa2-cfc3, U+cfc5-cfdf, U+cfe2-cfe3, U+cfe5-cfe7, U+cfe9-cff4, U+cff6-cffb, U+cffd-cfff, U+d001-d003, U+d005-d017, U+d019-d033, U+d036-d037, U+d039-d03b, U+d03d-d04a) ); /* noto-sans-kr-[14]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-14-400-normal.woff2", $range: (U+cef0-cef3, U+cef6, U+cef9-ceff, U+cf01-cf03, U+cf05-cf07, U+cf09-cf0f, U+cf11-cf12, U+cf14-cf1b, U+cf1d-cf1f, U+cf21-cf2f, U+cf31-cf53, U+cf56-cf57, U+cf59-cf5b, U+cf5d-cf63, U+cf66, U+cf68, U+cf6a-cf6f, U+cf71-cf84, U+cf86-cf8b, U+cf8d-cfa1) ); /* noto-sans-kr-[15]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-15-400-normal.woff2", $range: (U+ce3c-ce57, U+ce5a-ce5b, U+ce5d-ce5f, U+ce61-ce67, U+ce6a, U+ce6c, U+ce6e-ce73, U+ce76-ce77, U+ce79-ce7b, U+ce7d-ce83, U+ce85-ce88, U+ce8a-ce8f, U+ce91-ce93, U+ce95-ce97, U+ce99-ce9f, U+cea2, U+cea4-ceab, U+cead-cee3, U+cee6-cee7, U+cee9-ceeb, U+ceed-ceef) ); /* noto-sans-kr-[16]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-16-400-normal.woff2", $range: (U+cd92-cd93, U+cd96-cd97, U+cd99-cd9b, U+cd9d-cda3, U+cda6-cda8, U+cdaa-cdaf, U+cdb1-cdc3, U+cdc5-cdcb, U+cdcd-cde7, U+cde9-ce03, U+ce05-ce1f, U+ce22-ce34, U+ce36-ce3b) ); /* noto-sans-kr-[17]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-17-400-normal.woff2", $range: (U+ccef-cd07, U+cd0a-cd0b, U+cd0d-cd1a, U+cd1c, U+cd1e-cd2b, U+cd2d-cd5b, U+cd5d-cd77, U+cd79-cd91) ); /* noto-sans-kr-[18]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-18-400-normal.woff2", $range: (U+cc3f-cc43, U+cc46-cc47, U+cc49-cc4b, U+cc4d-cc53, U+cc55-cc58, U+cc5a-cc5f, U+cc61-cc97, U+cc9a-cc9b, U+cc9d-cc9f, U+cca1-cca7, U+ccaa, U+ccac, U+ccae-ccb3, U+ccb6-ccb7, U+ccb9-ccbb, U+ccbd-cccf, U+ccd1-cce3, U+cce5-ccee) ); /* noto-sans-kr-[19]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-19-400-normal.woff2", $range: (U+cb91-cbd3, U+cbd5-cbe3, U+cbe5-cc0b, U+cc0e-cc0f, U+cc11-cc13, U+cc15-cc1b, U+cc1d-cc20, U+cc23-cc27, U+cc2a-cc2b, U+cc2d, U+cc2f, U+cc31-cc37, U+cc3a, U+cc3c) ); /* noto-sans-kr-[20]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-20-400-normal.woff2", $range: (U+caf4-cb47, U+cb4a-cb90) ); /* noto-sans-kr-[21]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-21-400-normal.woff2", $range: (U+ca4a-ca4b, U+ca4e-ca4f, U+ca51-ca53, U+ca55-ca5b, U+ca5d-ca60, U+ca62-ca83, U+ca85-cabb, U+cabe-cabf, U+cac1-cac3, U+cac5-cacb, U+cacd-cad0, U+cad2, U+cad4-cad8, U+cada-caf3) ); /* noto-sans-kr-[22]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-22-400-normal.woff2", $range: (U+c996-c997, U+c99a-c99c, U+c99e-c9bf, U+c9c2-c9c3, U+c9c5-c9c7, U+c9c9-c9cf, U+c9d2, U+c9d4, U+c9d7-c9d8, U+c9db, U+c9de-c9df, U+c9e1-c9e3, U+c9e5-c9e6, U+c9e8-c9eb, U+c9ee-c9f0, U+c9f2-c9f7, U+c9f9-ca0b, U+ca0d-ca28, U+ca2a-ca49) ); /* noto-sans-kr-[23]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-23-400-normal.woff2", $range: (U+c8e9-c8f4, U+c8f6-c8fb, U+c8fe-c8ff, U+c901-c903, U+c905-c90b, U+c90e-c910, U+c912-c917, U+c919-c92b, U+c92d-c94f, U+c951-c953, U+c955-c96b, U+c96d-c973, U+c975-c987, U+c98a-c98b, U+c98d-c98f, U+c991-c995) ); /* noto-sans-kr-[24]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-24-400-normal.woff2", $range: (U+c841-c84b, U+c84d-c86f, U+c872-c873, U+c875-c877, U+c879-c87f, U+c882-c884, U+c887-c88a, U+c88d-c8c3, U+c8c5-c8df, U+c8e1-c8e8) ); /* noto-sans-kr-[25]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-25-400-normal.woff2", $range: (U+c779-c77b, U+c77e-c782, U+c786, U+c78b, U+c78d, U+c78f, U+c792-c793, U+c795, U+c797, U+c799-c79f, U+c7a2, U+c7a7-c7ab, U+c7ae-c7bb, U+c7bd-c7c0, U+c7c2-c7c7, U+c7c9-c7dc, U+c7de-c7ff, U+c802-c803, U+c805-c807, U+c809, U+c80b-c80f, U+c812, U+c814, U+c817-c81b, U+c81e-c81f, U+c821-c823, U+c825-c82e, U+c830-c837, U+c839-c83b, U+c83d-c840) ); /* noto-sans-kr-[26]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-26-400-normal.woff2", $range: (U+c6bb-c6bf, U+c6c2, U+c6c4, U+c6c6-c6cb, U+c6ce-c6cf, U+c6d1-c6d3, U+c6d5-c6db, U+c6dd-c6df, U+c6e1-c6e7, U+c6e9-c6eb, U+c6ed-c6ef, U+c6f1-c6f8, U+c6fa-c703, U+c705-c707, U+c709-c70b, U+c70d-c716, U+c718, U+c71a-c71f, U+c722-c723, U+c725-c727, U+c729-c734, U+c736-c73b, U+c73e-c73f, U+c741-c743, U+c745-c74b, U+c74e-c750, U+c752-c757, U+c759-c773, U+c776-c777) ); /* noto-sans-kr-[27]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-27-400-normal.woff2", $range: (U+c5f5-c5fb, U+c5fe, U+c602-c605, U+c607, U+c609-c60f, U+c611-c61a, U+c61c-c623, U+c626-c627, U+c629-c62b, U+c62d, U+c62f-c632, U+c636, U+c638, U+c63a-c63f, U+c642-c643, U+c645-c647, U+c649-c652, U+c656-c65b, U+c65d-c65f, U+c661-c663, U+c665-c677, U+c679-c67b, U+c67d-c693, U+c696-c697, U+c699-c69b, U+c69d-c6a3, U+c6a6, U+c6a8, U+c6aa-c6af, U+c6b2-c6b3, U+c6b5-c6b7, U+c6b9-c6ba) ); /* noto-sans-kr-[28]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-28-400-normal.woff2", $range: (U+c517-c527, U+c52a-c52b, U+c52d-c52f, U+c531-c538, U+c53a, U+c53c, U+c53e-c543, U+c546-c547, U+c54b, U+c54d-c552, U+c556, U+c55a-c55b, U+c55d, U+c55f, U+c562-c563, U+c565-c567, U+c569-c56f, U+c572, U+c574, U+c576-c57b, U+c57e-c57f, U+c581-c583, U+c585-c586, U+c588-c58b, U+c58e, U+c590, U+c592-c596, U+c599-c5b3, U+c5b6-c5b7, U+c5ba, U+c5be-c5c3, U+c5ca-c5cb, U+c5cd, U+c5cf, U+c5d2-c5d3, U+c5d5-c5d7, U+c5d9-c5df, U+c5e1-c5e2, U+c5e4, U+c5e6-c5eb, U+c5ef, U+c5f1-c5f3) ); /* noto-sans-kr-[29]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-29-400-normal.woff2", $range: (U+c475-c4ef, U+c4f2-c4f3, U+c4f5-c4f7, U+c4f9-c4ff, U+c502-c50b, U+c50d-c516) ); /* noto-sans-kr-[30]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-30-400-normal.woff2", $range: (U+c3d0-c3d7, U+c3da-c3db, U+c3dd-c3de, U+c3e1-c3ec, U+c3ee-c3f3, U+c3f5-c42b, U+c42d-c463, U+c466-c474) ); /* noto-sans-kr-[31]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-31-400-normal.woff2", $range: (U+c32b-c367, U+c36a-c36b, U+c36d-c36f, U+c371-c377, U+c37a-c37b, U+c37e-c383, U+c385-c387, U+c389-c3cf) ); /* noto-sans-kr-[32]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-32-400-normal.woff2", $range: (U+c26a-c26b, U+c26d-c26f, U+c271-c273, U+c275-c27b, U+c27e-c287, U+c289-c28f, U+c291-c297, U+c299-c29a, U+c29c-c2a3, U+c2a5-c2a7, U+c2a9-c2ab, U+c2ad-c2b3, U+c2b6, U+c2b8, U+c2ba-c2bb, U+c2bd-c2db, U+c2de-c2df, U+c2e1-c2e2, U+c2e5-c2ea, U+c2ee, U+c2f0, U+c2f2-c2f5, U+c2f7, U+c2fa-c2fb, U+c2fd-c2ff, U+c301-c307, U+c309-c30c, U+c30e-c312, U+c315-c323, U+c325-c328, U+c32a) ); /* noto-sans-kr-[33]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-33-400-normal.woff2", $range: (U+c1bc-c1c3, U+c1c5-c1df, U+c1e1-c1fb, U+c1fd-c203, U+c205-c20c, U+c20e, U+c210-c217, U+c21a-c21b, U+c21d-c21e, U+c221-c227, U+c229-c22a, U+c22c, U+c22e, U+c230, U+c233-c24f, U+c251-c257, U+c259-c269) ); /* noto-sans-kr-[34]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-34-400-normal.woff2", $range: (U+c101-c11b, U+c11f, U+c121-c123, U+c125-c12b, U+c12e, U+c132-c137, U+c13a-c13b, U+c13d-c13f, U+c141-c147, U+c14a, U+c14c-c153, U+c155-c157, U+c159-c15b, U+c15d-c166, U+c169-c16f, U+c171-c177, U+c179-c18b, U+c18e-c18f, U+c191-c193, U+c195-c19b, U+c19d-c19e, U+c1a0, U+c1a2-c1a4, U+c1a6-c1bb) ); /* noto-sans-kr-[35]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-35-400-normal.woff2", $range: (U+c049-c057, U+c059-c05b, U+c05d-c05f, U+c061-c067, U+c069-c08f, U+c091-c0ab, U+c0ae-c0af, U+c0b1-c0b3, U+c0b5, U+c0b7-c0bb, U+c0be, U+c0c2-c0c7, U+c0ca-c0cb, U+c0cd-c0cf, U+c0d1-c0d7, U+c0d9-c0da, U+c0dc, U+c0de-c0e3, U+c0e5-c0eb, U+c0ed-c0f3, U+c0f6, U+c0f8, U+c0fa-c0ff) ); /* noto-sans-kr-[36]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-36-400-normal.woff2", $range: (U+bfa7-bfaf, U+bfb1-bfc4, U+bfc6-bfcb, U+bfce-bfcf, U+bfd1-bfd3, U+bfd5-bfdb, U+bfdd-c048) ); /* noto-sans-kr-[37]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-37-400-normal.woff2", $range: (U+bf07, U+bf09-bf3f, U+bf41-bf4f, U+bf52-bf54, U+bf56-bfa6) ); /* noto-sans-kr-[38]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-38-400-normal.woff2", $range: (U+be56, U+be58, U+be5c-be5f, U+be62-be63, U+be65-be67, U+be69-be74, U+be76-be7b, U+be7e-be7f, U+be81-be8e, U+be90, U+be92-bea7, U+bea9-becf, U+bed2-bed3, U+bed5-bed6, U+bed9-bee3, U+bee6-bf06) ); /* noto-sans-kr-[39]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-39-400-normal.woff2", $range: (U+bdb0-bdd3, U+bdd5-bdef, U+bdf1-be0b, U+be0d-be0f, U+be11-be13, U+be15-be43, U+be46-be47, U+be49-be4b, U+be4d-be53) ); /* noto-sans-kr-[40]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-40-400-normal.woff2", $range: (U+bd03, U+bd06, U+bd08, U+bd0a-bd0f, U+bd11-bd22, U+bd25-bd47, U+bd49-bd58, U+bd5a-bd7f, U+bd82-bd83, U+bd85-bd87, U+bd8a-bd8f, U+bd91-bd92, U+bd94, U+bd96-bd98, U+bd9a-bdaf) ); /* noto-sans-kr-[41]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-41-400-normal.woff2", $range: (U+bc4e-bc83, U+bc86-bc87, U+bc89-bc8b, U+bc8d-bc93, U+bc96, U+bc98, U+bc9b-bc9f, U+bca2-bca3, U+bca5-bca7, U+bca9-bcb2, U+bcb4-bcbb, U+bcbe-bcbf, U+bcc1-bcc3, U+bcc5-bccc, U+bcce-bcd0, U+bcd2-bcd4, U+bcd6-bcf3, U+bcf7, U+bcf9-bcfb, U+bcfd-bd02) ); /* noto-sans-kr-[42]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-42-400-normal.woff2", $range: (U+bb90-bba3, U+bba5-bbab, U+bbad-bbbf, U+bbc1-bbf7, U+bbfa-bbfb, U+bbfd-bbfe, U+bc01-bc07, U+bc09-bc0a, U+bc0e, U+bc10, U+bc12-bc13, U+bc17, U+bc19-bc1a, U+bc1e, U+bc20-bc23, U+bc26, U+bc28, U+bc2a-bc2c, U+bc2e-bc2f, U+bc32-bc33, U+bc35-bc37, U+bc39-bc3f, U+bc41-bc42, U+bc44, U+bc46-bc48, U+bc4a-bc4d) ); /* noto-sans-kr-[43]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-43-400-normal.woff2", $range: (U+bae6-bafb, U+bafd-bb17, U+bb19-bb33, U+bb37, U+bb39-bb3a, U+bb3d-bb43, U+bb45-bb46, U+bb48, U+bb4a-bb4f, U+bb51-bb53, U+bb55-bb57, U+bb59-bb62, U+bb64-bb8f) ); /* noto-sans-kr-[44]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-44-400-normal.woff2", $range: (U+ba30-ba37, U+ba3a-ba3b, U+ba3d-ba3f, U+ba41-ba47, U+ba49-ba4a, U+ba4c, U+ba4e-ba53, U+ba56-ba57, U+ba59-ba5b, U+ba5d-ba63, U+ba65-ba66, U+ba68-ba6f, U+ba71-ba73, U+ba75-ba77, U+ba79-ba84, U+ba86, U+ba88-baa7, U+baaa, U+baad-baaf, U+bab1-bab7, U+baba, U+babc, U+babe-bae5) ); /* noto-sans-kr-[45]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-45-400-normal.woff2", $range: (U+b96e-b973, U+b976-b977, U+b979-b97b, U+b97d-b983, U+b986, U+b988, U+b98a-b98d, U+b98f-b9ab, U+b9ae-b9af, U+b9b1-b9b3, U+b9b5-b9bb, U+b9be, U+b9c0, U+b9c2-b9c7, U+b9ca-b9cb, U+b9cd, U+b9d2-b9d7, U+b9da, U+b9dc, U+b9df-b9e0, U+b9e2, U+b9e6-b9e7, U+b9e9-b9f3, U+b9f6, U+b9f8, U+b9fb-ba2f) ); /* noto-sans-kr-[46]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-46-400-normal.woff2", $range: (U+b8bf-b8cb, U+b8cd-b8e0, U+b8e2-b8e7, U+b8ea-b8eb, U+b8ed-b8ef, U+b8f1-b8f7, U+b8fa, U+b8fc, U+b8fe-b903, U+b905-b917, U+b919-b91f, U+b921-b93b, U+b93d-b957, U+b95a-b95b, U+b95d-b95f, U+b961-b967, U+b969-b96c) ); /* noto-sans-kr-[47]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-47-400-normal.woff2", $range: (U+b80d-b80f, U+b811-b817, U+b81a, U+b81c-b823, U+b826-b827, U+b829-b82b, U+b82d-b833, U+b836, U+b83a-b83f, U+b841-b85b, U+b85e-b85f, U+b861-b863, U+b865-b86b, U+b86e, U+b870, U+b872-b8af, U+b8b1-b8be) ); /* noto-sans-kr-[48]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-48-400-normal.woff2", $range: (U+b74d-b75f, U+b761-b763, U+b765-b774, U+b776-b77b, U+b77e-b77f, U+b781-b783, U+b785-b78b, U+b78e, U+b792-b796, U+b79a-b79b, U+b79d-b7a7, U+b7aa, U+b7ae-b7b3, U+b7b6-b7c8, U+b7ca-b7eb, U+b7ee-b7ef, U+b7f1-b7f3, U+b7f5-b7fb, U+b7fe, U+b802-b806, U+b80a-b80b) ); /* noto-sans-kr-[49]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-49-400-normal.woff2", $range: (U+b6a7-b6aa, U+b6ac-b6b0, U+b6b2-b6ef, U+b6f1-b727, U+b72a-b72b, U+b72d-b72e, U+b731-b737, U+b739-b73a, U+b73c-b743, U+b745-b74c) ); /* noto-sans-kr-[50]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-50-400-normal.woff2", $range: (U+b605-b60f, U+b612-b617, U+b619-b624, U+b626-b69b, U+b69e-b6a3, U+b6a5-b6a6) ); /* noto-sans-kr-[51]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-51-400-normal.woff2", $range: (U+b55f, U+b562-b583, U+b585-b59f, U+b5a2-b5a3, U+b5a5-b5a7, U+b5a9-b5b2, U+b5b5-b5ba, U+b5bd-b604) ); /* noto-sans-kr-[52]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-52-400-normal.woff2", $range: (U+b4a5-b4b6, U+b4b8-b4bf, U+b4c1-b4c7, U+b4c9-b4db, U+b4de-b4df, U+b4e1-b4e2, U+b4e5-b4eb, U+b4ee, U+b4f0, U+b4f2-b513, U+b516-b517, U+b519-b51a, U+b51d-b523, U+b526, U+b528, U+b52b-b52f, U+b532-b533, U+b535-b537, U+b539-b53f, U+b541-b544, U+b546-b54b, U+b54d-b54f, U+b551-b55b, U+b55d-b55e) ); /* noto-sans-kr-[53]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-53-400-normal.woff2", $range: (U+b3f8-b3fb, U+b3fd-b40f, U+b411-b417, U+b419-b41b, U+b41d-b41f, U+b421-b427, U+b42a-b42b, U+b42d-b44f, U+b452-b453, U+b455-b457, U+b459-b45f, U+b462-b464, U+b466-b46b, U+b46d-b47f, U+b481-b4a3) ); /* noto-sans-kr-[54]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-54-400-normal.woff2", $range: (U+b342-b353, U+b356-b357, U+b359-b35b, U+b35d-b35e, U+b360-b363, U+b366, U+b368, U+b36a-b36d, U+b36f, U+b372-b373, U+b375-b377, U+b379-b37f, U+b381-b382, U+b384, U+b386-b38b, U+b38d-b3c3, U+b3c6-b3c7, U+b3c9-b3ca, U+b3cd-b3d3, U+b3d6, U+b3d8, U+b3da-b3f7) ); /* noto-sans-kr-[55]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-55-400-normal.woff2", $range: (U+b27c-b283, U+b285-b28f, U+b292-b293, U+b295-b297, U+b29a-b29f, U+b2a1-b2a4, U+b2a7-b2a9, U+b2ab, U+b2ad-b2c7, U+b2ca-b2cb, U+b2cd-b2cf, U+b2d1-b2d7, U+b2da, U+b2dc, U+b2de-b2e3, U+b2e7, U+b2e9-b2ea, U+b2ef-b2f3, U+b2f6, U+b2f8, U+b2fa-b2fb, U+b2fd-b2fe, U+b302-b303, U+b305-b307, U+b309-b30f, U+b312, U+b316-b31b, U+b31d-b341) ); /* noto-sans-kr-[56]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-56-400-normal.woff2", $range: (U+b1d6-b1e7, U+b1e9-b1fc, U+b1fe-b203, U+b206-b207, U+b209-b20b, U+b20d-b213, U+b216-b21f, U+b221-b257, U+b259-b273, U+b275-b27b) ); /* noto-sans-kr-[57]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-57-400-normal.woff2", $range: (U+b120-b122, U+b126-b127, U+b129-b12b, U+b12d-b133, U+b136, U+b138, U+b13a-b13f, U+b142-b143, U+b145-b14f, U+b151-b153, U+b156-b157, U+b159-b177, U+b17a-b17b, U+b17d-b17f, U+b181-b187, U+b189-b18c, U+b18e-b191, U+b195-b1a7, U+b1a9-b1cb, U+b1cd-b1d5) ); /* noto-sans-kr-[58]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-58-400-normal.woff2", $range: (U+b05f-b07b, U+b07e-b07f, U+b081-b083, U+b085-b08b, U+b08d-b097, U+b09b, U+b09d-b09f, U+b0a2-b0a7, U+b0aa, U+b0b0, U+b0b2, U+b0b6-b0b7, U+b0b9-b0bb, U+b0bd-b0c3, U+b0c6-b0c7, U+b0ca-b0cf, U+b0d1-b0df, U+b0e1-b0e4, U+b0e6-b107, U+b10a-b10b, U+b10d-b10f, U+b111-b112, U+b114-b117, U+b119-b11a, U+b11c-b11f) ); /* noto-sans-kr-[59]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-59-400-normal.woff2", $range: (U+afac-afb7, U+afba-afbb, U+afbd-afbf, U+afc1-afc6, U+afca-afcc, U+afce-afd3, U+afd5-afe7, U+afe9-afef, U+aff1-b00b, U+b00d-b00f, U+b011-b013, U+b015-b01b, U+b01d-b027, U+b029-b043, U+b045-b047, U+b049, U+b04b, U+b04d-b052, U+b055-b056, U+b058-b05c, U+b05e) ); /* noto-sans-kr-[60]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-60-400-normal.woff2", $range: (U+af03-af07, U+af09-af2b, U+af2e-af33, U+af35-af3b, U+af3e-af40, U+af44-af47, U+af4a-af5c, U+af5e-af63, U+af65-af7f, U+af81-afab) ); /* noto-sans-kr-[61]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-61-400-normal.woff2", $range: (U+ae56-ae5b, U+ae5e-ae60, U+ae62-ae64, U+ae66-ae67, U+ae69-ae6b, U+ae6d-ae83, U+ae85-aebb, U+aebf, U+aec1-aec3, U+aec5-aecb, U+aece, U+aed0, U+aed2-aed7, U+aed9-aef3, U+aef5-af02) ); /* noto-sans-kr-[62]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-62-400-normal.woff2", $range: (U+ad9c-ada3, U+ada5-adbf, U+adc1-adc3, U+adc5-adc7, U+adc9-add2, U+add4-addb, U+addd-addf, U+ade1-ade3, U+ade5-adf7, U+adfa-adfb, U+adfd-adff, U+ae02-ae07, U+ae0a, U+ae0c, U+ae0e-ae13, U+ae15-ae2f, U+ae31-ae33, U+ae35-ae37, U+ae39-ae3f, U+ae42, U+ae44, U+ae46-ae49, U+ae4b, U+ae4f, U+ae51-ae53, U+ae55) ); /* noto-sans-kr-[63]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-63-400-normal.woff2", $range: (U+ace2-ace3, U+ace5-ace6, U+ace9-acef, U+acf2, U+acf4, U+acf7-acfb, U+acfe-acff, U+ad01-ad03, U+ad05-ad0b, U+ad0d-ad10, U+ad12-ad1b, U+ad1d-ad33, U+ad35-ad48, U+ad4a-ad4f, U+ad51-ad6b, U+ad6e-ad6f, U+ad71-ad72, U+ad77-ad7c, U+ad7e, U+ad80, U+ad82-ad87, U+ad89-ad8b, U+ad8d-ad8f, U+ad91-ad9b) ); /* noto-sans-kr-[64]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-64-400-normal.woff2", $range: (U+ac25-ac2c, U+ac2e, U+ac30, U+ac32-ac37, U+ac39-ac3f, U+ac41-ac4c, U+ac4e-ac6f, U+ac72-ac73, U+ac75-ac76, U+ac79-ac7f, U+ac82, U+ac84-ac88, U+ac8a-ac8b, U+ac8d-ac8f, U+ac91-ac93, U+ac95-ac9b, U+ac9d-ac9e, U+aca1-aca7, U+acab, U+acad-acaf, U+acb1-acb7, U+acba-acbb, U+acbe-acc0, U+acc2-acc3, U+acc5-acdf) ); /* noto-sans-kr-[65]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-65-400-normal.woff2", $range: (U+99df, U+99ed, U+99f1, U+99ff, U+9a01, U+9a08, U+9a0e-9a0f, U+9a19, U+9a2b, U+9a30, U+9a36-9a37, U+9a40, U+9a43, U+9a45, U+9a4d, U+9a55, U+9a57, U+9a5a-9a5b, U+9a5f, U+9a62, U+9a65, U+9a69-9a6a, U+9aa8, U+9ab8, U+9ad3, U+9ae5, U+9aee, U+9b1a, U+9b27, U+9b2a, U+9b31, U+9b3c, U+9b41-9b45, U+9b4f, U+9b54, U+9b5a, U+9b6f, U+9b8e, U+9b91, U+9b9f, U+9bab, U+9bae, U+9bc9, U+9bd6, U+9be4, U+9be8, U+9c0d, U+9c10, U+9c12, U+9c15, U+9c25, U+9c32, U+9c3b, U+9c47, U+9c49, U+9c57, U+9ce5, U+9ce7, U+9ce9, U+9cf3-9cf4, U+9cf6, U+9d09, U+9d1b, U+9d26, U+9d28, U+9d3b, U+9d51, U+9d5d, U+9d60-9d61, U+9d6c, U+9d72, U+9da9, U+9daf, U+9db4, U+9dc4, U+9dd7, U+9df2, U+9df8-9dfa, U+9e1a, U+9e1e, U+9e75, U+9e79, U+9e7d, U+9e7f, U+9e92-9e93, U+9e97, U+9e9d, U+9e9f, U+9ea5, U+9eb4-9eb5, U+9ebb, U+9ebe, U+9ec3, U+9ecd-9ece, U+9ed4, U+9ed8, U+9edb-9edc, U+9ede, U+9ee8, U+9ef4, U+9f07-9f08, U+9f0e, U+9f13, U+9f20, U+9f3b, U+9f4a-9f4b, U+9f4e, U+9f52, U+9f5f, U+9f61, U+9f67, U+9f6a, U+9f6c, U+9f77, U+9f8d, U+9f90, U+9f95, U+9f9c, U+ac02-ac03, U+ac05-ac06, U+ac09-ac0f, U+ac17-ac18, U+ac1b, U+ac1e-ac1f, U+ac21-ac23) ); /* noto-sans-kr-[66]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-66-400-normal.woff2", $range: (U+96a7-96a8, U+96aa, U+96b1, U+96b7, U+96bb, U+96c0-96c1, U+96c4-96c5, U+96c7, U+96c9, U+96cb-96ce, U+96d5-96d6, U+96d9, U+96db-96dc, U+96e2-96e3, U+96e8-96ea, U+96ef-96f0, U+96f2, U+96f6-96f7, U+96f9, U+96fb, U+9700, U+9706-9707, U+9711, U+9713, U+9716, U+9719, U+971c, U+971e, U+9727, U+9730, U+9732, U+9739, U+973d, U+9742, U+9744, U+9748, U+9756, U+975c, U+9761, U+9769, U+976d, U+9774, U+9777, U+977a, U+978b, U+978d, U+978f, U+97a0, U+97a8, U+97ab, U+97ad, U+97c6, U+97cb, U+97dc, U+97f6, U+97fb, U+97ff-9803, U+9805-9806, U+9808, U+980a, U+980c, U+9810-9813, U+9817-9818, U+982d, U+9830, U+9838-9839, U+983b, U+9846, U+984c-984e, U+9854, U+9858, U+985a, U+985e, U+9865, U+9867, U+986b, U+986f, U+98af, U+98b1, U+98c4, U+98c7, U+98db-98dc, U+98e1-98e2, U+98ed-98ef, U+98f4, U+98fc-98fe, U+9903, U+9909-990a, U+990c, U+9910, U+9913, U+9918, U+991e, U+9920, U+9928, U+9945, U+9949, U+994b-994d, U+9951-9952, U+9954, U+9957, U+9996, U+999d, U+99a5, U+99a8, U+99ac-99ae, U+99b1, U+99b3-99b4, U+99b9, U+99c1, U+99d0-99d2, U+99d5, U+99d9, U+99dd) ); /* noto-sans-kr-[67]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-67-400-normal.woff2", $range: (U+920d, U+9210-9212, U+9217, U+921e, U+9234, U+923a, U+923f-9240, U+9245, U+9249, U+9257, U+925b, U+925e, U+9262, U+9264-9266, U+9283, U+9285, U+9291, U+9293, U+9296, U+9298, U+929c, U+92b3, U+92b6-92b7, U+92b9, U+92cc, U+92cf, U+92d2, U+92e4, U+92ea, U+92f8, U+92fc, U+9304, U+9310, U+9318, U+931a, U+931e-9322, U+9324, U+9326, U+9328, U+932b, U+932e-932f, U+9348, U+934a-934b, U+934d, U+9354, U+935b, U+936e, U+9375, U+937c, U+937e, U+938c, U+9394, U+9396, U+939a, U+93a3, U+93a7, U+93ac-93ad, U+93b0, U+93c3, U+93d1, U+93de, U+93e1, U+93e4, U+93f6, U+9404, U+9418, U+9425, U+942b, U+9435, U+9438, U+9444, U+9451-9452, U+945b, U+947d, U+947f, U+9583, U+9589, U+958f, U+9591-9592, U+9594, U+9598, U+95a3-95a5, U+95a8, U+95ad, U+95b1, U+95bb-95bc, U+95c7, U+95ca, U+95d4-95d6, U+95dc, U+95e1-95e2, U+961c, U+9621, U+962a, U+962e, U+9632, U+963b, U+963f-9640, U+9642, U+9644, U+964b-964d, U+9650, U+965b-965f, U+9662-9664, U+966a, U+9670, U+9673, U+9675-9678, U+967d, U+9685-9686, U+968a-968b, U+968d-968e, U+9694-9695, U+9698-9699, U+969b-969c, U+96a3) ); /* noto-sans-kr-[68]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-68-400-normal.woff2", $range: (U+8fa8, U+8fad, U+8faf-8fb2, U+8fc2, U+8fc5, U+8fce, U+8fd4, U+8fe6, U+8fea-8feb, U+8fed, U+8ff0, U+8ff2, U+8ff7, U+8ff9, U+8ffd, U+9000-9003, U+9005-9006, U+9008, U+900b, U+900d, U+900f-9011, U+9014-9015, U+9017, U+9019, U+901d-9023, U+902e, U+9031-9032, U+9035, U+9038, U+903c, U+903e, U+9041-9042, U+9047, U+904a-904b, U+904d-904e, U+9050-9051, U+9054-9055, U+9059, U+905c-905e, U+9060-9061, U+9063, U+9069, U+906d-906f, U+9072, U+9075, U+9077-9078, U+907a, U+907c-907d, U+907f-9084, U+9087-9088, U+908a, U+908f, U+9091, U+9095, U+9099, U+90a2-90a3, U+90a6, U+90a8, U+90aa, U+90af-90b1, U+90b5, U+90b8, U+90c1, U+90ca, U+90de, U+90e1, U+90ed, U+90f5, U+9102, U+9112, U+9115, U+9119, U+9127, U+912d, U+9132, U+9149-914e, U+9152, U+9162, U+9169-916a, U+916c, U+9175, U+9177-9178, U+9187, U+9189, U+918b, U+918d, U+9192, U+919c, U+91ab-91ac, U+91ae-91af, U+91b1, U+91b4-91b5, U+91c0, U+91c7, U+91c9, U+91cb, U+91cf-91d0, U+91d7-91d8, U+91dc-91dd, U+91e3, U+91e7, U+91ea, U+91f5) ); /* noto-sans-kr-[69]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-69-400-normal.woff2", $range: (U+8c6a-8c6b, U+8c79-8c7a, U+8c82, U+8c8a, U+8c8c, U+8c9d-8c9e, U+8ca0-8ca2, U+8ca7-8cac, U+8caf-8cb0, U+8cb3-8cb4, U+8cb6-8cb8, U+8cbb-8cbd, U+8cbf-8cc4, U+8cc7-8cc8, U+8cca, U+8cd1, U+8cd3, U+8cda, U+8cdc, U+8cde, U+8ce0, U+8ce2-8ce4, U+8ce6, U+8cea, U+8ced, U+8cf4, U+8cfb-8cfd, U+8d04-8d05, U+8d07-8d08, U+8d0a, U+8d0d, U+8d13, U+8d16, U+8d64, U+8d66, U+8d6b, U+8d70, U+8d73-8d74, U+8d77, U+8d85, U+8d8a, U+8d99, U+8da3, U+8da8, U+8db3, U+8dba, U+8dbe, U+8dc6, U+8dcb-8dcc, U+8dcf, U+8ddb, U+8ddd, U+8de1, U+8de3, U+8de8, U+8df3, U+8e0a, U+8e0f-8e10, U+8e1e, U+8e2a, U+8e30, U+8e35, U+8e42, U+8e44, U+8e47-8e4a, U+8e59, U+8e5f-8e60, U+8e74, U+8e76, U+8e81, U+8e87, U+8e8a, U+8e8d, U+8eaa-8eac, U+8ec0, U+8ecb-8ecc, U+8ed2, U+8edf, U+8eeb, U+8ef8, U+8efb, U+8efe, U+8f03, U+8f05, U+8f09, U+8f12-8f15, U+8f1b-8f1f, U+8f26-8f27, U+8f29-8f2a, U+8f2f, U+8f33, U+8f38-8f39, U+8f3b, U+8f3e-8f3f, U+8f44-8f45, U+8f49, U+8f4d-8f4e, U+8f5d, U+8f5f, U+8f62, U+8f9b-8f9c, U+8fa3, U+8fa6) ); /* noto-sans-kr-[70]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-70-400-normal.woff2", $range: (U+8941, U+8944, U+895f, U+8964, U+896a, U+8972, U+8981, U+8983, U+8986-8987, U+898f, U+8993, U+8996, U+89a1, U+89a9-89aa, U+89b2, U+89ba, U+89bd, U+89c0, U+89d2, U+89e3, U+89f4, U+89f8, U+8a02-8a03, U+8a08, U+8a0a, U+8a0c, U+8a0e, U+8a13, U+8a16-8a17, U+8a1b, U+8a1d, U+8a1f, U+8a23, U+8a25, U+8a2a, U+8a2d, U+8a31, U+8a34, U+8a36, U+8a3a-8a3b, U+8a50, U+8a54-8a55, U+8a5b, U+8a5e, U+8a60, U+8a62-8a63, U+8a66, U+8a6d-8a6e, U+8a70, U+8a72-8a73, U+8a75, U+8a79, U+8a85, U+8a87, U+8a8c-8a8d, U+8a93, U+8a95, U+8a98, U+8aa0-8aa1, U+8aa3-8aa6, U+8aa8, U+8aaa, U+8ab0, U+8ab2, U+8ab9, U+8abc, U+8abe-8abf, U+8ac2, U+8ac4, U+8ac7, U+8acb, U+8acd, U+8acf, U+8ad2, U+8ad6, U+8adb-8adc, U+8ae1, U+8ae6-8ae7, U+8aea-8aeb, U+8aed-8aee, U+8af1, U+8af6-8af8, U+8afa, U+8afe, U+8b00-8b02, U+8b04, U+8b0e, U+8b10, U+8b14, U+8b16-8b17, U+8b19-8b1b, U+8b1d, U+8b20, U+8b28, U+8b2b-8b2c, U+8b33, U+8b39, U+8b41, U+8b49, U+8b4e-8b4f, U+8b58, U+8b5a, U+8b5c, U+8b66, U+8b6c, U+8b6f-8b70, U+8b74, U+8b77, U+8b7d, U+8b80, U+8b8a, U+8b90, U+8b92-8b93, U+8b96, U+8b9a, U+8c37, U+8c3f, U+8c41, U+8c46, U+8c48, U+8c4a, U+8c4c, U+8c55, U+8c5a, U+8c61) ); /* noto-sans-kr-[71]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-71-400-normal.woff2", $range: (U+858f, U+8591, U+8594, U+859b, U+85a6, U+85a8-85aa, U+85af-85b0, U+85ba, U+85c1, U+85c9, U+85cd-85cf, U+85d5, U+85dc-85dd, U+85e4-85e5, U+85e9-85ea, U+85f7, U+85fa-85fb, U+85ff, U+8602, U+8606-8607, U+860a, U+8616-8617, U+861a, U+862d, U+863f, U+864e, U+8650, U+8654-8655, U+865b-865c, U+865e-865f, U+8667, U+8679, U+868a, U+868c, U+8693, U+86a3-86a4, U+86a9, U+86c7, U+86cb, U+86d4, U+86d9, U+86db, U+86df, U+86e4, U+86ed, U+86fe, U+8700, U+8702-8703, U+8708, U+8718, U+871a, U+871c, U+874e, U+8755, U+8757, U+875f, U+8766, U+8768, U+8774, U+8776, U+8778, U+8782, U+878d, U+879f, U+87a2, U+87b3, U+87ba, U+87c4, U+87e0, U+87ec, U+87ef, U+87f2, U+87f9, U+87fb, U+87fe, U+8805, U+881f, U+8822-8823, U+8831, U+8836, U+883b, U+8840, U+8846, U+884d, U+8852-8853, U+8857, U+8859, U+885b, U+885d, U+8861-8863, U+8868, U+886b, U+8870, U+8872, U+8877, U+887e-887f, U+8881-8882, U+8888, U+888b, U+888d, U+8892, U+8896-8897, U+889e, U+88ab, U+88b4, U+88c1-88c2, U+88cf, U+88d4-88d5, U+88d9, U+88dc-88dd, U+88df, U+88e1, U+88e8, U+88f3-88f5, U+88f8, U+88fd, U+8907, U+8910, U+8912-8913, U+8918-8919, U+8925, U+892a, U+8936, U+8938, U+893b) ); /* noto-sans-kr-[72]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-72-400-normal.woff2", $range: (U+82a6, U+82a9, U+82ac-82af, U+82b3, U+82b7-82b9, U+82bb-82bd, U+82bf, U+82d1-82d2, U+82d4-82d5, U+82d7, U+82db, U+82de-82df, U+82e1, U+82e5-82e7, U+82fd-82fe, U+8301-8305, U+8309, U+8317, U+8328, U+832b, U+832f, U+8331, U+8334-8336, U+8338-8339, U+8340, U+8347, U+8349-834a, U+834f, U+8351-8352, U+8373, U+8377, U+837b, U+8389-838a, U+838e, U+8396, U+8398, U+839e, U+83a2, U+83a9-83ab, U+83bd, U+83c1, U+83c5, U+83c9-83ca, U+83cc, U+83d3, U+83d6, U+83dc, U+83e9, U+83eb, U+83ef-83f2, U+83f4, U+83f9, U+83fd, U+8403-8404, U+840a, U+840c-840e, U+8429, U+842c, U+8431, U+8438, U+843d, U+8449, U+8457, U+845b, U+8461, U+8463, U+8466, U+846b-846c, U+846f, U+8475, U+847a, U+8490, U+8494, U+8499, U+849c, U+84a1, U+84b2, U+84b8, U+84bb-84bc, U+84bf-84c0, U+84c2, U+84c4, U+84c6, U+84c9, U+84cb, U+84cd, U+84d1, U+84da, U+84ec, U+84ee, U+84f4, U+84fc, U+8511, U+8513-8514, U+8517-8518, U+851a, U+851e, U+8521, U+8523, U+8525, U+852c-852d, U+852f, U+853d, U+853f, U+8541, U+8543, U+8549, U+854e, U+8553, U+8559, U+8563, U+8568-856a, U+856d, U+8584, U+8587) ); /* noto-sans-kr-[73]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-73-400-normal.woff2", $range: (U+8033, U+8036, U+803d, U+803f, U+8043, U+8046, U+804a, U+8056, U+8058, U+805a, U+805e, U+806f-8070, U+8072-8073, U+8077, U+807d-807f, U+8084-8087, U+8089, U+808b-808c, U+8096, U+809b, U+809d, U+80a1-80a2, U+80a5, U+80a9-80aa, U+80af, U+80b1-80b2, U+80b4, U+80ba, U+80c3-80c4, U+80cc, U+80ce, U+80da-80db, U+80de, U+80e1, U+80e4-80e5, U+80f1, U+80f4, U+80f8, U+80fd, U+8102, U+8105-8108, U+810a, U+8118, U+811a-811b, U+8123, U+8129, U+812b, U+812f, U+8139, U+813e, U+814b, U+814e, U+8150-8151, U+8154-8155, U+8165-8166, U+816b, U+8170-8171, U+8178-817a, U+817f-8180, U+8188, U+818a, U+818f, U+819a, U+819c-819d, U+81a0, U+81a3, U+81a8, U+81b3, U+81b5, U+81ba, U+81bd-81c0, U+81c2, U+81c6, U+81cd, U+81d8, U+81df, U+81e3, U+81e5, U+81e7-81e8, U+81ed, U+81f3-81f4, U+81fa-81fc, U+81fe, U+8205, U+8208, U+820a, U+820c-820d, U+8212, U+821b-821c, U+821e-821f, U+8221, U+822a-822c, U+8235-8237, U+8239, U+8240, U+8245, U+8247, U+8259, U+8264, U+8266, U+826e-826f, U+8271, U+8276, U+8278, U+827e, U+828b, U+828d-828e, U+8292, U+8299-829a, U+829d, U+829f, U+82a5) ); /* noto-sans-kr-[74]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-74-400-normal.woff2", $range: (U+7d2f-7d30, U+7d33, U+7d35, U+7d39-7d3a, U+7d42-7d46, U+7d50, U+7d5e, U+7d61-7d62, U+7d66, U+7d68, U+7d6a, U+7d6e, U+7d71-7d73, U+7d76, U+7d79, U+7d7f, U+7d8e-7d8f, U+7d93, U+7d9c, U+7da0, U+7da2, U+7dac-7dad, U+7db1-7db2, U+7db4-7db5, U+7db8, U+7dba-7dbb, U+7dbd-7dbf, U+7dc7, U+7dca-7dcb, U+7dd6, U+7dd8, U+7dda, U+7ddd-7dde, U+7de0-7de1, U+7de3, U+7de8-7de9, U+7dec, U+7def, U+7df4, U+7dfb, U+7e09-7e0a, U+7e15, U+7e1b, U+7e1d-7e1f, U+7e21, U+7e23, U+7e2b, U+7e2e-7e2f, U+7e31, U+7e37, U+7e3d-7e3e, U+7e43, U+7e46-7e47, U+7e52, U+7e54-7e55, U+7e5e, U+7e61, U+7e69-7e6b, U+7e6d, U+7e70, U+7e79, U+7e7c, U+7e82, U+7e8c, U+7e8f, U+7e93, U+7e96, U+7e98, U+7e9b-7e9c, U+7f36, U+7f38, U+7f3a, U+7f4c, U+7f50, U+7f54-7f55, U+7f6a-7f6b, U+7f6e, U+7f70, U+7f72, U+7f75, U+7f77, U+7f79, U+7f85, U+7f88, U+7f8a, U+7f8c, U+7f94, U+7f9a, U+7f9e, U+7fa4, U+7fa8-7fa9, U+7fb2, U+7fb8-7fb9, U+7fbd, U+7fc1, U+7fc5, U+7fca, U+7fcc, U+7fce, U+7fd2, U+7fd4-7fd5, U+7fdf-7fe1, U+7fe9, U+7feb, U+7ff0, U+7ff9, U+7ffc, U+8000-8001, U+8003, U+8006, U+8009, U+800c, U+8010, U+8015, U+8017-8018, U+802d) ); /* noto-sans-kr-[75]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-75-400-normal.woff2", $range: (U+7a49, U+7a4d-7a4e, U+7a57, U+7a61-7a62, U+7a69, U+7a6b, U+7a70, U+7a74, U+7a76, U+7a79, U+7a7d, U+7a7f, U+7a81, U+7a84, U+7a88, U+7a92-7a93, U+7a95, U+7a98, U+7a9f, U+7aa9-7aaa, U+7aae-7aaf, U+7aba, U+7ac4-7ac5, U+7ac7, U+7aca, U+7ad7, U+7ad9, U+7add, U+7adf-7ae0, U+7ae3, U+7ae5, U+7aea, U+7aed, U+7aef, U+7af6, U+7af9-7afa, U+7aff, U+7b0f, U+7b11, U+7b19, U+7b1b, U+7b1e, U+7b20, U+7b26, U+7b2d, U+7b39, U+7b46, U+7b49, U+7b4b-7b4d, U+7b4f-7b52, U+7b54, U+7b56, U+7b60, U+7b6c, U+7b6e, U+7b75, U+7b7d, U+7b87, U+7b8b, U+7b8f, U+7b94-7b95, U+7b97, U+7b9a, U+7b9d, U+7ba1, U+7bad, U+7bb1, U+7bb4, U+7bb8, U+7bc0-7bc1, U+7bc4, U+7bc6-7bc7, U+7bc9, U+7bd2, U+7be0, U+7be4, U+7be9, U+7c07, U+7c12, U+7c1e, U+7c21, U+7c27, U+7c2a-7c2b, U+7c3d-7c3f, U+7c43, U+7c4c-7c4d, U+7c60, U+7c64, U+7c6c, U+7c73, U+7c83, U+7c89, U+7c92, U+7c95, U+7c97-7c98, U+7c9f, U+7ca5, U+7ca7, U+7cae, U+7cb1-7cb3, U+7cb9, U+7cbe, U+7cca, U+7cd6, U+7cde-7ce0, U+7ce7, U+7cfb, U+7cfe, U+7d00, U+7d02, U+7d04-7d08, U+7d0a-7d0b, U+7d0d, U+7d10, U+7d14, U+7d17-7d1b, U+7d20-7d21, U+7d2b-7d2c, U+7d2e) ); /* noto-sans-kr-[76]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-76-400-normal.woff2", $range: (U+7704, U+7708-7709, U+770b, U+771e, U+7720, U+7729, U+7737-7738, U+773a, U+773c, U+7740, U+774d, U+775b, U+7761, U+7763, U+7766, U+776b, U+7779, U+777e-777f, U+778b, U+7791, U+779e, U+77a5, U+77ac-77ad, U+77b0, U+77b3, U+77bb-77bc, U+77bf, U+77d7, U+77db-77dc, U+77e2-77e3, U+77e9, U+77ed-77ef, U+7802, U+7812, U+7825-7827, U+782c, U+7832, U+7834, U+7845, U+784f, U+785d, U+786b-786c, U+786f, U+787c, U+7881, U+7887, U+788c-788e, U+7891, U+7897, U+78a3, U+78a7, U+78a9, U+78ba-78bc, U+78c1, U+78c5, U+78ca-78cb, U+78ce, U+78d0, U+78e8, U+78ec, U+78ef, U+78f5, U+78fb, U+7901, U+790e, U+7916, U+792a-792c, U+793a, U+7940-7941, U+7947-7949, U+7950, U+7956-7957, U+795a-795d, U+7960, U+7965, U+7968, U+796d, U+797a, U+797f, U+7981, U+798d-798e, U+7991, U+79a6-79a7, U+79aa, U+79ae, U+79b1, U+79b3, U+79b9, U+79bd-79c1, U+79c9-79cb, U+79d2, U+79d5, U+79d8, U+79df, U+79e4, U+79e6-79e7, U+79e9, U+79fb, U+7a00, U+7a05, U+7a08, U+7a0b, U+7a0d, U+7a14, U+7a17, U+7a19-7a1a, U+7a1c, U+7a1f-7a20, U+7a2e, U+7a31, U+7a36-7a37, U+7a3b-7a3d, U+7a3f-7a40, U+7a46) ); /* noto-sans-kr-[77]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-77-400-normal.woff2", $range: (U+7482-7483, U+7487, U+7489, U+748b, U+7498, U+749c, U+749e-749f, U+74a1, U+74a3, U+74a5, U+74a7-74a8, U+74aa, U+74b0, U+74b2, U+74b5, U+74b9, U+74bd, U+74bf, U+74c6, U+74ca, U+74cf, U+74d4, U+74d8, U+74da, U+74dc, U+74e0, U+74e2-74e3, U+74e6, U+74ee, U+74f7, U+7501, U+7504, U+7511, U+7515, U+7518, U+751a-751b, U+7523, U+7525-7526, U+752b-752c, U+7531, U+7533, U+7538, U+753a, U+7547, U+754c, U+754f, U+7551, U+7553-7554, U+7559, U+755b-755d, U+7562, U+7565-7566, U+756a, U+756f-7570, U+7575-7576, U+7578, U+757a, U+757f, U+7586-7587, U+758a-758b, U+758e-758f, U+7591, U+759d, U+75a5, U+75ab, U+75b1-75b3, U+75b5, U+75b8-75b9, U+75bc-75be, U+75c2, U+75c5, U+75c7, U+75cd, U+75d2, U+75d4-75d5, U+75d8-75d9, U+75db, U+75e2, U+75f0, U+75f2, U+75f4, U+75fa, U+75fc, U+7600, U+760d, U+7619, U+761f-7622, U+7624, U+7626, U+763b, U+7642, U+764c, U+764e, U+7652, U+7656, U+7661, U+7664, U+7669, U+766c, U+7670, U+7672, U+7678, U+7686-7687, U+768e, U+7690, U+7693, U+76ae, U+76ba, U+76bf, U+76c2-76c3, U+76c6, U+76c8, U+76ca, U+76d2, U+76d6, U+76db-76dc, U+76de-76df, U+76e1, U+76e3-76e4, U+76e7, U+76f2, U+76fc, U+76fe, U+7701) ); /* noto-sans-kr-[78]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-78-400-normal.woff2", $range: (U+7230, U+7232, U+7235, U+723a-723b, U+723d-723e, U+7240, U+7246-7248, U+724c, U+7252, U+7258-7259, U+725b, U+725d, U+725f, U+7261-7262, U+7267, U+7272, U+727d, U+7280-7281, U+72a2, U+72a7, U+72ac, U+72af, U+72c0, U+72c2, U+72c4, U+72ce, U+72d0, U+72d7, U+72d9, U+72e1, U+72e9, U+72f8-72f9, U+72fc-72fd, U+730a, U+7316, U+731b-731d, U+7325, U+7329-732b, U+7336-7337, U+733e-733f, U+7344-7345, U+7350, U+7352, U+7357, U+7368, U+736a, U+7370, U+7372, U+7375, U+7378, U+737a-737b, U+7384, U+7386-7387, U+7389, U+738e, U+7394, U+7396-7398, U+739f, U+73a7, U+73a9, U+73ad, U+73b2-73b3, U+73b9, U+73c0, U+73c2, U+73c9-73ca, U+73cc-73cd, U+73cf, U+73d6, U+73d9, U+73dd-73de, U+73e0, U+73e3-73e6, U+73e9-73ea, U+73ed, U+73f7, U+73f9, U+73fd-73fe, U+7401, U+7403, U+7405, U+7407, U+7409, U+7413, U+741b, U+7420-7422, U+7425-7426, U+7428, U+742a-742c, U+742e-7430, U+7433-7436, U+7438, U+743a, U+743f-7441, U+7443-7444, U+744b, U+7455, U+7457, U+7459-745c, U+745e-7460, U+7462, U+7464-7465, U+7468-746a, U+746f, U+747e) ); /* noto-sans-kr-[79]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-79-400-normal.woff2", $range: (U+6f8d-6f8e, U+6f90, U+6f94, U+6f97, U+6fa3-6fa4, U+6fa7, U+6fae-6faf, U+6fb1, U+6fb3, U+6fb9, U+6fbe, U+6fc0-6fc3, U+6fca, U+6fd5, U+6fda, U+6fdf-6fe1, U+6fe4, U+6fe9, U+6feb-6fec, U+6fef, U+6ff1, U+6ffe, U+7001, U+7005-7006, U+7009, U+700b, U+700f, U+7011, U+7015, U+7018, U+701a-701f, U+7023, U+7027-7028, U+702f, U+7037, U+703e, U+704c, U+7050-7051, U+7058, U+705d, U+7070, U+7078, U+707c-707d, U+7085, U+708a, U+708e, U+7092, U+7098-709a, U+70a1, U+70a4, U+70ab-70ad, U+70af, U+70b3, U+70b7-70b9, U+70c8, U+70cb, U+70cf, U+70d8-70d9, U+70dd, U+70df, U+70f1, U+70f9, U+70fd, U+7104, U+7109, U+710c, U+7119-711a, U+711e, U+7126, U+7130, U+7136, U+7147, U+7149-714a, U+714c, U+714e, U+7150, U+7156, U+7159, U+715c, U+715e, U+7164-7167, U+7169, U+716c, U+716e, U+717d, U+7184, U+7189-718a, U+718f, U+7192, U+7194, U+7199, U+719f, U+71a2, U+71ac, U+71b1, U+71b9-71ba, U+71be, U+71c1, U+71c3, U+71c8-71c9, U+71ce, U+71d0, U+71d2, U+71d4-71d5, U+71df, U+71e5-71e7, U+71ed-71ee, U+71fb-71fc, U+71fe-7200, U+7206, U+7210, U+721b, U+722a, U+722c-722d) ); /* noto-sans-kr-[80]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-80-400-normal.woff2", $range: (U+6d5a, U+6d5c, U+6d63, U+6d66, U+6d69-6d6a, U+6d6c, U+6d6e, U+6d74, U+6d78-6d79, U+6d7f, U+6d85, U+6d87-6d89, U+6d8c-6d8e, U+6d91, U+6d93, U+6d95, U+6daf, U+6db2, U+6db5, U+6dc0, U+6dc3-6dc7, U+6dcb, U+6dcf, U+6dd1, U+6dd8-6dda, U+6dde, U+6de1, U+6de8, U+6dea-6deb, U+6dee, U+6df1, U+6df3, U+6df5, U+6df7-6dfb, U+6e17, U+6e19-6e1b, U+6e1f-6e21, U+6e23-6e26, U+6e2b-6e2d, U+6e32, U+6e34, U+6e36, U+6e38, U+6e3a, U+6e3c-6e3e, U+6e43-6e44, U+6e4a, U+6e4d, U+6e56, U+6e58, U+6e5b-6e5c, U+6e5e-6e5f, U+6e67, U+6e6b, U+6e6e-6e6f, U+6e72-6e73, U+6e7a, U+6e90, U+6e96, U+6e9c-6e9d, U+6e9f, U+6ea2, U+6ea5, U+6eaa-6eab, U+6eaf, U+6eb1, U+6eb6, U+6eba, U+6ec2, U+6ec4-6ec5, U+6ec9, U+6ecb-6ecc, U+6ece, U+6ed1, U+6ed3-6ed4, U+6eef, U+6ef4, U+6ef8, U+6efe-6eff, U+6f01-6f02, U+6f06, U+6f0f, U+6f11, U+6f14-6f15, U+6f20, U+6f22-6f23, U+6f2b-6f2c, U+6f31-6f32, U+6f38, U+6f3f, U+6f41, U+6f51, U+6f54, U+6f57-6f58, U+6f5a-6f5b, U+6f5e-6f5f, U+6f62, U+6f64, U+6f6d-6f6e, U+6f70, U+6f7a, U+6f7c-6f7e, U+6f81, U+6f84, U+6f88) ); /* noto-sans-kr-[81]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-81-400-normal.woff2", $range: (U+6ada-6adb, U+6af6, U+6afb, U+6b04, U+6b0a, U+6b0c, U+6b12, U+6b16, U+6b20-6b21, U+6b23, U+6b32, U+6b3a, U+6b3d-6b3e, U+6b46-6b47, U+6b4e, U+6b50, U+6b5f, U+6b61-6b62, U+6b64-6b66, U+6b6a, U+6b72, U+6b77-6b78, U+6b7b, U+6b7f, U+6b83-6b84, U+6b86, U+6b89-6b8a, U+6b96, U+6b98, U+6b9e, U+6bae-6baf, U+6bb2, U+6bb5, U+6bb7, U+6bba, U+6bbc, U+6bbf, U+6bc1, U+6bc5-6bc6, U+6bcb, U+6bcf, U+6bd2-6bd3, U+6bd6-6bd8, U+6bdb, U+6beb-6bec, U+6c08, U+6c0f, U+6c13, U+6c23, U+6c37-6c38, U+6c3e, U+6c40-6c42, U+6c4e, U+6c50, U+6c55, U+6c57, U+6c5a, U+6c5d-6c60, U+6c68, U+6c6a, U+6c6d, U+6c70, U+6c72, U+6c76, U+6c7a, U+6c7d-6c7e, U+6c81-6c83, U+6c85-6c88, U+6c8c, U+6c90, U+6c92-6c96, U+6c99-6c9b, U+6cab, U+6cae, U+6cb3, U+6cb8-6cb9, U+6cbb-6cbf, U+6cc1-6cc2, U+6cc4, U+6cc9-6cca, U+6ccc, U+6cd3, U+6cd7, U+6cdb, U+6ce1-6ce3, U+6ce5, U+6ce8, U+6ceb, U+6cee-6cf0, U+6cf3, U+6d0b-6d0c, U+6d11, U+6d17, U+6d19, U+6d1b, U+6d1e, U+6d25, U+6d27, U+6d29, U+6d32, U+6d35-6d36, U+6d38-6d39, U+6d3b, U+6d3d-6d3e, U+6d41, U+6d59) ); /* noto-sans-kr-[82]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-82-400-normal.woff2", $range: (U+67f0-67f1, U+67f3-67f6, U+67fb, U+67fe, U+6812-6813, U+6816-6817, U+6821-6822, U+682f, U+6838-6839, U+683d, U+6840-6843, U+6848, U+684e, U+6850-6851, U+6853-6854, U+686d, U+6876, U+687f, U+6881, U+6885, U+688f, U+6893-6894, U+6897, U+689d, U+689f, U+68a1-68a2, U+68a7-68a8, U+68ad, U+68af-68b1, U+68b3, U+68b5-68b6, U+68c4-68c5, U+68c9, U+68cb, U+68cd, U+68d2, U+68d5, U+68d7-68d8, U+68da, U+68df-68e0, U+68e7-68e8, U+68ee, U+68f2, U+68f9-68fa, U+6900, U+6905, U+690d-690e, U+6912, U+6927, U+6930, U+693d, U+693f, U+694a, U+6953-6955, U+6957, U+6959-695a, U+695e, U+6960-6963, U+6968, U+696b, U+696d-696f, U+6975, U+6977-6979, U+6995, U+699b-699c, U+69a5, U+69a7, U+69ae, U+69b4, U+69bb, U+69c1, U+69c3, U+69cb-69cd, U+69d0, U+69e8, U+69ea, U+69fb, U+69fd, U+69ff, U+6a02, U+6a0a, U+6a11, U+6a13, U+6a17, U+6a19, U+6a1e-6a1f, U+6a21, U+6a23, U+6a35, U+6a38-6a3a, U+6a3d, U+6a44, U+6a48, U+6a4b, U+6a52-6a53, U+6a58-6a59, U+6a5f, U+6a61, U+6a6b, U+6a80, U+6a84, U+6a89, U+6a8d-6a8e, U+6a97, U+6a9c, U+6aa3, U+6ab3, U+6abb, U+6ac2-6ac3, U+6ad3) ); /* noto-sans-kr-[83]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-83-400-normal.woff2", $range: (U+6607, U+6609-660a, U+660c, U+660f-6611, U+6613-6615, U+661e, U+6620, U+6627-6628, U+662d, U+6630-6631, U+6634, U+6636, U+663a-663b, U+6641, U+6643-6644, U+6649, U+664b, U+664f, U+6659, U+665b, U+665d-665f, U+6664-6669, U+666b, U+666e-666f, U+6673-6674, U+6676-6678, U+6684, U+6687-6689, U+668e, U+6690-6691, U+6696-6698, U+669d, U+66a0, U+66a2, U+66ab, U+66ae, U+66b2-66b4, U+66b9, U+66bb, U+66be, U+66c4, U+66c6-66c7, U+66c9, U+66d6, U+66d9, U+66dc-66dd, U+66e0, U+66e6, U+66f0, U+66f2-66f4, U+66f7, U+66f9-66fa, U+66fc, U+66fe-66ff, U+6703, U+670b, U+670d, U+6714-6715, U+6717, U+671b, U+671d-671f, U+6726-6727, U+672a-672b, U+672d-672e, U+6731, U+6736, U+673a, U+673d, U+6746, U+6749, U+674e-6751, U+6753, U+6756, U+675c, U+675e-675f, U+676d, U+676f-6770, U+6773, U+6775, U+6777, U+677b, U+677e-677f, U+6787, U+6789, U+678b, U+678f-6790, U+6793, U+6795, U+679a, U+679d, U+67af-67b0, U+67b3, U+67b6-67b8, U+67be, U+67c4, U+67cf-67d4, U+67da, U+67dd, U+67e9, U+67ec, U+67ef) ); /* noto-sans-kr-[84]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-84-400-normal.woff2", $range: (U+6392, U+6396, U+6398, U+639b, U+63a0-63a2, U+63a5, U+63a7-63aa, U+63c0, U+63c4, U+63c6, U+63cf, U+63d6, U+63da-63db, U+63e1, U+63ed-63ee, U+63f4, U+63f6-63f7, U+640d, U+640f, U+6414, U+6416-6417, U+641c, U+6422, U+642c-642d, U+643a, U+643e, U+6458, U+6460, U+6469, U+646f, U+6478-647a, U+6488, U+6491-6493, U+649a, U+649e, U+64a4-64a5, U+64ab, U+64ad-64ae, U+64b0, U+64b2, U+64bb, U+64c1, U+64c4-64c5, U+64c7, U+64ca, U+64cd-64ce, U+64d2, U+64d4, U+64d8, U+64da, U+64e1-64e2, U+64e5-64e7, U+64ec, U+64f2, U+64f4, U+64fa, U+64fe, U+6500, U+6504, U+6518, U+651d, U+6523, U+652a-652c, U+652f, U+6536-6539, U+653b, U+653e, U+6548, U+654d-654f, U+6551, U+6556-6557, U+655e, U+6562-6563, U+6566, U+656c-656d, U+6572, U+6574-6575, U+6577-6578, U+657e, U+6582-6583, U+6585, U+658c, U+6590-6591, U+6597, U+6599, U+659b-659c, U+659f, U+65a1, U+65a4-65a5, U+65a7, U+65ab-65ac, U+65af, U+65b7, U+65bc-65bd, U+65c1, U+65c5, U+65cb-65cc, U+65cf, U+65d2, U+65d7, U+65e0, U+65e3, U+65e6, U+65e8-65e9, U+65ec-65ed, U+65f1, U+65f4, U+65fa-65fd, U+65ff, U+6606) ); /* noto-sans-kr-[85]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-85-400-normal.woff2", $range: (U+614c, U+6153, U+6155, U+6158-6159, U+615d, U+615f, U+6162-6164, U+6167-6168, U+616b, U+616e, U+6170, U+6176-6177, U+617d-617e, U+6181-6182, U+618a, U+618e, U+6190-6191, U+6194, U+6198-619a, U+61a4, U+61a7, U+61a9, U+61ab-61ac, U+61ae, U+61b2, U+61b6, U+61ba, U+61be, U+61c3, U+61c7-61cb, U+61e6, U+61f2, U+61f6-61f8, U+61fa, U+61fc, U+61ff-6200, U+6207-6208, U+620a, U+620c-620e, U+6212, U+6216, U+621a, U+621f, U+6221, U+622a, U+622e, U+6230-6231, U+6234, U+6236, U+623e-623f, U+6241, U+6247-6249, U+624d, U+6253, U+6258, U+626e, U+6271, U+6276, U+6279, U+627c, U+627f-6280, U+6284, U+6289-628a, U+6291-6292, U+6295, U+6297-6298, U+629b, U+62ab, U+62b1, U+62b5, U+62b9, U+62bc-62bd, U+62c2, U+62c7-62c9, U+62cc-62cd, U+62cf-62d0, U+62d2-62d4, U+62d6-62d9, U+62db-62dc, U+62ec-62ef, U+62f1, U+62f3, U+62f7, U+62fe-62ff, U+6301, U+6307, U+6309, U+6311, U+632b, U+632f, U+633a-633b, U+633d-633e, U+6349, U+634c, U+634f-6350, U+6355, U+6367-6368, U+636e, U+6372, U+6377, U+637a-637b, U+637f, U+6383, U+6388-6389, U+638c) ); /* noto-sans-kr-[86]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-86-400-normal.woff2", $range: (U+5f11, U+5f13-5f15, U+5f17-5f18, U+5f1b, U+5f1f, U+5f26-5f27, U+5f29, U+5f31, U+5f35, U+5f3a, U+5f3c, U+5f48, U+5f4a, U+5f4c, U+5f4e, U+5f56-5f57, U+5f59, U+5f5b, U+5f62, U+5f66-5f67, U+5f69-5f6d, U+5f70-5f71, U+5f77, U+5f79, U+5f7c, U+5f7f-5f81, U+5f85, U+5f87, U+5f8a-5f8b, U+5f90-5f92, U+5f98-5f99, U+5f9e, U+5fa0-5fa1, U+5fa8-5faa, U+5fae, U+5fb5, U+5fb9, U+5fbd, U+5fc5, U+5fcc-5fcd, U+5fd6-5fd9, U+5fe0, U+5feb, U+5ff5, U+5ffd, U+5fff, U+600f, U+6012, U+6016, U+601c, U+6020-6021, U+6025, U+6028, U+602a, U+602f, U+6041-6043, U+604d, U+6050, U+6052, U+6055, U+6059, U+605d, U+6062-6065, U+6068-606a, U+606c-606d, U+606f-6070, U+6085, U+6089, U+608c-608d, U+6094, U+6096, U+609a-609b, U+609f-60a0, U+60a3-60a4, U+60a7, U+60b0, U+60b2-60b4, U+60b6, U+60b8, U+60bc-60bd, U+60c7, U+60d1, U+60da, U+60dc, U+60df-60e1, U+60f0-60f1, U+60f6, U+60f9-60fb, U+6101, U+6106, U+6108-6109, U+610d-610e, U+6115, U+611a, U+6127, U+6130, U+6134, U+6137, U+613c, U+613e-613f, U+6142, U+6144, U+6147-6148, U+614a-614b) ); /* noto-sans-kr-[87]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-87-400-normal.woff2", $range: (U+5c40, U+5c45-5c46, U+5c48, U+5c4b, U+5c4d-5c4e, U+5c51, U+5c5b, U+5c60, U+5c62, U+5c64-5c65, U+5c6c, U+5c6f, U+5c79, U+5c90-5c91, U+5ca1, U+5ca9, U+5cab-5cac, U+5cb1, U+5cb3, U+5cb5, U+5cb7-5cb8, U+5cba, U+5cbe, U+5cc0, U+5cd9, U+5ce0, U+5ce8, U+5cef-5cf0, U+5cf4, U+5cf6, U+5cfb, U+5cfd, U+5d07, U+5d0d-5d0e, U+5d11, U+5d14, U+5d16-5d17, U+5d19, U+5d27, U+5d29, U+5d4b-5d4c, U+5d50, U+5d69, U+5d6c, U+5d6f, U+5d87, U+5d8b, U+5d9d, U+5da0, U+5da2, U+5daa, U+5db8, U+5dba, U+5dbc-5dbd, U+5dcd, U+5dd2, U+5dd6, U+5de1-5de2, U+5de5-5de8, U+5deb, U+5dee, U+5df1-5df4, U+5df7, U+5dfd-5dfe, U+5e03, U+5e06, U+5e11, U+5e16, U+5e19, U+5e1b, U+5e1d, U+5e25, U+5e2b, U+5e2d, U+5e33, U+5e36, U+5e38, U+5e3d, U+5e3f-5e40, U+5e44-5e45, U+5e47, U+5e4c, U+5e55, U+5e5f, U+5e61-5e63, U+5e72, U+5e77-5e79, U+5e7b-5e7e, U+5e84, U+5e87, U+5e8a, U+5e8f, U+5e95, U+5e97, U+5e9a, U+5e9c, U+5ea0, U+5ea7, U+5eab, U+5ead, U+5eb5-5eb8, U+5ebe, U+5ec2, U+5ec8-5eca, U+5ed0, U+5ed3, U+5ed6, U+5eda-5edb, U+5edf-5ee0, U+5ee2-5ee3, U+5eec, U+5ef3, U+5ef6-5ef7, U+5efa-5efb, U+5f01, U+5f04, U+5f0a) ); /* noto-sans-kr-[88]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-88-400-normal.woff2", $range: (U+59be, U+59c3, U+59c6, U+59c9, U+59cb, U+59d0-59d1, U+59d3-59d4, U+59d9-59da, U+59dc-59dd, U+59e6, U+59e8, U+59ea, U+59ec, U+59ee, U+59f8, U+59fb, U+59ff, U+5a01, U+5a03, U+5a11, U+5a18, U+5a1b-5a1c, U+5a1f-5a20, U+5a25, U+5a29, U+5a36, U+5a3c, U+5a41, U+5a46, U+5a49, U+5a5a, U+5a62, U+5a66, U+5a92, U+5a9a-5a9b, U+5aa4, U+5ac1-5ac2, U+5ac4, U+5ac9, U+5acc, U+5ae1, U+5ae6, U+5ae9, U+5b05, U+5b09, U+5b0b-5b0c, U+5b16, U+5b2a, U+5b40, U+5b43, U+5b51, U+5b54-5b55, U+5b58, U+5b5a, U+5b5c-5b5d, U+5b5f, U+5b63-5b64, U+5b69, U+5b6b, U+5b70-5b71, U+5b75, U+5b7a, U+5b7c, U+5b85, U+5b87-5b88, U+5b8b, U+5b8f, U+5b93, U+5b95-5b99, U+5b9b-5b9c, U+5ba2-5ba6, U+5bac, U+5bae, U+5bb0, U+5bb3-5bb5, U+5bb8-5bb9, U+5bbf-5bc0, U+5bc2-5bc7, U+5bcc, U+5bd0, U+5bd2-5bd4, U+5bd7, U+5bde-5bdf, U+5be1-5be2, U+5be4-5be9, U+5beb-5bec, U+5bee-5bef, U+5bf5-5bf6, U+5bf8, U+5bfa, U+5c01, U+5c04, U+5c07-5c0b, U+5c0d-5c0e, U+5c16, U+5c19, U+5c24, U+5c28, U+5c31, U+5c38-5c3c, U+5c3e-5c3f) ); /* noto-sans-kr-[89]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-89-400-normal.woff2", $range: (U+5703-5704, U+5708, U+570d, U+5712-5713, U+5716, U+5718, U+572d, U+573b, U+5740, U+5742, U+5747, U+574a, U+574d-574e, U+5750-5751, U+5761, U+5764, U+5766, U+576a, U+576e, U+5770, U+5775, U+577c, U+5782, U+5788, U+578b, U+5793, U+57a0, U+57a2-57a3, U+57c3, U+57c7-57c8, U+57cb, U+57df-57e0, U+57f0, U+57f4, U+57f7, U+57f9-57fa, U+57fc, U+5800, U+5802, U+5805-5806, U+5808-580a, U+581e, U+5821, U+5824, U+5827, U+582a, U+582f-5831, U+5835, U+583a, U+584a-584b, U+584f, U+5851, U+5854, U+5857-5858, U+585a, U+585e, U+5861-5862, U+5864, U+5875, U+5879, U+587c, U+587e, U+5883, U+5885, U+5889, U+5893, U+589c, U+589e-589f, U+58a8-58a9, U+58ae, U+58b3, U+58ba-58bb, U+58be, U+58c1, U+58c5, U+58c7, U+58ce, U+58d1, U+58d3, U+58d5, U+58d8-58d9, U+58de-58df, U+58e4, U+58ec, U+58ef, U+58f9-58fb, U+58fd, U+590f, U+5914-5915, U+5919, U+5922, U+592d-592e, U+5931, U+5937, U+593e, U+5944, U+5947-5949, U+594e-5951, U+5954-5955, U+5957, U+595a, U+5960, U+5962, U+5967, U+596a-596e, U+5974, U+5978, U+5982-5984, U+598a, U+5993, U+5996-5997, U+5999, U+59a5, U+59a8, U+59ac, U+59b9, U+59bb) ); /* noto-sans-kr-[90]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-90-400-normal.woff2", $range: (U+539a, U+53a0, U+53a5-53a6, U+53ad, U+53bb, U+53c3, U+53c8-53cb, U+53cd, U+53d4, U+53d6-53d7, U+53db, U+53e1-53e3, U+53e5, U+53e9-53ed, U+53f1, U+53f3, U+53f8, U+5403-5404, U+540a, U+540e-5411, U+541b, U+541d, U+541f-5420, U+5426, U+5429, U+542b, U+5433, U+5438-5439, U+543b-543c, U+543e, U+5442, U+5448, U+544a, U+5451, U+5468, U+546a, U+5471, U+5473, U+5475, U+547b-547d, U+5480, U+5486, U+548e, U+5490, U+54a4, U+54a8, U+54ab-54ac, U+54b3, U+54b8, U+54bd, U+54c0, U+54c4, U+54c8-54c9, U+54e1, U+54e5, U+54e8, U+54ed-54ee, U+54f2, U+54fa, U+5504, U+5506-5507, U+550e, U+5510, U+551c, U+552f, U+5531, U+5535, U+553e, U+5544, U+5546, U+554f, U+5553, U+5556, U+555e, U+5563, U+557c, U+5580, U+5584, U+5586-5587, U+5589-558a, U+5598-559a, U+559c-559d, U+55a7, U+55a9-55ac, U+55ae, U+55c5, U+55c7, U+55d4, U+55da, U+55dc, U+55df, U+55e3-55e4, U+55fd-55fe, U+5606, U+5609, U+5614, U+5617, U+562f, U+5632, U+5634, U+5636, U+5653, U+5668, U+566b, U+5674, U+5686, U+56a5, U+56ac, U+56ae, U+56b4, U+56bc, U+56ca, U+56cd, U+56d1, U+56da-56db, U+56de, U+56e0, U+56f0, U+56f9-56fa) ); /* noto-sans-kr-[91]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-91-400-normal.woff2", $range: (U+516e, U+5175-5178, U+517c, U+5180, U+5186, U+518a, U+518d, U+5192, U+5195, U+5197, U+51a0, U+51a5, U+51aa, U+51ac, U+51b6-51b7, U+51bd, U+51c4, U+51c6, U+51c9, U+51cb-51cd, U+51dc-51de, U+51e1, U+51f0-51f1, U+51f6, U+51f8-51f9, U+51fd, U+5200, U+5203, U+5207-5208, U+520a, U+520e, U+5211, U+5217, U+521d, U+5224-5225, U+522a, U+522e, U+5230, U+5236-523b, U+5243, U+5247, U+524a-524c, U+5254, U+5256, U+525b, U+525d, U+5261, U+5269-526a, U+526f, U+5272, U+5275, U+527d, U+527f, U+5283, U+5287-5289, U+528d, U+5291-5292, U+529f, U+52a3-52a4, U+52a9-52ab, U+52be, U+52c1, U+52c3, U+52c5, U+52c7, U+52c9, U+52cd, U+52d2, U+52d6, U+52d8-52d9, U+52db, U+52dd-52df, U+52e2-52e4, U+52f3, U+52f5, U+52f8, U+52fa-52fb, U+52fe-52ff, U+5305, U+5308, U+530d, U+530f-5310, U+5315, U+5319, U+5320-5321, U+5323, U+532a, U+532f, U+5339, U+533f-5341, U+5343-5344, U+5347-534a, U+534d, U+5351-5354, U+535a, U+535c, U+535e, U+5360, U+5366, U+5368, U+536f-5371, U+5374-5375, U+5377, U+537d, U+537f, U+5384, U+5393, U+5398) ); /* noto-sans-kr-[92]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-92-400-normal.woff2", $range: (U+4f43, U+4f46-4f48, U+4f4d-4f51, U+4f55, U+4f59-4f5a, U+4f69, U+4f6f-4f70, U+4f73, U+4f76, U+4f7a, U+4f7e-4f7f, U+4f81, U+4f83-4f84, U+4f86, U+4f88, U+4f8a-4f8b, U+4f8d, U+4f8f, U+4f91, U+4f96, U+4f98, U+4f9b, U+4f9d, U+4fae-4faf, U+4fb5-4fb6, U+4fbf, U+4fc2-4fc4, U+4fc9-4fca, U+4fce, U+4fd1, U+4fd3-4fd4, U+4fd7, U+4fda, U+4fdf-4fe0, U+4fee-4fef, U+4ff1, U+4ff3, U+4ff5, U+4ff8, U+4ffa, U+5002, U+5006, U+5009, U+500b, U+500d, U+5011-5012, U+5016, U+5019-501a, U+501c, U+501e-501f, U+5021, U+5023-5024, U+5026-5028, U+502a-502d, U+503b, U+5043, U+5047-5049, U+504f, U+5055, U+505a, U+505c, U+5065, U+5074-5076, U+5078, U+5080, U+5085, U+508d, U+5091, U+5098-5099, U+50ac-50ad, U+50b2-50b3, U+50b5, U+50b7, U+50be, U+50c5, U+50c9-50ca, U+50d1, U+50d5-50d6, U+50da, U+50de, U+50e5, U+50e7, U+50ed, U+50f9, U+50fb, U+50ff-5101, U+5104, U+5106, U+5109, U+5112, U+511f, U+5121, U+512a, U+5132, U+5137, U+513a, U+513c, U+5140-5141, U+5143-5148, U+514b-514e, U+5152, U+515c, U+5162, U+5169-516b, U+516d) ); /* noto-sans-kr-[93]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-93-400-normal.woff2", $range: (U+338c-339c, U+339f-33a0, U+33a2-33cb, U+33cf-33d0, U+33d3, U+33d6, U+33d8, U+33db-33dd, U+4e01, U+4e03, U+4e07-4e08, U+4e11, U+4e14-4e15, U+4e18-4e19, U+4e1e, U+4e32, U+4e38-4e39, U+4e42-4e43, U+4e45, U+4e4d-4e4f, U+4e56, U+4e58-4e59, U+4e5d-4e5e, U+4e6b, U+4e6d, U+4e73, U+4e76-4e77, U+4e7e, U+4e82, U+4e86, U+4e88, U+4e8e, U+4e90-4e92, U+4e94-4e95, U+4e98, U+4e9b, U+4e9e, U+4ea1-4ea2, U+4ea4-4ea6, U+4ea8, U+4eab, U+4ead-4eae, U+4eb6, U+4ec0-4ec1, U+4ec4, U+4ec7, U+4ecb, U+4ecd, U+4ed4-4ed5, U+4ed7-4ed9, U+4edd, U+4edf, U+4ee4, U+4ef0, U+4ef2, U+4ef6-4ef7, U+4efb, U+4f01, U+4f09, U+4f0b, U+4f0d-4f11, U+4f2f, U+4f34, U+4f36, U+4f38, U+4f3a, U+4f3c-4f3d) ); /* noto-sans-kr-[94]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-94-400-normal.woff2", $range: (U+3136, U+3138, U+313a-3140, U+3143-3144, U+3150, U+3152, U+3154-3156, U+3158-315b, U+315d-315f, U+3162, U+3164-318c, U+318e, U+3200-321b, U+3231, U+3239, U+3251-325a, U+3260-327b, U+327e-327f, U+328a-3290, U+3294, U+329e, U+32a5, U+3380-3384, U+3388-338b) ); /* noto-sans-kr-[95]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-95-400-normal.woff2", $range: (U+2f7d, U+2f7f-2f8b, U+2f8e-2f90, U+2f92-2f97, U+2f99-2fa0, U+2fa2-2fa3, U+2fa5-2fa9, U+2fac-2fb1, U+2fb3-2fbc, U+2fc1-2fca, U+2fcd-2fd4, U+3003, U+3012-3019, U+301c, U+301e-3020, U+3036, U+3041, U+3043, U+3045, U+3047, U+3049, U+304e, U+3050, U+3052, U+3056, U+305a, U+305c, U+305e, U+3062, U+3065, U+306c, U+3070-307d, U+3080, U+3085, U+3087, U+308e, U+3090-3091, U+30a1, U+30a5, U+30a9, U+30ae, U+30b1-30b2, U+30b4, U+30b6, U+30bc-30be, U+30c2, U+30c5, U+30cc, U+30d2, U+30d4, U+30d8-30dd, U+30e4, U+30e6, U+30e8, U+30ee, U+30f0-30f2, U+30f4-30f6, U+3133, U+3135) ); /* noto-sans-kr-[96]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-96-400-normal.woff2", $range: (U+2541-254b, U+25a4-25a9, U+25b1, U+25b5, U+25b9, U+25bf, U+25c1, U+25c3, U+25c9-25ca, U+25cc, U+25ce, U+25d0-25d1, U+25e6, U+25ef, U+260f, U+261d, U+261f, U+262f, U+2660, U+2664, U+2667-2669, U+266d, U+266f, U+2716, U+271a, U+273d, U+2756, U+2776-277f, U+278a-2793, U+2963, U+2965, U+2ac5-2ac6, U+2acb-2acc, U+2f00, U+2f04, U+2f06, U+2f08, U+2f0a-2f0b, U+2f11-2f12, U+2f14, U+2f17-2f18, U+2f1c-2f1d, U+2f1f-2f20, U+2f23-2f26, U+2f28-2f29, U+2f2b, U+2f2d, U+2f2f-2f32, U+2f38, U+2f3c-2f40, U+2f42-2f4c, U+2f4f-2f52, U+2f54-2f58, U+2f5a-2f66, U+2f69-2f70, U+2f72-2f76, U+2f78, U+2f7a-2f7c) ); /* noto-sans-kr-[97]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-97-400-normal.woff2", $range: (U+2479-2487, U+249c-24d1, U+24d3-24d7, U+24d9-24e9, U+24eb-24f4, U+2500-2501, U+2503, U+250c-2513, U+2515-2516, U+2518-2540) ); /* noto-sans-kr-[98]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-98-400-normal.woff2", $range: (U+215b-215e, U+2162-2169, U+2170-2179, U+2195-2199, U+21b0-21b4, U+21bc, U+21c0, U+21c4-21c5, U+21cd, U+21cf-21d4, U+21e0-21e3, U+21e6-21e9, U+2200, U+2202-2203, U+2206-2209, U+220b-220c, U+220f, U+2211, U+2213, U+221a, U+221d-2220, U+2222, U+2225-2227, U+2229-222c, U+222e, U+2234-2237, U+223d, U+2243, U+2245, U+2248, U+2250-2253, U+225a, U+2260-2262, U+2264-2267, U+226a-226b, U+226e-2273, U+2276-2277, U+2279-227b, U+2280-2287, U+228a-228b, U+2295-2297, U+22a3-22a5, U+22bb-22bc, U+22ce-22cf, U+22da-22db, U+22ee-22ef, U+2306, U+2312, U+2314, U+2467-2478) ); /* noto-sans-kr-[99]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-99-400-normal.woff2", $range: (U+81-82, U+84, U+a2-a5, U+a7-a8, U+aa, U+ac-ad, U+b1-b3, U+b6, U+b8-ba, U+bc-be, U+c0, U+c2, U+c6-cb, U+ce-d0, U+d4, U+d8-d9, U+db-dc, U+de-df, U+e6, U+eb, U+ee-f0, U+f4, U+f7-f9, U+fb, U+fe-ff, U+111, U+126-127, U+132-133, U+138, U+13f-142, U+149-14b, U+152-153, U+166-167, U+2bc, U+2c7, U+2d0, U+2d8-2d9, U+2db-2dd, U+391-394, U+396-3a1, U+3a3-3a9, U+3b2-3b6, U+3b8, U+3bc, U+3be-3c1, U+3c3-3c9, U+2010, U+2015-2016, U+2018-2019, U+201b, U+201f-2021, U+2025, U+2030, U+2033-2036, U+203c, U+203e, U+2042, U+2074, U+207a-207f, U+2081-2084, U+2109, U+2113, U+2116, U+2121, U+2126, U+212b, U+2153-2154) ); /* noto-sans-kr-[100]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-100-400-normal.woff2", $range: (U+e8, U+2da, U+2160, U+2194, U+3054, U+3058, U+306d, U+3086, U+308d, U+30ac, U+30bb, U+30c4, U+30cd-30ce, U+30e2, U+3132, U+3146, U+3149, U+339d, U+4e3b, U+4f0a, U+4fdd, U+4fe1, U+5409, U+540c, U+5834, U+592a-592b, U+5b9a, U+5dde, U+5e0c, U+5e73, U+5f0f, U+60f3, U+653f, U+661f, U+662f, U+667a, U+683c, U+6b4c, U+6c11, U+767c, U+76ee, U+76f4, U+77f3, U+79d1, U+7a7a, U+7b2c, U+7d22, U+8207, U+8a00, U+8a71, U+9280, U+9580, U+958b, U+96c6, U+9762, U+98df, U+9ed1, U+ac2d, U+adc8, U+add3, U+af48, U+b014, U+b134-b135, U+b158, U+b2aa, U+b35f, U+b6a4, U+b9cf, U+bb63, U+bd23, U+be91, U+c29b, U+c3f4, U+c42c, U+c55c, U+c573, U+c58f, U+c78c, U+c7dd, U+c8f5, U+cad1, U+cc48, U+cf10, U+cf20, U+d03c, U+d07d, U+d2a0, U+d30e, U+d38d, U+d3a8, U+d3c8, U+d5e5, U+d5f9, U+d6e4, U+f90a, U+ff02, U+ff1c) ); /* noto-sans-kr-[101]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-101-400-normal.woff2", $range: (U+3b1, U+2466, U+25a1, U+25a3, U+261c, U+3008-3009, U+305b, U+305d, U+3069, U+30a7, U+30ba, U+30cf, U+30ef, U+3151, U+3157, U+4e4b, U+4e5f, U+4e8c, U+4eca, U+4ed6, U+4f5b, U+50cf, U+5149, U+5165, U+5171, U+5229, U+529b, U+5316, U+539f, U+53f2, U+571f, U+5728, U+58eb, U+591c, U+5b78, U+5c11, U+5c55, U+5ddd, U+5e02, U+5fb7, U+60c5, U+610f, U+611f, U+6625, U+66f8, U+6797, U+679c, U+682a, U+6d2a, U+706b, U+7406, U+767b, U+76f8, U+77e5, U+7acb, U+898b, U+8a69, U+8def, U+8fd1, U+901a, U+90e8, U+91cd, U+975e, U+ae14, U+ae6c, U+aec0, U+afc7, U+afc9, U+b01c, U+b028, U+b308, U+b311, U+b314, U+b31c, U+b524, U+b560, U+b764, U+b920, U+b9e3, U+bd48, U+be7d, U+c0db, U+c231, U+c270, U+c2e3, U+c37d, U+c3ed, U+c530, U+c6a5, U+c6dc, U+c7a4, U+c954, U+c974, U+d000, U+d565, U+d667, U+d6c5, U+d79d, U+ff1e) ); /* noto-sans-kr-[102]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-102-400-normal.woff2", $range: (U+131, U+2032, U+2465, U+2642, U+3048, U+3051, U+3083-3084, U+308f, U+30c0, U+30d1, U+30d3, U+30d6, U+30df, U+30e7, U+3153, U+4e16, U+4e8b, U+4ee5, U+5206, U+52a0, U+52d5, U+53e4, U+53ef, U+54c1, U+57ce, U+597d, U+5b8c, U+5ea6, U+5f8c, U+5f97, U+6210, U+6240, U+624b, U+6728, U+6bd4, U+7236, U+7269, U+7279, U+738b, U+7528, U+7530, U+767e, U+798f, U+8005, U+8a18, U+90fd, U+91cc, U+9577, U+9593, U+98a8, U+ac20, U+acf6, U+ad90, U+af5d, U+af80, U+afcd, U+aff0, U+b0a1, U+b0b5, U+b1fd, U+b2fc, U+b380, U+b51b, U+b584, U+b5b3, U+b8fd, U+b93c, U+b9f4, U+bb44, U+bc08, U+bc27, U+bc49, U+be55, U+be64, U+bfb0, U+bfc5, U+c178, U+c21f, U+c314, U+c4f1, U+c58d, U+c664, U+c698, U+c6a7, U+c6c1, U+c9ed, U+cac0, U+cacc, U+cad9, U+ccb5, U+cdcc, U+d0e4, U+d143, U+d320, U+d330, U+d54d, U+ff06, U+ff1f, U+ff5e) ); /* noto-sans-kr-[103]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-103-400-normal.woff2", $range: (U+b4, U+20a9, U+20ac, U+2190, U+24d8, U+2502, U+2514, U+2592, U+25c7-25c8, U+2663, U+3060, U+3064, U+3081, U+3088, U+30a3, U+30a6, U+30aa, U+30b5, U+30c7, U+30ca-30cb, U+30d0, U+30e3, U+30e5, U+339e, U+4e09, U+4eac, U+4f5c, U+5167-5168, U+516c, U+51fa, U+5408, U+540d, U+591a, U+5b57, U+6211, U+65b9, U+660e, U+6642, U+6700, U+6b63, U+6e2f, U+7063, U+7532, U+793e, U+81ea, U+8272, U+82b1, U+897f, U+8eca, U+91ce, U+ac38, U+ad76, U+ae84, U+aecc, U+b07d, U+b0b1, U+b215, U+b2a0, U+b310, U+b3d7, U+b52a, U+b618, U+b775, U+b797, U+bcd5, U+bd59, U+be80, U+bea8, U+bed1, U+bee4-bee5, U+c060, U+c2ef, U+c329, U+c3dc, U+c597, U+c5bd, U+c5e5, U+c69c, U+c9d6, U+ca29, U+ca5c, U+ca84, U+cc39, U+cc3b, U+ce89, U+cee5, U+cf65, U+cf85, U+d058, U+d145, U+d22d, U+d325, U+d37d, U+d3ad, U+d769, U+ff0c) ); /* noto-sans-kr-[104]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-104-400-normal.woff2", $range: (U+2161, U+2228, U+2299, U+2464, U+2517, U+2640, U+3042, U+304a, U+3053, U+3061, U+307f, U+3082, U+308c, U+3092, U+30a8, U+30ab, U+30ad, U+30b0, U+30b3, U+30b7, U+30c1, U+30c6, U+30c9, U+30d5, U+30d7, U+30de, U+30e0-30e1, U+30ec-30ed, U+4e0b, U+4e0d, U+4ee3, U+53f0, U+548c, U+5b89, U+5bb6, U+5c0f, U+611b, U+6771, U+6aa2, U+6bcd, U+6c34, U+6cd5, U+6d77, U+767d, U+795e, U+8ecd, U+9999, U+9ad8, U+ac07, U+ac1a, U+ac40, U+ad0c, U+ad88, U+ada4, U+ae01, U+ae65, U+aebd, U+aec4, U+afe8, U+b139, U+b205, U+b383, U+b38c, U+b42c, U+b461, U+b55c, U+b78f, U+b8fb, U+b9f7, U+bafc, U+bc99, U+bed8, U+bfcd, U+c0bf, U+c0f9, U+c167, U+c204, U+c20f, U+c22f, U+c258, U+c298, U+c2bc, U+c388, U+c501, U+c50c, U+c5b9, U+c5ce, U+c641, U+c648, U+c73d, U+ca50, U+ca61, U+cc4c, U+ceac, U+d0d4, U+d5f7, U+d6d7, U+ff1a) ); /* noto-sans-kr-[105]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-105-400-normal.woff2", $range: (U+2103, U+2463, U+25c6, U+25cb, U+266c, U+3001, U+300a, U+3046, U+304c-304d, U+304f, U+3055, U+3059, U+3063, U+3066-3068, U+306f, U+3089, U+30b8, U+30bf, U+314f, U+4e0a, U+570b, U+5730, U+5916, U+5929, U+5c71, U+5e74, U+5fc3, U+601d, U+6027, U+63d0, U+6709, U+6734, U+751f, U+7684, U+82f1, U+9053, U+91d1, U+97f3, U+ac2f, U+ac4d, U+adc4, U+ade4, U+ae41, U+ae4d-ae4e, U+aed1, U+afb9, U+b0e0, U+b299, U+b365, U+b46c, U+b480, U+b4c8, U+b7b4, U+b819, U+b918, U+baab, U+bab9, U+be8f, U+bed7, U+c0ec, U+c19f, U+c1a5, U+c3d9, U+c464, U+c53d, U+c553, U+c570, U+c5cc, U+c633, U+c6a4, U+c7a3, U+c7a6, U+c886, U+c9d9-c9da, U+c9ec, U+ca0c, U+cc21, U+cd1b, U+cd78, U+cdc4, U+cef8, U+cfe4, U+d0a5, U+d0b5, U+d0ec, U+d15d, U+d188, U+d23c, U+d2ac, U+d729, U+d79b, U+ff01, U+ff08-ff09, U+ff5c) ); /* noto-sans-kr-[106]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-106-400-normal.woff2", $range: (U+2039-203a, U+223c, U+25b3, U+25b7, U+25bd, U+25cf, U+266a, U+3002, U+300b, U+304b, U+3057, U+305f, U+306a-306b, U+307e, U+308a-308b, U+3093, U+30a2, U+30af, U+30b9, U+30c3, U+30c8, U+30e9-30eb, U+33a1, U+4e00, U+524d, U+5357, U+5b50, U+7121, U+884c, U+9751, U+ac94, U+aebe, U+aecd, U+af08, U+af41, U+af49, U+b010, U+b053, U+b109, U+b11b, U+b128, U+b154, U+b291, U+b2e6, U+b301, U+b385, U+b525, U+b5b4, U+b729, U+b72f, U+b738, U+b7ff, U+b837, U+b975, U+ba67, U+bb47, U+bc1f, U+bd90, U+bfd4, U+c27c, U+c324, U+c379, U+c3e0, U+c465, U+c53b, U+c58c, U+c610, U+c653, U+c6cd, U+c813, U+c82f, U+c999, U+c9e0, U+cac4, U+cad3, U+cbd4, U+cc10, U+cc22, U+ccb8, U+ccbc, U+cda5, U+ce84, U+cea3, U+cf67, U+cfe1, U+d241, U+d30d, U+d31c, U+d391, U+d401, U+d479, U+d5c9, U+d5db, U+d649, U+d6d4) ); /* noto-sans-kr-[107]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-107-400-normal.woff2", $range: (U+b0, U+e9, U+2193, U+2462, U+260e, U+261e, U+300e-300f, U+3044, U+30a4, U+30fb-30fc, U+314d, U+5973, U+6545, U+6708, U+7537, U+ac89, U+ac9c, U+acc1, U+ad04, U+ad75, U+ad7d, U+ae45, U+ae61, U+af42, U+b0ab, U+b0af, U+b0b3, U+b12c, U+b194, U+b1a8, U+b220, U+b258, U+b284, U+b2ff, U+b315, U+b371, U+b3d4-b3d5, U+b460, U+b527, U+b534, U+b810, U+b818, U+b98e, U+ba55, U+bbac, U+bc0b, U+bc40, U+bca1, U+bccd, U+bd93, U+be54, U+be5a, U+bf08, U+bf50, U+bf55, U+bfdc, U+c0c0, U+c0d0, U+c0f4, U+c100, U+c11e, U+c170, U+c20d, U+c274, U+c290, U+c308, U+c369, U+c539, U+c587, U+c5ff, U+c6ec, U+c70c, U+c7ad, U+c7c8, U+c83c, U+c881, U+cb48, U+cc60, U+ce69, U+ce6b, U+ce75, U+cf04, U+cf08, U+cf55, U+cf70, U+cffc, U+d0b7, U+d1a8, U+d2c8, U+d384, U+d47c, U+d48b, U+d5dd, U+d5e8, U+d720, U+d759, U+f981) ); /* noto-sans-kr-[108]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-108-400-normal.woff2", $range: (U+e0, U+e2, U+395, U+3b7, U+3ba, U+2460-2461, U+25a0, U+3010-3011, U+306e, U+30f3, U+314a, U+314c, U+5927, U+65b0, U+7e41, U+97d3, U+9ad4, U+ad49, U+ae0b, U+ae0d, U+ae43, U+ae5d, U+aecf, U+af3c, U+af64, U+afd4, U+b080, U+b084, U+b0c5, U+b10c, U+b1e8, U+b2ac, U+b36e, U+b451, U+b515, U+b540, U+b561, U+b6ab, U+b6b1, U+b72c, U+b730, U+b744, U+b800, U+b8ec, U+b8f0, U+b904, U+b968, U+b96d, U+b987, U+b9d9, U+bb36, U+bb49, U+bc2d, U+bc43, U+bcf6, U+bd89, U+be57, U+be61, U+bed4, U+c090, U+c130, U+c148, U+c19c, U+c2f9, U+c36c, U+c37c, U+c384, U+c3df, U+c575, U+c584, U+c660, U+c719, U+c816, U+ca4d, U+ca54, U+cabc, U+cb49, U+cc14, U+cff5, U+d004, U+d038, U+d0b4, U+d0d3, U+d0e0, U+d0ed, U+d131, U+d1b0, U+d31f, U+d33d, U+d3a0, U+d3ab, U+d514, U+d584, U+d6a1, U+d6cc, U+d749, U+d760, U+d799) ); /* noto-sans-kr-[109]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-109-400-normal.woff2", $range: (U+24, U+60, U+3b9, U+3bb, U+3bd, U+2191, U+2606, U+300c-300d, U+3131, U+3134, U+3139, U+3141-3142, U+3148, U+3161, U+3163, U+321c, U+4eba, U+5317, U+ac31, U+ac77, U+ac9f, U+acb9, U+acf0-acf1, U+acfd, U+ad73, U+af3d, U+b00c, U+b04a, U+b057, U+b0c4, U+b188, U+b1cc, U+b214, U+b2db, U+b2ee, U+b304, U+b4ed, U+b518, U+b5bc, U+b625, U+b69c-b69d, U+b7ac, U+b801, U+b86c, U+b959, U+b95c, U+b985, U+ba48, U+bb58, U+bc0c, U+bc38, U+bc85, U+bc9a, U+bf40, U+c068, U+c0bd, U+c0cc, U+c12f, U+c149, U+c1e0, U+c22b, U+c22d, U+c250, U+c2fc, U+c300, U+c313, U+c370, U+c3d8, U+c557, U+c580, U+c5e3, U+c62e, U+c634, U+c6f0, U+c74d, U+c783, U+c78e, U+c796, U+c7bc, U+c92c, U+ca4c, U+cc1c, U+cc54, U+cc59, U+ce04, U+cf30, U+cfc4, U+d140, U+d321, U+d38c, U+d399, U+d54f, U+d587, U+d5d0, U+d6e8, U+d770) ); /* noto-sans-kr-[110]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-110-400-normal.woff2", $range: (U+d7, U+ea, U+fc, U+2192, U+25bc, U+3000, U+3137, U+3145, U+315c, U+7f8e, U+ac13, U+ac71, U+ac90, U+acb8, U+ace7, U+ad7f, U+ae50, U+aef4, U+af34, U+afbc, U+b048, U+b09a, U+b0ad, U+b0bc, U+b113, U+b125, U+b141, U+b20c, U+b2d9, U+b2ed, U+b367, U+b369, U+b374, U+b3cb, U+b4ec, U+b611, U+b760, U+b81b, U+b834, U+b8b0, U+b8e1, U+b989, U+b9d1, U+b9e1, U+b9fa, U+ba4d, U+ba78, U+bb35, U+bb54, U+bbf9, U+bc11, U+bcb3, U+bd05, U+bd95, U+bdd4, U+be10, U+bed0, U+bf51, U+c0d8, U+c232, U+c2b7, U+c2eb, U+c378, U+c500, U+c52c, U+c549, U+c568, U+c598, U+c5c9, U+c61b, U+c639, U+c67c, U+c717, U+c78a, U+c80a, U+c90c-c90d, U+c950, U+c9e7, U+cbe4, U+cca9, U+cce4, U+cdb0, U+ce78, U+ce94, U+ce98, U+cf8c, U+d018, U+d034, U+d0f1, U+d1b1, U+d280, U+d2f8, U+d338, U+d380, U+d3b4, U+d610, U+d69f, U+d6fc, U+d758) ); /* noto-sans-kr-[111]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-111-400-normal.woff2", $range: (U+e7, U+2022, U+203b, U+25c0, U+2605, U+2661, U+3147, U+318d, U+672c, U+8a9e, U+acaa, U+acbc, U+ad1c, U+ae4a, U+ae5c, U+b044, U+b054, U+b0c8-b0c9, U+b2a6, U+b2d0, U+b35c, U+b364, U+b428, U+b454, U+b465, U+b4b7, U+b4e3, U+b51c, U+b5a1, U+b784, U+b790, U+b7ab, U+b7f4, U+b82c, U+b835, U+b8e9, U+b8f8, U+b9d8, U+b9f9, U+ba5c, U+ba64, U+babd, U+bb18, U+bb3b, U+bbff, U+bc0d, U+bc45, U+bc97, U+bcbc, U+be45, U+be75, U+be7c, U+bfcc, U+c0b6, U+c0f7, U+c14b, U+c2b4, U+c30d, U+c4f8, U+c5bb, U+c5d1, U+c5e0, U+c5ee, U+c5fd, U+c606, U+c6c5, U+c6e0, U+c708, U+c81d, U+c820, U+c824, U+c878, U+c918, U+c96c, U+c9e4, U+c9f1, U+cc2e, U+cd09, U+cea1, U+cef5, U+cef7, U+cf64, U+cf69, U+cfe8, U+d035, U+d0ac, U+d230, U+d234, U+d2f4, U+d31d, U+d575, U+d578, U+d608, U+d614, U+d718, U+d751, U+d761, U+d78c, U+d790) ); /* noto-sans-kr-[112]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-112-400-normal.woff2", $range: (U+2665, U+3160, U+4e2d, U+6587, U+65e5, U+ac12, U+ac14, U+ac16, U+ac81, U+ad34, U+ade0, U+ae54, U+aebc, U+af2c, U+afc0, U+afc8, U+b04c, U+b08c, U+b099, U+b0a9, U+b0ac, U+b0ae, U+b0b8, U+b123, U+b179, U+b2e5, U+b2f7, U+b4c0, U+b531, U+b538, U+b545, U+b550, U+b5a8, U+b6f0, U+b728, U+b73b, U+b7ad, U+b7ed, U+b809, U+b864, U+b86d, U+b871, U+b9bf, U+b9f5, U+ba40, U+ba4b, U+ba58, U+ba87, U+baac, U+bbc0, U+bc16, U+bc34, U+bd07, U+bd99, U+be59, U+bfd0, U+c058, U+c0e4, U+c0f5, U+c12d, U+c139, U+c228, U+c529, U+c5c7, U+c635, U+c637, U+c735, U+c77d, U+c787, U+c789, U+c8c4, U+c989, U+c98c, U+c9d0, U+c9d3, U+cc0c, U+cc99, U+cd0c, U+cd2c, U+cd98, U+cda4, U+ce59, U+ce60, U+ce6d, U+cea0, U+d0d0-d0d1, U+d0d5, U+d14d, U+d1a4, U+d29c, U+d2f1, U+d301, U+d39c, U+d3bc, U+d4e8, U+d540, U+d5ec, U+d640, U+d750) ); /* noto-sans-kr-[113]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-113-400-normal.woff2", $range: (U+5e, U+25b2, U+25b6, U+314e, U+ac24, U+ace1, U+ace4, U+ae68, U+af2d, U+b0d0, U+b0e5, U+b150, U+b155, U+b193, U+b2c9, U+b2dd, U+b3c8, U+b3fc, U+b410, U+b458, U+b4dd, U+b5a0, U+b5a4, U+b5bb, U+b7b5, U+b838, U+b840, U+b86f, U+b8f9, U+b960, U+b9e5, U+bab8, U+bb50, U+bc1d, U+bc24-bc25, U+bca8, U+bcbd, U+bd04, U+bd10, U+bd24, U+be48, U+be5b, U+be68, U+c05c, U+c12c, U+c140, U+c15c, U+c168, U+c194, U+c219, U+c27d, U+c2a8, U+c2f1, U+c2f8, U+c368, U+c554-c555, U+c559, U+c564, U+c5d8, U+c5fc, U+c625, U+c65c, U+c6b1, U+c728, U+c794, U+c84c, U+c88c, U+c8e0, U+c8fd, U+c998, U+c9dd, U+cc0d, U+cc30, U+ceec, U+cf13, U+cf1c, U+cf5c, U+d050, U+d07c, U+d0a8, U+d134, U+d138, U+d154, U+d1f4, U+d2bc, U+d329, U+d32c, U+d3d0, U+d3f4, U+d3fc, U+d56b, U+d5cc, U+d600-d601, U+d639, U+d6c8, U+d754, U+d765) ); /* noto-sans-kr-[114]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-114-400-normal.woff2", $range: (U+3c-3d, U+2026, U+24d2, U+314b, U+ac11, U+acf3, U+ad74, U+ad81, U+adf9, U+ae34, U+af43, U+afb8, U+b05d, U+b07c, U+b110, U+b118, U+b17c, U+b180, U+b18d, U+b192, U+b2cc, U+b355, U+b378, U+b4a4, U+b4ef, U+b78d, U+b799, U+b7a9, U+b7fd, U+b807, U+b80c, U+b839, U+b9b4, U+b9db, U+ba3c, U+bab0, U+bba4, U+bc94, U+be4c, U+c154, U+c1c4, U+c26c, U+c2ac, U+c2ed, U+c4f4, U+c55e, U+c561, U+c571, U+c5b5, U+c5c4, U+c654-c655, U+c695, U+c6e8, U+c6f9, U+c724, U+c751, U+c775, U+c7a0, U+c7c1, U+c874, U+c880, U+c9d5, U+c9f8, U+cabd, U+cc29, U+cc2c, U+cca8, U+ccab, U+ccd0, U+ce21, U+ce35, U+ce7c, U+ce90, U+cee8, U+cef4, U+cfe0, U+d070, U+d0b9, U+d0c1, U+d0c4, U+d0c8, U+d15c, U+d1a1, U+d2c0, U+d300, U+d314, U+d3ed, U+d478, U+d480, U+d48d, U+d508, U+d53d, U+d5e4, U+d611, U+d61c, U+d68d, U+d6a8, U+d798) ); /* noto-sans-kr-[115]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-115-400-normal.woff2", $range: (U+23, U+25, U+5f, U+a9, U+ac08, U+ac78, U+aca8, U+acac, U+ace8, U+ad70, U+adc0, U+addc, U+b137, U+b140, U+b208, U+b290, U+b2f5, U+b3c5, U+b3cc, U+b420, U+b429, U+b529, U+b530, U+b77d, U+b79c, U+b7a8, U+b7c9, U+b7f0, U+b7fc, U+b828, U+b860, U+b9ad, U+b9c1, U+b9c9, U+b9dd-b9de, U+b9e8, U+ba38-ba39, U+babb, U+bc00, U+bc8c, U+bca0, U+bca4, U+bcd1, U+bcfc, U+bd09, U+bdf0, U+be60, U+c0ad, U+c0b4, U+c0bc, U+c190, U+c1fc, U+c220, U+c288, U+c2b9, U+c2f6, U+c528, U+c545, U+c558, U+c5bc, U+c5d4, U+c600, U+c644, U+c6c0, U+c6c3, U+c721, U+c798, U+c7a1, U+c811, U+c838, U+c871, U+c904, U+c990, U+c9dc, U+cc38, U+cc44, U+cca0, U+cd1d, U+cd95, U+cda9, U+ce5c, U+cf00, U+cf58, U+d150, U+d22c, U+d305, U+d328, U+d37c, U+d3f0, U+d551, U+d5a5, U+d5c8, U+d5d8, U+d63c, U+d64d, U+d669, U+d734, U+d76c) ); /* noto-sans-kr-[116]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-116-400-normal.woff2", $range: (U+26, U+2b, U+3e, U+40, U+7e, U+ac01, U+ac19, U+ac1d, U+aca0, U+aca9, U+acb0, U+ad8c, U+ae09, U+ae38, U+ae40, U+aed8, U+b09c, U+b0a0, U+b108, U+b204, U+b298, U+b2d8, U+b2eb-b2ec, U+b2f4, U+b313, U+b358, U+b450, U+b4e0, U+b54c, U+b610, U+b780, U+b78c, U+b791, U+b8e8, U+b958, U+b974, U+b984, U+b9b0, U+b9bc-b9bd, U+b9ce, U+ba70, U+bbfc, U+bc0f, U+bc15, U+bc1b, U+bc31, U+bc95, U+bcc0, U+bcc4, U+bd81, U+bd88, U+c0c8, U+c11d, U+c13c, U+c158, U+c18d, U+c1a1, U+c21c, U+c4f0, U+c54a, U+c560, U+c5b8, U+c5c8, U+c5f4, U+c628, U+c62c, U+c678, U+c6cc, U+c808, U+c810, U+c885, U+c88b, U+c900, U+c988, U+c99d, U+c9c8, U+cc3d-cc3e, U+cc45, U+cd08, U+ce20, U+cee4, U+d074, U+d0a4, U+d0dd, U+d2b9, U+d3b8, U+d3c9, U+d488, U+d544, U+d559, U+d56d, U+d588, U+d615, U+d648, U+d655, U+d658, U+d65c) ); /* noto-sans-kr-[117]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-117-400-normal.woff2", $range: (U+d, U+48, U+7c, U+ac10, U+ac15, U+ac74, U+ac80, U+ac83, U+acc4, U+ad11, U+ad50, U+ad6d, U+adfc, U+ae00, U+ae08, U+ae4c, U+b0a8, U+b124, U+b144, U+b178, U+b274, U+b2a5, U+b2e8, U+b2f9, U+b354, U+b370, U+b418, U+b41c, U+b4f1, U+b514, U+b798, U+b808, U+b824-b825, U+b8cc, U+b978, U+b9d0, U+b9e4, U+baa9, U+bb3c, U+bc18, U+bc1c, U+bc30, U+bc84, U+bcf5, U+bcf8, U+bd84, U+be0c, U+be14, U+c0b0, U+c0c9, U+c0dd, U+c124, U+c2dd, U+c2e4, U+c2ec, U+c54c, U+c57c-c57d, U+c591, U+c5c5-c5c6, U+c5ed, U+c608, U+c640, U+c6b8, U+c6d4, U+c784, U+c7ac, U+c800-c801, U+c9c1, U+c9d1, U+cc28, U+cc98, U+cc9c, U+ccad, U+cd5c, U+cd94, U+cd9c, U+cde8, U+ce68, U+cf54, U+d0dc, U+d14c, U+d1a0, U+d1b5, U+d2f0, U+d30c, U+d310, U+d398, U+d45c, U+d50c, U+d53c, U+d560, U+d568, U+d589, U+d604, U+d6c4, U+d788) ); /* noto-sans-kr-[118]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-118-400-normal.woff2", $range: (U+39, U+49, U+4d-4e, U+a0, U+ac04, U+ac1c, U+ac70, U+ac8c, U+acbd, U+acf5, U+acfc, U+ad00, U+ad6c, U+adf8, U+b098, U+b0b4, U+b294, U+b2c8, U+b300, U+b3c4, U+b3d9, U+b4dc, U+b4e4, U+b77c, U+b7ec, U+b85d, U+b97c, U+b9c8, U+b9cc, U+ba54, U+ba74, U+ba85, U+baa8, U+bb34, U+bb38, U+bbf8, U+bc14, U+bc29, U+bc88, U+bcf4, U+bd80, U+be44, U+c0c1, U+c11c, U+c120, U+c131, U+c138, U+c18c, U+c218, U+c2b5, U+c2e0, U+c544, U+c548, U+c5b4, U+c5d0, U+c5ec, U+c5f0, U+c601, U+c624, U+c694, U+c6a9, U+c6b0, U+c6b4, U+c6d0, U+c704, U+c720, U+c73c, U+c740, U+c744, U+c74c, U+c758, U+c77c, U+c785, U+c788, U+c790-c791, U+c7a5, U+c804, U+c815, U+c81c, U+c870, U+c8fc, U+c911, U+c9c4, U+ccb4, U+ce58, U+ce74, U+d06c, U+d0c0, U+d130, U+d2b8, U+d3ec, U+d504, U+d55c, U+d569, U+d574, U+d638, U+d654, U+d68c) ); /* noto-sans-kr-[119]-400-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-119-400-normal.woff2", $range: (U+20-22, U+27-2a, U+2c-38, U+3a-3b, U+3f, U+41-47, U+4a-4c, U+4f-5d, U+61-7b, U+7d, U+a1, U+ab, U+ae, U+b7, U+bb, U+bf, U+2013-2014, U+201c-201d, U+2122, U+ac00, U+ace0, U+ae30, U+b2e4, U+b85c, U+b9ac, U+c0ac, U+c2a4, U+c2dc, U+c774, U+c778, U+c9c0, U+d558) diff --git a/src/styles/noto-sans/kr-700-normal.scss b/src/styles/noto-sans/kr-700-normal.scss index 4b84476a02..18fc30f886 100644 --- a/src/styles/noto-sans/kr-700-normal.scss +++ b/src/styles/noto-sans/kr-700-normal.scss @@ -1,7 +1,9 @@ +@use "../font"; + $krFamily: "Noto Sans KR"; /* noto-sans-kr-[0]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-0-700-normal.woff2", @@ -9,7 +11,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[1]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-1-700-normal.woff2", @@ -17,7 +19,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[2]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-2-700-normal.woff2", @@ -25,7 +27,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[3]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-3-700-normal.woff2", @@ -33,7 +35,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[4]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-4-700-normal.woff2", @@ -41,7 +43,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[5]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-5-700-normal.woff2", @@ -49,7 +51,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[6]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-6-700-normal.woff2", @@ -57,7 +59,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[7]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-7-700-normal.woff2", @@ -65,7 +67,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[8]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-8-700-normal.woff2", @@ -73,7 +75,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[9]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-9-700-normal.woff2", @@ -81,7 +83,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[10]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-10-700-normal.woff2", @@ -89,7 +91,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[11]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-11-700-normal.woff2", @@ -97,7 +99,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[12]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-12-700-normal.woff2", @@ -105,7 +107,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[13]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-13-700-normal.woff2", @@ -113,7 +115,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[14]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-14-700-normal.woff2", @@ -121,7 +123,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[15]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-15-700-normal.woff2", @@ -129,7 +131,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[16]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-16-700-normal.woff2", @@ -137,7 +139,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[17]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-17-700-normal.woff2", @@ -145,7 +147,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[18]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-18-700-normal.woff2", @@ -153,7 +155,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[19]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-19-700-normal.woff2", @@ -161,7 +163,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[20]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-20-700-normal.woff2", @@ -169,7 +171,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[21]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-21-700-normal.woff2", @@ -177,7 +179,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[22]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-22-700-normal.woff2", @@ -185,7 +187,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[23]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-23-700-normal.woff2", @@ -193,7 +195,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[24]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-24-700-normal.woff2", @@ -201,7 +203,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[25]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-25-700-normal.woff2", @@ -209,7 +211,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[26]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-26-700-normal.woff2", @@ -217,7 +219,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[27]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-27-700-normal.woff2", @@ -225,7 +227,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[28]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-28-700-normal.woff2", @@ -233,7 +235,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[29]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-29-700-normal.woff2", @@ -241,7 +243,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[30]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-30-700-normal.woff2", @@ -249,7 +251,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[31]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-31-700-normal.woff2", @@ -257,7 +259,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[32]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-32-700-normal.woff2", @@ -265,7 +267,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[33]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-33-700-normal.woff2", @@ -273,7 +275,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[34]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-34-700-normal.woff2", @@ -281,7 +283,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[35]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-35-700-normal.woff2", @@ -289,7 +291,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[36]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-36-700-normal.woff2", @@ -297,7 +299,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[37]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-37-700-normal.woff2", @@ -305,7 +307,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[38]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-38-700-normal.woff2", @@ -313,7 +315,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[39]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-39-700-normal.woff2", @@ -321,7 +323,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[40]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-40-700-normal.woff2", @@ -329,7 +331,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[41]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-41-700-normal.woff2", @@ -337,7 +339,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[42]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-42-700-normal.woff2", @@ -345,7 +347,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[43]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-43-700-normal.woff2", @@ -353,7 +355,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[44]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-44-700-normal.woff2", @@ -361,7 +363,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[45]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-45-700-normal.woff2", @@ -369,7 +371,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[46]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-46-700-normal.woff2", @@ -377,7 +379,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[47]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-47-700-normal.woff2", @@ -385,7 +387,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[48]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-48-700-normal.woff2", @@ -393,7 +395,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[49]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-49-700-normal.woff2", @@ -401,7 +403,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[50]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-50-700-normal.woff2", @@ -409,7 +411,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[51]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-51-700-normal.woff2", @@ -417,7 +419,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[52]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-52-700-normal.woff2", @@ -425,7 +427,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[53]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-53-700-normal.woff2", @@ -433,7 +435,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[54]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-54-700-normal.woff2", @@ -441,7 +443,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[55]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-55-700-normal.woff2", @@ -449,7 +451,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[56]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-56-700-normal.woff2", @@ -457,7 +459,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[57]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-57-700-normal.woff2", @@ -465,7 +467,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[58]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-58-700-normal.woff2", @@ -473,7 +475,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[59]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-59-700-normal.woff2", @@ -481,7 +483,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[60]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-60-700-normal.woff2", @@ -489,7 +491,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[61]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-61-700-normal.woff2", @@ -497,7 +499,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[62]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-62-700-normal.woff2", @@ -505,7 +507,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[63]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-63-700-normal.woff2", @@ -513,7 +515,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[64]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-64-700-normal.woff2", @@ -521,7 +523,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[65]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-65-700-normal.woff2", @@ -529,7 +531,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[66]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-66-700-normal.woff2", @@ -537,7 +539,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[67]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-67-700-normal.woff2", @@ -545,7 +547,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[68]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-68-700-normal.woff2", @@ -553,7 +555,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[69]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-69-700-normal.woff2", @@ -561,7 +563,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[70]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-70-700-normal.woff2", @@ -569,7 +571,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[71]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-71-700-normal.woff2", @@ -577,7 +579,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[72]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-72-700-normal.woff2", @@ -585,7 +587,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[73]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-73-700-normal.woff2", @@ -593,7 +595,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[74]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-74-700-normal.woff2", @@ -601,7 +603,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[75]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-75-700-normal.woff2", @@ -609,7 +611,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[76]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-76-700-normal.woff2", @@ -617,7 +619,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[77]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-77-700-normal.woff2", @@ -625,7 +627,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[78]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-78-700-normal.woff2", @@ -633,7 +635,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[79]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-79-700-normal.woff2", @@ -641,7 +643,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[80]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-80-700-normal.woff2", @@ -649,7 +651,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[81]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-81-700-normal.woff2", @@ -657,7 +659,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[82]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-82-700-normal.woff2", @@ -665,7 +667,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[83]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-83-700-normal.woff2", @@ -673,7 +675,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[84]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-84-700-normal.woff2", @@ -681,7 +683,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[85]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-85-700-normal.woff2", @@ -689,7 +691,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[86]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-86-700-normal.woff2", @@ -697,7 +699,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[87]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-87-700-normal.woff2", @@ -705,7 +707,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[88]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-88-700-normal.woff2", @@ -713,7 +715,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[89]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-89-700-normal.woff2", @@ -721,7 +723,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[90]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-90-700-normal.woff2", @@ -729,7 +731,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[91]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-91-700-normal.woff2", @@ -737,7 +739,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[92]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-92-700-normal.woff2", @@ -745,7 +747,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[93]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-93-700-normal.woff2", @@ -753,7 +755,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[94]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-94-700-normal.woff2", @@ -761,7 +763,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[95]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-95-700-normal.woff2", @@ -769,7 +771,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[96]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-96-700-normal.woff2", @@ -777,7 +779,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[97]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-97-700-normal.woff2", @@ -785,7 +787,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[98]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-98-700-normal.woff2", @@ -793,7 +795,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[99]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-99-700-normal.woff2", @@ -801,7 +803,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[100]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-100-700-normal.woff2", @@ -809,7 +811,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[101]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-101-700-normal.woff2", @@ -817,7 +819,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[102]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-102-700-normal.woff2", @@ -825,7 +827,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[103]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-103-700-normal.woff2", @@ -833,7 +835,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[104]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-104-700-normal.woff2", @@ -841,7 +843,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[105]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-105-700-normal.woff2", @@ -849,7 +851,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[106]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-106-700-normal.woff2", @@ -857,7 +859,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[107]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-107-700-normal.woff2", @@ -865,7 +867,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[108]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-108-700-normal.woff2", @@ -873,7 +875,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[109]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-109-700-normal.woff2", @@ -881,7 +883,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[110]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-110-700-normal.woff2", @@ -889,7 +891,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[111]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-111-700-normal.woff2", @@ -897,7 +899,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[112]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-112-700-normal.woff2", @@ -905,7 +907,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[113]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-113-700-normal.woff2", @@ -913,7 +915,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[114]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-114-700-normal.woff2", @@ -921,7 +923,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[115]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-115-700-normal.woff2", @@ -929,7 +931,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[116]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-116-700-normal.woff2", @@ -937,7 +939,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[117]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-117-700-normal.woff2", @@ -945,7 +947,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[118]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-118-700-normal.woff2", @@ -953,7 +955,7 @@ $krFamily: "Noto Sans KR"; ); /* noto-sans-kr-[119]-700-normal */ -@include fontFace( +@include font.face( $family: $krFamily, $weight: 700, $url: "~@fontsource/noto-sans-kr/files/noto-sans-kr-119-700-normal.woff2", diff --git a/src/styles/noto-sans/sc-400-normal.scss b/src/styles/noto-sans/sc-400-normal.scss index 802216e8b2..4f033fabfd 100644 --- a/src/styles/noto-sans/sc-400-normal.scss +++ b/src/styles/noto-sans/sc-400-normal.scss @@ -1,679 +1,681 @@ +@use "../font"; + $scFamily: "Noto Sans SC"; /* noto-sans-sc-[4]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-4-400-normal.woff2", $range: (U+1f1e9-1f1f5, U+1f1f7-1f1ff, U+1f21a, U+1f232, U+1f234-1f237, U+1f250-1f251, U+1f300, U+1f302-1f308, U+1f30a-1f311, U+1f315, U+1f319-1f320, U+1f324, U+1f327, U+1f32a, U+1f32c-1f32d, U+1f330-1f357, U+1f359-1f37e) ); /* noto-sans-sc-[5]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-5-400-normal.woff2", $range: (U+fee3, U+fef3, U+ff03-ff04, U+ff07, U+ff0a, U+ff17-ff19, U+ff1c-ff1d, U+ff20-ff3a, U+ff3c, U+ff3e-ff5b, U+ff5d, U+ff61-ff65, U+ff67-ff6a, U+ff6c, U+ff6f-ff78, U+ff7a-ff7d, U+ff80-ff84, U+ff86, U+ff89-ff8e, U+ff92, U+ff97-ff9b, U+ff9d-ff9f, U+ffe0-ffe4, U+ffe6, U+ffe9, U+ffeb, U+ffed, U+fffc, U+1f004, U+1f170-1f171, U+1f192-1f195, U+1f198-1f19a, U+1f1e6-1f1e8) ); /* noto-sans-sc-[6]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-6-400-normal.woff2", $range: (U+f0a7, U+f0b2, U+f0b7, U+f0c9, U+f0d8, U+f0da, U+f0dc-f0dd, U+f0e0, U+f0e6, U+f0eb, U+f0fc, U+f101, U+f104-f105, U+f107, U+f10b, U+f11b, U+f14b, U+f18a, U+f193, U+f1d6-f1d7, U+f244, U+f27a, U+f296, U+f2ae, U+f471, U+f4b3, U+f610-f611, U+f880-f881, U+f8ec, U+f8f5, U+f8ff, U+f901, U+f90a, U+f92c-f92d, U+f934, U+f937, U+f941, U+f965, U+f967, U+f969, U+f96b, U+f96f, U+f974, U+f978-f979, U+f97e, U+f981, U+f98a, U+f98e, U+f997, U+f99c, U+f9b2, U+f9b5, U+f9ba, U+f9be, U+f9ca, U+f9d0-f9d1, U+f9dd, U+f9e0-f9e1, U+f9e4, U+f9f7, U+fa00-fa01, U+fa08, U+fa0a, U+fa11, U+fb01-fb02, U+fdfc, U+fe0e, U+fe30-fe31, U+fe33-fe44, U+fe49-fe52, U+fe54-fe57, U+fe59-fe66, U+fe68-fe6b, U+fe8e, U+fe92-fe93, U+feae, U+feb8, U+fecb-fecc, U+fee0) ); /* noto-sans-sc-[21]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-21-400-normal.woff2", $range: (U+9f3d-9f3e, U+9f41, U+9f4a-9f4b, U+9f51-9f52, U+9f61-9f63, U+9f66-9f67, U+9f80-9f81, U+9f83, U+9f85-9f8d, U+9f90-9f91, U+9f94-9f96, U+9f98, U+9f9b-9f9c, U+9f9e, U+9fa0, U+9fa2, U+9ff4, U+a001, U+a007, U+a025, U+a046-a047, U+a057, U+a072, U+a078-a079, U+a083, U+a085, U+a100, U+a118, U+a132, U+a134, U+a1f4, U+a242, U+a4a6, U+a4aa, U+a4b0-a4b1, U+a4b3, U+a9c1-a9c2, U+ac00-ac01, U+ac04, U+ac08, U+ac10-ac11, U+ac13-ac16, U+ac19, U+ac1c-ac1d, U+ac24, U+ac70-ac71, U+ac74, U+ac77-ac78, U+ac80-ac81, U+ac83, U+ac8c, U+ac90, U+ac9f-aca0, U+aca8-aca9, U+acac, U+acb0, U+acbd, U+acc1, U+acc4, U+ace0-ace1, U+ace4, U+ace8, U+acf3, U+acf5, U+acfc-acfd, U+ad00, U+ad0c, U+ad11, U+ad1c, U+ad34, U+ad50, U+ad64, U+ad6c, U+ad70, U+ad74, U+ad7f, U+ad81, U+ad8c, U+adc0, U+adc8, U+addc, U+ade0, U+adf8-adf9, U+adfc, U+ae00, U+ae08-ae09, U+ae0b, U+ae30, U+ae34, U+ae38, U+ae40, U+ae4a, U+ae4c, U+ae54, U+ae68, U+aebc, U+aed8, U+af2c-af2d, U+af34) ); /* noto-sans-sc-[22]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-22-400-normal.woff2", $range: (U+9dfa, U+9e0a, U+9e11, U+9e1a, U+9e1e, U+9e20, U+9e22, U+9e28-9e2c, U+9e2e-9e33, U+9e35-9e3b, U+9e3e, U+9e40-9e44, U+9e46-9e4e, U+9e51, U+9e53, U+9e55-9e58, U+9e5a-9e5c, U+9e5e-9e63, U+9e66-9e6e, U+9e71, U+9e73, U+9e75, U+9e78-9e79, U+9e7c-9e7e, U+9e82, U+9e86-9e88, U+9e8b-9e8c, U+9e90-9e91, U+9e93, U+9e95, U+9e97, U+9e9d, U+9ea4-9ea5, U+9ea9-9eaa, U+9eb4-9eb5, U+9eb8-9eba, U+9ebc-9ebf, U+9ec3, U+9ec9, U+9ecd, U+9ed0, U+9ed2-9ed3, U+9ed5-9ed6, U+9ed9, U+9edc-9edd, U+9edf-9ee0, U+9ee2, U+9ee5, U+9ee7-9eea, U+9eef, U+9ef1, U+9ef3-9ef4, U+9ef6, U+9ef9, U+9efb-9efc, U+9efe, U+9f0b, U+9f0d, U+9f10, U+9f14, U+9f17, U+9f19, U+9f22, U+9f29, U+9f2c, U+9f2f, U+9f31, U+9f37, U+9f39) ); /* noto-sans-sc-[23]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-23-400-normal.woff2", $range: (U+9c3b, U+9c40, U+9c47-9c49, U+9c53, U+9c57, U+9c64, U+9c72, U+9c77-9c78, U+9c7b, U+9c7f-9c80, U+9c82-9c83, U+9c85-9c8c, U+9c8e-9c92, U+9c94-9c9b, U+9c9e-9ca3, U+9ca5-9ca7, U+9ca9, U+9cab, U+9cad-9cae, U+9cb1-9cb7, U+9cb9-9cbd, U+9cbf-9cc0, U+9cc3, U+9cc5-9cc7, U+9cc9-9cd1, U+9cd3-9cda, U+9cdc-9cdd, U+9cdf, U+9ce1-9ce3, U+9ce5, U+9ce9, U+9cee-9cef, U+9cf3-9cf4, U+9cf6, U+9cfc-9cfd, U+9d02, U+9d08-9d09, U+9d12, U+9d1b, U+9d1e, U+9d26, U+9d28, U+9d37, U+9d3b, U+9d3f, U+9d51, U+9d59, U+9d5c-9d5d, U+9d5f-9d61, U+9d6c, U+9d70, U+9d72, U+9d7a, U+9d7e, U+9d84, U+9d89, U+9d8f, U+9d92, U+9daf, U+9db4, U+9db8, U+9dbc, U+9dc4, U+9dc7, U+9dc9, U+9dd7, U+9ddf, U+9df2, U+9df9) ); /* noto-sans-sc-[24]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-24-400-normal.woff2", $range: (U+9a5f, U+9a62, U+9a65, U+9a69, U+9a6b, U+9a6e, U+9a75, U+9a77-9a7a, U+9a7d, U+9a80, U+9a83, U+9a85, U+9a87-9a8a, U+9a8d-9a8e, U+9a90, U+9a92-9a93, U+9a95-9a96, U+9a98-9a99, U+9a9b-9aa2, U+9aa5, U+9aa7, U+9aaf-9ab1, U+9ab5-9ab6, U+9ab9-9aba, U+9abc, U+9ac0-9ac4, U+9ac8, U+9acb-9acc, U+9ace-9acf, U+9ad1-9ad2, U+9ad9, U+9adf, U+9ae1, U+9ae3, U+9aea-9aeb, U+9aed-9aef, U+9af4, U+9af9, U+9afb, U+9b03-9b04, U+9b06, U+9b08, U+9b0d, U+9b0f-9b10, U+9b13, U+9b18, U+9b1a, U+9b1f, U+9b22-9b23, U+9b25, U+9b27-9b28, U+9b2a, U+9b2f, U+9b31-9b32, U+9b3b, U+9b43, U+9b46-9b49, U+9b4d-9b4e, U+9b51, U+9b56, U+9b58, U+9b5a, U+9b5c, U+9b5f, U+9b61-9b62, U+9b6f, U+9b77, U+9b80, U+9b88, U+9b8b, U+9b8e, U+9b91, U+9b9f-9ba0, U+9ba8, U+9baa-9bab, U+9bad-9bae, U+9bb0-9bb1, U+9bb8, U+9bc9-9bca, U+9bd3, U+9bd6, U+9bdb, U+9be8, U+9bf0-9bf1, U+9c02, U+9c10, U+9c15, U+9c24, U+9c2d, U+9c32, U+9c39) ); /* noto-sans-sc-[25]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-25-400-normal.woff2", $range: (U+98c8, U+98cf-98d6, U+98da-98db, U+98dd, U+98e1-98e2, U+98e7-98ea, U+98ec, U+98ee-98ef, U+98f2, U+98f4, U+98fc-98fe, U+9903, U+9905, U+9908, U+990a, U+990c-990d, U+9913-9914, U+9918, U+991a-991b, U+991e, U+9921, U+9928, U+992c, U+992e, U+9935, U+9938-9939, U+993d-993e, U+9945, U+994b-994c, U+9951-9952, U+9954-9955, U+9957, U+995e, U+9963, U+9966-9969, U+996b-996c, U+996f, U+9974-9975, U+9977-9979, U+997d-997e, U+9980-9981, U+9983-9984, U+9987, U+998a-998b, U+998d-9991, U+9993-9995, U+9997-9998, U+99a5, U+99ab-99ae, U+99b1, U+99b3-99b4, U+99bc, U+99bf, U+99c1, U+99c3-99c6, U+99cc, U+99d0, U+99d2, U+99d5, U+99db, U+99dd, U+99e1, U+99ed, U+99f1, U+99ff, U+9a01, U+9a03-9a04, U+9a0e-9a0f, U+9a11-9a13, U+9a19, U+9a1b, U+9a28, U+9a2b, U+9a30, U+9a32, U+9a37, U+9a40, U+9a45, U+9a4a, U+9a4d-9a4e, U+9a52, U+9a55, U+9a57, U+9a5a-9a5b) ); /* noto-sans-sc-[26]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-26-400-normal.woff2", $range: (U+972a, U+972d, U+9730, U+973d, U+9742, U+9744, U+9748-9749, U+9750-9751, U+975a-975c, U+9763, U+9765-9766, U+976c-976d, U+9773, U+9776, U+977a, U+977c, U+9784-9785, U+978e-978f, U+9791-9792, U+9794-9795, U+9798, U+979a, U+979e, U+97a3, U+97a5-97a6, U+97a8, U+97ab-97ac, U+97ae-97af, U+97b2, U+97b4, U+97c6, U+97cb-97cc, U+97d3, U+97d8, U+97dc, U+97e1, U+97ea-97eb, U+97ee, U+97fb, U+97fe-97ff, U+9801-9803, U+9805-9806, U+9808, U+980c, U+9810-9814, U+9817-9818, U+981e, U+9820-9821, U+9824, U+9828, U+982b-982d, U+9830, U+9834, U+9838-9839, U+983c, U+9846, U+984d-984f, U+9851-9852, U+9854-9855, U+9857-9858, U+985a-985b, U+9862-9863, U+9865, U+9867, U+986b, U+986f-9871, U+9877-9878, U+987c, U+9880, U+9883, U+9885, U+9889, U+988b-988f, U+9893-9895, U+9899-989b, U+989e-989f, U+98a1-98a2, U+98a5-98a7, U+98a9, U+98af, U+98b1, U+98b6, U+98ba, U+98be, U+98c3-98c4, U+98c6-98c7) ); /* noto-sans-sc-[27]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-27-400-normal.woff2", $range: (U+95b9-95ca, U+95cc-95cd, U+95d4-95d6, U+95d8, U+95e1-95e2, U+95e9, U+95f0-95f1, U+95f3, U+95f6, U+95fc, U+95fe-95ff, U+9602-9604, U+9606-960d, U+960f, U+9611-9613, U+9615-9617, U+9619-961b, U+961d, U+9621, U+9628, U+962f, U+963c-963e, U+9641-9642, U+9649, U+9654, U+965b-965f, U+9661, U+9663, U+9665, U+9667-9668, U+966c, U+9670, U+9672-9674, U+9678, U+967a, U+967d, U+9682, U+9685, U+9688, U+968a, U+968d-968e, U+9695, U+9697-9698, U+969e, U+96a0, U+96a3-96a4, U+96a8, U+96aa, U+96b0-96b1, U+96b3-96b4, U+96b7-96b9, U+96bb-96bd, U+96c9, U+96cb, U+96ce, U+96d1-96d2, U+96d6, U+96d9, U+96db-96dc, U+96de, U+96e0, U+96e3, U+96e9, U+96eb, U+96f0-96f2, U+96f9, U+96ff, U+9701-9702, U+9705, U+9708, U+970a, U+970e-970f, U+9711, U+9719, U+9727) ); /* noto-sans-sc-[28]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-28-400-normal.woff2", $range: (U+94e7-94ec, U+94ee-94f1, U+94f3, U+94f5, U+94f7, U+94f9, U+94fb-94fd, U+94ff, U+9503-9504, U+9506-9507, U+9509-950a, U+950d-950f, U+9511-9518, U+951a-9520, U+9522, U+9528-952d, U+9530-953a, U+953c-953f, U+9543-9546, U+9548-9550, U+9552-9555, U+9557-955b, U+955d-9568, U+956a-956d, U+9570-9574, U+9583, U+9586, U+9589, U+958e-958f, U+9591-9592, U+9594, U+9598-9599, U+959e-95a0, U+95a2-95a6, U+95a8-95b2, U+95b4, U+95b8) ); /* noto-sans-sc-[29]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-29-400-normal.woff2", $range: (U+9410-941a, U+941c-942b, U+942d-942e, U+9432-9433, U+9435, U+9438, U+943a, U+943e, U+9444, U+944a, U+9451-9452, U+945a, U+9462-9463, U+9465, U+9470-9487, U+948a-9492, U+9494-9498, U+949a, U+949c-949d, U+94a1, U+94a3-94a4, U+94a8, U+94aa-94ad, U+94af, U+94b2, U+94b4-94ba, U+94bc-94c0, U+94c4, U+94c6-94db, U+94de-94e6) ); /* noto-sans-sc-[30]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-30-400-normal.woff2", $range: (U+92b7, U+92b9, U+92c1, U+92c5-92c6, U+92c8, U+92cc, U+92d0, U+92d2, U+92e4, U+92ea, U+92ec-92ed, U+92f0, U+92f3, U+92f8, U+92fc, U+9304, U+9306, U+9310, U+9312, U+9315, U+9318, U+931a, U+931e, U+9320-9322, U+9324, U+9326-9329, U+932b-932c, U+932f, U+9331-9332, U+9335-9336, U+933e, U+9340-9341, U+934a-9360, U+9362-9363, U+9365-936b, U+936e, U+9375, U+937e, U+9382, U+938a, U+938c, U+938f, U+9393-9394, U+9396-9397, U+939a, U+93a2, U+93a7, U+93ac-93cd, U+93d0-93d1, U+93d6-93d8, U+93de-93df, U+93e1-93e2, U+93e4, U+93f8, U+93fb, U+93fd, U+940e-940f) ); /* noto-sans-sc-[31]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-31-400-normal.woff2", $range: (U+914c, U+914e-9150, U+9154, U+9157, U+915a, U+915d-915e, U+9161-9164, U+9169, U+9170, U+9172, U+9174, U+9179-917a, U+917d-917e, U+9182-9183, U+9185, U+918c-918d, U+9190-9191, U+919a, U+919c, U+91a1-91a4, U+91a8, U+91aa-91af, U+91b4-91b5, U+91b8, U+91ba, U+91be, U+91c0-91c1, U+91c6, U+91c8, U+91cb, U+91d0, U+91d2, U+91d7-91d8, U+91dd, U+91e3, U+91e6-91e7, U+91ed, U+91f0, U+91f5, U+91f9, U+9200, U+9205, U+9207-920a, U+920d-920e, U+9210, U+9214-9215, U+921c, U+921e, U+9221, U+9223-9227, U+9229-922a, U+922d, U+9234-9235, U+9237, U+9239-923a, U+923c-9240, U+9244-9246, U+9249, U+924e-924f, U+9251, U+9253, U+9257, U+925b, U+925e, U+9262, U+9264-9266, U+9268, U+926c, U+926f, U+9271, U+927b, U+927e, U+9280, U+9283, U+9285-928a, U+928e, U+9291, U+9293, U+9296, U+9298, U+929c-929d, U+92a8, U+92ab-92ae, U+92b3, U+92b6) ); /* noto-sans-sc-[32]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-32-400-normal.woff2", $range: (U+8fe2-8fe5, U+8fe8-8fe9, U+8fee, U+8ff3-8ff4, U+8ff8, U+8ffa, U+9004, U+900b, U+9011, U+9015-9016, U+901e, U+9021, U+9026, U+902d, U+902f, U+9031, U+9035-9036, U+9039-903a, U+9041, U+9044-9046, U+904a, U+904f-9052, U+9054-9055, U+9058-9059, U+905b-905e, U+9060-9062, U+9068-9069, U+906f, U+9072, U+9074, U+9076-907a, U+907c-907d, U+9081, U+9083, U+9085, U+9087-908b, U+908f, U+9095, U+9097, U+9099-909b, U+909d, U+90a0-90a1, U+90a8-90a9, U+90ac, U+90b0, U+90b2-90b4, U+90b6, U+90b8, U+90ba, U+90bd-90be, U+90c3-90c5, U+90c7-90c8, U+90cf-90d0, U+90d3, U+90d5, U+90d7, U+90da-90dc, U+90de, U+90e2, U+90e4, U+90e6-90e7, U+90ea-90eb, U+90ef, U+90f4-90f5, U+90f7, U+90fe-9100, U+9104, U+9109, U+910c, U+9112, U+9114-9115, U+9118, U+911c, U+911e, U+9120, U+9122-9123, U+9127, U+912d, U+912f-9132, U+9139-913a, U+9143, U+9146, U+9149-914a) ); /* noto-sans-sc-[33]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-33-400-normal.woff2", $range: (U+8e2d-8e31, U+8e34-8e35, U+8e39-8e3a, U+8e3d, U+8e40-8e42, U+8e47, U+8e49-8e4b, U+8e50-8e53, U+8e59-8e5a, U+8e5f-8e60, U+8e64, U+8e69, U+8e6c, U+8e70, U+8e74, U+8e76, U+8e7a-8e7c, U+8e7f, U+8e84-8e85, U+8e87, U+8e89, U+8e8b, U+8e8d, U+8e8f-8e90, U+8e94, U+8e99, U+8e9c, U+8e9e, U+8eaa, U+8eac, U+8eb0, U+8eb6, U+8ec0, U+8ec6, U+8eca-8ece, U+8ed2, U+8eda, U+8edf, U+8ee2, U+8eeb, U+8ef8, U+8efb-8efe, U+8f03, U+8f09, U+8f0b, U+8f12-8f15, U+8f1b, U+8f1d, U+8f1f, U+8f29-8f2a, U+8f2f, U+8f36, U+8f38, U+8f3b, U+8f3e-8f3f, U+8f44-8f45, U+8f49, U+8f4d-8f4e, U+8f5f, U+8f6b, U+8f6d, U+8f71-8f73, U+8f75-8f76, U+8f78-8f7a, U+8f7c, U+8f7e, U+8f81-8f82, U+8f84, U+8f87, U+8f8a-8f8b, U+8f8d-8f8f, U+8f94-8f95, U+8f97-8f9a, U+8fa6, U+8fad-8faf, U+8fb2, U+8fb5-8fb7, U+8fba-8fbc, U+8fbf, U+8fc2, U+8fcb, U+8fcd, U+8fd3, U+8fd5, U+8fd7, U+8fda) ); /* noto-sans-sc-[34]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-34-400-normal.woff2", $range: (U+8caf-8cb0, U+8cb3-8cb4, U+8cb6-8cb9, U+8cbb-8cbd, U+8cbf-8cc4, U+8cc7-8cc8, U+8cca, U+8ccd, U+8cd1, U+8cd3, U+8cdb-8cdc, U+8cde, U+8ce0, U+8ce2-8ce4, U+8ce6-8ce8, U+8cea, U+8ced, U+8cf4, U+8cf8, U+8cfa, U+8cfc-8cfd, U+8d04-8d05, U+8d07-8d08, U+8d0a, U+8d0d, U+8d0f, U+8d13-8d14, U+8d16, U+8d1b, U+8d20, U+8d2e, U+8d30, U+8d32-8d33, U+8d36, U+8d3b, U+8d3d, U+8d40, U+8d42-8d43, U+8d45-8d46, U+8d48-8d4a, U+8d4d, U+8d51, U+8d53, U+8d55, U+8d59, U+8d5c-8d5d, U+8d5f, U+8d61, U+8d66-8d67, U+8d6a, U+8d6d, U+8d71, U+8d73, U+8d84, U+8d90-8d91, U+8d94-8d95, U+8d99, U+8da8, U+8daf, U+8db1, U+8db5, U+8db8, U+8dba, U+8dbc, U+8dbf, U+8dc2, U+8dc4, U+8dc6, U+8dcb, U+8dce-8dcf, U+8dd6-8dd7, U+8dda-8ddb, U+8dde, U+8de1, U+8de3-8de4, U+8de9, U+8deb-8dec, U+8df0-8df1, U+8df6-8dfd, U+8e05, U+8e07, U+8e09-8e0a, U+8e0c, U+8e0e, U+8e10, U+8e14, U+8e1d-8e1f, U+8e23, U+8e26, U+8e2b-8e2c) ); /* noto-sans-sc-[35]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-35-400-normal.woff2", $range: (U+8b5e, U+8b60, U+8b6c, U+8b6f-8b70, U+8b72, U+8b74, U+8b77, U+8b7d, U+8b80, U+8b83, U+8b8a, U+8b8c, U+8b90, U+8b93, U+8b99-8b9a, U+8ba0, U+8ba3, U+8ba5-8ba7, U+8baa-8bac, U+8bb3-8bb5, U+8bb7, U+8bb9, U+8bc2-8bc3, U+8bc5, U+8bcb-8bcc, U+8bce-8bd0, U+8bd2-8bd4, U+8bd6, U+8bd8-8bd9, U+8bdc, U+8bdf, U+8be3-8be4, U+8be7-8be9, U+8beb-8bec, U+8bee, U+8bf0, U+8bf2-8bf3, U+8bf6, U+8bf9, U+8bfc-8bfd, U+8bff-8c00, U+8c02, U+8c04, U+8c06-8c07, U+8c0c, U+8c0f, U+8c11-8c12, U+8c14-8c1b, U+8c1d-8c21, U+8c24-8c25, U+8c27, U+8c2a-8c2c, U+8c2e-8c30, U+8c32-8c36, U+8c3f, U+8c47-8c4c, U+8c4e-8c50, U+8c54-8c56, U+8c62, U+8c68, U+8c6c, U+8c73, U+8c78, U+8c7a, U+8c82, U+8c85, U+8c89-8c8a, U+8c8d-8c8e, U+8c90, U+8c93-8c94, U+8c98, U+8c9d-8c9e, U+8ca0-8ca2, U+8ca7-8cac) ); /* noto-sans-sc-[36]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-36-400-normal.woff2", $range: (U+8a02-8a03, U+8a07-8a0a, U+8a0e-8a0f, U+8a13, U+8a15-8a18, U+8a1a-8a1b, U+8a1d, U+8a1f, U+8a22-8a23, U+8a25, U+8a2b, U+8a2d, U+8a31, U+8a33-8a34, U+8a36-8a38, U+8a3a, U+8a3c, U+8a3e, U+8a40-8a41, U+8a46, U+8a48, U+8a50, U+8a52, U+8a54-8a55, U+8a58, U+8a5b, U+8a5d-8a63, U+8a66, U+8a69-8a6b, U+8a6d-8a6e, U+8a70, U+8a72-8a73, U+8a7a, U+8a85, U+8a87, U+8a8a, U+8a8c-8a8d, U+8a90-8a92, U+8a95, U+8a98, U+8aa0-8aa1, U+8aa3-8aa6, U+8aa8-8aa9, U+8aac-8aae, U+8ab0, U+8ab2, U+8ab8-8ab9, U+8abc, U+8abe-8abf, U+8ac7, U+8acf, U+8ad2, U+8ad6-8ad7, U+8adb-8adc, U+8adf, U+8ae1, U+8ae6-8ae8, U+8aeb, U+8aed-8aee, U+8af1, U+8af3-8af4, U+8af7-8af8, U+8afa, U+8afe, U+8b00-8b02, U+8b07, U+8b0a, U+8b0c, U+8b0e, U+8b10, U+8b17, U+8b19, U+8b1b, U+8b1d, U+8b20-8b21, U+8b26, U+8b28, U+8b2c, U+8b33, U+8b39, U+8b3e-8b3f, U+8b41, U+8b45, U+8b49, U+8b4c, U+8b4f, U+8b57-8b58, U+8b5a, U+8b5c) ); /* noto-sans-sc-[37]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-37-400-normal.woff2", $range: (U+8869-886a, U+886e-886f, U+8872, U+8879, U+887d-887f, U+8882, U+8884-8886, U+8888, U+888f, U+8892-8893, U+889b, U+88a2, U+88a4, U+88a6, U+88a8, U+88aa, U+88ae, U+88b1, U+88b4, U+88b7, U+88bc, U+88c0, U+88c6-88c9, U+88ce-88cf, U+88d1-88d3, U+88d8, U+88db-88dd, U+88df, U+88e1-88e3, U+88e5, U+88e8, U+88ec, U+88f0-88f1, U+88f3-88f4, U+88fc-88fe, U+8900, U+8902, U+8906-8907, U+8909-890c, U+8912-8915, U+8918-891b, U+8921, U+8925, U+892b, U+8930, U+8932, U+8934, U+8936, U+893b, U+893d, U+8941, U+894c, U+8955-8956, U+8959, U+895c, U+895e-8960, U+8966, U+896a, U+896c, U+896f-8970, U+8972, U+897b, U+897e, U+8980, U+8983, U+8985, U+8987-8988, U+898c, U+898f, U+8993, U+8997, U+899a, U+89a1, U+89a7, U+89a9-89aa, U+89b2-89b3, U+89b7, U+89c0, U+89c7, U+89ca-89cc, U+89ce-89d1, U+89d6, U+89da, U+89dc, U+89de, U+89e5, U+89e7, U+89eb, U+89ef, U+89f1, U+89f3-89f4, U+89f8, U+89ff, U+8a01) ); /* noto-sans-sc-[38]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-38-400-normal.woff2", $range: (U+86e4, U+86e6, U+86e9, U+86ed, U+86ef-86f4, U+86f8-86f9, U+86fb, U+86fe, U+8703, U+8706-870a, U+870d, U+8711-8713, U+871a, U+871e, U+8722-8723, U+8725, U+8729, U+872e, U+8731, U+8734, U+8737, U+873a-873b, U+873e-8740, U+8742, U+8747-8748, U+8753, U+8755, U+8757-8758, U+875d, U+875f, U+8762-8766, U+8768, U+876e, U+8770, U+8772, U+8775, U+8778, U+877b-877e, U+8782, U+8785, U+8788, U+878b, U+8793, U+8797, U+879a, U+879e-87a0, U+87a2-87a3, U+87a8, U+87ab-87ad, U+87af, U+87b3, U+87b5, U+87bd, U+87c0, U+87c4, U+87c6, U+87ca-87cb, U+87d1-87d2, U+87db-87dc, U+87de, U+87e0, U+87e5, U+87ea, U+87ec, U+87ee, U+87f2-87f3, U+87fb, U+87fd-87fe, U+8802-8803, U+8805, U+880a-880b, U+880d, U+8813-8816, U+8819, U+881b, U+881f, U+8821, U+8823, U+8831-8832, U+8835-8836, U+8839, U+883b-883c, U+8844, U+8846, U+884a, U+884e, U+8852-8853, U+8855, U+8859, U+885b, U+885d-885e, U+8862, U+8864) ); /* noto-sans-sc-[39]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-39-400-normal.woff2", $range: (U+8532, U+8534-8535, U+8538-853a, U+853c, U+8543, U+8545, U+8548, U+854e, U+8553, U+8556-8557, U+8559, U+855e, U+8561, U+8564-8565, U+8568-856a, U+856d, U+856f-8570, U+8572, U+8576, U+8579-857b, U+8580, U+8585-8586, U+8588, U+858a, U+858f, U+8591, U+8594, U+8599, U+859c, U+85a2, U+85a4, U+85a6, U+85a8-85a9, U+85ab-85ac, U+85ae, U+85b7-85b9, U+85be, U+85c1, U+85c7, U+85cd, U+85d0, U+85d3, U+85d5, U+85dc-85dd, U+85df-85e0, U+85e5-85e6, U+85e8-85ea, U+85f4, U+85f9, U+85fe-85ff, U+8602, U+8605-8607, U+860a-860b, U+8616, U+8618, U+861a, U+8627, U+8629, U+862d, U+8638, U+863c, U+863f, U+864d, U+864f, U+8652-8655, U+865b-865c, U+865f, U+8662, U+8667, U+866c, U+866e, U+8671, U+8675, U+867a-867c, U+867f, U+868b, U+868d, U+8693, U+869c-869d, U+86a1, U+86a3-86a4, U+86a7-86a9, U+86ac, U+86af-86b1, U+86b4-86b6, U+86ba, U+86c0, U+86c4, U+86c6, U+86c9-86ca, U+86cd-86d1, U+86d4, U+86d8, U+86de-86df) ); /* noto-sans-sc-[40]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-40-400-normal.woff2", $range: (U+83b4, U+83b6, U+83b8, U+83ba, U+83bc-83bd, U+83bf-83c0, U+83c2, U+83c5, U+83c8-83c9, U+83cb, U+83d1, U+83d3-83d6, U+83d8, U+83db, U+83dd, U+83df, U+83e1, U+83e5, U+83ea-83eb, U+83f0, U+83f4, U+83f8-83f9, U+83fb, U+83fd, U+83ff, U+8401, U+8406, U+840a-840b, U+840f, U+8411, U+8418, U+841c, U+8420, U+8422-8424, U+8426, U+8429, U+842c, U+8438-8439, U+843b-843c, U+843f, U+8446-8447, U+8449, U+844e, U+8451-8452, U+8456, U+8459-845a, U+845c, U+8462, U+8466, U+846d, U+846f-8470, U+8473, U+8476-8478, U+847a, U+847d, U+8484-8485, U+8487, U+8489, U+848c, U+848e, U+8490, U+8493-8494, U+8497, U+849b, U+849e-849f, U+84a1, U+84a5, U+84a8, U+84af, U+84b4, U+84b9-84bf, U+84c1-84c2, U+84c5-84c7, U+84ca-84cb, U+84cd, U+84d0-84d1, U+84d3, U+84d6, U+84df-84e0, U+84e2-84e3, U+84e5-84e7, U+84ee, U+84f3, U+84f6, U+84fa, U+84fc, U+84ff-8500, U+850c, U+8511, U+8514-8515, U+8517-8518, U+851f, U+8523, U+8525-8526, U+8529, U+852b, U+852d) ); /* noto-sans-sc-[41]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-41-400-normal.woff2", $range: (U+82a9-82ab, U+82ae, U+82b0, U+82b2, U+82b4-82b6, U+82bc, U+82be, U+82c0-82c2, U+82c4-82c8, U+82ca-82cc, U+82ce, U+82d0, U+82d2-82d3, U+82d5-82d6, U+82d8-82d9, U+82dc-82de, U+82e0-82e4, U+82e7, U+82e9-82eb, U+82ed-82ee, U+82f3-82f4, U+82f7-82f8, U+82fa-8301, U+8306-8308, U+830c-830d, U+830f, U+8311, U+8313-8315, U+8318, U+831a-831b, U+831d, U+8324, U+8327, U+832a, U+832c-832d, U+832f, U+8331-8334, U+833a-833c, U+8340, U+8343-8345, U+8347-8348, U+834a, U+834c, U+834f, U+8351, U+8356, U+8358-835c, U+835e, U+8360, U+8364-8366, U+8368-836a, U+836c-836e, U+8373, U+8378, U+837b-837d, U+837f-8380, U+8382, U+8388, U+838a-838b, U+8392, U+8394, U+8396, U+8398-8399, U+839b-839c, U+83a0, U+83a2-83a3, U+83a8-83aa, U+83ae-83b0, U+83b3) ); /* noto-sans-sc-[42]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-42-400-normal.woff2", $range: (U+814d-814e, U+8151, U+8153, U+8158-815a, U+815e, U+8160, U+8166-8169, U+816b, U+816d, U+8171, U+8173-8174, U+8178, U+817c-817d, U+8182, U+8188, U+8191, U+8198-819b, U+81a0, U+81a3, U+81a5-81a6, U+81a9, U+81b6, U+81ba-81bb, U+81bd, U+81bf, U+81c1, U+81c3, U+81c6, U+81c9-81ca, U+81cc-81cd, U+81d1, U+81d3-81d4, U+81d8, U+81db-81dc, U+81de-81df, U+81e5, U+81e7-81e9, U+81eb-81ec, U+81ee-81ef, U+81f5, U+81f8, U+81fa, U+81fc, U+81fe, U+8200-8202, U+8204, U+8208-820a, U+820e-8210, U+8216-8218, U+821b-821c, U+8221-8224, U+8226-8228, U+822b, U+822d, U+822f, U+8232-8234, U+8237-8238, U+823a-823b, U+823e, U+8244, U+8249, U+824b, U+824f, U+8259-825a, U+825f, U+8266, U+8268, U+826e, U+8271, U+8276-8279, U+827d, U+827f, U+8283-8284, U+8288-828a, U+828d-8291, U+8293-8294, U+8296-8298, U+829f-82a1, U+82a3-82a4, U+82a7-82a8) ); /* noto-sans-sc-[43]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-43-400-normal.woff2", $range: (U+7ffa, U+7ffe, U+8004, U+8006, U+800b, U+800e, U+8011-8012, U+8014, U+8016, U+8018-8019, U+801c, U+801e, U+8026-802a, U+8031, U+8034-8035, U+8037, U+8043, U+804b, U+804d, U+8052, U+8056, U+8059, U+805e, U+8061, U+8068-8069, U+806e-8074, U+8076-8078, U+807c-8080, U+8082, U+8084-8085, U+8088, U+808f, U+8093, U+809c, U+809f, U+80ab, U+80ad-80ae, U+80b1, U+80b6-80b8, U+80bc-80bd, U+80c2, U+80c4, U+80ca, U+80cd, U+80d1, U+80d4, U+80d7, U+80d9-80db, U+80dd, U+80e0, U+80e4-80e5, U+80e7-80ed, U+80ef-80f1, U+80f3-80f4, U+80fc, U+8101, U+8104-8105, U+8107-8108, U+810c-810e, U+8112-8115, U+8117-8119, U+811b-811f, U+8121-8130, U+8132-8134, U+8137, U+8139, U+813f-8140, U+8142, U+8146, U+8148) ); /* noto-sans-sc-[44]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-44-400-normal.woff2", $range: (U+7ed7, U+7edb, U+7ee0-7ee2, U+7ee5-7ee6, U+7ee8, U+7eeb, U+7ef0-7ef2, U+7ef6, U+7efa-7efb, U+7efe, U+7f01-7f04, U+7f08, U+7f0a-7f12, U+7f17, U+7f19, U+7f1b-7f1c, U+7f1f, U+7f21-7f23, U+7f25-7f28, U+7f2a-7f33, U+7f35-7f37, U+7f3d, U+7f42, U+7f44-7f45, U+7f4c-7f4d, U+7f52, U+7f54, U+7f58-7f59, U+7f5d, U+7f5f-7f61, U+7f63, U+7f65, U+7f68, U+7f70-7f71, U+7f73-7f75, U+7f77, U+7f79, U+7f7d-7f7e, U+7f85-7f86, U+7f88-7f89, U+7f8b-7f8c, U+7f90-7f91, U+7f94-7f96, U+7f98-7f9b, U+7f9d, U+7f9f, U+7fa3, U+7fa7-7fa9, U+7fac-7fb2, U+7fb4, U+7fb6, U+7fb8, U+7fbc, U+7fbf-7fc0, U+7fc3, U+7fca, U+7fcc, U+7fce, U+7fd2, U+7fd5, U+7fd9-7fdb, U+7fdf, U+7fe3, U+7fe5-7fe7, U+7fe9, U+7feb-7fec, U+7fee-7fef, U+7ff1, U+7ff3-7ff4, U+7ff9) ); /* noto-sans-sc-[45]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-45-400-normal.woff2", $range: (U+7dc4, U+7dc7-7dc8, U+7dca-7dcd, U+7dcf, U+7dd1-7dd2, U+7dd4, U+7dd6-7dd8, U+7dda-7de0, U+7de2-7de6, U+7de8-7ded, U+7def, U+7df1-7df5, U+7df7, U+7df9, U+7dfb-7dfc, U+7dfe-7e02, U+7e04, U+7e08-7e0b, U+7e12, U+7e1b, U+7e1e, U+7e20, U+7e22-7e23, U+7e26, U+7e29, U+7e2b, U+7e2e-7e2f, U+7e31, U+7e37, U+7e39-7e3e, U+7e40, U+7e43-7e44, U+7e46-7e47, U+7e4a-7e4b, U+7e4d-7e4e, U+7e51, U+7e54-7e56, U+7e58-7e5b, U+7e5d-7e5e, U+7e61, U+7e66-7e67, U+7e69-7e6b, U+7e6d, U+7e70, U+7e73, U+7e77, U+7e79, U+7e7b-7e7d, U+7e81-7e82, U+7e8c-7e8d, U+7e8f, U+7e92-7e94, U+7e96, U+7e98, U+7e9a-7e9c, U+7e9e-7e9f, U+7ea1, U+7ea3, U+7ea5, U+7ea8-7ea9, U+7eab, U+7ead-7eae, U+7eb0, U+7ebb, U+7ebe, U+7ec0-7ec2, U+7ec9, U+7ecb-7ecc, U+7ed0, U+7ed4) ); /* noto-sans-sc-[46]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-46-400-normal.woff2", $range: (U+7ccc-7ccd, U+7cd7, U+7cdc, U+7cde, U+7ce0, U+7ce4-7ce5, U+7ce7-7ce8, U+7cec, U+7cf0, U+7cf5-7cf9, U+7cfc, U+7cfe, U+7d00, U+7d04-7d0b, U+7d0d, U+7d10-7d14, U+7d17-7d19, U+7d1b-7d1f, U+7d21, U+7d24-7d26, U+7d28-7d2a, U+7d2c-7d2e, U+7d30-7d31, U+7d33, U+7d35-7d36, U+7d38-7d3a, U+7d40, U+7d42-7d44, U+7d46, U+7d4b-7d4c, U+7d4f, U+7d51, U+7d54-7d56, U+7d58, U+7d5b-7d5c, U+7d5e, U+7d61-7d63, U+7d66, U+7d68, U+7d6a-7d6c, U+7d6f, U+7d71-7d73, U+7d75-7d77, U+7d79-7d7a, U+7d7e, U+7d81, U+7d84-7d8b, U+7d8d, U+7d8f, U+7d91, U+7d94, U+7d96, U+7d98-7d9a, U+7d9c-7da0, U+7da2, U+7da6, U+7daa-7db1, U+7db4-7db8, U+7dba-7dbf, U+7dc1) ); /* noto-sans-sc-[47]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-47-400-normal.woff2", $range: (U+7bc3-7bc4, U+7bc6, U+7bc8-7bcc, U+7bd1, U+7bd3-7bd4, U+7bd9-7bda, U+7bdd, U+7be0-7be1, U+7be4-7be6, U+7be9-7bea, U+7bef, U+7bf4, U+7bf6, U+7bfc, U+7bfe, U+7c01, U+7c03, U+7c07-7c08, U+7c0a-7c0d, U+7c0f, U+7c11, U+7c15-7c16, U+7c19, U+7c1e-7c21, U+7c23-7c24, U+7c26, U+7c28-7c33, U+7c35, U+7c37-7c3b, U+7c3d-7c3e, U+7c40-7c41, U+7c43, U+7c47-7c48, U+7c4c, U+7c50, U+7c53-7c54, U+7c59, U+7c5f-7c60, U+7c63-7c65, U+7c6c, U+7c6e, U+7c72, U+7c74, U+7c79-7c7a, U+7c7c, U+7c81-7c82, U+7c84-7c85, U+7c88, U+7c8a-7c91, U+7c93-7c96, U+7c99, U+7c9b-7c9e, U+7ca0-7ca2, U+7ca6-7ca9, U+7cac, U+7caf-7cb3, U+7cb5-7cb7, U+7cba-7cbd, U+7cbf-7cc2, U+7cc5, U+7cc7-7cc9) ); /* noto-sans-sc-[48]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-48-400-normal.woff2", $range: (U+7aca, U+7ad1-7ad2, U+7ada-7add, U+7ae1, U+7ae4, U+7ae6, U+7af4-7af7, U+7afa-7afb, U+7afd-7b0a, U+7b0c, U+7b0e-7b0f, U+7b13, U+7b15-7b16, U+7b18-7b19, U+7b1e-7b20, U+7b22-7b25, U+7b29-7b2b, U+7b2d-7b2e, U+7b30-7b3b, U+7b3e-7b3f, U+7b41-7b42, U+7b44-7b47, U+7b4a, U+7b4c-7b50, U+7b58, U+7b5a, U+7b5c, U+7b60, U+7b66-7b67, U+7b69, U+7b6c-7b6f, U+7b72-7b76, U+7b7b-7b7d, U+7b7f, U+7b82, U+7b85, U+7b87, U+7b8b-7b96, U+7b98-7b99, U+7b9b-7b9f, U+7ba2-7ba4, U+7ba6-7bac, U+7bae-7bb0, U+7bb4, U+7bb7-7bb9, U+7bbb, U+7bc0-7bc1) ); /* noto-sans-sc-[49]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-49-400-normal.woff2", $range: (U+797c, U+797e-7980, U+7982, U+7986-7987, U+7989-798e, U+7992, U+7994-7995, U+7997-7998, U+799a-799c, U+799f, U+79a3-79a6, U+79a8-79ac, U+79ae-79b1, U+79b3-79b5, U+79b8, U+79ba, U+79bf, U+79c2, U+79c6, U+79c8, U+79cf, U+79d5-79d6, U+79dd-79de, U+79e3, U+79e7-79e8, U+79eb, U+79ed, U+79f4, U+79f7-79f8, U+79fa, U+79fe, U+7a02-7a03, U+7a05, U+7a0a, U+7a14, U+7a17, U+7a19, U+7a1c, U+7a1e-7a1f, U+7a23, U+7a25-7a26, U+7a2c, U+7a2e, U+7a30-7a32, U+7a36-7a37, U+7a39, U+7a3c, U+7a40, U+7a42, U+7a47, U+7a49, U+7a4c-7a4f, U+7a51, U+7a55, U+7a5b, U+7a5d-7a5e, U+7a62-7a63, U+7a66, U+7a68-7a69, U+7a6b, U+7a70, U+7a78, U+7a80, U+7a85-7a88, U+7a8a, U+7a90, U+7a93-7a96, U+7a98, U+7a9b-7a9c, U+7a9e, U+7aa0-7aa1, U+7aa3, U+7aa8-7aaa, U+7aac-7ab0, U+7ab3, U+7ab8, U+7aba, U+7abd-7abf, U+7ac4-7ac5, U+7ac7-7ac8) ); /* noto-sans-sc-[50]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-50-400-normal.woff2", $range: (U+783e, U+7841-7844, U+7847-7849, U+784b-784c, U+784e-7854, U+7856-7857, U+7859-785a, U+7865, U+7869-786a, U+786d, U+786f, U+7876-7877, U+787c, U+787e-787f, U+7881, U+7887-7889, U+7893-7894, U+7898-789e, U+78a1, U+78a3, U+78a5, U+78a9, U+78ad, U+78b2, U+78b4, U+78b6, U+78b9-78ba, U+78bc, U+78bf, U+78c3, U+78c9, U+78cb, U+78d0-78d2, U+78d4, U+78d9-78da, U+78dc, U+78de, U+78e1, U+78e5-78e6, U+78ea, U+78ec, U+78ef, U+78f1-78f2, U+78f4, U+78fa-78fb, U+78fe, U+7901-7902, U+7905, U+7907, U+7909, U+790b-790c, U+790e, U+7910, U+7913, U+7919-791b, U+791e-791f, U+7921, U+7924, U+7926, U+792a-792b, U+7934, U+7936, U+7939, U+793b, U+793d, U+7940, U+7942-7943, U+7945-7947, U+7949-794a, U+794c, U+794e-7951, U+7953-7955, U+7957-795a, U+795c, U+795f-7960, U+7962, U+7964, U+7966-7967, U+7969, U+796b, U+796f, U+7972, U+7974, U+7979, U+797b) ); /* noto-sans-sc-[51]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-51-400-normal.woff2", $range: (U+770f, U+7712, U+7714, U+7716, U+7719-771b, U+771e, U+7721-7722, U+7726, U+7728, U+772b-7730, U+7732-7736, U+7739-773a, U+773d-773f, U+7743, U+7746-7747, U+774c-774f, U+7751-7752, U+7758-775a, U+775c-775e, U+7762, U+7765-7766, U+7768-776a, U+776c-776d, U+7771-7772, U+777a, U+777c-777e, U+7780, U+7785, U+7787, U+778b-778d, U+778f-7791, U+7793, U+779e-77a0, U+77a2, U+77a5, U+77ad, U+77af, U+77b4-77b7, U+77bd-77c0, U+77c2, U+77c5, U+77c7, U+77cd, U+77d6-77d7, U+77d9-77da, U+77dd-77de, U+77e7, U+77ea, U+77ec, U+77ef, U+77f8, U+77fb, U+77fd-77fe, U+7800, U+7803, U+7806, U+7809, U+780f-7812, U+7815, U+7817-7818, U+781a-781f, U+7821-7823, U+7825-7827, U+7829, U+782b-7830, U+7832-7833, U+7835, U+7837, U+7839-783c) ); /* noto-sans-sc-[52]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-52-400-normal.woff2", $range: (U+760a-760e, U+7610-7619, U+761b-761d, U+761f-7622, U+7625, U+7627-762a, U+762e-7630, U+7632-7635, U+7638-763a, U+763c-763d, U+763f-7640, U+7642-7643, U+7647-7648, U+764d-764e, U+7652, U+7654, U+7658, U+765a, U+765c, U+765e-765f, U+7661-7663, U+7665, U+7669, U+766c, U+766e-766f, U+7671-7673, U+7675-7676, U+7678-767a, U+767f, U+7681, U+7683, U+7688, U+768a-768c, U+768e, U+7690-7692, U+7695, U+7698, U+769a-769b, U+769d-76a0, U+76a2, U+76a4-76a7, U+76ab-76ac, U+76af-76b0, U+76b2, U+76b4-76b5, U+76ba-76bb, U+76bf, U+76c2-76c3, U+76c5, U+76c9, U+76cc-76ce, U+76dc-76de, U+76e1-76ea, U+76f1, U+76f9-76fb, U+76fd, U+76ff-7700, U+7703-7704, U+7707-7708, U+770c-770e) ); /* noto-sans-sc-[53]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-53-400-normal.woff2", $range: (U+74ef, U+74f4, U+74ff, U+7501, U+7503, U+7505, U+7508, U+750d, U+750f, U+7511, U+7513, U+7515, U+7517, U+7519, U+7521-7527, U+752a, U+752c-752d, U+752f, U+7534, U+7536, U+753a, U+753e, U+7540, U+7544, U+7547-754b, U+754d-754e, U+7550-7553, U+7556-7557, U+755a-755b, U+755d-755e, U+7560, U+7562, U+7564, U+7566-7568, U+756b-756c, U+756f-7573, U+7575, U+7579-757c, U+757e-757f, U+7581-7584, U+7587, U+7589-758e, U+7590, U+7592, U+7594, U+7596, U+7599-759a, U+759d, U+759f-75a0, U+75a3, U+75a5, U+75a8, U+75ac-75ad, U+75b0-75b1, U+75b3-75b5, U+75b8, U+75bd, U+75c1-75c4, U+75c8-75ca, U+75cc-75cd, U+75d4, U+75d6, U+75d9, U+75de, U+75e0, U+75e2-75e4, U+75e6-75ea, U+75f1-75f3, U+75f7, U+75f9-75fa, U+75fc, U+75fe-7601, U+7603, U+7605-7606, U+7608-7609) ); /* noto-sans-sc-[54]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-54-400-normal.woff2", $range: (U+73e7-73ea, U+73ee-73f0, U+73f2, U+73f4-73f5, U+73f7, U+73f9-73fa, U+73fc-73fd, U+73ff-7402, U+7404, U+7407-7408, U+740a-740f, U+7418, U+741a-741c, U+741e, U+7424-7425, U+7428-7429, U+742c-7430, U+7432, U+7435-7436, U+7438-743b, U+743e-7441, U+7443-7446, U+7448, U+744a-744b, U+7452, U+7457, U+745b, U+745d, U+7460, U+7462-7465, U+7467-746a, U+746d, U+746f, U+7471, U+7473-7474, U+7477, U+747a, U+747e, U+7481-7482, U+7484, U+7486, U+7488-748b, U+748e-748f, U+7493, U+7498, U+749a, U+749c-74a0, U+74a3, U+74a6, U+74a9-74aa, U+74ae, U+74b0-74b2, U+74b6, U+74b8-74ba, U+74bd, U+74bf, U+74c1, U+74c3, U+74c5, U+74c8, U+74ca, U+74cc, U+74cf, U+74d1-74d2, U+74d4-74d5, U+74d8-74db, U+74de-74e0, U+74e2, U+74e4-74e5, U+74e7-74e9, U+74ee) ); /* noto-sans-sc-[55]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-55-400-normal.woff2", $range: (U+72dd-72df, U+72e1, U+72e5-72e6, U+72e8, U+72ef-72f0, U+72f2-72f4, U+72f6-72f7, U+72f9-72fb, U+72fd, U+7300-7304, U+7307, U+730a-730c, U+7313-7317, U+731d-7322, U+7327, U+7329, U+732c-732d, U+7330-7331, U+7333, U+7335-7337, U+7339, U+733d-733e, U+7340, U+7342, U+7344-7345, U+734a, U+734d-7350, U+7352, U+7355, U+7357, U+7359, U+735f-7360, U+7362-7363, U+7365, U+7368, U+736c-736d, U+736f-7370, U+7372, U+7374-7376, U+7378, U+737a-737b, U+737d-737e, U+7382-7383, U+7386, U+7388, U+738a, U+738c-7393, U+7395, U+7397-739a, U+739c, U+739e, U+73a0-73a3, U+73a5-73a8, U+73aa, U+73ad, U+73b1, U+73b3, U+73b6-73b7, U+73b9, U+73c2, U+73c5-73c9, U+73cc, U+73ce-73d0, U+73d2, U+73d6, U+73d9, U+73db-73de, U+73e3, U+73e5-73e6) ); /* noto-sans-sc-[56]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-56-400-normal.woff2", $range: (U+719c, U+71a0, U+71a4-71a5, U+71a8, U+71af, U+71b1-71bc, U+71be, U+71c1-71c2, U+71c4, U+71c8-71cb, U+71ce-71d0, U+71d2, U+71d4, U+71d9-71da, U+71dc, U+71df-71e0, U+71e6-71e8, U+71ea, U+71ed-71ee, U+71f4, U+71f6, U+71f9, U+71fb-71fc, U+71ff-7200, U+7207, U+720c-720d, U+7210, U+7216, U+721a-721e, U+7223, U+7228, U+722b, U+722d-722e, U+7230, U+7232, U+723a-723c, U+723e-7242, U+7246, U+724b, U+724d-724e, U+7252, U+7256, U+7258, U+725a, U+725c-725d, U+7260, U+7264-7266, U+726a, U+726c, U+726e-726f, U+7271, U+7273-7274, U+7278, U+727b, U+727d-727e, U+7281-7282, U+7284, U+7287, U+728a, U+728d, U+728f, U+7292, U+729b, U+729f-72a0, U+72a7, U+72ad-72ae, U+72b0-72b5, U+72b7-72b8, U+72ba-72be, U+72c0-72c1, U+72c3, U+72c5-72c6, U+72c8, U+72cc-72ce, U+72d2, U+72d6, U+72db) ); /* noto-sans-sc-[57]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-57-400-normal.woff2", $range: (U+7005-7006, U+7009, U+700b, U+700d, U+7015, U+7018, U+701b, U+701d-701f, U+7023, U+7026-7028, U+702c, U+702e-7030, U+7035, U+7037, U+7039-703a, U+703c-703e, U+7044, U+7049-704b, U+704f, U+7051, U+7058, U+705a, U+705c-705e, U+7061, U+7064, U+7066, U+706c, U+707d, U+7080-7081, U+7085-7086, U+708a, U+708f, U+7091, U+7094-7095, U+7098-7099, U+709c-709d, U+709f, U+70a4, U+70a9-70aa, U+70af-70b2, U+70b4-70b7, U+70bb, U+70c0, U+70c3, U+70c7, U+70cb, U+70ce-70cf, U+70d4, U+70d9-70da, U+70dc-70dd, U+70e0, U+70e9, U+70ec, U+70f7, U+70fa, U+70fd, U+70ff, U+7104, U+7108-7109, U+710c, U+7110, U+7113-7114, U+7116-7118, U+711c, U+711e, U+7120, U+712e-712f, U+7131, U+713c, U+7142, U+7144-7147, U+7149-714b, U+7150, U+7152, U+7155-7156, U+7159-715a, U+715c, U+7161, U+7165-7166, U+7168-7169, U+716d, U+7173-7174, U+7176, U+7178, U+717a, U+717d, U+717f-7180, U+7184, U+7186-7188, U+7192, U+7198) ); /* noto-sans-sc-[58]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-58-400-normal.woff2", $range: (U+6ed8-6ed9, U+6edb, U+6edd, U+6edf-6ee0, U+6ee2, U+6ee6, U+6eea, U+6eec, U+6eee-6eef, U+6ef2-6ef3, U+6ef7-6efa, U+6efe, U+6f01, U+6f03, U+6f08-6f09, U+6f15-6f16, U+6f19, U+6f22-6f25, U+6f28-6f2a, U+6f2c-6f2d, U+6f2f, U+6f31-6f32, U+6f36-6f38, U+6f3f, U+6f43-6f46, U+6f48, U+6f4b, U+6f4e-6f4f, U+6f51, U+6f54-6f57, U+6f59-6f5b, U+6f5e-6f5f, U+6f61, U+6f64-6f67, U+6f69-6f6c, U+6f6f-6f72, U+6f74-6f76, U+6f78-6f7e, U+6f80-6f83, U+6f86, U+6f89, U+6f8b-6f8d, U+6f90, U+6f92, U+6f94, U+6f97-6f98, U+6f9b, U+6fa3-6fa5, U+6fa7, U+6faa, U+6faf, U+6fb1, U+6fb4, U+6fb6, U+6fb9, U+6fc1-6fcb, U+6fd1-6fd3, U+6fd5, U+6fdb, U+6fde-6fe1, U+6fe4, U+6fe9, U+6feb-6fec, U+6fee-6ff1, U+6ffa, U+6ffe) ); /* noto-sans-sc-[59]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-59-400-normal.woff2", $range: (U+6dc3, U+6dc5-6dc6, U+6dc9, U+6dcc, U+6dcf, U+6dd2-6dd3, U+6dd6, U+6dd9-6dde, U+6de0, U+6de4, U+6de6, U+6de8-6dea, U+6dec, U+6def-6df0, U+6df5-6df6, U+6df8, U+6dfa, U+6dfc, U+6e03-6e04, U+6e07-6e09, U+6e0b-6e0c, U+6e0e, U+6e11, U+6e13, U+6e15-6e16, U+6e19-6e1b, U+6e1e-6e1f, U+6e22, U+6e25-6e27, U+6e2b-6e2c, U+6e36-6e37, U+6e39-6e3a, U+6e3c-6e41, U+6e44-6e45, U+6e47, U+6e49-6e4b, U+6e4d-6e4e, U+6e51, U+6e53-6e55, U+6e5c-6e5f, U+6e61-6e63, U+6e65-6e67, U+6e6a-6e6b, U+6e6d-6e70, U+6e72-6e74, U+6e76-6e78, U+6e7c, U+6e80-6e82, U+6e86-6e87, U+6e89, U+6e8d, U+6e8f, U+6e96, U+6e98, U+6e9d-6e9f, U+6ea1, U+6ea5-6ea7, U+6eab, U+6eb1-6eb2, U+6eb4, U+6eb7, U+6ebb-6ebd, U+6ebf-6ec6, U+6ec8-6ec9, U+6ecc, U+6ecf-6ed0, U+6ed3-6ed4, U+6ed7) ); /* noto-sans-sc-[60]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-60-400-normal.woff2", $range: (U+6cb2, U+6cb4-6cb5, U+6cb7, U+6cba, U+6cbc-6cbd, U+6cc1-6cc3, U+6cc5-6cc7, U+6cd0-6cd4, U+6cd6-6cd7, U+6cd9-6cda, U+6cde-6ce0, U+6ce4, U+6ce6, U+6ce9, U+6ceb-6cef, U+6cf1-6cf2, U+6cf6-6cf7, U+6cfa, U+6cfe, U+6d03-6d05, U+6d07-6d08, U+6d0a, U+6d0c, U+6d0e-6d11, U+6d13-6d14, U+6d16, U+6d18-6d1a, U+6d1c, U+6d1f, U+6d22-6d23, U+6d26-6d29, U+6d2b, U+6d2e-6d30, U+6d33, U+6d35-6d36, U+6d38-6d3a, U+6d3c, U+6d3f, U+6d42-6d44, U+6d48-6d49, U+6d4d, U+6d50, U+6d52, U+6d54, U+6d56-6d58, U+6d5a-6d5c, U+6d5e, U+6d60-6d61, U+6d63-6d65, U+6d67, U+6d6c-6d6d, U+6d6f, U+6d75, U+6d7b-6d7d, U+6d87, U+6d8a, U+6d8e, U+6d90-6d9a, U+6d9c-6da0, U+6da2-6da3, U+6da7, U+6daa-6dac, U+6dae, U+6db3-6db4, U+6db6, U+6db8, U+6dbc, U+6dbf, U+6dc2) ); /* noto-sans-sc-[61]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-61-400-normal.woff2", $range: (U+6b85-6b86, U+6b89, U+6b8d, U+6b91-6b93, U+6b95, U+6b97-6b98, U+6b9a-6b9b, U+6b9e, U+6ba1-6ba4, U+6ba9-6baa, U+6bad, U+6baf-6bb0, U+6bb2-6bb3, U+6bba-6bbd, U+6bc0, U+6bc2, U+6bc6, U+6bca-6bcc, U+6bce, U+6bd0-6bd1, U+6bd3, U+6bd6-6bd8, U+6bda, U+6be1, U+6be6, U+6bec, U+6bf1, U+6bf3-6bf5, U+6bf9, U+6bfd, U+6c05-6c08, U+6c0d, U+6c10, U+6c15-6c1a, U+6c21, U+6c23-6c26, U+6c29-6c2d, U+6c30-6c33, U+6c35-6c37, U+6c39-6c3a, U+6c3c-6c3f, U+6c46, U+6c4a-6c4c, U+6c4e-6c50, U+6c54, U+6c56, U+6c59-6c5c, U+6c5e, U+6c63, U+6c67-6c69, U+6c6b, U+6c6d, U+6c6f, U+6c72-6c74, U+6c78-6c7a, U+6c7c, U+6c84-6c87, U+6c8b-6c8c, U+6c8f, U+6c91, U+6c93-6c96, U+6c98, U+6c9a, U+6c9d, U+6ca2-6ca4, U+6ca8-6ca9, U+6cac-6cae, U+6cb1) ); /* noto-sans-sc-[62]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-62-400-normal.woff2", $range: (U+6a01, U+6a06, U+6a09, U+6a0b, U+6a11, U+6a13, U+6a17-6a19, U+6a1b, U+6a1e, U+6a23, U+6a28-6a29, U+6a2b, U+6a2f-6a30, U+6a35, U+6a38-6a40, U+6a46-6a48, U+6a4a-6a4b, U+6a4e, U+6a50, U+6a52, U+6a5b, U+6a5e, U+6a62, U+6a65-6a67, U+6a6b, U+6a79, U+6a7c, U+6a7e-6a7f, U+6a84, U+6a86, U+6a8e, U+6a90-6a91, U+6a94, U+6a97, U+6a9c, U+6a9e, U+6aa0, U+6aa2, U+6aa4, U+6aa9, U+6aab, U+6aae-6ab0, U+6ab2-6ab3, U+6ab5, U+6ab7-6ab8, U+6aba-6abb, U+6abd, U+6abf, U+6ac2-6ac4, U+6ac6, U+6ac8, U+6acc, U+6ace, U+6ad2-6ad3, U+6ad8-6adc, U+6adf-6ae0, U+6ae4-6ae5, U+6ae7-6ae8, U+6afb, U+6b04-6b05, U+6b0d-6b13, U+6b16-6b17, U+6b19, U+6b24-6b25, U+6b2c, U+6b37-6b39, U+6b3b, U+6b3d, U+6b43, U+6b46, U+6b4e, U+6b50, U+6b53-6b54, U+6b58-6b59, U+6b5b, U+6b60, U+6b69, U+6b6d, U+6b6f-6b70, U+6b73-6b74, U+6b77-6b7a, U+6b80-6b84) ); /* noto-sans-sc-[63]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-63-400-normal.woff2", $range: (U+68e1, U+68e3-68e4, U+68e6-68ed, U+68ef-68f0, U+68f2, U+68f4, U+68f6-68f7, U+68f9, U+68fb-68fd, U+68ff-6902, U+6906-6908, U+690b, U+6910, U+691a-691c, U+691f-6920, U+6924-6925, U+692a, U+692d, U+6934, U+6939, U+693c-6945, U+694a-694b, U+6952-6954, U+6957, U+6959, U+695b, U+695d, U+695f, U+6962-6964, U+6966, U+6968-696c, U+696e-696f, U+6971, U+6973-6974, U+6978-6979, U+697d, U+697f-6980, U+6985, U+6987-698a, U+698d-698e, U+6994-6999, U+699b, U+69a3-69a4, U+69a6-69a7, U+69ab, U+69ad-69ae, U+69b1, U+69b7, U+69bb-69bc, U+69c1, U+69c3-69c5, U+69c7, U+69ca-69ce, U+69d0-69d1, U+69d3-69d4, U+69d7-69da, U+69e0, U+69e4, U+69e6, U+69ec-69ed, U+69f1-69f3, U+69f8, U+69fa-69fc, U+69fe-6a00) ); /* noto-sans-sc-[64]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-64-400-normal.woff2", $range: (U+6792-6793, U+6796, U+6798, U+679e-67a1, U+67a5, U+67a7-67a9, U+67ac-67ad, U+67b0-67b1, U+67b3, U+67b5, U+67b7, U+67b9, U+67bb-67bc, U+67c0-67c1, U+67c3, U+67c5-67ca, U+67d1-67d2, U+67d7-67d9, U+67dd-67df, U+67e2-67e4, U+67e6-67e9, U+67f0, U+67f5, U+67f7-67f8, U+67fa-67fb, U+67fd-67fe, U+6800-6801, U+6803-6804, U+6806, U+6809-680a, U+680c, U+680e, U+6812, U+681d-681f, U+6822, U+6824-6829, U+682b-682d, U+6831-6835, U+683b, U+683e, U+6840-6841, U+6844-6845, U+6849, U+684e, U+6853, U+6855-6856, U+685c-685d, U+685f-6862, U+6864, U+6866-6868, U+686b, U+686f, U+6872, U+6874, U+6877, U+687f, U+6883, U+6886, U+688f, U+689b, U+689f-68a0, U+68a2-68a3, U+68b1, U+68b6, U+68b9-68ba, U+68bc-68bf, U+68c1-68c4, U+68c6, U+68c8, U+68ca, U+68cc, U+68d0-68d1, U+68d3, U+68d7, U+68dd, U+68df) ); /* noto-sans-sc-[65]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-65-400-normal.woff2", $range: (U+663a-663b, U+663d, U+6641, U+6644-6645, U+6649, U+664c, U+664f, U+6654, U+6659, U+665b, U+665d-665e, U+6660-6667, U+6669, U+666b-666c, U+6671, U+6673, U+6677-6679, U+667c, U+6680-6681, U+6684-6685, U+6688-6689, U+668b-668e, U+6690, U+6692, U+6695, U+6698, U+669a, U+669d, U+669f-66a0, U+66a2-66a3, U+66a6, U+66aa-66ab, U+66b1-66b2, U+66b5, U+66b8-66b9, U+66bb, U+66be, U+66c1, U+66c6-66c9, U+66cc, U+66d5-66d8, U+66da-66dc, U+66de-66e2, U+66e8-66ea, U+66ec, U+66f1, U+66f3, U+66f7, U+66fa, U+66fd, U+6702, U+6705, U+670a, U+670f-6710, U+6713, U+6715, U+6719, U+6722-6723, U+6725-6727, U+6729, U+672d-672e, U+6732-6733, U+6736, U+6739, U+673b, U+673f, U+6744, U+6748, U+674c-674d, U+6753, U+6755, U+6762, U+6767, U+6769-676c, U+676e, U+6772-6773, U+6775, U+6777, U+677a-677d, U+6782-6783, U+6787, U+678a-678d, U+678f) ); /* noto-sans-sc-[66]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-66-400-normal.woff2", $range: (U+64f8, U+64fa, U+64fc, U+64fe-64ff, U+6503, U+6509, U+650f, U+6514, U+6518, U+651c-651e, U+6522-6525, U+652a-652c, U+652e, U+6530-6532, U+6534-6535, U+6537-6538, U+653a, U+653c-653d, U+6542, U+6549-654b, U+654d-654e, U+6553-6555, U+6557-6558, U+655d, U+6564, U+6569, U+656b, U+656d-656f, U+6571, U+6573, U+6575-6576, U+6578-657e, U+6581-6583, U+6585-6586, U+6589, U+658e-658f, U+6592-6593, U+6595-6596, U+659b, U+659d, U+659f-65a1, U+65a3, U+65ab-65ac, U+65b2, U+65b6-65b7, U+65ba-65bb, U+65be-65c0, U+65c2-65c4, U+65c6-65c8, U+65cc, U+65ce, U+65d0, U+65d2-65d3, U+65d6, U+65db, U+65dd, U+65e1, U+65e3, U+65ee-65f0, U+65f3-65f5, U+65f8, U+65fb-65fc, U+65fe-6600, U+6603, U+6607, U+6609, U+660b, U+6610-6611, U+6619-661a, U+661c-661e, U+6621, U+6624, U+6626, U+662a-662c, U+662e, U+6630-6631, U+6633-6634, U+6636) ); /* noto-sans-sc-[67]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-67-400-normal.woff2", $range: (U+63bc, U+63be, U+63c0, U+63c3-63c4, U+63c6, U+63c8, U+63cd-63ce, U+63d1, U+63d6, U+63da-63db, U+63de, U+63e0, U+63e3, U+63e9-63ea, U+63ee, U+63f2, U+63f5-63fa, U+63fc, U+63fe-6400, U+6406, U+640b-640d, U+6410, U+6414, U+6416-6417, U+641b, U+6420-6423, U+6425-6428, U+642a, U+6431-6432, U+6434-6437, U+643d-6442, U+6445, U+6448, U+6450-6452, U+645b-645f, U+6462, U+6465, U+6468, U+646d, U+646f-6471, U+6473, U+6477, U+6479-647d, U+6482-6485, U+6487-6488, U+648c, U+6490, U+6493, U+6496-649a, U+649d, U+64a0, U+64a5, U+64ab-64ac, U+64b1-64b7, U+64b9-64bb, U+64be-64c1, U+64c4, U+64c7, U+64c9-64cb, U+64d0, U+64d4, U+64d7-64d8, U+64da, U+64de, U+64e0-64e2, U+64e4, U+64e9, U+64ec, U+64f0-64f2, U+64f4, U+64f7) ); /* noto-sans-sc-[68]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-68-400-normal.woff2", $range: (U+623b, U+623d-623e, U+6243, U+6246, U+6248-6249, U+624c, U+6255, U+6259, U+625e, U+6260-6261, U+6265-6266, U+626a, U+6271, U+627a, U+627c-627d, U+6283, U+6286, U+6289, U+628e, U+6294, U+629c, U+629e-629f, U+62a1, U+62a8, U+62ba-62bb, U+62bf, U+62c2, U+62c4, U+62c8, U+62ca-62cb, U+62ce-62cf, U+62d1, U+62d7, U+62d9-62da, U+62dd, U+62e0-62e1, U+62e3-62e4, U+62e7, U+62eb, U+62ee, U+62f0, U+62f4-62f6, U+6308, U+630a-630e, U+6310, U+6312-6313, U+6317, U+6319, U+631b, U+631d-631f, U+6322, U+6326, U+6329, U+6331-6332, U+6334-6337, U+6339, U+633b-633c, U+633e-6340, U+6343, U+6347, U+634b-634e, U+6354, U+635c-635d, U+6368-6369, U+636d, U+636f-6372, U+6376, U+637a-637b, U+637d, U+6382-6383, U+6387, U+638a-638b, U+638d-638e, U+6391, U+6393-6397, U+6399, U+639b, U+639e-639f, U+63a1, U+63a3-63a4, U+63ac-63ae, U+63b1-63b5, U+63b7-63bb) ); /* noto-sans-sc-[69]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-69-400-normal.woff2", $range: (U+60fa, U+6100, U+6106, U+610d-610e, U+6112, U+6114-6115, U+6119, U+611c, U+6120, U+6122-6123, U+6126, U+6128-6130, U+6136-6137, U+613a, U+613d-613e, U+6144, U+6146-6147, U+614a-614b, U+6151, U+6153, U+6158, U+615a, U+615c-615d, U+615f, U+6161, U+6163-6165, U+616b-616c, U+616e, U+6171, U+6173-6177, U+617e, U+6182, U+6187, U+618a, U+618d-618e, U+6190-6191, U+6194, U+6199-619a, U+619c, U+619f, U+61a1, U+61a3-61a4, U+61a7-61a9, U+61ab-61ad, U+61b2-61b3, U+61b5-61b7, U+61ba-61bb, U+61bf, U+61c3-61c4, U+61c6-61c7, U+61c9-61cb, U+61d0-61d1, U+61d3-61d4, U+61d7, U+61da, U+61df-61e1, U+61e6, U+61ee, U+61f0, U+61f2, U+61f6-61f8, U+61fa, U+61fc-61fe, U+6200, U+6206-6207, U+6209, U+620b, U+620d-620e, U+6213-6215, U+6217, U+6219, U+621b-6223, U+6225-6226, U+622c, U+622e-6230, U+6232, U+6238) ); /* noto-sans-sc-[70]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-70-400-normal.woff2", $range: (U+5fd1-5fd6, U+5fda-5fde, U+5fe1-5fe2, U+5fe4-5fe5, U+5fea, U+5fed-5fee, U+5ff1-5ff3, U+5ff6, U+5ff8, U+5ffb, U+5ffe-5fff, U+6002-6006, U+600a, U+600d, U+600f, U+6014, U+6019, U+601b, U+6020, U+6023, U+6026, U+6029, U+602b, U+602e-602f, U+6031, U+6033, U+6035, U+6039, U+603f, U+6041-6043, U+6046, U+604f, U+6053-6054, U+6058-605b, U+605d-605e, U+6060, U+6063, U+6065, U+6067, U+606a-606c, U+6075, U+6078-6079, U+607b, U+607d, U+607f, U+6083, U+6085-6087, U+608a, U+608c, U+608e-608f, U+6092-6093, U+6095-6097, U+609b-609d, U+60a2, U+60a7, U+60a9-60ab, U+60ad, U+60af-60b1, U+60b3-60b6, U+60b8, U+60bb, U+60bd-60be, U+60c0-60c3, U+60c6-60c9, U+60cb, U+60ce, U+60d3-60d4, U+60d7-60db, U+60dd, U+60e1-60e4, U+60e6, U+60ea, U+60ec-60ee, U+60f0-60f1, U+60f4, U+60f6) ); /* noto-sans-sc-[71]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-71-400-normal.woff2", $range: (U+5ea3-5ea5, U+5ea8, U+5eab, U+5eaf, U+5eb3, U+5eb5-5eb6, U+5eb9, U+5ebe, U+5ec1-5ec3, U+5ec6, U+5ec8, U+5ecb-5ecc, U+5ed1-5ed2, U+5ed4, U+5ed9-5edb, U+5edd, U+5edf-5ee0, U+5ee2-5ee3, U+5ee8, U+5eea, U+5eec, U+5eef-5ef0, U+5ef3-5ef4, U+5ef8, U+5efb-5efc, U+5efe-5eff, U+5f01, U+5f07, U+5f0b-5f0e, U+5f10-5f12, U+5f14, U+5f1a, U+5f22, U+5f28-5f29, U+5f2c-5f2d, U+5f35-5f36, U+5f38, U+5f3b-5f43, U+5f45-5f4a, U+5f4c-5f4e, U+5f50, U+5f54, U+5f56-5f59, U+5f5b-5f5f, U+5f61, U+5f63, U+5f65, U+5f67-5f68, U+5f6b, U+5f6e-5f6f, U+5f72-5f78, U+5f7a, U+5f7e-5f7f, U+5f82-5f83, U+5f87, U+5f89-5f8a, U+5f8d, U+5f91, U+5f93, U+5f95, U+5f98-5f99, U+5f9c, U+5f9e, U+5fa0, U+5fa6-5fa9, U+5fac-5fad, U+5faf, U+5fb3-5fb5, U+5fb9, U+5fbc, U+5fc4, U+5fc9, U+5fcb, U+5fce-5fd0) ); /* noto-sans-sc-[72]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-72-400-normal.woff2", $range: (U+5d32-5d34, U+5d3c-5d3e, U+5d41-5d44, U+5d46-5d48, U+5d4a-5d4b, U+5d4e, U+5d50, U+5d52, U+5d55-5d58, U+5d5a-5d5d, U+5d68-5d69, U+5d6b-5d6c, U+5d6f, U+5d74, U+5d7f, U+5d82-5d89, U+5d8b-5d8c, U+5d8f, U+5d92-5d93, U+5d99, U+5d9d, U+5db2, U+5db6-5db7, U+5dba, U+5dbc-5dbd, U+5dc2-5dc3, U+5dc6-5dc7, U+5dc9, U+5dcc, U+5dd2, U+5dd4, U+5dd6-5dd8, U+5ddb-5ddc, U+5de3, U+5ded, U+5def, U+5df3, U+5df6, U+5dfa-5dfd, U+5dff-5e00, U+5e07, U+5e0f, U+5e11, U+5e13-5e14, U+5e19-5e1b, U+5e22, U+5e25, U+5e28, U+5e2a, U+5e2f-5e31, U+5e33-5e34, U+5e36, U+5e39-5e3c, U+5e3e, U+5e40, U+5e44, U+5e46-5e48, U+5e4c, U+5e4f, U+5e53-5e54, U+5e57, U+5e59, U+5e5b, U+5e5e-5e5f, U+5e61, U+5e63, U+5e6a-5e6b, U+5e75, U+5e77, U+5e79-5e7a, U+5e7e, U+5e80-5e81, U+5e83, U+5e85, U+5e87, U+5e8b, U+5e91-5e92, U+5e96, U+5e98, U+5e9b, U+5e9d, U+5ea0-5ea2) ); /* noto-sans-sc-[73]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-73-400-normal.woff2", $range: (U+5bf5-5bf6, U+5bfe, U+5c02-5c03, U+5c05, U+5c07-5c09, U+5c0b-5c0c, U+5c0e, U+5c10, U+5c12-5c13, U+5c15, U+5c17, U+5c19, U+5c1b-5c1c, U+5c1e-5c1f, U+5c22, U+5c25, U+5c28, U+5c2a-5c2b, U+5c2f-5c30, U+5c37, U+5c3b, U+5c43-5c44, U+5c46-5c47, U+5c4d, U+5c50, U+5c59, U+5c5b-5c5c, U+5c62-5c64, U+5c66, U+5c6c, U+5c6e, U+5c74, U+5c78-5c7e, U+5c80, U+5c83-5c84, U+5c88, U+5c8b-5c8d, U+5c91, U+5c94-5c96, U+5c98-5c99, U+5c9c, U+5c9e, U+5ca1-5ca3, U+5cab-5cac, U+5cb1, U+5cb5, U+5cb7, U+5cba, U+5cbd-5cbf, U+5cc1, U+5cc3-5cc4, U+5cc7, U+5ccb, U+5cd2, U+5cd8-5cd9, U+5cdf-5ce0, U+5ce3-5ce6, U+5ce8-5cea, U+5ced, U+5cef, U+5cf3-5cf4, U+5cf6, U+5cf8, U+5cfd, U+5d00-5d04, U+5d06, U+5d08, U+5d0b-5d0d, U+5d0f-5d13, U+5d15, U+5d17-5d1a, U+5d1d-5d22, U+5d24-5d27, U+5d2e-5d31) ); /* noto-sans-sc-[74]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-74-400-normal.woff2", $range: (U+5ab2, U+5ab4-5ab5, U+5ab7-5aba, U+5abd-5abf, U+5ac3-5ac4, U+5ac6-5ac8, U+5aca-5acb, U+5acd, U+5acf-5ad2, U+5ad4, U+5ad8-5ada, U+5adc, U+5adf-5ae2, U+5ae4, U+5ae6, U+5ae8, U+5aea-5aed, U+5af0-5af3, U+5af5, U+5af9-5afb, U+5afd, U+5b01, U+5b05, U+5b08, U+5b0b-5b0c, U+5b11, U+5b16-5b17, U+5b1b, U+5b21-5b22, U+5b24, U+5b27-5b2e, U+5b30, U+5b32, U+5b34, U+5b36-5b38, U+5b3e-5b40, U+5b43, U+5b45, U+5b4a-5b4b, U+5b51-5b53, U+5b56, U+5b5a-5b5b, U+5b62, U+5b65, U+5b67, U+5b6a-5b6e, U+5b70-5b71, U+5b73, U+5b7a-5b7b, U+5b7f-5b80, U+5b84, U+5b8d, U+5b91, U+5b93-5b95, U+5b9f, U+5ba5-5ba6, U+5bac, U+5bae, U+5bb8, U+5bc0, U+5bc3, U+5bcb, U+5bd0-5bd1, U+5bd4-5bd8, U+5bda-5bdc, U+5be2, U+5be4-5be7, U+5be9, U+5beb-5bec, U+5bee-5bf0, U+5bf2-5bf3) ); /* noto-sans-sc-[75]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-75-400-normal.woff2", $range: (U+5981, U+598f, U+5997-5998, U+599a, U+599c-599d, U+59a0-59a1, U+59a3-59a4, U+59a7, U+59aa-59ad, U+59af, U+59b2-59b3, U+59b5-59b6, U+59b8, U+59ba, U+59bd-59be, U+59c0-59c1, U+59c3-59c4, U+59c7-59ca, U+59cc-59cd, U+59cf, U+59d2, U+59d5-59d6, U+59d8-59d9, U+59db, U+59dd-59e0, U+59e2-59e7, U+59e9-59eb, U+59ee, U+59f1, U+59f3, U+59f5, U+59f7-59f9, U+59fd, U+5a06, U+5a08-5a0a, U+5a0c-5a0d, U+5a11-5a13, U+5a15-5a16, U+5a1a-5a1b, U+5a21-5a23, U+5a2d-5a2f, U+5a32, U+5a38, U+5a3c, U+5a3e-5a45, U+5a47, U+5a4a, U+5a4c-5a4d, U+5a4f-5a51, U+5a53, U+5a55-5a57, U+5a5e, U+5a60, U+5a62, U+5a65-5a67, U+5a6a, U+5a6c-5a6d, U+5a72-5a73, U+5a75-5a76, U+5a79-5a7c, U+5a81-5a84, U+5a8c, U+5a8e, U+5a93, U+5a96-5a97, U+5a9c, U+5a9e, U+5aa0, U+5aa3-5aa4, U+5aaa, U+5aae-5aaf, U+5ab1) ); /* noto-sans-sc-[76]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-76-400-normal.woff2", $range: (U+5831, U+583a, U+583d, U+583f-5842, U+5844-5846, U+5848, U+584a, U+584d, U+5852, U+5857, U+5859-585a, U+585c-585d, U+5862, U+5868-5869, U+586c-586d, U+586f-5873, U+5875, U+5879, U+587d-587e, U+5880-5881, U+5888-588a, U+588d, U+5892, U+5896-5898, U+589a, U+589c-589d, U+58a0-58a1, U+58a3, U+58a6, U+58a9, U+58ab-58ae, U+58b0, U+58b3, U+58bb-58bf, U+58c2-58c3, U+58c5-58c8, U+58ca, U+58cc, U+58ce, U+58d1-58d3, U+58d5, U+58d8-58d9, U+58de-58df, U+58e2, U+58e9, U+58ec, U+58ef, U+58f1-58f2, U+58f5, U+58f7-58f8, U+58fa, U+58fd, U+5900, U+5902, U+5906, U+5908-590c, U+590e, U+5910, U+5914, U+5919, U+591b, U+591d-591e, U+5920, U+5922-5925, U+5928, U+592c-592d, U+592f, U+5932, U+5936, U+593c, U+593e, U+5940-5942, U+5944, U+594c-594d, U+5950, U+5953, U+5958, U+595a, U+5961, U+5966-5968, U+596a, U+596c-596e, U+5977, U+597b-597c) ); /* noto-sans-sc-[77]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-77-400-normal.woff2", $range: (U+570a, U+570c-570d, U+570f, U+5712-5713, U+5718-5719, U+571c, U+571e, U+5725, U+5727, U+5729-572a, U+572c, U+572e-572f, U+5734-5735, U+5739, U+573b, U+5741, U+5743, U+5745, U+5749, U+574c-574d, U+575c, U+5763, U+5768-5769, U+576b, U+576d-576e, U+5770, U+5773, U+5775, U+5777, U+577b-577c, U+5785-5786, U+5788, U+578c, U+578e-578f, U+5793-5795, U+5799-57a1, U+57a3-57a4, U+57a6-57aa, U+57ac-57ad, U+57af-57b2, U+57b4-57b6, U+57b8-57b9, U+57bd-57bf, U+57c2, U+57c4-57c8, U+57cc-57cd, U+57cf, U+57d2, U+57d5-57de, U+57e1-57e2, U+57e4-57e5, U+57e7, U+57eb, U+57ed, U+57ef, U+57f4-57f8, U+57fc-57fd, U+5800-5801, U+5803, U+5805, U+5807, U+5809, U+580b-580e, U+5811, U+5814, U+5819, U+581b-5820, U+5822-5823, U+5825-5826, U+582c, U+582f) ); /* noto-sans-sc-[78]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-78-400-normal.woff2", $range: (U+5605-5606, U+5608, U+560c-560d, U+560f, U+5614, U+5616-5617, U+561a, U+561c, U+561e, U+5621-5625, U+5627, U+5629, U+562b-5630, U+5636, U+5638-563a, U+563c, U+5640-5642, U+5649, U+564c-5650, U+5653-5655, U+5657-565b, U+5660, U+5663-5664, U+5666, U+566b, U+566f-5671, U+5673-567c, U+567e, U+5684-5687, U+568c, U+568e-5693, U+5695, U+5697, U+569b-569c, U+569e-569f, U+56a1-56a2, U+56a4-56a9, U+56ac-56af, U+56b1, U+56b4, U+56b6-56b8, U+56bf, U+56c1-56c3, U+56c9, U+56cd, U+56d1, U+56d4, U+56d6-56d9, U+56dd, U+56df, U+56e1, U+56e3-56e6, U+56e8-56ec, U+56ee-56ef, U+56f1-56f3, U+56f5, U+56f7-56f9, U+56fc, U+56ff-5700, U+5703-5704, U+5709) ); /* noto-sans-sc-[79]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-79-400-normal.woff2", $range: (U+5519, U+551b, U+551d-551e, U+5520, U+5522-5523, U+5526-5527, U+552a-552c, U+5530, U+5532-5535, U+5537-5538, U+553b-5541, U+5543-5544, U+5547-5549, U+554b, U+554d, U+5550, U+5553, U+5555-5558, U+555b-555f, U+5567-5569, U+556b-5572, U+5574-5577, U+557b-557c, U+557e-557f, U+5581, U+5583, U+5585-5586, U+5588, U+558b-558c, U+558e-5591, U+5593, U+5599-559a, U+559f, U+55a5-55a6, U+55a8-55ac, U+55ae, U+55b0-55b3, U+55b6, U+55b9-55ba, U+55bc-55be, U+55c4, U+55c6-55c7, U+55c9, U+55cc-55d2, U+55d4-55db, U+55dd-55df, U+55e1, U+55e3-55e6, U+55ea-55ee, U+55f0-55f3, U+55f5-55f7, U+55fb, U+55fe, U+5600-5601) ); /* noto-sans-sc-[80]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-80-400-normal.woff2", $range: (U+53fb-5400, U+5402, U+5405-5407, U+540b, U+540f, U+5412, U+5414, U+5416, U+5418-541a, U+541d, U+5420-5423, U+5425, U+5429-542a, U+542d-542e, U+5431-5433, U+5436, U+543d, U+543f, U+5442-5443, U+5449, U+544b-544c, U+544e, U+5451-5454, U+5456, U+5459, U+545b-545c, U+5461, U+5463-5464, U+546a-5472, U+5474, U+5476-5478, U+547a, U+547e-5484, U+5486, U+548a, U+548d-548e, U+5490-5491, U+5494, U+5497-5499, U+549b, U+549d, U+54a1-54a7, U+54a9, U+54ab, U+54ad, U+54b4-54b5, U+54b9, U+54bb, U+54be-54bf, U+54c2-54c3, U+54c9-54cc, U+54cf-54d0, U+54d3, U+54d5-54d6, U+54d9-54da, U+54dc-54de, U+54e2, U+54e7, U+54f3-54f4, U+54f8-54f9, U+54fd-54ff, U+5501, U+5504-5506, U+550c-550f, U+5511-5514, U+5516-5517) ); /* noto-sans-sc-[81]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-81-400-normal.woff2", $range: (U+52a2, U+52a6-52a7, U+52ac-52ad, U+52af, U+52b4-52b5, U+52b9, U+52bb-52bc, U+52be, U+52c1, U+52c5, U+52ca, U+52cd, U+52d0, U+52d6-52d7, U+52d9, U+52db, U+52dd-52de, U+52e0, U+52e2-52e3, U+52e5, U+52e7-52f0, U+52f2-52f3, U+52f5-52f9, U+52fb-52fc, U+5302, U+5304, U+530b, U+530d, U+530f-5310, U+5315, U+531a, U+531c-531d, U+5321, U+5323, U+5326, U+532e-5331, U+5338, U+533c-533e, U+5340, U+5344-5345, U+534b-534d, U+5350, U+5354, U+5358, U+535d-535f, U+5363, U+5368-5369, U+536c, U+536e-536f, U+5372, U+5379-537b, U+537d, U+538d-538e, U+5390, U+5393-5394, U+5396, U+539b-539d, U+53a0-53a1, U+53a3-53a5, U+53a9, U+53ad-53ae, U+53b0, U+53b2-53b3, U+53b5-53b8, U+53bc, U+53be, U+53c1, U+53c3-53c7, U+53ce-53cf, U+53d2-53d3, U+53d5, U+53da, U+53de-53df, U+53e1-53e2, U+53e7-53e9, U+53f1, U+53f4-53f5, U+53fa) ); /* noto-sans-sc-[82]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-82-400-normal.woff2", $range: (U+5110, U+5113, U+5115, U+5117-5118, U+511a-511c, U+511e-511f, U+5121, U+5128, U+512b-512d, U+5131-5135, U+5137-5139, U+513c, U+5140, U+5142, U+5147, U+514c, U+514e-5150, U+5155-5158, U+5162, U+5169, U+5172, U+517f, U+5181-5184, U+5186-5187, U+518b, U+518f, U+5191, U+5195-5197, U+519a, U+51a2-51a3, U+51a6-51ab, U+51ad-51ae, U+51b1, U+51b4, U+51bc-51bd, U+51bf, U+51c3, U+51c7-51c8, U+51ca-51cb, U+51cd-51ce, U+51d4, U+51d6, U+51db-51dc, U+51e6, U+51e8-51eb, U+51f1, U+51f5, U+51fc, U+51ff, U+5202, U+5205, U+5208, U+520b, U+520d-520e, U+5215-5216, U+5228, U+522a, U+522c-522d, U+5233, U+523c-523d, U+523f-5240, U+5245, U+5247, U+5249, U+524b-524c, U+524e, U+5250, U+525b-525f, U+5261, U+5263-5264, U+5270, U+5273, U+5275, U+5277, U+527d, U+527f, U+5281-5285, U+5287, U+5289, U+528b, U+528d, U+528f, U+5291-5293, U+529a) ); /* noto-sans-sc-[83]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-83-400-normal.woff2", $range: (U+4fe3-4fe4, U+4fe6, U+4fe8, U+4feb-4fed, U+4ff3, U+4ff5-4ff6, U+4ff8, U+4ffe, U+5001, U+5005-5006, U+5009, U+500c, U+500f, U+5013-5018, U+501b-501e, U+5022-5025, U+5027-5028, U+502b-502e, U+5030, U+5033-5034, U+5036-5039, U+503b, U+5041-5043, U+5045-5046, U+5048-504a, U+504c-504e, U+5051, U+5053, U+5055-5057, U+505b, U+505e, U+5060, U+5062-5063, U+5067, U+506a, U+506c, U+5070-5072, U+5074-5075, U+5078, U+507b, U+507d-507e, U+5080, U+5088-5089, U+5091-5092, U+5095, U+5097-509e, U+50a2-50a3, U+50a5-50a7, U+50a9, U+50ad, U+50b3, U+50b5, U+50b7, U+50ba, U+50be, U+50c4-50c5, U+50c7, U+50ca, U+50cd, U+50d1, U+50d5-50d6, U+50da, U+50de, U+50e5-50e6, U+50ec-50ee, U+50f0-50f1, U+50f3, U+50f9-50fb, U+50fe-5102, U+5104, U+5106-5107, U+5109-510b, U+510d, U+510f) ); /* noto-sans-sc-[84]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-84-400-normal.woff2", $range: (U+4eb8-4eb9, U+4ebb-4ebe, U+4ec2-4ec4, U+4ec8-4ec9, U+4ecc, U+4ecf-4ed0, U+4ed2, U+4eda-4edb, U+4edd-4ee1, U+4ee6-4ee9, U+4eeb, U+4eee-4eef, U+4ef3-4ef5, U+4ef8-4efa, U+4efc, U+4f00, U+4f03-4f05, U+4f08-4f09, U+4f0b, U+4f0e, U+4f12-4f13, U+4f15, U+4f1b, U+4f1d, U+4f21-4f22, U+4f25, U+4f27-4f29, U+4f2b-4f2e, U+4f31-4f33, U+4f36-4f37, U+4f39, U+4f3e, U+4f40-4f41, U+4f43, U+4f47-4f49, U+4f54, U+4f57-4f58, U+4f5d-4f5e, U+4f61-4f62, U+4f64-4f65, U+4f67, U+4f6a, U+4f6e-4f6f, U+4f72, U+4f74-4f7e, U+4f80-4f82, U+4f84, U+4f89-4f8a, U+4f8e-4f98, U+4f9e, U+4fa1, U+4fa5, U+4fa9-4faa, U+4fac, U+4fb3, U+4fb6-4fb8, U+4fbd, U+4fc2, U+4fc5-4fc6, U+4fcd-4fce, U+4fd0-4fd1, U+4fd3, U+4fda-4fdc, U+4fdf-4fe0, U+4fe2) ); /* noto-sans-sc-[85]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-85-400-normal.woff2", $range: (U+3127-3129, U+3131, U+3134, U+3137, U+3139, U+3141-3142, U+3145, U+3147-3148, U+314b, U+314d-314e, U+315c, U+3160-3161, U+3163-3164, U+3186, U+318d, U+3192, U+3196-3198, U+319e-319f, U+3220-3229, U+3231, U+3268, U+3297, U+3299, U+32a3, U+338e-338f, U+3395, U+339c-339e, U+33c4, U+33d1-33d2, U+33d5, U+3434, U+34dc, U+34ee, U+353e, U+355d, U+3566, U+3575, U+3592, U+35a0-35a1, U+35ad, U+35ce, U+36a2, U+36ab, U+38a8, U+3dab, U+3de7, U+3deb, U+3e1a, U+3f1b, U+3f6d, U+4495, U+4723, U+48fa, U+4ca3, U+4e02, U+4e04-4e06, U+4e0c, U+4e0f, U+4e15, U+4e17, U+4e1f-4e21, U+4e26, U+4e29, U+4e2c, U+4e2f, U+4e31, U+4e35, U+4e37, U+4e3c, U+4e3f-4e42, U+4e44, U+4e46-4e47, U+4e57, U+4e5a-4e5c, U+4e64-4e65, U+4e67, U+4e69, U+4e6d, U+4e78, U+4e7f-4e82, U+4e85, U+4e87, U+4e8a, U+4e8d, U+4e93, U+4e96, U+4e98-4e99, U+4e9c, U+4e9e-4ea0, U+4ea2-4ea3, U+4ea5, U+4eb0-4eb1, U+4eb3-4eb6) ); /* noto-sans-sc-[86]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-86-400-normal.woff2", $range: (U+279c, U+279f-27a2, U+27a4-27a5, U+27a8, U+27b0, U+27b2-27b3, U+27b9, U+27e8-27e9, U+27f6, U+2800, U+28ec, U+2913, U+2921-2922, U+2934-2935, U+2a2f, U+2b05-2b07, U+2b50, U+2b55, U+2bc5-2bc6, U+2e1c-2e1d, U+2ebb, U+2f00, U+2f08, U+2f24, U+2f2d, U+2f2f-2f30, U+2f3c, U+2f45, U+2f63-2f64, U+2f74, U+2f83, U+2f8f, U+2fbc, U+3003, U+3005-3007, U+3012-3013, U+301c-301e, U+3021, U+3023-3024, U+3030, U+3034-3035, U+3041, U+3043, U+3045, U+3047, U+3049, U+3056, U+3058, U+305c, U+305e, U+3062, U+306c, U+3074, U+3077, U+307a, U+307c-307d, U+3080, U+308e, U+3090-3091, U+3099-309b, U+309d-309e, U+30a5, U+30bc, U+30be, U+30c2, U+30c5, U+30cc, U+30d8, U+30e2, U+30e8, U+30ee, U+30f0-30f2, U+30f4-30f6, U+30fd-30fe, U+3105-3126) ); /* noto-sans-sc-[87]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-87-400-normal.woff2", $range: (U+2650-2655, U+2658, U+265a-265b, U+265d-265e, U+2660-266d, U+266f, U+267b, U+2688, U+2693-2696, U+2698-2699, U+269c, U+26a0-26a1, U+26a4, U+26aa-26ab, U+26bd-26be, U+26c4-26c5, U+26d4, U+26e9, U+26f0-26f1, U+26f3, U+26f5, U+26fd, U+2702, U+2704-2706, U+2708-270f, U+2712-2718, U+271a-271b, U+271d, U+271f, U+2721, U+2724-2730, U+2732-2734, U+273a, U+273d-2744, U+2747-2749, U+274c, U+274e-274f, U+2753-2757, U+275b, U+275d-275e, U+2763, U+2765-2767, U+276e-276f, U+2776-277e, U+2780-2782, U+278a-278c, U+278e, U+2794-2796) ); /* noto-sans-sc-[88]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-88-400-normal.woff2", $range: (U+254b, U+2550-2551, U+2554, U+2557, U+255a-255b, U+255d, U+255f-2560, U+2562-2563, U+2565-2567, U+2569-256a, U+256c-2572, U+2579, U+2580-2595, U+25a1, U+25a3, U+25a9-25ad, U+25b0, U+25b3-25bb, U+25bd-25c2, U+25c4, U+25c8-25cb, U+25cd, U+25d0-25d1, U+25d4-25d5, U+25d8, U+25dc-25e6, U+25ea-25eb, U+25ef, U+25fe, U+2600-2604, U+2609, U+260e-260f, U+2611, U+2614-2615, U+2618, U+261a-2620, U+2622-2623, U+262a, U+262d-2630, U+2639-2640, U+2642, U+2648-264f) ); /* noto-sans-sc-[89]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-89-400-normal.woff2", $range: (U+23e9, U+23f0, U+23f3, U+2445, U+2449, U+2465-2471, U+2474-249b, U+24b8, U+24c2, U+24c7, U+24c9, U+24d0, U+24d2, U+24d4, U+24d8, U+24dd-24de, U+24e3, U+24e6, U+24e8, U+2500-2509, U+250b-2526, U+2528-2534, U+2536-2537, U+253b-2548, U+254a) ); /* noto-sans-sc-[90]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-90-400-normal.woff2", $range: (U+207b-2083, U+208c-208e, U+2092, U+20a6, U+20a8-20ad, U+20af, U+20b1, U+20b4-20b5, U+20b8-20ba, U+20bd, U+20db, U+20dd, U+20e0, U+20e3, U+2105, U+2109, U+2113, U+2116-2117, U+2120-2121, U+2126, U+212b, U+2133, U+2139, U+2194, U+2196-2199, U+21a0, U+21a9-21aa, U+21af, U+21b3, U+21b5, U+21ba-21bb, U+21c4, U+21ca, U+21cc, U+21d0-21d4, U+21e1, U+21e6-21e9, U+2200, U+2202, U+2205-2208, U+220f, U+2211-2212, U+2215, U+2217-2219, U+221d-2220, U+2223, U+2225, U+2227-222b, U+222e, U+2234-2237, U+223c-223d, U+2248, U+224c, U+2252, U+2256, U+2260-2261, U+2266-2267, U+226a-226b, U+226e-226f, U+2282-2283, U+2295, U+2297, U+2299, U+22a5, U+22b0-22b1, U+22b9, U+22bf, U+22c5-22c6, U+22ef, U+2304, U+2307, U+230b, U+2312-2314, U+2318, U+231a-231b, U+2323, U+239b, U+239d-239e, U+23a0) ); /* noto-sans-sc-[91]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-91-400-normal.woff2", $range: (U+1d34-1d35, U+1d38-1d3a, U+1d3c, U+1d3f-1d40, U+1d49, U+1d4e-1d4f, U+1d52, U+1d55, U+1d5b, U+1d5e, U+1d9c, U+1da0, U+1dc4-1dc5, U+1e69, U+1e73, U+1ea0-1ea9, U+1eab-1ead, U+1eaf, U+1eb1, U+1eb3, U+1eb5, U+1eb7, U+1eb9, U+1ebb, U+1ebd-1ebe, U+1ec0-1ec3, U+1ec5-1ec6, U+1ec9-1ecd, U+1ecf-1ed3, U+1ed5, U+1ed7-1edf, U+1ee1, U+1ee3, U+1ee5-1eeb, U+1eed, U+1eef-1ef1, U+1ef3, U+1ef7, U+1ef9, U+1f62, U+1f7b, U+2001-2002, U+2004-2006, U+2009-200a, U+200c-2012, U+2015-2016, U+201a, U+201e-2021, U+2023, U+2025, U+2027-2028, U+202a-202d, U+202f-2030, U+2032-2033, U+2035, U+2038, U+203c, U+203e-203f, U+2043-2044, U+2049, U+204d-204e, U+2060-2061, U+2070, U+2074-2078, U+207a) ); /* noto-sans-sc-[97]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-97-400-normal.woff2", $range: (U+2ae-2b3, U+2b5-2bf, U+2c2-2c3, U+2c6-2d1, U+2d8-2da, U+2dc, U+2e1-2e3, U+2e5, U+2eb, U+2ee-2f0, U+2f2-2f7, U+2f9-2ff, U+302-30d, U+311, U+31b, U+321-325, U+327-329, U+32b-32c, U+32e-32f, U+331-339, U+33c-33d, U+33f, U+348, U+352, U+35c, U+35e-35f, U+361, U+363, U+368, U+36c, U+36f, U+530-540, U+55d-55e, U+561, U+563, U+565, U+56b, U+56e-579) ); /* noto-sans-sc-[98]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-98-400-normal.woff2", $range: (U+176-17f, U+192, U+194, U+19a-19b, U+19d, U+1a0-1a1, U+1a3-1a4, U+1aa, U+1ac-1ad, U+1af-1bf, U+1d2, U+1d4, U+1d6, U+1d8, U+1da, U+1dc, U+1e3, U+1e7, U+1e9, U+1ee, U+1f0-1f1, U+1f3, U+1f5-1ff, U+219-21b, U+221, U+223-226, U+228, U+22b, U+22f, U+231, U+234-237, U+23a-23b, U+23d, U+250-252, U+254-255, U+259-25e, U+261-263, U+265, U+268, U+26a-26b, U+26f-277, U+279, U+27b-280, U+282-283, U+285, U+28a, U+28c, U+28f, U+292, U+294-296, U+298-29a, U+29c, U+29f, U+2a1-2a4, U+2a6-2a7, U+2a9, U+2ab) ); /* noto-sans-sc-[99]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-99-400-normal.woff2", $range: (U+a1-a4, U+a6-a8, U+aa, U+ac, U+af, U+b1, U+b3-b6, U+b8-ba, U+bc-d6, U+d8-de, U+e6, U+eb, U+ee-f0, U+f5, U+f7-f8, U+fb, U+fd-100, U+102, U+104-107, U+10d, U+10f-112, U+115, U+117, U+119, U+11b, U+11e-11f, U+121, U+123, U+125-127, U+129-12a, U+12d, U+12f-13f, U+141-142, U+144, U+146, U+14b-14c, U+14f-153, U+158-15b, U+15e-160, U+163-165, U+168-16a, U+16d-175) ); /* noto-sans-sc-[100]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-100-400-normal.woff2", $range: (U+221a, U+2264, U+2464, U+25a0, U+3008, U+4e10, U+512a, U+5152, U+5201, U+5241, U+5352, U+549a, U+54b2, U+54c6, U+54d7, U+54e1, U+5509, U+55c5, U+560e, U+5618, U+565c, U+56bc, U+5716, U+576f, U+5784, U+57a2, U+589f, U+5a20, U+5a25, U+5a29, U+5a34, U+5a7f, U+5ac9, U+5ad6, U+5b09, U+5b5c, U+5bc7, U+5c27, U+5d2d, U+5dcd, U+5f1b, U+5f37, U+604d, U+6055, U+6073, U+60eb, U+61ff, U+620c, U+62c7, U+62ed, U+6320, U+6345, U+6390, U+63b0, U+64ae, U+64c2, U+64d2, U+6556, U+663c, U+667e, U+66d9, U+66f8, U+6756, U+6789, U+689d, U+68f1, U+695e, U+6975, U+6a1f, U+6b0a, U+6b61, U+6b87, U+6c5d, U+6c7e, U+6c92, U+6d31, U+6df9, U+6e0d, U+6e2d, U+6f3e, U+70b3, U+70bd, U+70ca, U+70e8, U+725f, U+72e9, U+733f, U+7396, U+739f, U+7459-745a, U+74a7, U+75a1, U+75f0, U+76cf, U+76d4, U+7729, U+77aa, U+77b0, U+77e3, U+780c, U+78d5, U+7941, U+7977, U+797a, U+79c3, U+7a20, U+7a92, U+7b71, U+7bf1, U+7c9f, U+7eb6, U+7eca, U+7ef7, U+7f07, U+7f09, U+7f15, U+7f81, U+7fb9, U+8038, U+8098, U+80b4, U+8110, U+814b-814c, U+816e, U+818a, U+8205, U+8235, U+828b, U+82a5, U+82b7, U+82d4, U+82db, U+82df, U+8317, U+8338, U+8385-8386, U+83c1, U+83cf, U+8537, U+853b, U+854a, U+8715, U+8783, U+892a, U+8a71, U+8aaa, U+8d58, U+8dbe, U+8f67, U+8fab, U+8fc4, U+8fe6, U+9023, U+9084, U+9091, U+916a, U+91c9, U+91dc, U+94b3, U+9502, U+9523, U+9551, U+956f, U+960e, U+962a, U+962e, U+9647, U+96f3, U+9739, U+97a0, U+97ed, U+983b, U+985e, U+988a, U+9a6f, U+9a8b, U+9ab7, U+9ac5, U+9e25, U+e608, U+ff06, U+ff14-ff16) ); /* noto-sans-sc-[101]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-101-400-normal.woff2", $range: (U+161, U+926, U+928, U+939, U+93f-940, U+94d, U+e17, U+e22, U+e44, U+2463, U+25c7, U+25ce, U+2764, U+3009, U+3016-3017, U+4e4d, U+4e53, U+4f5a, U+4f70, U+4fae, U+4fd8, U+4ffa, U+5011, U+501a, U+516e, U+51c4, U+5225, U+5364, U+547b, U+5495, U+54e8, U+54ee, U+5594, U+55d3, U+55dc, U+55fd, U+5662, U+5669, U+566c, U+5742, U+5824, U+5834, U+598a, U+5992, U+59a9, U+5a04, U+5b75, U+5b7d, U+5bc5, U+5c49, U+5c90, U+5e1c, U+5e27, U+5e2b, U+5e37, U+5e90, U+618b, U+61f5, U+620a, U+6273, U+62f7, U+6342, U+6401-6402, U+6413, U+6512, U+655b, U+65a7, U+65f1, U+65f7, U+665f, U+6687, U+66a7, U+673d, U+67b8, U+6854, U+68d8, U+68fa, U+696d, U+6a02, U+6a0a, U+6a80, U+6b7c, U+6bd9, U+6c2e, U+6c76, U+6cf8, U+6d4a, U+6d85, U+6e24, U+6e32, U+6ec7, U+6ed5, U+6f88, U+700f, U+701a, U+7078, U+707c, U+70ac, U+70c1, U+7409, U+7422, U+7480, U+74a8, U+752b, U+7574, U+7656, U+7699, U+7737, U+785d, U+78be, U+79b9, U+7a3d, U+7a91, U+7a9f, U+7ae3, U+7b77, U+7c3f, U+7d1a, U+7d50, U+7d93, U+803f, U+8042, U+808b, U+8236, U+82b8-82b9, U+82ef, U+8309, U+836b, U+83ef, U+8431, U+85c9, U+865e, U+868c, U+8759, U+8760, U+8845, U+89ba, U+8a2a, U+8c41, U+8cec, U+8d2c, U+8d4e, U+8e66, U+8e6d, U+8eaf, U+902e, U+914b, U+916e, U+919b, U+949b, U+94a0, U+94b0, U+9541-9542, U+9556, U+95eb, U+95f5, U+964b, U+968b, U+96cc-96cd, U+96cf, U+9704, U+9713, U+9890, U+98a8, U+9985, U+9992, U+9a6d, U+9a81, U+9a86, U+9ab8, U+9ca4, U+9f9a, U+e606-e607, U+e60a, U+e60c, U+e60e, U+fe0f, U+ff02, U+ff1e, U+ff3d) ); /* noto-sans-sc-[102]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-102-400-normal.woff2", $range: (U+10c, U+627-629, U+639, U+644, U+64a, U+203b, U+2265, U+2573, U+25b2, U+3448-3449, U+4e1e, U+4e5e, U+4f3a, U+4f5f, U+4fea, U+5026, U+508d, U+5189, U+5254, U+5288, U+52d8, U+52fa, U+5306, U+5308, U+5384, U+53ed, U+543c, U+5450, U+5455, U+5466, U+54c4, U+5578, U+55a7, U+561f, U+5631, U+572d, U+575f, U+57ae, U+57e0, U+5830, U+594e, U+5984, U+5993, U+5bdd, U+5c0d, U+5c7f, U+5c82, U+5e62, U+5ed3, U+5f08, U+607a, U+60bc, U+60df, U+625b, U+6292, U+62e2, U+6363, U+6467, U+6714, U+675e, U+6771, U+67a2, U+67ff, U+6805, U+6813, U+6869, U+68a7, U+68e0, U+6930, U+6986, U+69a8, U+69df, U+6a44, U+6a5f, U+6c13, U+6c1f, U+6c22, U+6c2f, U+6c40, U+6c81, U+6c9b, U+6ca5, U+6da4, U+6df3, U+6e85, U+6eba, U+6f13, U+6f33, U+6f62, U+715e, U+72c4, U+73d1, U+73fe, U+7405, U+7455, U+7487, U+7578, U+75a4, U+75eb, U+7693, U+7738, U+7741, U+776b, U+7792, U+77a7, U+77a9, U+77b3, U+788c, U+7984, U+79a7, U+79e4, U+7a1a, U+7a57, U+7aa6, U+7b0b, U+7b5d, U+7c27, U+7c7d, U+7caa, U+7cd9, U+7cef, U+7eda, U+7ede, U+7f24, U+8046, U+80fa, U+81b3, U+81fb, U+8207, U+8258, U+8335, U+8339, U+8354, U+840e, U+85b0, U+85fb, U+8695, U+86aa, U+8717, U+8749, U+874c, U+8996, U+89bd, U+89c5, U+8bdb, U+8bf5, U+8c5a, U+8d3f, U+8d9f, U+8e44, U+8fed, U+9005, U+9019, U+904e, U+9082, U+90af, U+90dd, U+90e1, U+90f8, U+9119, U+916f, U+9176, U+949e, U+94a7, U+94c2, U+9525, U+9580, U+95dc, U+96e2, U+96fb, U+9a7c, U+9a7f, U+9b41, U+9ca8, U+9cc4, U+9cde, U+9e92, U+9ede, U+e60b, U+e610, U+ff10, U+ff13, U+ff3b, U+f012b) ); /* noto-sans-sc-[103]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-103-400-normal.woff2", $range: (U+60, U+631, U+2606, U+3014-3015, U+309c, U+33a1, U+4e52, U+4ec6, U+4f86, U+4f8d, U+4fde, U+4fef, U+500b, U+502a, U+515c, U+518a, U+51a5, U+51f3, U+5243, U+52c9, U+52d5, U+53a2, U+53ee, U+54ce, U+54fa, U+54fc, U+5580, U+5587, U+563f, U+56da, U+5792, U+5815, U+5960, U+59d7, U+5a1f, U+5b78, U+5b9b, U+5be1, U+5c4e, U+5c51, U+5c6f, U+5c9a, U+5cfb, U+5d16, U+5ed6, U+5f27, U+5f6a, U+5f6c, U+603c, U+609a, U+6168, U+61c8, U+6236, U+62d0, U+62f1, U+62fd, U+631a, U+6328, U+632b, U+6346, U+638f, U+63a0, U+63c9, U+655e, U+6590, U+6615, U+6627, U+66ae, U+66e6, U+66f0, U+6703, U+67da, U+67ec, U+6816, U+6893, U+68ad, U+68f5, U+6977, U+6984, U+69db, U+6b72, U+6bb7, U+6ce3, U+6cfb, U+6d47, U+6da1, U+6dc4, U+6e43, U+6eaf, U+6eff, U+6f8e, U+7011, U+7063, U+7076, U+7096, U+70ba, U+70db, U+70ef, U+7119-711a, U+7172, U+718f, U+7194, U+727a, U+72d9, U+72ed, U+7325, U+73ae, U+73ba, U+73c0, U+7410, U+7426, U+7554, U+7576, U+75ae, U+75b9, U+762b, U+766b, U+7682, U+7750, U+7779, U+7784, U+77eb, U+77ee, U+78f7, U+79e9, U+7a79, U+7b1b, U+7b28, U+7bf7, U+7db2, U+7ec5, U+7eee, U+7f14, U+7f1a, U+7fe1, U+8087, U+809b, U+8231, U+830e, U+835f, U+83e9, U+849c, U+851a, U+868a, U+8718, U+874e, U+8822, U+8910, U+8944, U+8a3b, U+8bb6, U+8bbc, U+8d50, U+8e72, U+8f9c, U+900d, U+904b, U+9063, U+90a2, U+90b9, U+94f2, U+952f, U+9576-9577, U+9593, U+95f8, U+961c, U+9631, U+969b, U+96a7, U+96c1, U+9716, U+9761, U+97ad, U+97e7, U+98a4, U+997a, U+9a73, U+9b44, U+9e3d, U+9ecf, U+9ed4, U+ff11-ff12, U+fffd) ); /* noto-sans-sc-[104]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-104-400-normal.woff2", $range: (U+2003, U+2193, U+2462, U+4e19, U+4e2b, U+4e36, U+4ea8, U+4ed1, U+4ed7, U+4f51, U+4f63, U+4f83, U+50e7, U+5112, U+5167, U+51a4, U+51b6, U+5239, U+5265, U+532a, U+5351, U+537f, U+5401, U+548f, U+5492, U+54af, U+54b3, U+54bd, U+54d1, U+54df, U+554f, U+5564, U+5598, U+5632, U+56a3, U+56e7, U+574e, U+575d-575e, U+57d4, U+584c, U+58e4, U+5937, U+5955, U+5a05, U+5a49, U+5ac2, U+5bb0, U+5c39, U+5c61, U+5d0e, U+5de9, U+5e9a, U+5eb8, U+5f0a, U+5f13, U+5f8c, U+608d, U+611b, U+6127, U+62a0, U+634f, U+635e, U+63fd, U+6577, U+658b, U+65bc, U+660a, U+6643, U+6656, U+6760, U+67af, U+67c4, U+67e0, U+6817, U+68cd, U+690e, U+6960, U+69b4, U+6a71, U+6aac, U+6b67, U+6bb4, U+6c55, U+6c70, U+6c82, U+6ca6, U+6cb8, U+6cbe, U+6e9c, U+6ede, U+6ee5, U+6f4d, U+6f84, U+6f9c, U+7115, U+7121, U+722a, U+7261, U+7272, U+7280, U+72f8, U+7504, U+754f, U+75d8, U+767c, U+76ef, U+778e, U+77bb, U+77f6, U+786b, U+78b1, U+7948, U+7985, U+79be, U+7a83, U+7a8d, U+7eac, U+7eef, U+7ef8, U+7efd, U+7f00, U+803d, U+8086, U+810a, U+8165, U+819d, U+81a8, U+8214, U+829c, U+831c, U+8328, U+832b, U+8367, U+83e0, U+83f1, U+8403, U+846b, U+8475, U+84b2, U+8513, U+8574, U+85af, U+86d9, U+86db, U+8acb, U+8bbd, U+8be0-8be1, U+8c0e, U+8d29, U+8d63, U+8e81, U+8f7f, U+9032, U+9042, U+90b1, U+90b5, U+9165, U+9175, U+94a6, U+94c5, U+950c, U+9540, U+9610, U+9699, U+96c7, U+973e, U+978d, U+97ec, U+97f6, U+984c, U+987d, U+9882, U+9965, U+996a, U+9972, U+9a8f, U+9ad3, U+9ae6, U+9cb8, U+9edb, U+e600, U+e60f, U+e611, U+ff05, U+ff0b) ); /* noto-sans-sc-[105]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-105-400-normal.woff2", $range: (U+5e, U+2190, U+250a, U+25bc, U+25cf, U+300f, U+4e56, U+4ea9, U+4f3d, U+4f6c, U+4f88, U+4fa8, U+4fcf, U+5029, U+5188, U+51f9, U+5203, U+524a, U+5256, U+529d, U+5375, U+53db, U+541f, U+5435, U+5457, U+548b, U+54b1, U+54c7, U+54d4, U+54e9, U+556a, U+5589, U+55bb, U+55e8, U+55ef, U+563b, U+566a, U+576a, U+58f9, U+598d, U+599e, U+59a8, U+5a9b, U+5ae3, U+5bde, U+5c4c, U+5c60, U+5d1b, U+5deb, U+5df7, U+5e18, U+5f26, U+5f64, U+601c, U+6084, U+60e9, U+614c, U+61be, U+6208, U+621a, U+6233, U+6254, U+62d8, U+62e6, U+62ef, U+6323, U+632a, U+633d, U+6361, U+6380, U+6405, U+640f, U+6614, U+6642, U+6657, U+67a3, U+6808, U+683d, U+6850, U+6897, U+68b3, U+68b5, U+68d5, U+6a58, U+6b47, U+6b6a, U+6c28, U+6c90, U+6ca7, U+6cf5, U+6d51, U+6da9, U+6dc7, U+6dd1, U+6e0a, U+6e5b, U+6f47, U+6f6d, U+70ad, U+70f9, U+710a, U+7130, U+71ac, U+745f, U+7476, U+7490, U+7529, U+7538, U+75d2, U+7696, U+76b1, U+76fc, U+777f, U+77dc, U+789f, U+795b, U+79bd, U+79c9, U+7a3b, U+7a46, U+7aa5, U+7ad6, U+7ca5, U+7cb9, U+7cdf, U+7d6e, U+7f06, U+7f38, U+7fa1, U+7fc1, U+8015, U+803b, U+80a2, U+80aa, U+8116, U+813e, U+82ad, U+82bd, U+8305, U+8346, U+846c, U+8549, U+859b, U+8611, U+8680, U+87f9, U+884d, U+8877, U+888d, U+88d4, U+898b, U+8a79, U+8a93, U+8c05, U+8c0d, U+8c26, U+8d1e, U+8d31, U+8d81, U+8e22, U+8f90, U+8f96, U+90ca, U+916c, U+917f, U+9187, U+918b, U+9499, U+94a9, U+9524, U+958b, U+9600, U+9640, U+96b6, U+96ef, U+98d9, U+9976, U+997f, U+9a74, U+9a84, U+9c8d, U+9e26, U+9e9f, U+ad6d, U+c5b4, U+d55c, U+ff0f) ); /* noto-sans-sc-[106]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-106-400-normal.woff2", $range: (U+b0, U+2191, U+2460-2461, U+25c6, U+300e, U+4e1b, U+4e7e, U+4ed5, U+4ef2, U+4f10, U+4f1e, U+4f50, U+4fa6, U+4faf, U+5021, U+50f5, U+5179, U+5180, U+51d1, U+522e, U+52a3, U+52c3, U+52cb, U+5300, U+5319, U+5320, U+5349, U+5395, U+53d9, U+541e, U+5428, U+543e, U+54c0, U+54d2, U+570b, U+5858, U+58f6, U+5974, U+59a5, U+59e8, U+59ec, U+5a36, U+5a9a, U+5ab3, U+5b99, U+5baa, U+5ce1, U+5d14, U+5d4c, U+5dc5, U+5de2, U+5e99, U+5e9e, U+5f18, U+5f66, U+5f70, U+6070, U+60d5, U+60e7, U+6101, U+611a, U+6241, U+6252, U+626f, U+6296, U+62bc, U+62cc, U+63a9, U+644a, U+6454, U+64a9, U+64b8, U+6500, U+6572, U+65a5, U+65a9, U+65ec, U+660f, U+6749, U+6795, U+67ab, U+68da, U+6912, U+6bbf, U+6bef, U+6cab, U+6cca, U+6ccc, U+6cfc, U+6d3d, U+6d78, U+6dee, U+6e17, U+6e34, U+6e83, U+6ea2, U+6eb6, U+6f20, U+6fa1, U+707f, U+70d8, U+70eb, U+714c, U+714e, U+7235, U+7239, U+73ca, U+743c, U+745c, U+7624, U+763e, U+76f2, U+77db, U+77e9, U+780d, U+7838, U+7845, U+78ca, U+796d, U+7a84, U+7aed, U+7b3c, U+7eb2, U+7f05, U+7f20, U+7f34, U+7f62, U+7fc5, U+7fd8, U+7ff0, U+800d, U+8036, U+80ba, U+80be, U+80c0-80c1, U+8155, U+817a, U+8180, U+81e3, U+8206, U+8247, U+8270, U+8299, U+8304, U+8393, U+83b9, U+83ca, U+840d, U+8427, U+8469, U+8471, U+84c4, U+84ec, U+853d, U+8681-8682, U+8721, U+8854, U+88d5, U+88f9, U+8bc0, U+8c0a, U+8c29, U+8c2d, U+8d41, U+8dea, U+8eb2, U+8f9f, U+903b, U+903e, U+9102, U+9493, U+94a5, U+94f8, U+95ef, U+95f7, U+9706, U+9709, U+9774, U+9887, U+98a0, U+9e64, U+9f9f, U+e601, U+e603) ); /* noto-sans-sc-[107]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-107-400-normal.woff2", $range: (U+200b, U+2103, U+4e18, U+4e27-4e28, U+4e38, U+4e59, U+4e8f, U+4ead, U+4ec7, U+4fe9, U+503a, U+5085, U+5146, U+51af, U+51f8, U+52ab, U+5339, U+535c, U+5378, U+538c, U+5398, U+53f9, U+5415, U+5475, U+54aa, U+54ac, U+54b8, U+5582, U+5760, U+5764, U+57cb, U+5835, U+5885, U+5951, U+5983, U+59da, U+5a77, U+5b5d, U+5b5f, U+5bb5, U+5bc2, U+5be8, U+5bfa, U+5c2c, U+5c34, U+5c41, U+5c48, U+5c65, U+5cad, U+5e06, U+5e42, U+5ef7, U+5f17, U+5f25, U+5f6d, U+5f79, U+6028, U+6064, U+6068, U+606d, U+607c, U+6094, U+6109, U+6124, U+6247, U+626d, U+6291, U+629a, U+62ac, U+62b9, U+62fe, U+6324, U+6349, U+6367, U+6398, U+6495, U+64a4, U+64b0, U+64bc, U+64ce, U+658c, U+65ed, U+6602, U+6674, U+6691, U+66a8, U+674f, U+679a, U+67ef, U+67f4, U+680b, U+6876, U+68a8, U+6a59, U+6a61, U+6b20, U+6bc5, U+6d12, U+6d46, U+6d8c, U+6dc0, U+6e14, U+6e23, U+6f06, U+7164, U+716e, U+7199, U+71e5, U+72ac, U+742a, U+755c, U+75ab, U+75b2, U+75f4, U+7897, U+78b3, U+78c5, U+7978, U+79fd, U+7a74, U+7b4b, U+7b5b, U+7ece, U+7ed2, U+7ee3, U+7ef3, U+7f50, U+7f55, U+7f9e, U+7fe0, U+809d, U+8106, U+814a, U+8154, U+817b, U+818f, U+81c2, U+81ed, U+821f, U+82a6, U+82d1, U+8302, U+83c7, U+845b, U+848b, U+84c9, U+85e4, U+86ee, U+8700, U+8774, U+886c, U+8881, U+8c1c, U+8c79, U+8d2a, U+8d3c, U+8eba, U+8f70, U+8fa9, U+8fb1, U+900a, U+9017, U+901d, U+9022, U+906e, U+946b, U+94dd, U+94ed, U+953b, U+95fa, U+95fd, U+964c, U+96c0, U+971c, U+971e, U+9753, U+9756, U+97e6, U+9881, U+9b4f, U+9e2d, U+9f0e, U+e602, U+e604-e605, U+ff5c) ); /* noto-sans-sc-[108]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-108-400-normal.woff2", $range: (U+24, U+4e08, U+4e43, U+4e4f, U+4ef0, U+4f2a, U+507f, U+50ac, U+50bb, U+5151, U+51bb, U+51f6, U+51fd, U+5272, U+52fe, U+5362, U+53c9, U+53d4, U+53e0, U+543b, U+54f2, U+5507, U+5524, U+558a, U+55b5, U+561b, U+56ca, U+5782, U+57c3, U+5893, U+5915, U+5949, U+5962, U+59ae, U+59dc, U+59fb, U+5bd3, U+5c38, U+5cb3, U+5d07, U+5d29, U+5de1, U+5dfe, U+5e15, U+5eca, U+5f2f, U+5f7c, U+5fcc, U+6021, U+609f, U+60f9, U+6108, U+6148, U+6155, U+6170, U+61d2, U+6251, U+629b, U+62ab, U+62e8, U+62f3, U+6321, U+6350, U+6566, U+659c, U+65e8, U+6635, U+6655, U+6670, U+66f9, U+6734, U+679d, U+6851, U+6905, U+6b49, U+6b96, U+6c1b, U+6c41, U+6c6a, U+6c83, U+6cf3, U+6d9b, U+6dcb, U+6e1d, U+6e20-6e21, U+6eaa, U+6ee4, U+6ee9, U+6f58, U+70e4, U+722c, U+7262, U+7267, U+72b9, U+72e0, U+72ee, U+72f1, U+7334, U+73ab, U+7433, U+7470, U+758f, U+75d5, U+764c, U+7686, U+76c6, U+76fe, U+7720, U+77e2, U+7802, U+7816, U+788d, U+7891, U+7a00, U+7a9d, U+7b52, U+7bad, U+7c98, U+7cca, U+7eba, U+7eea, U+7ef5, U+7f1d, U+7f69, U+806a, U+809a, U+80bf, U+80c3, U+81c0, U+820c, U+82ac, U+82af, U+82cd, U+82d7, U+838e, U+839e, U+8404, U+84b8, U+852c, U+8587, U+85aa, U+8650, U+8679, U+86c7, U+8702, U+87ba, U+886b, U+8870, U+8c10, U+8c23, U+8c6b, U+8d3e, U+8d4b-8d4c, U+8d64, U+8d6b, U+8d74, U+8e29, U+8f69, U+8f74, U+8fb0, U+8fdf, U+901b, U+9038, U+9093, U+90aa, U+9171, U+9489, U+94ae, U+94c3, U+9508, U+9510, U+9601, U+9614, U+9675, U+97f5, U+9888, U+98d8, U+9971, U+9aa4, U+9e3f, U+9e45, U+9e4f, U+9e70, U+9f7f, U+e715) ); /* noto-sans-sc-[109]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-109-400-normal.woff2", $range: (U+a5, U+2022, U+2192, U+2605, U+4e11, U+4e22, U+4e32, U+4f0d, U+4f0f, U+4f69, U+4ff1, U+50b2, U+5154, U+51dd, U+51f0, U+5211, U+5269, U+533f, U+5366-5367, U+5389, U+5413, U+5440, U+5446, U+5561, U+574a, U+5751, U+57ab, U+5806, U+5821, U+582a, U+58f3, U+5938, U+5948, U+5978, U+59d1, U+5a03, U+5a07, U+5ac1, U+5acc, U+5ae9, U+5bb4, U+5bc4, U+5c3f, U+5e3d, U+5e7d, U+5f92, U+5faa, U+5fe0, U+5ffd, U+6016, U+60a0, U+60dc, U+60e8, U+614e, U+6212, U+6284, U+62c6, U+62d3-62d4, U+63f4, U+642c, U+6478, U+6491-6492, U+64e6, U+6591, U+65a4, U+664b, U+6735, U+6746, U+67f1, U+67f3, U+6842, U+68af, U+68c9, U+68cb, U+6a31, U+6b3a, U+6bc1, U+6c0f, U+6c27, U+6c57, U+6cc4, U+6ce5, U+6d2a, U+6d66, U+6d69, U+6daf, U+6e58, U+6ecb, U+6ef4, U+707e, U+7092, U+70ab, U+71d5, U+7275, U+7384, U+73b2, U+7434, U+74e6, U+74f7, U+75bc, U+76c8, U+76d0, U+7709, U+77ac, U+7855, U+78a7, U+78c1, U+7a77, U+7b79, U+7c92, U+7cae, U+7cd5, U+7ea4, U+7eb5, U+7ebd, U+7f5a, U+7fd4, U+7ffc, U+8083, U+8096, U+80a0, U+80d6, U+80de, U+8102, U+8109, U+810f, U+8179, U+8292, U+82b3, U+8352, U+8361, U+83cc, U+841d, U+8461, U+8482, U+8521, U+857e, U+866b, U+8776, U+8896, U+889c, U+88f8, U+8a9e, U+8bc8, U+8bf8, U+8c0b, U+8c28, U+8d2b, U+8d2f, U+8d37, U+8d3a, U+8d54, U+8dc3, U+8dcc, U+8df5, U+8e0f, U+8e48, U+8f86, U+8f88, U+8f9e, U+8fc1, U+8fc8, U+8feb, U+9065, U+90a6, U+90bb, U+90c1, U+94dc, U+9521, U+9676, U+96d5, U+970d, U+9897, U+997c, U+9a70, U+9a76, U+9a9a, U+9ad4, U+9e23, U+9e7f, U+9f3b, U+e675, U+e6b9, U+ffe5) ); /* noto-sans-sc-[110]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-110-400-normal.woff2", $range: (U+300c-300d, U+4e54, U+4e58, U+4e95, U+4ec1, U+4f2f, U+4f38, U+4fa3, U+4fca, U+503e, U+5141, U+5144, U+517c, U+51cc, U+51ed, U+5242, U+52b2, U+52d2, U+52e4, U+540a, U+5439, U+5448, U+5496, U+54ed, U+5565, U+5761, U+5766, U+58ee, U+593a, U+594b, U+594f, U+5954, U+5996, U+59c6, U+59ff, U+5b64, U+5bff, U+5c18, U+5c1d, U+5c97, U+5ca9, U+5cb8, U+5e9f, U+5ec9, U+5f04, U+5f7b, U+5fa1, U+5fcd, U+6012, U+60a6, U+60ac, U+60b2, U+60ef, U+626e, U+6270, U+6276, U+62d6, U+62dc, U+6316, U+632f, U+633a, U+6355, U+63aa, U+6447, U+649e, U+64c5, U+654c, U+65c1, U+65cb, U+65e6, U+6606, U+6731, U+675c, U+67cf, U+67dc, U+6846, U+6b8b, U+6beb, U+6c61, U+6c88, U+6cbf, U+6cdb, U+6cea, U+6d45, U+6d53, U+6d74, U+6d82, U+6da8, U+6db5, U+6deb, U+6eda, U+6ee8, U+6f0f, U+706d, U+708e, U+70ae, U+70bc, U+70c2, U+70e6, U+7237-7238, U+72fc, U+730e, U+731b, U+739b, U+73bb, U+7483, U+74dc, U+74f6, U+7586, U+7626, U+775b, U+77ff, U+788e, U+78b0, U+7956, U+7965, U+79e6, U+7af9, U+7bee, U+7c97, U+7eb1, U+7eb7, U+7ed1, U+7ed5, U+7f6a, U+7f72, U+7fbd, U+8017, U+808c, U+80a9, U+80c6, U+80ce, U+8150, U+8170, U+819c, U+820d, U+8230, U+8239, U+827e, U+8377, U+8389, U+83b2, U+8428, U+8463, U+867e, U+88c2, U+88d9, U+8986, U+8bca, U+8bde, U+8c13, U+8c8c, U+8d21, U+8d24, U+8d56, U+8d60, U+8d8b, U+8db4, U+8e2a, U+8f68, U+8f89, U+8f9b, U+8fa8, U+8fbd, U+9003, U+90ce, U+90ed, U+9189, U+94bb, U+9505, U+95f9, U+963b, U+9655, U+966a, U+9677, U+96fe, U+9896, U+99a8, U+9a71, U+9a82, U+9a91, U+9b45, U+9ece, U+9f20, U+feff, U+ff0d) ); /* noto-sans-sc-[111]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-111-400-normal.woff2", $range: (U+4e4c, U+4e88, U+4ea1, U+4ea6, U+4ed3-4ed4, U+4eff, U+4f30, U+4fa7, U+4fc4, U+4fd7, U+500d, U+504f, U+5076-5077, U+517d, U+5192, U+51c9, U+51ef, U+5238, U+5251, U+526a, U+52c7, U+52df, U+52ff, U+53a6, U+53a8, U+53ec, U+5410, U+559d, U+55b7, U+5634, U+573e, U+5783, U+585e, U+586b, U+58a8, U+5999, U+59d3, U+5a1c, U+5a46, U+5b54-5b55, U+5b85, U+5b8b, U+5b8f, U+5bbf, U+5bd2, U+5c16, U+5c24, U+5e05, U+5e45, U+5e7c, U+5e84, U+5f03, U+5f1f, U+5f31, U+5f84, U+5f90, U+5fbd, U+5fc6, U+5fd9, U+5fe7, U+6052, U+6062, U+6089, U+60a3, U+60d1, U+6167, U+622a, U+6234, U+624e, U+6269, U+626c, U+62b5, U+62d2, U+6325, U+63e1, U+643a, U+6446, U+6562, U+656c, U+65e2, U+65fa, U+660c, U+6628, U+6652, U+6668, U+6676, U+66fc, U+66ff, U+6717, U+676d, U+67aa, U+67d4, U+6843, U+6881, U+68d2, U+695a, U+69fd, U+6a2a, U+6b8a, U+6c60, U+6c64, U+6c9f, U+6caa, U+6cc9, U+6ce1, U+6cfd, U+6d1b, U+6d1e, U+6d6e, U+6de1, U+6e10, U+6e7f, U+6f5c, U+704c, U+7070, U+7089, U+70b8, U+718a, U+71c3, U+723d, U+732a, U+73cd, U+7518, U+756a, U+75af, U+75be, U+75c7, U+76d2, U+76d7, U+7763, U+78e8, U+795d, U+79df, U+7c4d, U+7d2f, U+7ee9, U+7f13, U+7f8a, U+8000, U+8010, U+80af, U+80f6, U+80f8, U+8212, U+8273, U+82f9, U+83ab, U+83b1, U+83f2, U+8584, U+871c, U+8861, U+888b, U+88c1, U+88e4, U+8bd1, U+8bf1, U+8c31, U+8d5a, U+8d75-8d76, U+8de8, U+8f85, U+8fa3, U+8fc5, U+9006, U+903c, U+904d, U+9075, U+9178, U+9274, U+950b, U+9526, U+95ea, U+9636, U+9686, U+978b, U+987f, U+9a7e, U+9b42, U+9e1f, U+9ea6, U+9f13, U+9f84, U+ff5e) ); /* noto-sans-sc-[112]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-112-400-normal.woff2", $range: (U+23, U+3d, U+4e01, U+4e39, U+4e73, U+4ecd, U+4ed9, U+4eea, U+4f0a, U+4f1f, U+4f5b, U+4fa0, U+4fc3, U+501f, U+50a8, U+515a, U+5175, U+51a0, U+51c0, U+51e1, U+51e4, U+5200, U+520a, U+5224, U+523a, U+52aa, U+52b1, U+52b3, U+5348, U+5353, U+5360, U+5371, U+5377, U+539a, U+541b, U+5434, U+547c, U+54e6, U+5510, U+5531, U+5609, U+56f0, U+56fa, U+5733, U+574f, U+5851, U+5854, U+5899, U+58c1, U+592e, U+5939, U+5976, U+5986, U+59bb, U+5a18, U+5a74, U+5b59, U+5b87, U+5b97, U+5ba0, U+5bab, U+5bbd-5bbe, U+5bf8, U+5c0a, U+5c3a, U+5c4a, U+5e16, U+5e1d, U+5e2d, U+5e8a, U+6015, U+602a, U+6050, U+6069, U+6162, U+61c2, U+6293, U+6297, U+62b1, U+62bd, U+62df, U+62fc, U+6302, U+635f, U+638c, U+63ed, U+6458, U+6469, U+6563, U+6620, U+6653, U+6696-6697, U+66dd, U+675f, U+676f-6770, U+67d0, U+67d3, U+684c, U+6865, U+6885, U+68b0, U+68ee, U+690d, U+6b23, U+6b32, U+6bd5, U+6c89, U+6d01, U+6d25, U+6d89, U+6da6, U+6db2, U+6df7, U+6ed1, U+6f02, U+70c8, U+70df, U+70e7, U+7126, U+7236, U+7259, U+731c, U+745e, U+74e3, U+751a, U+751c, U+7532, U+7545, U+75db, U+7761, U+7a0d, U+7b51, U+7ca4, U+7cd6, U+7d2b, U+7ea0, U+7eb9, U+7ed8, U+7f18, U+7f29, U+8033, U+804a, U+80a4-80a5, U+80e1, U+817f, U+829d, U+82e6, U+8336, U+840c, U+8499, U+864e, U+8651, U+865a, U+88ad, U+89e6, U+8bd7, U+8bfa, U+8c37, U+8d25, U+8d38, U+8ddd, U+8fea, U+9010, U+9012, U+906d, U+907f-9080, U+90d1, U+9177, U+91ca, U+94fa, U+9501, U+9634-9635, U+9694, U+9707, U+9738, U+9769, U+9a7b, U+9a97, U+9aa8, U+9b3c, U+9c81, U+9ed8) ); /* noto-sans-sc-[113]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-113-400-normal.woff2", $range: (U+26, U+3c, U+d7, U+4e4e, U+4e61, U+4e71, U+4ebf, U+4ee4, U+4f26, U+5012, U+51ac, U+51b0, U+51b2, U+51b7, U+5218, U+521a, U+5220, U+5237, U+523b, U+526f, U+5385, U+53bf, U+53e5, U+53eb, U+53f3, U+53f6, U+5409, U+5438, U+54c8, U+54e5, U+552f, U+5584, U+5706, U+5723, U+5750, U+575a, U+5987-5988, U+59b9, U+59d0, U+59d4, U+5b88, U+5b9c, U+5bdf, U+5bfb, U+5c01, U+5c04, U+5c3e, U+5c4b, U+5c4f, U+5c9b, U+5cf0, U+5ddd, U+5de6, U+5de8, U+5e01, U+5e78, U+5e7b, U+5e9c, U+5ead, U+5ef6, U+5f39, U+5fd8, U+6000, U+6025, U+604b, U+6076, U+613f, U+6258, U+6263, U+6267, U+6298, U+62a2, U+62e5, U+62ec, U+6311, U+6377, U+6388-6389, U+63a2, U+63d2, U+641e, U+642d, U+654f, U+6551, U+6597, U+65cf, U+65d7, U+65e7, U+6682, U+66f2, U+671d, U+672b, U+6751, U+6768, U+6811, U+6863, U+6982, U+6bd2, U+6cf0, U+6d0b, U+6d17, U+6d59, U+6dd8, U+6dfb, U+6e7e, U+6f6e, U+6fb3, U+706f, U+719f, U+72af, U+72d0, U+72d7, U+732b, U+732e, U+7389, U+73e0, U+7530, U+7687, U+76d6, U+76db, U+7840, U+786c, U+79cb, U+79d2, U+7a0e, U+7a33, U+7a3f, U+7a97, U+7ade-7adf, U+7b26, U+7e41, U+7ec3, U+7f3a, U+8089, U+80dc, U+811a, U+8131, U+8138, U+821e, U+8349, U+83dc, U+8457, U+867d, U+86cb, U+8a89, U+8ba8, U+8bad, U+8bef, U+8bfe, U+8c6a, U+8d1d, U+8d4f, U+8d62, U+8dd1, U+8df3, U+8f6e, U+8ff9, U+900f, U+9014, U+9057, U+9192, U+91ce, U+9488, U+94a2, U+9547, U+955c, U+95f2, U+9644, U+964d, U+96c4-96c5, U+96e8, U+96f6-96f7, U+9732, U+9759, U+9760, U+987a, U+989c, U+9910, U+996d-996e, U+9b54, U+9e21, U+9ebb, U+9f50) ); /* noto-sans-sc-[114]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-114-400-normal.woff2", $range: (U+7e, U+2026, U+4e03, U+4e25, U+4e30, U+4e34, U+4e45, U+4e5d, U+4e89, U+4eae, U+4ed8, U+4f11, U+4f19, U+4f24, U+4f34, U+4f59, U+4f73, U+4f9d, U+4fb5, U+5047, U+505c, U+5170, U+519c, U+51cf, U+5267, U+5356, U+5374, U+5382, U+538b, U+53e6, U+5426, U+542b, U+542f, U+5462, U+5473, U+554a, U+5566, U+5708, U+571f, U+5757, U+57df, U+57f9, U+5802, U+590f, U+591c, U+591f, U+592b, U+5965, U+5979, U+5a01, U+5a5a, U+5b69, U+5b81, U+5ba1, U+5ba3, U+5c3c, U+5c42, U+5c81, U+5de7, U+5dee, U+5e0c, U+5e10, U+5e55, U+5e86, U+5e8f, U+5ea7, U+5f02, U+5f52, U+5f81, U+5ff5, U+60ca, U+60e0, U+6279, U+62c5, U+62ff, U+63cf, U+6444, U+64cd, U+653b, U+65bd, U+65e9, U+665a, U+66b4, U+66fe, U+6728, U+6740, U+6742, U+677e, U+67b6, U+680f, U+68a6, U+68c0, U+699c, U+6b4c, U+6b66, U+6b7b, U+6bcd, U+6bdb, U+6c38, U+6c47, U+6c49, U+6cb3, U+6cb9, U+6ce2, U+6d32, U+6d3e, U+6d4f, U+6e56, U+6fc0, U+7075, U+7206, U+725b, U+72c2, U+73ed, U+7565, U+7591, U+7597, U+75c5, U+76ae, U+76d1, U+76df, U+7834, U+7968, U+7981, U+79c0, U+7a7f, U+7a81, U+7ae5, U+7b14, U+7c89, U+7d27, U+7eaf, U+7eb3, U+7eb8, U+7ec7, U+7ee7, U+7eff, U+7f57, U+7ffb, U+805a, U+80a1, U+822c, U+82cf, U+82e5, U+8363, U+836f, U+84dd, U+878d, U+8840, U+8857, U+8863, U+8865, U+8b66, U+8bb2, U+8bda, U+8c01, U+8c08, U+8c46, U+8d1f, U+8d35, U+8d5b, U+8d5e, U+8da3, U+8ddf, U+8f93, U+8fdd, U+8ff0, U+8ff7, U+8ffd, U+9000, U+9047, U+9152, U+949f, U+94c1, U+94f6, U+9646, U+9648, U+9669, U+969c, U+96ea, U+97e9, U+987b, U+987e, U+989d, U+9970, U+9986, U+9c7c, U+9c9c) ); /* noto-sans-sc-[115]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-115-400-normal.woff2", $range: (U+25, U+4e14, U+4e1d, U+4e3d, U+4e49, U+4e60, U+4e9a, U+4eb2, U+4ec5, U+4efd, U+4f3c, U+4f4f, U+4f8b, U+4fbf, U+5019, U+5145, U+514b, U+516b, U+516d, U+5174, U+5178, U+517b, U+5199, U+519b, U+51b3, U+51b5, U+5207, U+5212, U+5219, U+521d, U+52bf, U+533b, U+5343, U+5347, U+534a, U+536b, U+5370, U+53e4, U+53f2, U+5403, U+542c, U+547d, U+54a8, U+54cd, U+54ea, U+552e, U+56f4, U+5747, U+575b, U+5883, U+589e, U+5931, U+5947, U+5956-5957, U+5a92, U+5b63, U+5b83, U+5ba4, U+5bb3, U+5bcc, U+5c14, U+5c1a, U+5c3d, U+5c40, U+5c45, U+5c5e, U+5df4, U+5e72, U+5e95, U+5f80, U+5f85, U+5fb7, U+5fd7, U+601d, U+626b, U+627f, U+62c9, U+62cd, U+6309, U+63a7, U+6545, U+65ad, U+65af, U+65c5, U+666e, U+667a, U+670b, U+671b, U+674e, U+677f, U+6781, U+6790, U+6797, U+6821, U+6838-6839, U+697c, U+6b27, U+6b62, U+6bb5, U+6c7d, U+6c99, U+6d4e, U+6d6a, U+6e29, U+6e2f, U+6ee1, U+6f14, U+6f2b, U+72b6, U+72ec, U+7387, U+7533, U+753b, U+76ca, U+76d8, U+7701, U+773c, U+77ed, U+77f3, U+7814, U+793c, U+79bb, U+79c1, U+79d8, U+79ef, U+79fb, U+7a76, U+7b11, U+7b54, U+7b56, U+7b97, U+7bc7, U+7c73, U+7d20, U+7eaa, U+7ec8, U+7edd, U+7eed, U+7efc, U+7fa4, U+804c, U+8058, U+80cc, U+8111, U+817e, U+826f, U+8303, U+843d, U+89c9, U+89d2, U+8ba2, U+8bbf, U+8bc9, U+8bcd, U+8be6, U+8c22, U+8c61, U+8d22, U+8d26-8d27, U+8d8a, U+8f6f, U+8f7b, U+8f83, U+8f91, U+8fb9, U+8fd4, U+8fdc, U+9002, U+94b1, U+9519, U+95ed, U+961f, U+9632-9633, U+963f, U+968f-9690, U+96be, U+9876, U+9884, U+98de, U+9988, U+9999, U+9ec4, U+ff1b) ); /* noto-sans-sc-[116]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-116-400-normal.woff2", $range: (U+2b, U+40, U+3000, U+300a-300b, U+4e16, U+4e66, U+4e70, U+4e91-4e92, U+4e94, U+4e9b, U+4ec0, U+4eca, U+4f01, U+4f17-4f18, U+4f46, U+4f4e, U+4f9b, U+4fee, U+503c, U+5065, U+50cf, U+513f, U+5148, U+518d, U+51c6, U+51e0, U+5217, U+529e-529f, U+5341, U+534f, U+5361, U+5386, U+53c2, U+53c8, U+53cc, U+53d7-53d8, U+5404, U+5411, U+5417, U+5427, U+5468, U+559c, U+5668, U+56e0, U+56e2, U+56ed, U+5740, U+57fa, U+58eb, U+5904, U+592a, U+59cb, U+5a31, U+5b58, U+5b9d, U+5bc6, U+5c71, U+5dde, U+5df1, U+5e08, U+5e26, U+5e2e, U+5e93, U+5e97, U+5eb7, U+5f15, U+5f20, U+5f3a, U+5f62, U+5f69, U+5f88, U+5f8b, U+5fc5, U+600e, U+620f, U+6218, U+623f, U+627e, U+628a, U+62a4, U+62db, U+62e9, U+6307, U+6362, U+636e, U+64ad, U+6539, U+653f, U+6548, U+6574, U+6613, U+6625, U+663e, U+666f, U+672a, U+6750, U+6784, U+6a21, U+6b3e, U+6b65, U+6bcf, U+6c11, U+6c5f, U+6d4b, U+6df1, U+706b, U+7167, U+724c, U+738b, U+73a9, U+73af, U+7403, U+7537, U+754c, U+7559, U+767d, U+7740, U+786e, U+795e, U+798f, U+79f0, U+7aef, U+7b7e, U+7bb1, U+7ea2, U+7ea6, U+7ec4, U+7ec6, U+7ecd, U+7edc, U+7ef4, U+8003, U+80b2, U+81f3-81f4, U+822a, U+827a, U+82f1, U+83b7, U+8425, U+89c2, U+89c8, U+8ba9, U+8bb8, U+8bc6, U+8bd5, U+8be2, U+8be5, U+8bed, U+8c03, U+8d23, U+8d2d, U+8d34, U+8d70, U+8db3, U+8fbe, U+8fce, U+8fd1, U+8fde, U+9001, U+901f-9020, U+90a3, U+914d, U+91c7, U+94fe, U+9500, U+952e, U+9605, U+9645, U+9662, U+9664, U+9700, U+9752, U+975e, U+97f3, U+9879, U+9886, U+98df, U+9a6c, U+9a8c, U+9ed1, U+9f99) ); /* noto-sans-sc-[117]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-117-400-normal.woff2", $range: (U+4e, U+201c-201d, U+3010-3011, U+4e07, U+4e1c, U+4e24, U+4e3e, U+4e48, U+4e50, U+4e5f, U+4e8b-4e8c, U+4ea4, U+4eab-4eac, U+4ecb, U+4ece, U+4ed6, U+4ee3, U+4ef6-4ef7, U+4efb, U+4f20, U+4f55, U+4f7f, U+4fdd, U+505a, U+5143, U+5149, U+514d, U+5171, U+5177, U+518c, U+51fb, U+521b, U+5229, U+522b, U+52a9, U+5305, U+5317, U+534e, U+5355, U+5357, U+535a, U+5373, U+539f, U+53bb, U+53ca, U+53cd, U+53d6, U+53e3, U+53ea, U+53f0, U+5458, U+5546, U+56db, U+573a, U+578b, U+57ce, U+58f0, U+590d, U+5934, U+5973, U+5b57, U+5b8c, U+5b98, U+5bb9, U+5bfc, U+5c06, U+5c11, U+5c31, U+5c55, U+5df2, U+5e03, U+5e76, U+5e94, U+5efa, U+5f71, U+5f97, U+5feb, U+6001, U+603b, U+60f3, U+611f, U+6216, U+624d, U+6253, U+6295, U+6301, U+6392, U+641c, U+652f, U+653e, U+6559, U+6599, U+661f, U+671f, U+672f, U+6761, U+67e5, U+6807, U+6837, U+683c, U+6848, U+6b22, U+6b64, U+6bd4, U+6c14, U+6c34, U+6c42, U+6ca1, U+6d41, U+6d77, U+6d88, U+6e05, U+6e38, U+6e90, U+7136, U+7231, U+7531, U+767e, U+76ee, U+76f4, U+771f, U+7801, U+793a, U+79cd, U+7a0b, U+7a7a, U+7acb, U+7ae0, U+7b2c, U+7b80, U+7ba1, U+7cbe, U+7d22, U+7ea7, U+7ed3, U+7ed9, U+7edf, U+7f16, U+7f6e, U+8001, U+800c, U+8272, U+8282, U+82b1, U+8350, U+88ab, U+88c5, U+897f, U+89c1, U+89c4, U+89e3, U+8a00, U+8ba1, U+8ba4, U+8bae-8bb0, U+8bbe, U+8bc1, U+8bc4, U+8bfb, U+8d28, U+8d39, U+8d77, U+8d85, U+8def, U+8eab, U+8f66, U+8f6c, U+8f7d, U+8fd0, U+9009, U+90ae, U+90fd, U+91cc-91cd, U+91cf, U+95fb, U+9650, U+96c6, U+9891, U+98ce, U+ff1f) ); /* noto-sans-sc-[118]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-118-400-normal.woff2", $range: (U+d, U+3e, U+5f, U+7c, U+a0, U+a9, U+4e09-4e0b, U+4e0d-4e0e, U+4e13, U+4e1a, U+4e2a, U+4e3a-4e3b, U+4e4b, U+4e86, U+4e8e, U+4ea7, U+4eba, U+4ee5, U+4eec, U+4f1a, U+4f4d, U+4f53, U+4f5c, U+4f60, U+4fe1, U+5165, U+5168, U+516c, U+5173, U+5176, U+5185, U+51fa, U+5206, U+5230, U+5236, U+524d, U+529b, U+52a0-52a1, U+52a8, U+5316, U+533a, U+53cb, U+53d1, U+53ef, U+53f7-53f8, U+5408, U+540c-540e, U+544a, U+548c, U+54c1, U+56de, U+56fd-56fe, U+5728, U+5730, U+5907, U+5916, U+591a, U+5927, U+5929, U+597d, U+5982, U+5b50, U+5b66, U+5b89, U+5b9a, U+5b9e, U+5ba2, U+5bb6, U+5bf9, U+5c0f, U+5de5, U+5e02, U+5e38, U+5e73-5e74, U+5e7f, U+5ea6, U+5f00, U+5f0f, U+5f53, U+5f55, U+5fae, U+5fc3, U+6027, U+606f, U+60a8, U+60c5, U+610f, U+6210-6211, U+6237, U+6240, U+624b, U+6280, U+62a5, U+63a5, U+63a8, U+63d0, U+6536, U+6570, U+6587, U+65b9, U+65e0, U+65f6, U+660e, U+662d, U+662f, U+66f4, U+6700, U+670d, U+672c, U+673a, U+6743, U+6765, U+679c, U+682a, U+6b21, U+6b63, U+6cbb, U+6cd5, U+6ce8, U+6d3b, U+70ed, U+7247-7248, U+7269, U+7279, U+73b0, U+7406, U+751f, U+7528, U+7535, U+767b, U+76f8, U+770b, U+77e5, U+793e, U+79d1, U+7ad9, U+7b49, U+7c7b, U+7cfb, U+7ebf, U+7ecf, U+7f8e, U+8005, U+8054, U+80fd, U+81ea, U+85cf, U+884c, U+8868, U+8981, U+89c6, U+8bba, U+8bdd, U+8bf4, U+8bf7, U+8d44, U+8fc7, U+8fd8-8fd9, U+8fdb, U+901a, U+9053, U+90e8, U+91d1, U+957f, U+95e8, U+95ee, U+95f4, U+9762, U+9875, U+9898, U+9996, U+9ad8, U+ff01, U+ff08-ff09) ); /* noto-sans-sc-[119]-400-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-119-400-normal.woff2", $range: (U+20-22, U+27-2a, U+2c-3b, U+3f, U+41-4d, U+4f-5d, U+61-7b, U+7d, U+ab, U+ae, U+b2, U+b7, U+bb, U+df-e5, U+e7-ea, U+ec-ed, U+f1-f4, U+f6, U+f9-fa, U+fc, U+101, U+103, U+113, U+12b, U+148, U+14d, U+16b, U+1ce, U+1d0, U+300-301, U+1ebf, U+1ec7, U+2013-2014, U+2039-203a, U+2122, U+3001-3002, U+3042, U+3044, U+3046, U+3048, U+304a-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-3073, U+3075-3076, U+3078-3079, U+307b, U+307e-307f, U+3081-308d, U+308f, U+3092-3093, U+30a1-30a4, U+30a6-30bb, U+30bd, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd-30d7, U+30d9-30e1, U+30e3-30e7, U+30e9-30ed, U+30ef, U+30f3, U+30fb-30fc, U+4e00, U+4e2d, U+65b0, U+65e5, U+6708-6709, U+70b9, U+7684, U+7f51, U+ff0c, U+ff0e, U+ff1a) diff --git a/src/styles/noto-sans/sc-700-normal.scss b/src/styles/noto-sans/sc-700-normal.scss index 0958183dda..b6a822a234 100644 --- a/src/styles/noto-sans/sc-700-normal.scss +++ b/src/styles/noto-sans/sc-700-normal.scss @@ -1,7 +1,9 @@ +@use "../font"; + $scFamily: "Noto Sans SC"; /* noto-sans-sc-[4]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-4-700-normal.woff2", @@ -9,7 +11,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[5]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-5-700-normal.woff2", @@ -17,7 +19,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[6]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-6-700-normal.woff2", @@ -25,7 +27,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[21]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-21-700-normal.woff2", @@ -33,7 +35,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[22]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-22-700-normal.woff2", @@ -41,7 +43,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[23]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-23-700-normal.woff2", @@ -49,7 +51,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[24]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-24-700-normal.woff2", @@ -57,7 +59,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[25]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-25-700-normal.woff2", @@ -65,7 +67,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[26]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-26-700-normal.woff2", @@ -73,7 +75,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[27]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-27-700-normal.woff2", @@ -81,7 +83,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[28]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-28-700-normal.woff2", @@ -89,7 +91,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[29]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-29-700-normal.woff2", @@ -97,7 +99,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[30]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-30-700-normal.woff2", @@ -105,7 +107,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[31]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-31-700-normal.woff2", @@ -113,7 +115,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[32]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-32-700-normal.woff2", @@ -121,7 +123,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[33]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-33-700-normal.woff2", @@ -129,7 +131,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[34]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-34-700-normal.woff2", @@ -137,7 +139,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[35]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-35-700-normal.woff2", @@ -145,7 +147,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[36]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-36-700-normal.woff2", @@ -153,7 +155,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[37]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-37-700-normal.woff2", @@ -161,7 +163,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[38]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-38-700-normal.woff2", @@ -169,7 +171,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[39]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-39-700-normal.woff2", @@ -177,7 +179,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[40]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-40-700-normal.woff2", @@ -185,7 +187,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[41]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-41-700-normal.woff2", @@ -193,7 +195,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[42]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-42-700-normal.woff2", @@ -201,7 +203,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[43]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-43-700-normal.woff2", @@ -209,7 +211,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[44]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-44-700-normal.woff2", @@ -217,7 +219,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[45]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-45-700-normal.woff2", @@ -225,7 +227,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[46]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-46-700-normal.woff2", @@ -233,7 +235,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[47]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-47-700-normal.woff2", @@ -241,7 +243,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[48]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-48-700-normal.woff2", @@ -249,7 +251,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[49]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-49-700-normal.woff2", @@ -257,7 +259,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[50]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-50-700-normal.woff2", @@ -265,7 +267,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[51]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-51-700-normal.woff2", @@ -273,7 +275,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[52]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-52-700-normal.woff2", @@ -281,7 +283,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[53]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-53-700-normal.woff2", @@ -289,7 +291,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[54]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-54-700-normal.woff2", @@ -297,7 +299,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[55]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-55-700-normal.woff2", @@ -305,7 +307,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[56]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-56-700-normal.woff2", @@ -313,7 +315,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[57]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-57-700-normal.woff2", @@ -321,7 +323,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[58]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-58-700-normal.woff2", @@ -329,7 +331,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[59]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-59-700-normal.woff2", @@ -337,7 +339,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[60]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-60-700-normal.woff2", @@ -345,7 +347,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[61]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-61-700-normal.woff2", @@ -353,7 +355,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[62]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-62-700-normal.woff2", @@ -361,7 +363,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[63]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-63-700-normal.woff2", @@ -369,7 +371,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[64]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-64-700-normal.woff2", @@ -377,7 +379,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[65]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-65-700-normal.woff2", @@ -385,7 +387,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[66]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-66-700-normal.woff2", @@ -393,7 +395,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[67]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-67-700-normal.woff2", @@ -401,7 +403,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[68]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-68-700-normal.woff2", @@ -409,7 +411,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[69]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-69-700-normal.woff2", @@ -417,7 +419,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[70]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-70-700-normal.woff2", @@ -425,7 +427,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[71]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-71-700-normal.woff2", @@ -433,7 +435,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[72]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-72-700-normal.woff2", @@ -441,7 +443,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[73]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-73-700-normal.woff2", @@ -449,7 +451,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[74]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-74-700-normal.woff2", @@ -457,7 +459,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[75]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-75-700-normal.woff2", @@ -465,7 +467,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[76]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-76-700-normal.woff2", @@ -473,7 +475,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[77]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-77-700-normal.woff2", @@ -481,7 +483,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[78]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-78-700-normal.woff2", @@ -489,7 +491,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[79]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-79-700-normal.woff2", @@ -497,7 +499,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[80]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-80-700-normal.woff2", @@ -505,7 +507,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[81]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-81-700-normal.woff2", @@ -513,7 +515,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[82]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-82-700-normal.woff2", @@ -521,7 +523,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[83]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-83-700-normal.woff2", @@ -529,7 +531,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[84]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-84-700-normal.woff2", @@ -537,7 +539,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[85]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-85-700-normal.woff2", @@ -545,7 +547,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[86]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-86-700-normal.woff2", @@ -553,7 +555,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[87]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-87-700-normal.woff2", @@ -561,7 +563,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[88]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-88-700-normal.woff2", @@ -569,7 +571,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[89]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-89-700-normal.woff2", @@ -577,7 +579,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[90]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-90-700-normal.woff2", @@ -585,7 +587,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[91]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-91-700-normal.woff2", @@ -593,7 +595,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[97]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-97-700-normal.woff2", @@ -601,7 +603,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[98]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-98-700-normal.woff2", @@ -609,7 +611,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[99]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-99-700-normal.woff2", @@ -617,7 +619,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[100]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-100-700-normal.woff2", @@ -625,7 +627,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[101]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-101-700-normal.woff2", @@ -633,7 +635,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[102]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-102-700-normal.woff2", @@ -641,7 +643,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[103]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-103-700-normal.woff2", @@ -649,7 +651,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[104]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-104-700-normal.woff2", @@ -657,7 +659,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[105]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-105-700-normal.woff2", @@ -665,7 +667,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[106]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-106-700-normal.woff2", @@ -673,7 +675,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[107]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-107-700-normal.woff2", @@ -681,7 +683,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[108]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-108-700-normal.woff2", @@ -689,7 +691,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[109]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-109-700-normal.woff2", @@ -697,7 +699,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[110]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-110-700-normal.woff2", @@ -705,7 +707,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[111]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-111-700-normal.woff2", @@ -713,7 +715,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[112]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-112-700-normal.woff2", @@ -721,7 +723,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[113]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-113-700-normal.woff2", @@ -729,7 +731,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[114]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-114-700-normal.woff2", @@ -737,7 +739,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[115]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-115-700-normal.woff2", @@ -745,7 +747,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[116]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-116-700-normal.woff2", @@ -753,7 +755,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[117]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-117-700-normal.woff2", @@ -761,7 +763,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[118]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-118-700-normal.woff2", @@ -769,7 +771,7 @@ $scFamily: "Noto Sans SC"; ); /* noto-sans-sc-[119]-700-normal */ -@include fontFace( +@include font.face( $family: $scFamily, $weight: 700, $url: "~@fontsource/noto-sans-sc/files/noto-sans-sc-119-700-normal.woff2", diff --git a/src/styles/noto-sans/tc-400-normal.scss b/src/styles/noto-sans/tc-400-normal.scss index 5d1e9e76db..25f118adb3 100644 --- a/src/styles/noto-sans/tc-400-normal.scss +++ b/src/styles/noto-sans/tc-400-normal.scss @@ -1,707 +1,709 @@ +@use "../font"; + $tcFamily: "Noto Sans TC"; /* noto-sans-tc-[0]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-0-400-normal.woff2", $range: (U+1f921-1f930, U+1f932-1f935, U+1f937-1f939, U+1f940-1f944, U+1f947-1f94a, U+1f950-1f95f, U+1f962-1f967, U+1f969-1f96a, U+1f980-1f981, U+1f984-1f98d, U+1f990-1f992, U+1f994-1f996, U+1f9c0, U+1f9d0, U+1f9d2, U+1f9d4, U+1f9d6, U+1f9d8, U+1f9da, U+1f9dc-1f9dd, U+1f9df-1f9e2, U+1f9e5-1f9e6, U+20024, U+20487, U+20779, U+20c41, U+20c78, U+20d71, U+20e98, U+20ef9, U+2107b, U+210c1, U+22c51, U+233b4, U+24a12, U+2512b, U+2546e, U+25683, U+267cc, U+269f2, U+27657, U+282e2, U+2898d, U+29d5a, U+f0001-f0005, U+f0019, U+f009b, U+f0101-f0104, U+f012b, U+f01ba, U+f01d6, U+f0209, U+f0217, U+f0223-f0224, U+fc355, U+fe327, U+fe517, U+feb97, U+fffb4) ); /* noto-sans-tc-[6]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-6-400-normal.woff2", $range: (U+ff78-ff7e, U+ff80-ff86, U+ff89-ff94, U+ff97-ff9e, U+ffb9, U+ffe0-ffe3, U+ffe9, U+ffeb, U+ffed, U+fffc, U+1d7c7, U+1f004, U+1f0cf, U+1f141-1f142, U+1f150, U+1f154, U+1f158, U+1f15b, U+1f15d-1f15e, U+1f162-1f163, U+1f170-1f171, U+1f174, U+1f177-1f178, U+1f17d-1f17f, U+1f192-1f195, U+1f197-1f19a, U+1f1e6-1f1f5, U+1f1f7-1f1ff, U+1f21a, U+1f22f, U+1f232-1f237, U+1f239-1f23a, U+1f250-1f251, U+1f300, U+1f302-1f319) ); /* noto-sans-tc-[7]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-7-400-normal.woff2", $range: (U+fa0a, U+fa0c, U+fa11, U+fa17, U+fa19, U+fa1b, U+fa1d, U+fa26, U+fa2c, U+fb01, U+fdfc, U+fe0e, U+fe33-fe36, U+fe38-fe44, U+fe49-fe51, U+fe54, U+fe56-fe57, U+fe59-fe5c, U+fe5f-fe6a, U+fe8e, U+fe92-fe93, U+feae, U+fecb-fecc, U+fee0, U+feec, U+fef3, U+ff04, U+ff07, U+ff26-ff2c, U+ff31-ff32, U+ff35-ff37, U+ff39-ff3a, U+ff3c, U+ff3e-ff5b, U+ff5d, U+ff61-ff65, U+ff67-ff68, U+ff6a, U+ff6c-ff77) ); /* noto-sans-tc-[8]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-8-400-normal.woff2", $range: (U+f78a-f78c, U+f78e, U+f792-f796, U+f798, U+f79c, U+f7f5, U+f812, U+f815, U+f876, U+f8f5, U+f8f8, U+f8ff, U+f901-f902, U+f904, U+f906, U+f909-f90a, U+f90f, U+f914, U+f918-f919, U+f91b, U+f91d, U+f91f, U+f923, U+f925, U+f92d-f92f, U+f934, U+f937-f938, U+f93d, U+f93f, U+f941, U+f949, U+f94c, U+f94e-f94f, U+f95a, U+f95d-f95e, U+f961-f963, U+f965-f970, U+f974, U+f976-f97a, U+f97c, U+f97e-f97f, U+f981, U+f983, U+f988, U+f98a, U+f98c, U+f98e, U+f996-f997, U+f999-f99a, U+f99c, U+f99f-f9a0, U+f9a3, U+f9a8, U+f9ad, U+f9b2-f9b6, U+f9b9-f9ba, U+f9bd-f9be, U+f9c1, U+f9c4, U+f9c7, U+f9ca, U+f9cd, U+f9d0-f9d1, U+f9d3-f9d4, U+f9d7-f9d8, U+f9dc-f9dd, U+f9df-f9e1, U+f9e4, U+f9e8-f9ea, U+f9f4, U+f9f6-f9f7, U+f9f9-f9fa, U+f9fc-fa01, U+fa03-fa04, U+fa06, U+fa08-fa09) ); /* noto-sans-tc-[19]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-19-400-normal.woff2", $range: (U+9eb9-9eba, U+9ebe-9ebf, U+9ecc-9ecd, U+9ed0, U+9ed2, U+9ed4, U+9ed9-9eda, U+9edc-9edd, U+9edf-9ee0, U+9ee2, U+9ee5, U+9ee7, U+9eee, U+9ef3-9ef4, U+9ef6-9ef7, U+9ef9, U+9efb-9efd, U+9eff, U+9f07-9f09, U+9f10, U+9f14-9f15, U+9f19, U+9f22, U+9f29, U+9f2c, U+9f2f, U+9f31, U+9f34, U+9f37, U+9f39, U+9f3d-9f3e, U+9f41, U+9f4c-9f50, U+9f54, U+9f57, U+9f59, U+9f5c, U+9f5f-9f60, U+9f62-9f63, U+9f66-9f67, U+9f6a, U+9f6c, U+9f72, U+9f76-9f77, U+9f7f, U+9f84-9f85, U+9f88, U+9f8e, U+9f91, U+9f94-9f96, U+9f98, U+9f9a-9f9b, U+9f9f-9fa0, U+9fa2, U+9fa4, U+a1f4, U+a4b0-a4b1, U+a4b3, U+a9c1-a9c2, U+aa31, U+ab34, U+ac00-ac01, U+ac04, U+ac08, U+ac10-ac11, U+ac13-ac16, U+ac19, U+ac1c-ac1d, U+ac24, U+ac70-ac71, U+ac74, U+ac77-ac78, U+ac80-ac81, U+ac83, U+ac8c, U+ac90, U+aca0, U+aca8-aca9, U+acac, U+acb0, U+acb8-acb9, U+acbc-acbd, U+acc1, U+acc4, U+ace0-ace1, U+ace4, U+ace8, U+acf0-acf1, U+acf3, U+acf5, U+acfc) ); /* noto-sans-tc-[20]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-20-400-normal.woff2", $range: (U+9d34, U+9d37, U+9d3d, U+9d42, U+9d50, U+9d52-9d53, U+9d59, U+9d5c, U+9d5e-9d61, U+9d6a, U+9d6f-9d70, U+9d77, U+9d7a, U+9d7e, U+9d87, U+9d89, U+9d8f, U+9d91-9d93, U+9d96, U+9d98, U+9d9a, U+9da1-9da2, U+9da5, U+9da9, U+9dab-9dac, U+9db1-9db2, U+9db5, U+9db9-9dbc, U+9dbf-9dc2, U+9dc4, U+9dc7-9dc9, U+9dd3, U+9dd6, U+9dd9-9dda, U+9dde-9ddf, U+9de2, U+9de5-9de6, U+9de8, U+9def-9df0, U+9df2-9df4, U+9df8, U+9dfa, U+9dfd, U+9dff, U+9e02, U+9e07, U+9e0a, U+9e11, U+9e15, U+9e18, U+9e1a-9e1b, U+9e1d-9e1e, U+9e20-9e23, U+9e25-9e26, U+9e2d, U+9e2f, U+9e33, U+9e35, U+9e3d-9e3f, U+9e42-9e43, U+9e45, U+9e48-9e4a, U+9e4c, U+9e4f, U+9e51, U+9e55, U+9e64, U+9e66, U+9e6b, U+9e6d-9e6e, U+9e70, U+9e73, U+9e75, U+9e78, U+9e80-9e83, U+9e87-9e88, U+9e8b-9e8c, U+9e90-9e91, U+9e93, U+9e96, U+9e9d, U+9ea1, U+9ea4, U+9ea6, U+9ea9-9eab, U+9ead, U+9eaf, U+9eb4, U+9eb7-9eb8) ); /* noto-sans-tc-[21]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-21-400-normal.woff2", $range: (U+9bd3-9bd7, U+9bd9, U+9bdb, U+9bdd, U+9be1-9be2, U+9be4-9be5, U+9be7, U+9bea, U+9bed-9bee, U+9bf0-9bf1, U+9bf5, U+9bf7, U+9bf9, U+9bfd, U+9bff, U+9c02, U+9c06, U+9c08-9c0a, U+9c0d, U+9c10, U+9c12-9c13, U+9c15, U+9c1c, U+9c1f, U+9c21, U+9c23-9c25, U+9c28-9c29, U+9c2d-9c2e, U+9c31-9c33, U+9c35-9c37, U+9c39-9c3b, U+9c3d-9c3e, U+9c40, U+9c42, U+9c45-9c49, U+9c52, U+9c54, U+9c56, U+9c58-9c5a, U+9c5d, U+9c5f-9c60, U+9c63, U+9c67-9c68, U+9c72, U+9c75, U+9c78, U+9c7a-9c7c, U+9c7f-9c81, U+9c87-9c88, U+9c8d, U+9c91, U+9c94, U+9c97, U+9c9b, U+9ca4, U+9ca8, U+9cab, U+9cad, U+9cb1-9cb3, U+9cb6-9cb8, U+9cc4-9cc5, U+9ccc-9ccd, U+9cd5-9cd7, U+9cdd-9cdf, U+9ce7, U+9ce9, U+9cee-9cf0, U+9cf2, U+9cfc-9cfe, U+9d03, U+9d06-9d08, U+9d0e, U+9d10, U+9d12, U+9d15, U+9d17, U+9d1d-9d1f, U+9d23, U+9d2b, U+9d2f-9d30) ); /* noto-sans-tc-[22]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-22-400-normal.woff2", $range: (U+9a6f-9a71, U+9a73-9a74, U+9a76, U+9a78-9a79, U+9a7b-9a7c, U+9a7e-9a7f, U+9a81-9a82, U+9a84-9a87, U+9a8a-9a8b, U+9a8f-9a91, U+9a97, U+9a9a, U+9a9e, U+9aa0-9aa1, U+9aa4-9aa5, U+9aaf-9ab1, U+9ab6, U+9ab9-9aba, U+9abe, U+9ac0-9ac5, U+9ac8, U+9acb-9acc, U+9ace-9acf, U+9ad1, U+9ad5-9ad7, U+9ad9, U+9adf, U+9ae1, U+9ae3, U+9aea-9aeb, U+9aed, U+9aef, U+9af2, U+9af4, U+9af9, U+9afb, U+9afd, U+9b03-9b04, U+9b08, U+9b13, U+9b18, U+9b1f, U+9b22-9b23, U+9b28-9b2a, U+9b2c-9b30, U+9b32, U+9b3b, U+9b43, U+9b46-9b49, U+9b4b-9b4e, U+9b51, U+9b55, U+9b58, U+9b5b, U+9b5e-9b60, U+9b63, U+9b68-9b69, U+9b74, U+9b7d, U+9b80-9b81, U+9b83-9b84, U+9b87-9b88, U+9b8a-9b8b, U+9b8d-9b8e, U+9b90, U+9b92-9b95, U+9b97, U+9b9f-9ba0, U+9ba2-9ba3, U+9ba8, U+9bab, U+9bb0, U+9bb8, U+9bc0-9bc1, U+9bc3, U+9bc6-9bc8) ); /* noto-sans-tc-[23]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-23-400-normal.woff2", $range: (U+9912, U+9914, U+9916-9917, U+991b-991c, U+991e, U+9920, U+9927, U+992b-992c, U+992e, U+9931-9933, U+9938, U+993a, U+993c-9940, U+9943-9944, U+9948-994a, U+994c-994e, U+9951, U+9954, U+995c, U+995e-995f, U+9961-9962, U+9965, U+9968, U+996a, U+996d-9972, U+9975-9976, U+997a, U+997c, U+997f-9980, U+9984-9985, U+9988, U+998b, U+998d, U+998f, U+9992, U+9994-9995, U+9997-9998, U+999c, U+999e, U+99a0-99a1, U+99ab, U+99af, U+99b1, U+99b4, U+99b9, U+99c4-99c6, U+99cf, U+99d1-99d2, U+99d4, U+99d6, U+99d8-99d9, U+99df, U+99e1-99e2, U+99e9, U+99ee, U+99f0, U+99f8, U+99fb, U+9a01-9a05, U+9a0c, U+9a0f-9a13, U+9a16, U+9a1b-9a1c, U+9a20, U+9a24, U+9a28, U+9a2b, U+9a2d-9a2e, U+9a34-9a36, U+9a38, U+9a3e, U+9a40-9a44, U+9a4a, U+9a4c-9a4e, U+9a52, U+9a56, U+9a62-9a65, U+9a69-9a6b, U+9a6d) ); /* noto-sans-tc-[24]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-24-400-normal.woff2", $range: (U+97c6, U+97c9, U+97cd, U+97d6, U+97d8-97d9, U+97dc-97de, U+97e1, U+97e6-97e7, U+97ec-97ee, U+97f0-97f1, U+97f5, U+97f9-97fa, U+97fe, U+9804, U+9807, U+980a, U+980e-980f, U+9814, U+9816, U+981a, U+981c, U+981e, U+9820-9821, U+9823, U+9826, U+9828, U+982a-982c, U+9832, U+9834-9835, U+9837, U+9839, U+983c-983d, U+9845, U+9848-9849, U+984e, U+9852-9857, U+9859-985a, U+9862-9863, U+9865, U+9870-9871, U+9873-9874, U+9877, U+987a-987f, U+9881-9882, U+9885, U+9887-988a, U+988c-988d, U+9890, U+9893, U+9896-9897, U+989a, U+989c-989e, U+98a0, U+98a4, U+98a6-98a7, U+98a9, U+98ae-98af, U+98b2-98b3, U+98b6-98b8, U+98ba-98bd, U+98bf, U+98c7-98c8, U+98ca, U+98d2-98d3, U+98d8-98da, U+98dc, U+98de, U+98e0-98e1, U+98e3, U+98e5, U+98e7-98e9, U+98eb-98ee, U+98f1, U+98f4, U+9901, U+9908-9909, U+990c, U+9911) ); /* noto-sans-tc-[25]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-25-400-normal.woff2", $range: (U+964e-964f, U+9651, U+9653-9655, U+9658, U+965b-965f, U+9661, U+9665, U+9668-9669, U+966c, U+9672, U+9674, U+967a, U+9682-9685, U+9688-9689, U+968b, U+968d, U+9695, U+9697-9698, U+969e, U+96a0-96a4, U+96a9, U+96ac, U+96ae, U+96b0, U+96b2-96b4, U+96b6-96b7, U+96b9, U+96bc-96be, U+96c3, U+96c9-96cb, U+96ce-96cf, U+96d1-96d2, U+96d8, U+96dd, U+96e9, U+96eb, U+96f0-96f1, U+96f3-96f4, U+96f9, U+96fe-96ff, U+9701-9702, U+9705, U+9708, U+970a, U+970e-9711, U+9719, U+971d, U+971f-9720, U+9728, U+972a, U+972d, U+9730, U+9733, U+973a, U+973d, U+9744, U+9746-9747, U+9749, U+9750-9751, U+9753, U+9758-9759, U+975b, U+975d, U+9763, U+9765-9766, U+9768, U+976c-976d, U+9771, U+9773, U+9776, U+977a, U+977c, U+9780, U+9784-9786, U+9788, U+978e-978f, U+9798, U+979d-979e, U+97a3, U+97a5-97a6, U+97a8, U+97ab-97ac, U+97ae, U+97b6-97b7, U+97b9, U+97bf, U+97c1, U+97c3) ); /* noto-sans-tc-[26]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-26-400-normal.woff2", $range: (U+950c, U+950f-9510, U+9519-951b, U+951d, U+951f, U+9521-9526, U+952d-9530, U+9535, U+953a-953b, U+9540-9542, U+9547, U+9549-954a, U+954d, U+9550-9551, U+9554-9556, U+955c, U+956c-956d, U+956f-9570, U+9573, U+9576, U+9578, U+9582, U+9586, U+9588, U+958e-958f, U+9599, U+959c, U+959e-959f, U+95a1-95a2, U+95a4, U+95a6-95a7, U+95aa-95ae, U+95b0, U+95b2, U+95b6, U+95b9-95bf, U+95c2-95c4, U+95c7-95c9, U+95cb-95cd, U+95d0, U+95d3-95d5, U+95d7-95d8, U+95da, U+95de, U+95e0-95e1, U+95e4-95e5, U+95ea-95eb, U+95ef-95f0, U+95f2-95f3, U+95f5, U+95f7-95fa, U+95fd, U+9600-9602, U+9607-9609, U+960e, U+9610-9611, U+9614, U+9616, U+9619-961a, U+961c-961d, U+961f, U+9621, U+9624, U+9628, U+962f, U+9633-9636, U+963c, U+9641-9643, U+9645, U+9647-9648) ); /* noto-sans-tc-[27]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-27-400-normal.woff2", $range: (U+93e4, U+93e8, U+93ee, U+93f0, U+93f5, U+93f7-93f9, U+93fb, U+9403, U+9407, U+940f-9410, U+9413-9414, U+9417, U+9419-941a, U+941c, U+941e, U+9420-9425, U+9427-942b, U+942e, U+9432-9433, U+9436, U+9438, U+943a, U+943d, U+943f-9440, U+9445, U+944a, U+944c, U+9454-9455, U+945a-945b, U+945e, U+9460, U+9462-9463, U+9468, U+946a, U+946d, U+946f, U+9471, U+9474-9477, U+9479, U+947e-9481, U+9488-948a, U+948e, U+9492-9493, U+9497, U+9499, U+949b-94a3, U+94a5-94a9, U+94ac, U+94ae-94b1, U+94b3-94b5, U+94bb-94bc, U+94be-94c3, U+94c5-94c6, U+94c9, U+94ce-94d0, U+94db-94dd, U+94e0, U+94e2-94e3, U+94e8, U+94ec-94ee, U+94f0, U+94f2, U+94f5-94f6, U+94f8, U+94fa, U+94ff-9502, U+9504-9506, U+9508, U+950b) ); /* noto-sans-tc-[28]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-28-400-normal.woff2", $range: (U+92e5-92e6, U+92e8-92e9, U+92ed-92ef, U+92f1-92f3, U+92f6, U+92f9, U+92fb, U+9300-9302, U+9306, U+930b, U+930f, U+9312, U+9315, U+9319-931b, U+931d-931f, U+9321, U+9323-9325, U+9327-932a, U+932c-932e, U+9331-9333, U+9335, U+9338, U+933c, U+9340-9341, U+9345-9349, U+934f-9352, U+9354, U+9356-935a, U+935c-9360, U+9363-9367, U+9369-936a, U+936c, U+936e, U+9370-9371, U+9373, U+9376, U+9379-937a, U+937c, U+9385, U+9387, U+938c, U+938f, U+9394, U+9397-9398, U+939a-939b, U+939d-939e, U+93a1-93a3, U+93a6-93a7, U+93a9-93aa, U+93ac-93ad, U+93af-93b0, U+93b3-93bb, U+93bd-93be, U+93c0-93c4, U+93c7, U+93ca-93cd, U+93d0-93d1, U+93d6-93d8, U+93dc-93de, U+93e0) ); /* noto-sans-tc-[29]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-29-400-normal.woff2", $range: (U+91f0-91f1, U+91f5-91fa, U+91fd, U+91ff-9201, U+9203-920a, U+920d-920e, U+9210-9211, U+9217, U+9219, U+921c, U+9221, U+9224-9225, U+9227, U+922a, U+922d-922e, U+9230-9231, U+9233, U+9235-9239, U+923b, U+923d-9241, U+9244, U+9246, U+9248-9249, U+924b-9251, U+9253, U+925a, U+925d-925e, U+9262, U+9265-9267, U+926b-926d, U+926f, U+9271-9272, U+9274, U+9276, U+9278, U+927a-927c, U+927e-927f, U+9282-9283, U+9286, U+9288, U+928a, U+928d-928e, U+9291, U+9295-9296, U+9299-929b, U+929d, U+92a0-92ae, U+92b2, U+92b5-92b6, U+92bb-92bc, U+92c2-92c3, U+92c6-92cd, U+92cf-92d1, U+92d5, U+92d7, U+92d9, U+92dd, U+92df, U+92e4) ); /* noto-sans-tc-[30]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-30-400-normal.woff2", $range: (U+90bb, U+90bd-90be, U+90c3-90c5, U+90c7, U+90d1, U+90d4-90d5, U+90d7, U+90db-90df, U+90e2-90e4, U+90ea-90eb, U+90ef, U+90f4, U+90f7-90f8, U+90fc, U+90fe-9100, U+9102, U+9104, U+9106, U+9112, U+9114-911a, U+911c, U+911e, U+9120, U+9122-9123, U+9129, U+912b, U+912f, U+9131-9132, U+9134, U+9136, U+9139-913a, U+9143, U+9146, U+9148-914a, U+914e-9150, U+9154, U+9156-9157, U+9159-915a, U+915d-915e, U+9161-9164, U+916b, U+916e, U+9170-9172, U+9174, U+9176, U+9179-917a, U+917f, U+9181-9182, U+9184-9186, U+918c-918e, U+9190-9191, U+9196, U+919a-919b, U+919e, U+91a1-91a4, U+91a7, U+91aa, U+91ae-91b2, U+91b4-91b5, U+91b8, U+91bd-91be, U+91c1, U+91c3, U+91c5-91c6, U+91c8-91ca, U+91d2-91d5, U+91d7, U+91d9, U+91e1, U+91e4, U+91e6-91e9, U+91ec-91ed) ); /* noto-sans-tc-[31]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-31-400-normal.woff2", $range: (U+8f68-8f69, U+8f6d-8f72, U+8f74, U+8f76, U+8f7b-8f7c, U+8f7f, U+8f83-8f86, U+8f88-8f8a, U+8f8d, U+8f90, U+8f93, U+8f95-8f97, U+8f99, U+8f9e-8f9f, U+8fa2, U+8fa7, U+8fa9, U+8fab, U+8fae, U+8fb3, U+8fb5-8fb6, U+8fba-8fbd, U+8fbf, U+8fc1-8fc2, U+8fc6, U+8fc8, U+8fcc-8fcd, U+8fd2-8fd3, U+8fd5, U+8fdc-8fdd, U+8fdf, U+8fe2-8fe5, U+8fe8-8fe9, U+8fed-8fee, U+8ff3, U+8ff5, U+8ff8, U+8ffa-8ffc, U+8ffe, U+9002, U+9004, U+9008, U+900a-900b, U+9011-9013, U+9016, U+901e, U+9021, U+9024, U+902d, U+902f-9030, U+9034-9036, U+9039-903b, U+9041, U+9044-9045, U+904f-9052, U+9057-9058, U+905b, U+905d, U+9061-9062, U+9065, U+9068, U+906f, U+9074, U+9079, U+907d, U+9083, U+9085, U+9087-9089, U+908b, U+9090, U+9093, U+9095, U+9097, U+9099, U+909b, U+909d-909e, U+90a0-90a2, U+90ac, U+90af-90b0, U+90b2-90b4, U+90b6, U+90b9) ); /* noto-sans-tc-[32]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-32-400-normal.woff2", $range: (U+8e18, U+8e1d-8e21, U+8e23, U+8e26-8e28, U+8e2a-8e2b, U+8e2d-8e2e, U+8e30-8e31, U+8e35, U+8e39, U+8e3c-8e3d, U+8e40-8e42, U+8e47, U+8e49-8e4e, U+8e50, U+8e53-8e55, U+8e59-8e5b, U+8e60, U+8e62-8e63, U+8e67, U+8e69, U+8e6c-8e6d, U+8e6f, U+8e74, U+8e76, U+8e7a-8e7c, U+8e82, U+8e84-8e85, U+8e87, U+8e89-8e8b, U+8e8f-8e95, U+8e99-8e9a, U+8e9d-8e9e, U+8ea1, U+8ea3, U+8ea5-8ea6, U+8eaa, U+8eac-8ead, U+8eaf-8eb1, U+8eb9, U+8ebc, U+8ebe, U+8ec6, U+8ecb, U+8ecf, U+8ed1, U+8ed4, U+8ed7, U+8eda-8edb, U+8ee2, U+8ee8, U+8eeb, U+8ef2, U+8ef9-8efe, U+8f05, U+8f07-8f08, U+8f0a-8f0c, U+8f12-8f13, U+8f17, U+8f19-8f1a, U+8f1c, U+8f1e-8f1f, U+8f25-8f26, U+8f2d, U+8f30, U+8f33, U+8f36, U+8f3e, U+8f40-8f42, U+8f45-8f47, U+8f4d, U+8f54-8f55, U+8f5d, U+8f61-8f62, U+8f64, U+8f67) ); /* noto-sans-tc-[33]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-33-400-normal.woff2", $range: (U+8cc1-8cc2, U+8cc4-8cc5, U+8ccf-8cd2, U+8cd4-8cd5, U+8cd9-8cdb, U+8ce1, U+8ce8, U+8ceb, U+8cf0, U+8cf8, U+8cfb, U+8cfe, U+8d04, U+8d07, U+8d0b, U+8d0d, U+8d10, U+8d12-8d14, U+8d17, U+8d1b-8d1f, U+8d21-8d26, U+8d29-8d2c, U+8d2e-8d32, U+8d34-8d35, U+8d37-8d38, U+8d3a-8d3c, U+8d3e-8d3f, U+8d41-8d43, U+8d48, U+8d4b-8d4c, U+8d4e-8d50, U+8d54, U+8d56, U+8d58, U+8d5a-8d5b, U+8d5f-8d60, U+8d62-8d63, U+8d66-8d69, U+8d6c-8d6e, U+8d73, U+8d75-8d76, U+8d7b, U+8d7d, U+8d84, U+8d8b, U+8d90-8d91, U+8d94, U+8d96, U+8d9c, U+8dab, U+8daf, U+8db2, U+8db5, U+8db7, U+8dba, U+8dbc, U+8dbf, U+8dc2-8dc3, U+8dc6, U+8dcb, U+8dce-8dd0, U+8dd6-8dd7, U+8dda-8ddb, U+8de3-8de4, U+8de9, U+8deb-8dec, U+8df1, U+8df5-8df7, U+8dfa-8dfd, U+8e05, U+8e08-8e0a, U+8e0e, U+8e14, U+8e16) ); /* noto-sans-tc-[34]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-34-400-normal.woff2", $range: (U+8b6c-8b6d, U+8b72, U+8b7e, U+8b83, U+8b89, U+8b8c, U+8b8e, U+8b90, U+8b92, U+8b95-8b96, U+8b99, U+8b9c, U+8b9e-8b9f, U+8ba3, U+8ba5, U+8ba7, U+8baa, U+8bad, U+8bb2-8bb4, U+8bb6-8bb9, U+8bbc-8bbd, U+8bbf-8bc0, U+8bc3, U+8bc5, U+8bc8-8bcb, U+8bcf, U+8bd1, U+8bd7-8bdc, U+8bde-8be1, U+8be3, U+8be7, U+8be9, U+8beb-8bec, U+8bef, U+8bf1-8bf2, U+8bf5-8bf6, U+8bf8, U+8bfa, U+8bfd-8bfe, U+8c01-8c02, U+8c05, U+8c08, U+8c0a-8c11, U+8c13-8c15, U+8c18-8c1c, U+8c1f, U+8c23-8c29, U+8c2c-8c2d, U+8c31, U+8c34, U+8c36, U+8c39, U+8c3f, U+8c47, U+8c49-8c4c, U+8c4f, U+8c51, U+8c55, U+8c62, U+8c68, U+8c73, U+8c78, U+8c7a-8c7c, U+8c82, U+8c85, U+8c89-8c8a, U+8c8d-8c8e, U+8c90, U+8c94, U+8c98-8c99, U+8ca3-8ca4, U+8cad-8cb0, U+8cb2, U+8cb9-8cba, U+8cbd) ); /* noto-sans-tc-[35]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-35-400-normal.woff2", $range: (U+89f6, U+89ff, U+8a01, U+8a03, U+8a07, U+8a09, U+8a0c, U+8a0f-8a12, U+8a16, U+8a1b, U+8a22, U+8a25, U+8a27, U+8a2b, U+8a33, U+8a36, U+8a38, U+8a3d-8a3e, U+8a41, U+8a45-8a46, U+8a48, U+8a4e, U+8a51-8a52, U+8a54, U+8a56-8a58, U+8a5b, U+8a5d, U+8a61, U+8a63, U+8a67, U+8a6a-8a6c, U+8a70, U+8a74-8a76, U+8a7a-8a7c, U+8a82, U+8a84-8a86, U+8a89, U+8a8f-8a92, U+8a94, U+8a9a, U+8aa1, U+8aa3, U+8aa5, U+8aa7-8aa8, U+8aad, U+8ab1, U+8ab6, U+8abe, U+8ac2, U+8ac4, U+8ac6, U+8ac9, U+8acc-8acf, U+8ad1, U+8adb, U+8add-8ae2, U+8ae4, U+8ae6, U+8aea-8aeb, U+8aed, U+8af1-8af6, U+8afa, U+8afc, U+8b01, U+8b04-8b05, U+8b07, U+8b0b-8b0d, U+8b0f-8b10, U+8b13-8b14, U+8b16, U+8b1a, U+8b1c, U+8b21-8b22, U+8b26, U+8b28, U+8b2b, U+8b2e, U+8b33, U+8b41, U+8b46, U+8b4c-8b4f, U+8b53-8b54, U+8b56, U+8b59, U+8b5e-8b60, U+8b64, U+8b6a-8b6b) ); /* noto-sans-tc-[36]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-36-400-normal.woff2", $range: (U+889b-889c, U+889e, U+88a2, U+88a4, U+88a8, U+88aa, U+88ad-88ae, U+88b1, U+88b4, U+88b7-88b8, U+88bc-88be, U+88c0, U+88c4, U+88c6-88c7, U+88c9-88cc, U+88ce, U+88d2, U+88d6, U+88d8, U+88db, U+88df, U+88e4, U+88e8-88e9, U+88ec, U+88ef-88f1, U+88f3-88f5, U+88fc, U+88fe, U+8900, U+8902, U+8906, U+890a-890c, U+8912-8915, U+8918-891a, U+891f, U+8921, U+8923, U+8925, U+892a-892b, U+892d, U+8930, U+8933, U+8935-8936, U+8938, U+893d, U+8941-8943, U+8946-8947, U+8949, U+894c-894d, U+8956-8957, U+8959, U+895c, U+895e-8960, U+8964, U+8966, U+896c, U+8971, U+8974, U+897b, U+897e, U+8980, U+8982-8983, U+8987-8988, U+898a, U+898c, U+8991, U+8994-8995, U+8997-8998, U+899a, U+899c, U+89a1, U+89a4-89a7, U+89a9, U+89ac, U+89af, U+89b2-89b3, U+89b7, U+89bb, U+89bf, U+89c5, U+89c9-89ca, U+89d1, U+89d4-89d5, U+89da, U+89dc-89de, U+89e5-89e7, U+89ed, U+89f1, U+89f3-89f4) ); /* noto-sans-tc-[37]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-37-400-normal.woff2", $range: (U+874c, U+874e-874f, U+8753, U+8757-8758, U+875d, U+875f, U+8761-8765, U+8768, U+876a, U+876c-8770, U+8772, U+8777, U+877a-877b, U+877d, U+8781, U+8784-8785, U+8788, U+878b, U+8793, U+8797-8798, U+879f, U+87a3, U+87a8, U+87ab-87ad, U+87af, U+87b3, U+87b5, U+87b9, U+87bb, U+87bd-87c0, U+87c4-87c8, U+87ca-87cc, U+87ce, U+87d2, U+87db-87dc, U+87e0-87e1, U+87e3, U+87e5, U+87e7, U+87ea-87eb, U+87ee-87ef, U+87f3-87f4, U+87f6-87f7, U+87fe, U+8802-8806, U+880a-880b, U+880e, U+8810-8811, U+8813, U+8815-8816, U+881b, U+8821, U+8823, U+8827, U+8831-8832, U+8835, U+8839-883a, U+883c, U+8844-8846, U+884a, U+884e, U+8852, U+8854-8856, U+8859-885a, U+885e, U+8862, U+8864-8865, U+8869-886a, U+886c-886e, U+8871-8872, U+8875, U+8879, U+887d-887f, U+8882, U+8884-8885, U+8888, U+8890, U+8892-8893, U+8897-8898, U+889a) ); /* noto-sans-tc-[38]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-38-400-normal.woff2", $range: (U+8602, U+8604-8605, U+8610, U+8616-8618, U+861a, U+861e, U+8621-8622, U+8627, U+8629-862a, U+8634-8636, U+8638, U+863a, U+863c, U+8640, U+8642, U+8646, U+864c-864d, U+864f, U+8651-8654, U+8657, U+8659-865a, U+865c, U+8662, U+866b-866c, U+866f-8671, U+8673, U+8677, U+867a-867b, U+867d-867e, U+8680-8682, U+868b-868d, U+8693-8696, U+869a, U+869c-869d, U+86a1, U+86a3-86a4, U+86a7-86aa, U+86af-86b1, U+86b3-86b4, U+86b6, U+86b9-86ba, U+86c0-86c2, U+86c4, U+86c6, U+86c9-86ca, U+86cc-86ce, U+86d0, U+86d3-86d4, U+86de-86df, U+86e9, U+86ed-86f0, U+86f3, U+86f8-86fc, U+86fe, U+8703, U+8706-870a, U+870d-870e, U+8711-8712, U+8715, U+8717, U+8719-871a, U+871e, U+8721-8723, U+8725, U+8728-8729, U+872e, U+8731, U+8734, U+8737, U+873a, U+873e-8740, U+8742, U+8747, U+8749, U+874b) ); /* noto-sans-tc-[39]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-39-400-normal.woff2", $range: (U+84b1, U+84b4, U+84b9-84bb, U+84bd-84c0, U+84c2, U+84c6-84c7, U+84ca, U+84cd-84d2, U+84d6, U+84dd, U+84df, U+84e2, U+84e6-84e8, U+84ea, U+84ef-84f0, U+84f3-84f4, U+84f7, U+84fa, U+84fc-84fd, U+84ff-8500, U+8506, U+850c, U+8511, U+8515, U+8517, U+851d-851f, U+8524, U+852b, U+852f, U+8532, U+8534-8535, U+8537-8538, U+853a, U+853c, U+853e, U+8541-8542, U+8545, U+8548, U+854b, U+854d-854e, U+8552-8553, U+8555-8558, U+855a, U+855e, U+8561-8565, U+8568, U+856a-856c, U+856f, U+8574, U+8577-857b, U+8580-8581, U+8585-8586, U+858a, U+858c, U+858f-8590, U+8594, U+8597-8599, U+859c, U+859f, U+85a1-85a2, U+85a4, U+85a8, U+85ab-85ac, U+85ae, U+85b3-85b4, U+85b7, U+85b9-85ba, U+85bd-85be, U+85c1-85c2, U+85cb, U+85ce, U+85d0, U+85d3, U+85d5, U+85dc, U+85e0, U+85e6, U+85e8, U+85ea, U+85ed, U+85f4, U+85f6-85f7, U+85f9-85fa, U+85ff) ); /* noto-sans-tc-[40]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-40-400-normal.woff2", $range: (U+8378, U+837a-8380, U+8383, U+8385-8386, U+8392, U+8394-8395, U+8398-8399, U+839b-839c, U+83a0, U+83a2, U+83a4, U+83a7-83aa, U+83af-83b5, U+83b7, U+83b9-83ba, U+83bc-83c0, U+83c2, U+83c4-83c5, U+83c8-83c9, U+83cb, U+83ce-83cf, U+83d1, U+83d4-83d6, U+83d8, U+83dd, U+83df, U+83e1-83e2, U+83e5, U+83ea-83eb, U+83f0, U+83f3-83f4, U+83f9, U+83fb-83fe, U+8406-8407, U+840b, U+840f, U+8411, U+8413, U+8418, U+841b-841d, U+8420-8421, U+8423-8424, U+8426-8429, U+842b, U+842d-842e, U+8432-8433, U+8435, U+8437-8439, U+843b-843c, U+843e, U+8445-8447, U+844e, U+8451-8452, U+8456, U+8459-845a, U+845c, U+845f, U+8462, U+8466-8467, U+846d, U+846f-8471, U+8473-8474, U+8476-8478, U+847a, U+8484, U+848b, U+848d-848e, U+8493-8494, U+8497, U+849d, U+849f, U+84a1, U+84a8, U+84af) ); /* noto-sans-tc-[41]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-41-400-normal.woff2", $range: (U+826e, U+8270, U+8273, U+8276, U+8278-8279, U+827d, U+827f, U+8283-8284, U+8288-828a, U+828d-8291, U+8293-8294, U+8298, U+829a-829c, U+829e-82a4, U+82a6-82ab, U+82ae, U+82b0, U+82b4, U+82b6, U+82ba-82bc, U+82be, U+82c1, U+82c4-82c5, U+82c7, U+82cb, U+82cd, U+82cf-82d0, U+82d2, U+82d5-82d6, U+82d9, U+82db-82dc, U+82de-82e1, U+82e3-82e4, U+82e7, U+82ea-82eb, U+82ef-82f0, U+82f3-82f4, U+82f6-82f7, U+82f9-82fc, U+82fe-8301, U+8306-8308, U+830b-830e, U+8316, U+8318, U+831a-831b, U+831d-831e, U+8327, U+832a, U+832c-832d, U+832f, U+8331, U+8333-8334, U+8337, U+833a-833c, U+833f-8340, U+8342, U+8344-8347, U+834b-834c, U+834f, U+8351, U+8356-8358, U+835a, U+835e-8361, U+8363-8364, U+8367-8368, U+836b, U+836f, U+8373, U+8375) ); /* noto-sans-tc-[42]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-42-400-normal.woff2", $range: (U+8113, U+8115, U+8117-8118, U+811a-811b, U+811e, U+8121-8127, U+8129, U+812c, U+812f-8134, U+8137-8138, U+813a, U+813d, U+8144, U+8146, U+8148, U+814a, U+814c-814d, U+8151, U+8153, U+8156, U+8158, U+815a, U+8160, U+8167, U+8169, U+816d, U+816f, U+8171, U+8174, U+817b-817c, U+817e, U+8182, U+8188, U+818a, U+8194-8195, U+8198, U+819b, U+819e, U+81a3, U+81a6-81a7, U+81ab, U+81af-81b0, U+81b5-81b6, U+81b8, U+81ba-81bb, U+81be-81bf, U+81c3, U+81c6, U+81ca, U+81cc, U+81cf, U+81d1-81d3, U+81d6-81d7, U+81d9-81da, U+81dd-81de, U+81e0-81e2, U+81e7, U+81ec, U+81ef, U+81fc, U+81fe, U+8200-8202, U+8204-8206, U+820b, U+820e, U+8210, U+8215, U+8217-8218, U+821b, U+821d, U+8221-8222, U+8224, U+8228-8229, U+822b, U+822f-8234, U+8236-8238, U+823a, U+823e, U+8240, U+8244-8245, U+8249, U+824b, U+824e-824f, U+8257, U+825a, U+825f, U+8264, U+8268, U+826b) ); /* noto-sans-tc-[43]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-43-400-normal.woff2", $range: (U+7fb1-7fb2, U+7fb4, U+7fb6, U+7fb8, U+7fbc, U+7fbf-7fc0, U+7fc3, U+7fcb-7fcc, U+7fce-7fcf, U+7fd1, U+7fd5, U+7fd8, U+7fdb, U+7fde-7fdf, U+7fe5-7fe6, U+7fe9, U+7feb-7fec, U+7fee, U+7ff2-7ff3, U+7ffa, U+7ffd-7ffe, U+8002, U+8004, U+8006, U+800b, U+800e, U+8011-8012, U+8014, U+8016, U+8018-8019, U+801c, U+8024, U+8026, U+8028, U+802c, U+8030, U+8035, U+8037-8039, U+803b, U+8042-8043, U+804b-804c, U+8052, U+8061, U+8068, U+806a, U+806e, U+8071, U+8073-8076, U+8079, U+807c, U+807e-807f, U+8083-8084, U+808f, U+8093, U+8095, U+8098, U+809c, U+809f-80a0, U+80a4, U+80a7, U+80ab, U+80ad-80ae, U+80b0-80b1, U+80b4-80b6, U+80b8, U+80bc-80c2, U+80c4, U+80c6-80c7, U+80cb, U+80cd, U+80cf, U+80d4, U+80d7, U+80d9, U+80db-80dd, U+80e0, U+80e3-80e5, U+80e7, U+80eb-80ed, U+80ef-80f1, U+80f3-80f4, U+80f6-80f7, U+80fc, U+80fe-80ff, U+8101, U+8107, U+8109, U+810f-8112) ); /* noto-sans-tc-[44]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-44-400-normal.woff2", $range: (U+7eaf, U+7eb1-7eb3, U+7eb5-7eba, U+7ebd-7ebe, U+7ec0-7ec1, U+7ec3, U+7ec5, U+7ec7-7eca, U+7ecd-7ece, U+7ed1-7ed2, U+7ed4-7ed5, U+7ed7-7ed8, U+7eda-7edb, U+7edd-7ede, U+7ee2-7ee3, U+7ee5, U+7ee7, U+7ee9-7eeb, U+7eee-7ef0, U+7ef3, U+7ef5, U+7ef7-7ef8, U+7efd-7f01, U+7f03, U+7f05-7f09, U+7f0e, U+7f10, U+7f13-7f15, U+7f18-7f1a, U+7f1c-7f1d, U+7f20, U+7f24-7f25, U+7f28-7f2a, U+7f2d-7f2e, U+7f30, U+7f34, U+7f36-7f37, U+7f3d, U+7f42-7f45, U+7f47-7f4e, U+7f52, U+7f54, U+7f58, U+7f5a, U+7f5d, U+7f5f-7f63, U+7f65, U+7f68, U+7f6b, U+7f78, U+7f7d-7f7e, U+7f81-7f83, U+7f86-7f87, U+7f8b-7f8d, U+7f91, U+7f93-7f95, U+7f97, U+7f99-7f9a, U+7f9d, U+7f9f, U+7fa1-7fa3, U+7fa5, U+7fa7, U+7fad-7fb0) ); /* noto-sans-tc-[45]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-45-400-normal.woff2", $range: (U+7d89, U+7d8b-7d8f, U+7d91, U+7d95-7d96, U+7d98-7d9a, U+7d9d-7d9e, U+7da2-7da3, U+7da6, U+7daa, U+7dac, U+7dae-7db0, U+7db3, U+7db5, U+7db7, U+7db9, U+7dbd, U+7dc1, U+7dc3-7dc7, U+7dcc-7dcf, U+7dd1, U+7dd6-7dd9, U+7ddb-7ddc, U+7de1-7de2, U+7de6, U+7df0-7df3, U+7df6, U+7dfe, U+7e01-7e02, U+7e04, U+7e08-7e0b, U+7e10-7e11, U+7e13, U+7e15, U+7e1d-7e20, U+7e22, U+7e25-7e27, U+7e29, U+7e2d, U+7e2f-7e30, U+7e32-7e37, U+7e39, U+7e3b, U+7e44-7e45, U+7e47-7e48, U+7e4a-7e4b, U+7e4d, U+7e50-7e52, U+7e56, U+7e58-7e5b, U+7e62, U+7e68, U+7e6d-7e70, U+7e76, U+7e78, U+7e7b, U+7e7e, U+7e81-7e82, U+7e86-7e88, U+7e8a, U+7e8d-7e8e, U+7e92-7e94, U+7e98-7e9b, U+7e9e, U+7ea0, U+7ea3-7ea4, U+7ea8, U+7eaa-7eae) ); /* noto-sans-tc-[46]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-46-400-normal.woff2", $range: (U+7c20, U+7c23, U+7c25-7c26, U+7c2a-7c2b, U+7c37-7c39, U+7c40-7c41, U+7c48-7c49, U+7c50, U+7c53-7c54, U+7c56-7c57, U+7c59-7c5c, U+7c5f, U+7c63, U+7c65, U+7c69, U+7c6c-7c6e, U+7c74-7c75, U+7c79, U+7c7c, U+7c7e, U+7c84, U+7c8b, U+7c8d, U+7c91, U+7c94-7c95, U+7c9b, U+7c9f, U+7ca2, U+7ca4, U+7ca6, U+7ca8-7caa, U+7cae, U+7cb1-7cb3, U+7cba, U+7cbc, U+7cbf-7cc0, U+7cc5, U+7cc8-7cc9, U+7ccc-7cce, U+7cd7, U+7cdc-7cdd, U+7ce0, U+7ce2, U+7ce8, U+7cea, U+7ced, U+7cf2, U+7cf4, U+7cf6, U+7cf8-7cfa, U+7cfc, U+7d02, U+7d06-7d0a, U+7d0f, U+7d11-7d12, U+7d15, U+7d18, U+7d1c-7d1e, U+7d25, U+7d27, U+7d29, U+7d2c, U+7d31-7d32, U+7d35, U+7d38, U+7d3a, U+7d3c, U+7d3e-7d41, U+7d43, U+7d45, U+7d4c, U+7d4e-7d4f, U+7d53-7d54, U+7d56, U+7d5b-7d5d, U+7d5f, U+7d63, U+7d67, U+7d6a, U+7d6d, U+7d70, U+7d73, U+7d75, U+7d79-7d7b, U+7d7d, U+7d80, U+7d83-7d84, U+7d86-7d88) ); /* noto-sans-tc-[47]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-47-400-normal.woff2", $range: (U+7afb, U+7afd-7afe, U+7b01-7b06, U+7b09-7b0b, U+7b0e-7b10, U+7b14, U+7b18, U+7b1a, U+7b1e-7b1f, U+7b22-7b25, U+7b29-7b2b, U+7b2d-7b2e, U+7b31-7b35, U+7b38-7b3c, U+7b45, U+7b47-7b48, U+7b4a, U+7b4c, U+7b4e-7b50, U+7b58, U+7b5b, U+7b5d, U+7b60, U+7b62, U+7b65-7b67, U+7b69, U+7b6d-7b6f, U+7b72-7b76, U+7b79, U+7b7e, U+7b82, U+7b84-7b85, U+7b87, U+7b8b, U+7b8d-7b93, U+7b95-7b96, U+7b98, U+7b9c-7b9d, U+7ba0, U+7ba7, U+7ba9-7bac, U+7bb0, U+7bb4, U+7bb6, U+7bb8-7bb9, U+7bc1, U+7bc3, U+7bc6, U+7bcb-7bcc, U+7bcf, U+7bd4, U+7bd9-7bdb, U+7bdd, U+7be0-7be1, U+7be5-7be6, U+7bea, U+7bed-7bee, U+7bf1-7bf3, U+7bf8-7bf9, U+7bfc-7c01, U+7c03, U+7c07, U+7c0a-7c0d, U+7c0f, U+7c11-7c12, U+7c15, U+7c1e-7c1f) ); /* noto-sans-tc-[48]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-48-400-normal.woff2", $range: (U+7988, U+798a-798b, U+7991, U+7993-7996, U+7998, U+799a-799b, U+799f-79a2, U+79a4, U+79a8-79a9, U+79af-79b0, U+79b3, U+79b5, U+79b8, U+79ba, U+79c3, U+79c6, U+79c8, U+79cf, U+79d5-79d6, U+79dc-79de, U+79e3, U+79e7, U+79ea-79ed, U+79ef-79f0, U+79f4, U+79f6-79f8, U+79fd, U+7a02-7a03, U+7a08-7a0a, U+7a0c, U+7a0e, U+7a10-7a11, U+7a14, U+7a17-7a19, U+7a1c, U+7a1e-7a1f, U+7a23, U+7a26, U+7a2d, U+7a32-7a33, U+7a37, U+7a39, U+7a3c, U+7a42, U+7a45, U+7a49, U+7a4f, U+7a56, U+7a5a, U+7a5c, U+7a60-7a61, U+7a63, U+7a68, U+7a6d-7a6e, U+7a70-7a71, U+7a77-7a79, U+7a80, U+7a83, U+7a85-7a86, U+7a88, U+7a8d, U+7a90-7a91, U+7a93-7a96, U+7a98, U+7a9c-7a9d, U+7aa0, U+7aa3, U+7aa5-7aa6, U+7aa8, U+7aaa, U+7aac, U+7ab0, U+7ab3, U+7ab6, U+7ab8, U+7abb, U+7abe-7abf, U+7ac2, U+7ac8-7ac9, U+7ad1-7ad2, U+7ad6, U+7ada, U+7adc-7ade, U+7ae4, U+7ae6, U+7ae9-7aeb, U+7af4, U+7af8, U+7afa) ); /* noto-sans-tc-[49]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-49-400-normal.woff2", $range: (U+7840, U+7842-7843, U+7845, U+7847, U+784a, U+784c-7850, U+7852-7853, U+7855, U+7858, U+785a, U+785c-785d, U+7864, U+7866, U+7868, U+786a, U+786f, U+7874, U+7876, U+787c, U+787f, U+7886-7887, U+7889, U+788d, U+788f, U+7893, U+7895-7896, U+7898, U+789a, U+789e, U+78a1, U+78a3, U+78a5, U+78aa, U+78ad, U+78b1-78b2, U+78b4, U+78b6, U+78b8, U+78be, U+78c8-78c9, U+78cb, U+78ce, U+78d0-78d1, U+78d4-78d5, U+78d7-78d8, U+78de, U+78e3, U+78e6-78e7, U+78ea, U+78ec, U+78f2-78f4, U+78fa-78fb, U+78fd-7900, U+7904-7906, U+790a, U+790c, U+7910-7912, U+791c, U+791e, U+7920-7921, U+792a-792c, U+792e, U+7931, U+7934, U+7938, U+793b, U+793d, U+793f, U+7941-7942, U+7945-7947, U+7949, U+794c, U+794e, U+7953-7954, U+7957-795c, U+795f, U+7961-7962, U+7964, U+7967, U+7969, U+796b-796c, U+796f, U+7972-7973, U+7977-7979, U+797b-797c, U+797e, U+7980, U+7982, U+7984-7987) ); /* noto-sans-tc-[50]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-50-400-normal.woff2", $range: (U+7705, U+7707-7708, U+770a, U+770c, U+770f, U+7715, U+7719-771b, U+771d-771e, U+7722, U+7725-7726, U+7728, U+772d, U+772f, U+7733-7736, U+7738, U+773b, U+773d, U+7741, U+7744, U+7746, U+774c, U+774e-7752, U+7755, U+7759-775a, U+775f-7760, U+7762, U+7765-7766, U+7768-776a, U+776c-776e, U+7771, U+7778, U+777a, U+777d-777e, U+7780, U+7785, U+7787, U+7789, U+778b-778d, U+7791-7793, U+779c, U+779f-77a0, U+77a2, U+77a5, U+77a9, U+77b0-77b1, U+77b4, U+77b6-77b7, U+77b9, U+77bc-77bf, U+77c5, U+77c7, U+77cc-77cd, U+77d3, U+77d6-77d7, U+77dc, U+77de, U+77e3, U+77e7, U+77eb-77ec, U+77f0, U+77f2, U+77f6, U+77f8, U+77fa-77fc, U+77fe-7800, U+7803, U+7805-7806, U+7809, U+7810-7812, U+7815-7816, U+781a, U+781c-781d, U+781f-7823, U+7825-7827, U+7829, U+782c-7830, U+7833, U+7835, U+7837, U+7839-783a, U+783c, U+783e) ); /* noto-sans-tc-[51]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-51-400-normal.woff2", $range: (U+75cc-75cd, U+75d2, U+75d4, U+75d9, U+75df, U+75e2-75e4, U+75e6-75e7, U+75e9-75ec, U+75f0-75f3, U+75f7, U+75f9-75fa, U+75fc, U+75fe-7602, U+7608-760a, U+760c-760d, U+7610, U+7615-7616, U+7618-7620, U+7622-7623, U+7625, U+7627, U+7629, U+762b, U+762e, U+7630, U+7632-7635, U+7638, U+763a-763c, U+763e, U+7640, U+7643, U+7646, U+7648-7649, U+764d-764e, U+7654, U+7658, U+765c, U+765f, U+7663-7667, U+7669, U+766b-766d, U+766f-7670, U+7676, U+7678-767a, U+767f-7681, U+7683, U+7688, U+768a-768b, U+768e, U+7690, U+7695-7696, U+769a-769e, U+76a3-76a4, U+76aa, U+76b0-76b1, U+76b4, U+76b7-76b8, U+76c2, U+76c5, U+76c9, U+76cc-76cd, U+76cf-76d1, U+76d6-76d8, U+76e5-76e6, U+76e9, U+76ec, U+76f1, U+76f7, U+76f9-76fb, U+76ff-7700, U+7704) ); /* noto-sans-tc-[52]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-52-400-normal.woff2", $range: (U+749a, U+749c-74a1, U+74a3, U+74a5-74a7, U+74a9-74ab, U+74ae, U+74b1-74b2, U+74b5, U+74b8, U+74ba, U+74bf, U+74c5, U+74c8, U+74cc-74cd, U+74d2, U+74d4, U+74d6, U+74d8, U+74da, U+74de-74e0, U+74e2, U+74e4, U+74e8-74e9, U+74ee-74ef, U+74f4, U+74f9, U+74fb, U+74ff-7501, U+7503, U+7507, U+750c-750d, U+7511, U+7513, U+7515-7517, U+7519, U+751e, U+7521, U+7525, U+752a, U+752c-752f, U+7534, U+753e, U+7542, U+7545, U+7547-7548, U+754a-754b, U+754e, U+7551, U+755a-755b, U+755d, U+7560, U+7563-7564, U+7566-7568, U+756c-756f, U+7572-7575, U+7577-757a, U+757c, U+757e-757f, U+7583-7584, U+7587, U+7589, U+758b-758e, U+7590, U+7592, U+7594-7595, U+7597, U+7599-759a, U+759d, U+759f, U+75a1-75a3, U+75a5, U+75a7, U+75aa, U+75ac, U+75ae-75b1, U+75b3-75b4, U+75b8, U+75bd, U+75c0, U+75c2-75c4, U+75c9-75ca) ); /* noto-sans-tc-[53]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-53-400-normal.woff2", $range: (U+73b3-73ba, U+73bc, U+73bf, U+73c2, U+73c4-73c6, U+73c9, U+73cb-73cc, U+73ce-73d2, U+73d6-73d7, U+73d9, U+73db-73de, U+73e3, U+73e5-73eb, U+73ef, U+73f5-73f7, U+73f9-73fa, U+73fc-73fd, U+7400-7401, U+7404-7405, U+7407-7408, U+740a-740d, U+740f-7410, U+7416, U+741a-741b, U+741d-741e, U+7420-7425, U+7428-7429, U+742c-7432, U+7435-7436, U+7438-743a, U+743c-7442, U+7445-7446, U+7448-744a, U+7451-7452, U+7454, U+7457, U+7459, U+745d, U+7460-7462, U+7465, U+7467-7468, U+746c-746e, U+7471-7477, U+7479-747a, U+747c-747f, U+7481-7482, U+7484-7486, U+7488-748a, U+748e-7490, U+7492, U+7498) ); /* noto-sans-tc-[54]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-54-400-normal.woff2", $range: (U+727f, U+7281-7282, U+7284, U+7287, U+728a, U+728d, U+7292, U+7296, U+7298, U+729b, U+729f-72a2, U+72ad-72ae, U+72b0-72b5, U+72b8-72b9, U+72bc-72bd, U+72c1, U+72c3, U+72c5-72c6, U+72c8, U+72cc-72ce, U+72d2, U+72d4, U+72db, U+72dd, U+72df, U+72e1, U+72e8, U+72ec-72ee, U+72f1, U+72f3-72f4, U+72f7, U+72fa-72fb, U+72fd, U+7300-7301, U+7304, U+7307, U+730a-730b, U+730e, U+7313, U+7315-7317, U+7319, U+731e-731f, U+7322, U+7328-732e, U+7330-7331, U+7337, U+733a-733c, U+733e, U+7340-7341, U+7343, U+734c-734d, U+734f-7350, U+7352, U+7355, U+7357, U+7359-735a, U+7360-7363, U+7365, U+7369-7370, U+7373-7374, U+7377, U+737a, U+737c, U+737e, U+7380, U+7385-7386, U+738a, U+738e-738f, U+7391-7395, U+7397-7398, U+739b, U+73a0-73a2, U+73a5-73a8, U+73ad-73ae) ); /* noto-sans-tc-[55]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-55-400-normal.woff2", $range: (U+7113-7116, U+7118, U+711c, U+711e, U+7120, U+7122, U+712e-712f, U+7131, U+7134, U+713c, U+713f, U+7143, U+7145-7147, U+714a-714b, U+7150-7153, U+7155-7156, U+715a, U+7160, U+7162, U+7166, U+7168, U+716c, U+7171, U+7173, U+7178, U+717a-717b, U+717d, U+7180-7181, U+7185, U+7187-7188, U+718b, U+718f-7190, U+7192, U+7196-7198, U+719a-719c, U+71a0, U+71a4, U+71a8, U+71af, U+71b2-71b3, U+71b5, U+71b7-71ba, U+71be, U+71c1, U+71c4, U+71ca-71cb, U+71ce-71d0, U+71d4, U+71d7-71d8, U+71da, U+71dc, U+71e0-71e1, U+71e7, U+71ec, U+71f4-71f6, U+71f9, U+71fc, U+71fe-7201, U+7203, U+7207, U+7209, U+720c, U+7213-7215, U+7217, U+721a, U+721d, U+7222-7223, U+7228, U+722b, U+7230, U+7237, U+723b, U+723f-7242, U+724b, U+724d, U+7252-7253, U+7256, U+7258, U+725d, U+7263-7266, U+726a-726b, U+726e-7270, U+7273-7275, U+7277, U+727a-727b, U+727e) ); /* noto-sans-tc-[56]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-56-400-normal.woff2", $range: (U+6fe8-6fe9, U+6fec, U+6fee, U+6ff0, U+6ff3, U+6ff5-6ff6, U+6ffa, U+6ffc, U+6fff-7001, U+7003, U+7005-7007, U+700b, U+700d, U+7015, U+7018, U+701b, U+701e, U+7020-7021, U+7023, U+7026-7027, U+702c, U+702f-7032, U+7034-7035, U+7037-703c, U+7040, U+7042-7044, U+7046, U+7049, U+704b, U+704f, U+7052, U+7054-7055, U+705c-7061, U+7064-7069, U+706c-706d, U+706f, U+7073-7075, U+7078, U+707a, U+707e-7081, U+7085-7086, U+7089, U+7090-7091, U+7094-7096, U+7098, U+709c, U+709f, U+70a1, U+70a4, U+70a9, U+70ac, U+70af-70b2, U+70b4-70b5, U+70b7, U+70bb-70be, U+70c0-70c3, U+70ca-70cb, U+70d2, U+70d4-70d5, U+70d9-70dd, U+70df, U+70e6-70e9, U+70eb-70ec, U+70ef, U+70f1, U+70f4, U+70f7, U+70fa, U+70fd, U+70ff, U+7104, U+7106, U+7109, U+710c, U+7110) ); /* noto-sans-tc-[57]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-57-400-normal.woff2", $range: (U+6ed6, U+6ed8, U+6eda-6edb, U+6edd-6ede, U+6ee2, U+6ee4-6ee5, U+6ee8-6ee9, U+6eeb, U+6eee, U+6ef3, U+6ef8-6efb, U+6f00, U+6f08-6f0a, U+6f0d-6f0e, U+6f11-6f13, U+6f15, U+6f19-6f1a, U+6f23, U+6f25-6f2a, U+6f2d-6f31, U+6f33-6f36, U+6f3a-6f3c, U+6f40-6f41, U+6f43-6f44, U+6f47, U+6f4d-6f4f, U+6f53, U+6f57, U+6f59-6f5a, U+6f5c, U+6f5e-6f61, U+6f63, U+6f66-6f67, U+6f69-6f6c, U+6f6f, U+6f72-6f78, U+6f7a-6f7f, U+6f81-6f82, U+6f87, U+6f89, U+6f8b-6f8d, U+6f90, U+6f92, U+6f94-6f97, U+6f9c, U+6f9f-6fa0, U+6fa2-6fa3, U+6fa5-6fa8, U+6faa-6fab, U+6fae-6faf, U+6fb4, U+6fb6, U+6fb9-6fba, U+6fbc, U+6fc2, U+6fc6-6fcb, U+6fce, U+6fd1-6fd2, U+6fd4, U+6fd8, U+6fda, U+6fde, U+6fe0-6fe2) ); /* noto-sans-tc-[58]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-58-400-normal.woff2", $range: (U+6dd3, U+6dd5-6dd6, U+6dd9, U+6ddb-6de0, U+6de2-6de6, U+6de9, U+6dec, U+6def-6df0, U+6df2, U+6df4, U+6df6, U+6df8, U+6dfc-6dfd, U+6e00, U+6e02-6e03, U+6e07-6e0b, U+6e0d-6e0e, U+6e10, U+6e13-6e15, U+6e17, U+6e19-6e1a, U+6e1d, U+6e1f, U+6e22, U+6e24-6e25, U+6e27, U+6e2b, U+6e2d-6e2e, U+6e30-6e31, U+6e36, U+6e39-6e3a, U+6e3c-6e3d, U+6e40-6e41, U+6e44-6e45, U+6e47, U+6e49, U+6e4b, U+6e4d-6e4f, U+6e51, U+6e53-6e54, U+6e59, U+6e5c, U+6e5e-6e61, U+6e63-6e66, U+6e69-6e6b, U+6e6e, U+6e70-6e76, U+6e78, U+6e7c, U+6e7f-6e80, U+6e83, U+6e85-6e86, U+6e88-6e89, U+6e8b, U+6e8d-6e8f, U+6e93, U+6e98-6e9a, U+6e9f, U+6ea1, U+6ea4-6ea7, U+6eae, U+6eb1-6eb2, U+6eb4-6eb5, U+6eb7, U+6ebd, U+6ec1-6ec3, U+6ec7-6ec9, U+6ecd-6ed0, U+6ed3-6ed5) ); /* noto-sans-tc-[59]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-59-400-normal.woff2", $range: (U+6cda, U+6cdc-6cde, U+6ce0, U+6ce7, U+6ce9-6cec, U+6cee-6cef, U+6cf1, U+6cf7-6cf8, U+6cfb-6cfe, U+6d00-6d02, U+6d04, U+6d06-6d07, U+6d09-6d0a, U+6d0c, U+6d0e-6d12, U+6d18-6d1a, U+6d1f, U+6d22-6d24, U+6d27-6d28, U+6d2b, U+6d2d-6d31, U+6d33-6d3a, U+6d3c, U+6d3f, U+6d43-6d47, U+6d4a-6d4b, U+6d4e-6d4f, U+6d51-6d53, U+6d57-6d58, U+6d5a, U+6d5c, U+6d5e-6d65, U+6d67, U+6d6c-6d6d, U+6d6f-6d70, U+6d72, U+6d75, U+6d79, U+6d7c, U+6d7f, U+6d82, U+6d85, U+6d87, U+6d8e-6d8f, U+6d91-6d95, U+6d97-6d99, U+6d9b, U+6d9d, U+6d9f, U+6da1, U+6da4, U+6da6-6dac, U+6db3-6db4, U+6db7-6db8, U+6dbe-6dc0, U+6dc2, U+6dc4-6dc5, U+6dc8-6dca, U+6dcc-6dcd, U+6dcf-6dd0, U+6dd2) ); /* noto-sans-tc-[60]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-60-400-normal.woff2", $range: (U+6bbb, U+6bbd, U+6bc1-6bc2, U+6bcc, U+6bce, U+6bd0-6bd1, U+6bd5-6bd9, U+6bde, U+6be1, U+6bec, U+6bf3, U+6bf9, U+6bfd, U+6bff-6c00, U+6c02, U+6c05-6c06, U+6c0a, U+6c0c-6c0d, U+6c10, U+6c13, U+6c16, U+6c18-6c1a, U+6c1f, U+6c21-6c22, U+6c24, U+6c26, U+6c28-6c2a, U+6c2c, U+6c2e-6c33, U+6c35-6c37, U+6c39-6c3a, U+6c3d-6c3f, U+6c43, U+6c46, U+6c49-6c4f, U+6c54-6c55, U+6c58, U+6c5a-6c5c, U+6c5e, U+6c64-6c69, U+6c6b-6c6f, U+6c71-6c75, U+6c78-6c79, U+6c7c, U+6c7e, U+6c82, U+6c84-6c87, U+6c8c-6c8d, U+6c8f, U+6c93-6c94, U+6c98, U+6c9a, U+6c9d, U+6c9f, U+6ca2, U+6ca5-6ca8, U+6caa, U+6cac-6cb2, U+6cb4-6cb5, U+6cba, U+6cbc, U+6cc2-6cc3, U+6cc5-6cc7, U+6cd0-6cd2, U+6cd4, U+6cd6-6cd7, U+6cd9) ); /* noto-sans-tc-[61]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-61-400-normal.woff2", $range: (U+6a31-6a32, U+6a35, U+6a3b, U+6a3e-6a40, U+6a47-6a48, U+6a50, U+6a52, U+6a55-6a57, U+6a5a-6a5b, U+6a5e, U+6a62, U+6a66, U+6a6a, U+6a71, U+6a79, U+6a7c, U+6a7e-6a81, U+6a84, U+6a87, U+6a89, U+6a8d-6a8e, U+6a90-6a92, U+6a97, U+6a9c, U+6a9e-6aa1, U+6aa3-6aa5, U+6aa8, U+6aab, U+6aae, U+6ab5, U+6aba, U+6abe, U+6ac2, U+6ac5-6ac6, U+6ac8-6ac9, U+6acc, U+6ad3, U+6ada-6adb, U+6add-6adf, U+6ae3, U+6ae7-6ae8, U+6aea-6aec, U+6af1, U+6af3, U+6af8, U+6afa, U+6afc, U+6b05, U+6b09, U+6b0e-6b13, U+6b17, U+6b1d-6b1e, U+6b25, U+6b2c, U+6b31, U+6b35-6b37, U+6b39, U+6b3b, U+6b40, U+6b43, U+6b46, U+6b48, U+6b53-6b55, U+6b59, U+6b5b, U+6b5f-6b60, U+6b68-6b69, U+6b6f, U+6b74, U+6b7a, U+6b7c, U+6b7f-6b84, U+6b86-6b87, U+6b89, U+6b8b, U+6b8d, U+6b91-6b93, U+6b9b, U+6b9e, U+6ba1-6ba2, U+6ba4, U+6baa-6bab, U+6bad-6bae, U+6bb2-6bb4) ); /* noto-sans-tc-[62]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-62-400-normal.woff2", $range: (U+6900, U+6902, U+6904, U+6906-6907, U+6909, U+690b, U+690f-6910, U+6917, U+691a-691c, U+6925, U+692a, U+692c-692d, U+6932, U+6934, U+6939, U+693c-6940, U+6942, U+6949, U+6952, U+6954-6957, U+6959, U+695b-695f, U+6961-696c, U+696e-6970, U+6973-6974, U+6976, U+6978-697a, U+697c, U+6980, U+6984-6986, U+6988-698a, U+698d-698e, U+6990-6991, U+6994, U+6996-699b, U+699e, U+69a3-69a7, U+69ab, U+69ad, U+69af, U+69b1, U+69b3, U+69b6-69b7, U+69bb-69bc, U+69bf, U+69c1, U+69c3-69c5, U+69c7, U+69ca, U+69cc, U+69ce, U+69d0-69d1, U+69d4, U+69d8-69d9, U+69db, U+69df, U+69e4, U+69e8-69ea, U+69ed-69ee, U+69f1-69f4, U+69f6, U+69f8, U+69fa-69fb, U+69ff-6a00, U+6a05, U+6a0a-6a0b, U+6a17-6a18, U+6a1b, U+6a28-6a2b) ); /* noto-sans-tc-[63]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-63-400-normal.woff2", $range: (U+67d9, U+67db-67e0, U+67e2, U+67e4, U+67e9-67ea, U+67f0, U+67f2, U+67f6-67f8, U+67fa-67fb, U+67fe, U+6800-6805, U+6808-6809, U+680b, U+680e-680f, U+6811-6812, U+6814, U+6816, U+6818, U+681c-681e, U+6820, U+6822, U+6825, U+6827-6829, U+682b, U+682e-682f, U+6831-6834, U+683a-683b, U+683e, U+6840-6841, U+6844-6845, U+6849, U+684e, U+6853, U+6855-6856, U+685c-685d, U+685f, U+6861-6863, U+6865-6869, U+686b, U+686d, U+686f, U+6871-6872, U+6874-6875, U+6877, U+6879, U+687b-687c, U+687e, U+6880, U+6882-6883, U+6886, U+688f, U+6891-6892, U+6894, U+6896, U+6898, U+689b-689c, U+689f-68a0, U+68a2-68a3, U+68a6, U+68a9, U+68b1-68b2, U+68b4, U+68b6, U+68c0, U+68c3, U+68c6, U+68c8, U+68ca, U+68d0-68d1, U+68d3, U+68d6, U+68e1, U+68e3, U+68e6, U+68e8-68ec, U+68ef-68f1, U+68f3, U+68f6-68f7, U+68f9, U+68fb-68fd) ); /* noto-sans-tc-[64]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-64-400-normal.woff2", $range: (U+66a7, U+66aa, U+66b2-66b3, U+66b5, U+66b8-66bc, U+66be, U+66c1, U+66c4, U+66c7-66c8, U+66cc, U+66cf, U+66d5, U+66d8-66db, U+66df, U+66e1-66e2, U+66e8-66e9, U+66ef, U+66f1, U+66f5, U+66f7, U+66fa, U+66fd, U+6705, U+670a, U+670f-6710, U+6713-6715, U+6718-6719, U+6720, U+6722-6727, U+6729, U+672e, U+6733, U+6736, U+6738-6739, U+673f-6740, U+6742, U+6745, U+6747-6748, U+674b-674d, U+6753, U+6755, U+6759, U+675d-675e, U+6760, U+6762-6763, U+6767-676a, U+676c, U+676e, U+6772-6777, U+677a-677c, U+6782, U+6786-6787, U+678a-678c, U+678e-678f, U+6791-6793, U+6796, U+6798-6799, U+679f-67a3, U+67a5, U+67aa-67ae, U+67b0, U+67b2-67b5, U+67b7-67bc, U+67c0-67c3, U+67c5-67c6, U+67c8-67ca, U+67ce, U+67d2, U+67d8) ); /* noto-sans-tc-[65]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-65-400-normal.woff2", $range: (U+655d, U+6561, U+6564-6565, U+6567, U+656b, U+656d-656e, U+6573, U+6576, U+6579-657b, U+6581, U+6586, U+6588-6589, U+658b, U+658e, U+6593, U+6595, U+659b, U+659d, U+659f-65a1, U+65a9, U+65ab, U+65ad, U+65b2-65b3, U+65b5, U+65bb, U+65be-65bf, U+65c2-65c4, U+65c6, U+65cc, U+65ce, U+65d2, U+65d6, U+65db, U+65e1, U+65e3, U+65e7, U+65ee-65f0, U+65f2-65f4, U+65f7-65f8, U+65fc-65fd, U+6600, U+6603-6605, U+6609, U+660d, U+6610-6611, U+6619, U+661c-661e, U+6621-6622, U+6624, U+6626, U+6629, U+662b, U+6630, U+6633-6636, U+6639-663d, U+6640-6641, U+6644-6645, U+664a-664c, U+6653-6657, U+6659, U+665b, U+665d-665e, U+6661-6667, U+6669, U+666c, U+6672-6673, U+6677-6679, U+667b-667e, U+6681-6684, U+668b-6690, U+6692, U+6698, U+669d, U+669f-66a0, U+66a6) ); /* noto-sans-tc-[66]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-66-400-normal.woff2", $range: (U+6427-6428, U+642a-642b, U+642f-6430, U+6432, U+6434, U+6437, U+643a, U+643d-6444, U+6446-6447, U+644a-644b, U+644e, U+6450-6453, U+6456, U+6459, U+645b-645c, U+645e, U+6460-6461, U+6463-6465, U+6468, U+646c-646e, U+6470, U+6472-6477, U+6479, U+647b, U+647d, U+6480, U+6482, U+6485, U+648b-648c, U+6491, U+6493, U+6496-649a, U+649d, U+649f-64a0, U+64a2-64a3, U+64ac, U+64b1, U+64b3-64b4, U+64b7-64b9, U+64bb, U+64be, U+64c0, U+64c3-64c4, U+64d0, U+64d2, U+64d5, U+64d7-64d8, U+64e1-64e4, U+64e7, U+64e9, U+64ed, U+64ef-64f0, U+64f3, U+64f8, U+64fb-64fc, U+64ff, U+6504-6506, U+6509, U+6511-6512, U+6516, U+6518-6519, U+651b, U+6520-6523, U+6525-6526, U+6529, U+652b, U+652e, U+6530, U+6532, U+6534-6535, U+6537-6538, U+653a, U+653d, U+6542-6543, U+6549, U+654c-654e, U+6554-6555, U+655b) ); /* noto-sans-tc-[67]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-67-400-normal.woff2", $range: (U+630d-630e, U+6310, U+6312-6313, U+6319-631b, U+631d-6321, U+6323-6325, U+632d-632e, U+6332, U+6334-6339, U+633b-633c, U+633e-6340, U+6342-6346, U+634b-634c, U+634e, U+6352, U+6357, U+635a, U+635c, U+635e-635f, U+6361, U+6363, U+6365, U+6369, U+636b-636d, U+636f-6370, U+6373, U+6375-6376, U+637a-637b, U+637d, U+6381, U+6384, U+6387, U+638a, U+638d-638e, U+6390, U+6394-6397, U+639e-639f, U+63a3-63a4, U+63a6, U+63ac-63af, U+63b1-63b4, U+63b7, U+63b9-63bb, U+63bd-63be, U+63c3-63c4, U+63c8, U+63cd-63ce, U+63d1, U+63d6, U+63dc, U+63de, U+63e0, U+63e3-63e4, U+63e6, U+63e9, U+63f0, U+63f2-63f3, U+63f5-63f8, U+63fa, U+63fc-63fe, U+6400-6402, U+6405-6406, U+6409-640c, U+6410, U+6414-6415, U+6418, U+641b, U+641f-6423, U+6425-6426) ); /* noto-sans-tc-[68]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-68-400-normal.woff2", $range: (U+61c6, U+61ca-61cd, U+61d0, U+61d2, U+61de-61e0, U+61e3, U+61e6, U+61e8, U+61ed-61ee, U+61f5, U+61f9-61fa, U+61fd-61fe, U+6207, U+6209, U+620d-620e, U+6213-6215, U+6219, U+621b, U+621d-6223, U+6225-6227, U+6229, U+622b-622c, U+622e-622f, U+6231, U+6238, U+623b, U+623d-623e, U+6242-6243, U+6246, U+6248-6249, U+624c, U+6251, U+6255, U+6259-625a, U+625e, U+6260-6262, U+6265-6267, U+6269, U+626b-626c, U+6270-6273, U+6275, U+627a-627d, U+6283, U+6285-6286, U+6289, U+628c, U+628e, U+6294, U+629a-629e, U+62a0, U+62a2, U+62a6, U+62a8, U+62af, U+62b3, U+62b6, U+62ba-62bb, U+62be-62bf, U+62c2, U+62c4-62c5, U+62c8, U+62ca, U+62cf, U+62d1, U+62d5, U+62d7, U+62d9, U+62dd, U+62df-62e3, U+62e5-62e8, U+62ee, U+62f4-62fb, U+62fd, U+6300, U+6302, U+6308, U+630c) ); /* noto-sans-tc-[69]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-69-400-normal.woff2", $range: (U+60ac-60ad, U+60af-60b1, U+60b3-60b5, U+60b8, U+60bb, U+60bd-60be, U+60c0, U+60c6-60c7, U+60ca-60cb, U+60d3-60d5, U+60d7-60db, U+60dd, U+60e2-60e3, U+60e6-60f0, U+60f2, U+60f4, U+60f6, U+60fa-60fb, U+60ff-6100, U+6103, U+6106, U+610a-610b, U+610d-610e, U+6110, U+6112-6116, U+6120, U+6123-6124, U+6128-6130, U+6134, U+6136, U+613c-613f, U+6144, U+6146-6147, U+6149-614a, U+614d, U+6151-6153, U+6159-615a, U+615c-615f, U+6164-6165, U+6169-616d, U+616f, U+6171-6175, U+6177, U+617a, U+617c, U+617f-6180, U+6187, U+618a-618e, U+6192-6194, U+6199-619b, U+619f, U+61a1, U+61a7-61a8, U+61aa-61af, U+61b8, U+61ba, U+61bf, U+61c3) ); /* noto-sans-tc-[70]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-70-400-normal.woff2", $range: (U+5f78, U+5f7b, U+5f7d, U+5f82-5f84, U+5f87, U+5f89-5f8a, U+5f8d, U+5f93, U+5f95, U+5f98-5f99, U+5f9b-5f9c, U+5fa0, U+5fa4, U+5fa6-5fa8, U+5fab-5fad, U+5fb3-5fb4, U+5fbc, U+5fc4, U+5fc6, U+5fc9, U+5fcb, U+5fce-5fd6, U+5fdc-5fdf, U+5fe1, U+5fe4, U+5fe7, U+5fea, U+5fec-5fee, U+5ff1, U+5ff3, U+5ff8, U+5ffa-5ffc, U+5fff-6000, U+6002, U+6005, U+600a, U+600d, U+600f-6010, U+6014, U+6017, U+6019-601c, U+601e, U+6020, U+6022, U+6026, U+6029, U+602b-602c, U+602e-602f, U+6031, U+6033-6035, U+6039, U+603c, U+6040-6043, U+6045, U+6047, U+604a-604c, U+604f, U+6053, U+6059-605b, U+605d, U+6060, U+6063, U+6067, U+606a-606b, U+606e, U+6072-6076, U+6078, U+607a, U+607c, U+607f-6081, U+6083, U+6086, U+608a, U+608c, U+608e, U+6092-6093, U+6095-6097, U+609b, U+609d, U+60a2, U+60a6-60a7, U+60a9-60aa) ); /* noto-sans-tc-[71]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-71-400-normal.woff2", $range: (U+5e34, U+5e37, U+5e3a, U+5e3c, U+5e40, U+5e42-5e44, U+5e47, U+5e54, U+5e57-5e5b, U+5e5e-5e5f, U+5e61-5e62, U+5e64, U+5e6a, U+5e6c, U+5e6e, U+5e75, U+5e77, U+5e7a, U+5e80-5e81, U+5e83, U+5e86, U+5e88, U+5e8b, U+5e90, U+5e92, U+5e96, U+5e99, U+5e9b, U+5e9d-5ea2, U+5ea4-5ea5, U+5eb3-5eb6, U+5eb9, U+5ebe, U+5ec3-5ec4, U+5ec6, U+5ecb-5ecd, U+5ed0-5ed2, U+5ed4-5ed5, U+5ed8-5ed9, U+5edb, U+5edd, U+5ee1, U+5ee8-5ee9, U+5eec, U+5eef-5ef0, U+5ef4-5ef5, U+5ef8, U+5efb-5efc, U+5efe, U+5f01-5f03, U+5f05, U+5f07-5f09, U+5f0b-5f0e, U+5f10-5f12, U+5f14, U+5f16, U+5f1b, U+5f1d, U+5f22, U+5f25, U+5f28-5f29, U+5f2d, U+5f2f-5f30, U+5f36, U+5f38-5f39, U+5f3c, U+5f3e, U+5f40-5f42, U+5f45-5f46, U+5f4a, U+5f50-5f52, U+5f54, U+5f56-5f58, U+5f5a-5f5e, U+5f61, U+5f63, U+5f66-5f67, U+5f6b, U+5f72-5f74, U+5f76) ); /* noto-sans-tc-[72]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-72-400-normal.woff2", $range: (U+5ce0-5ce1, U+5ce5-5ce6, U+5ce8-5cea, U+5ced-5cee, U+5cf1, U+5cf4-5cf5, U+5cf8, U+5cfe-5d00, U+5d06, U+5d08, U+5d0a-5d0d, U+5d15, U+5d18, U+5d1a, U+5d1d, U+5d1f-5d22, U+5d24, U+5d26-5d28, U+5d2c-5d2e, U+5d33-5d35, U+5d3d, U+5d3f, U+5d42-5d43, U+5d46-5d47, U+5d49-5d4b, U+5d4e, U+5d52-5d53, U+5d57-5d59, U+5d5b-5d5c, U+5d65, U+5d68-5d69, U+5d6b-5d6c, U+5d6f, U+5d74-5d75, U+5d7e-5d7f, U+5d81-5d82, U+5d85-5d88, U+5d8b-5d8c, U+5d92, U+5d94, U+5d97, U+5d99, U+5d9d, U+5da0-5da2, U+5da7, U+5da9-5daa, U+5dae, U+5db2, U+5db4, U+5db7-5db8, U+5dbd, U+5dc2-5dc5, U+5dc9, U+5dcb-5dcd, U+5dd2, U+5dd6, U+5dd8, U+5ddb-5ddc, U+5de0, U+5de3, U+5de9, U+5df0, U+5df3, U+5df5, U+5df9, U+5dfb-5dfd, U+5e00-5e01, U+5e04-5e05, U+5e0a, U+5e11, U+5e14, U+5e18-5e1c, U+5e1f-5e22, U+5e27-5e28, U+5e2f-5e30) ); /* noto-sans-tc-[73]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-73-400-normal.woff2", $range: (U+5b80-5b82, U+5b84, U+5b8d, U+5b92-5b93, U+5b95-5b96, U+5b9f-5ba1, U+5ba6-5ba8, U+5baa-5bad, U+5bbd-5bbe, U+5bc0-5bc1, U+5bc3, U+5bd0-5bd1, U+5bd4-5bd8, U+5bdb-5bdd, U+5be4-5be5, U+5bef, U+5bf3, U+5bfb, U+5bfe-5bff, U+5c02-5c03, U+5c05, U+5c09, U+5c0c, U+5c10, U+5c12-5c13, U+5c15, U+5c18-5c19, U+5c1b, U+5c1d-5c1f, U+5c22, U+5c25, U+5c27-5c28, U+5c2a-5c2b, U+5c34, U+5c38, U+5c3d, U+5c42, U+5c44, U+5c47, U+5c49-5c4a, U+5c50, U+5c53, U+5c58-5c59, U+5c5b, U+5c5d, U+5c61, U+5c63, U+5c68, U+5c6d-5c6e, U+5c74, U+5c79-5c84, U+5c86, U+5c88, U+5c8a-5c8d, U+5c92-5c9c, U+5ca0, U+5ca2-5ca3, U+5ca5-5ca7, U+5cab-5cad, U+5cb5, U+5cb7, U+5cba-5cbb, U+5cc1, U+5cc8, U+5cca-5ccb, U+5cce, U+5cd2, U+5cd6, U+5cd8-5cda, U+5cdf) ); /* noto-sans-tc-[74]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-74-400-normal.woff2", $range: (U+5a51, U+5a53, U+5a56-5a57, U+5a5d-5a5e, U+5a60-5a62, U+5a65, U+5a67, U+5a6a, U+5a6c-5a6d, U+5a73-5a76, U+5a7a-5a7c, U+5a81-5a84, U+5a8c, U+5a90, U+5a93, U+5a96-5a97, U+5a9c, U+5a9e-5aa0, U+5aa4, U+5aa7, U+5aab-5aac, U+5aae-5aaf, U+5ab1, U+5ab4-5ab5, U+5ab8, U+5aba-5abc, U+5abe-5abf, U+5ac3-5ac4, U+5ac6-5acb, U+5acf-5ad2, U+5ad4-5adc, U+5ae0-5ae1, U+5ae3, U+5ae5-5ae6, U+5ae8, U+5aea-5aeb, U+5aee, U+5af0, U+5af2, U+5af5, U+5afa, U+5aff, U+5b01, U+5b05, U+5b08, U+5b0b, U+5b11, U+5b16-5b17, U+5b19, U+5b1b, U+5b1d, U+5b21-5b23, U+5b28, U+5b2a-5b2d, U+5b32, U+5b34, U+5b36-5b38, U+5b3e-5b40, U+5b43-5b46, U+5b4b-5b4c, U+5b51, U+5b53, U+5b59, U+5b5b-5b5c, U+5b62, U+5b65, U+5b6c-5b6e, U+5b70-5b73, U+5b75, U+5b7a-5b7b, U+5b7d, U+5b7f) ); /* noto-sans-tc-[75]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-75-400-normal.woff2", $range: (U+590b-590c, U+590e, U+5910-5911, U+5914, U+5919, U+591b, U+591f, U+5923-5924, U+592c, U+5932, U+5938-593a, U+5940, U+5942, U+5944, U+594b-594c, U+594e, U+5950, U+5953, U+5956, U+5958, U+595a, U+5961, U+5966, U+5968-5969, U+596c-596d, U+5975, U+5977, U+597b-597c, U+597e, U+5980-5981, U+5986-5988, U+598a, U+598f, U+5997-5998, U+599f-59a3, U+59a6-59a7, U+59a9, U+59ab-59ac, U+59af, U+59b1-59b2, U+59b6, U+59b8, U+59ba, U+59be, U+59c1, U+59c3, U+59c7-59c9, U+59cd-59ce, U+59d2, U+59d6-59d9, U+59dd-59de, U+59e0, U+59e3-59e5, U+59e9-59eb, U+59ee, U+59f1-59f3, U+59f5-59f9, U+59fc-59fd, U+5a00, U+5a04-5a07, U+5a09, U+5a0c, U+5a11, U+5a13, U+5a16-5a17, U+5a1a, U+5a1e, U+5a20, U+5a23-5a24, U+5a29-5a2b, U+5a2d-5a2f, U+5a32-5a34, U+5a38, U+5a3c, U+5a3f-5a44, U+5a47-5a48, U+5a4a, U+5a4c-5a4d, U+5a50) ); /* noto-sans-tc-[76]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-76-400-normal.woff2", $range: (U+57a1, U+57a4, U+57a6, U+57a9, U+57ab, U+57b5, U+57b8-57bb, U+57c2, U+57c5-57c8, U+57cc, U+57cf, U+57d2, U+57dc-57de, U+57e1-57e2, U+57e5, U+57e7, U+57ed-57ee, U+57f0, U+57f3-57f6, U+57f8, U+57fb-57fd, U+5800-5801, U+5803-5804, U+5807, U+5809-580b, U+580d-580e, U+5810-5811, U+5814-5815, U+5819, U+581d-581e, U+5820, U+5823, U+5826, U+582c-582d, U+5830, U+583a, U+583f-5841, U+5848, U+584b, U+584d, U+584f, U+5852, U+5859-585a, U+585c, U+5861, U+5864, U+5868-5869, U+586c-586d, U+5871-5872, U+5879, U+587c-5881, U+5887-5889, U+588e, U+5890-5892, U+5896-5899, U+589d, U+58a1, U+58a3, U+58a6, U+58a9, U+58ac, U+58b0-58b1, U+58bb-58bc, U+58c2, U+58c5-58c6, U+58ca, U+58cc, U+58ce, U+58d0-58d1, U+58d5, U+58d9-58da, U+58df-58e0, U+58e9, U+58ec, U+58ee, U+58f1-58f3, U+58f6-58f7, U+58fb-58fc, U+5900, U+5902, U+5906, U+5909-590a) ); /* noto-sans-tc-[77]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-77-400-normal.woff2", $range: (U+566f, U+5671-5672, U+5676, U+567a-567c, U+5680, U+5684-5686, U+568c, U+568e-568f, U+5692-5693, U+5697-5699, U+569c, U+569e, U+56a1-56a7, U+56a9, U+56ab-56ad, U+56af, U+56b3, U+56b5-56b6, U+56b8, U+56bf-56c1, U+56c3, U+56c5, U+56c7-56c8, U+56cb-56cc, U+56d2-56d4, U+56d6-56d9, U+56df, U+56e1-56e5, U+56ea-56ec, U+56ee-56ef, U+56f1-56f4, U+56f7, U+56f9, U+56ff-5700, U+5703-5704, U+5706-5707, U+5709-570a, U+570c, U+570f, U+5711, U+5717, U+571c, U+5723-5724, U+5727, U+5729-572a, U+572c, U+572e-572f, U+5734-5735, U+573b, U+5741, U+574b-574d, U+574f, U+5752, U+5754, U+575a-5760, U+5763, U+5768-5769, U+576b, U+576d, U+576f-5770, U+5772-5775, U+5777, U+577b-577d, U+5780, U+5784, U+5788, U+578c, U+578e, U+5792-5793, U+5795, U+579a-579b, U+579f-57a0) ); /* noto-sans-tc-[78]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-78-400-normal.woff2", $range: (U+5551, U+5553, U+5555-5557, U+555c, U+5562-5563, U+5567, U+5569, U+556b-556c, U+5570, U+5575-5579, U+557b-557c, U+557f, U+5581, U+5583, U+5586, U+5588, U+558b, U+558f, U+5591, U+5599, U+559f, U+55a1, U+55a3, U+55a5-55a6, U+55a8-55a9, U+55ab, U+55ad, U+55b0-55b1, U+55b3, U+55b6-55b7, U+55b9, U+55bc-55bd, U+55c4-55c5, U+55c7, U+55c9, U+55cc-55cd, U+55d0, U+55d2, U+55d4-55d9, U+55db, U+55dd-55df, U+55e1-55e6, U+55e9-55ea, U+55ec, U+55ee, U+55f1-55f3, U+55f5-55f7, U+55f9-55fa, U+55fe, U+5600-5602, U+5608, U+560c, U+560f, U+5612-5613, U+5615-5616, U+5618, U+561a, U+561c, U+561e, U+5620, U+5623-5625, U+5627, U+562a, U+562c-562e, U+5630-5631, U+5635-5636, U+5638-563a, U+5640, U+5642-5643, U+5649, U+564c-5650, U+5654, U+5658-565d, U+5664-5666, U+5669, U+566b, U+566d) ); /* noto-sans-tc-[79]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-79-400-normal.woff2", $range: (U+543d, U+543f, U+5441, U+5444-5445, U+5447, U+5449, U+544b-544d, U+5450-5455, U+5457, U+545b-545c, U+545f-5460, U+5463-5464, U+546a-5472, U+5474, U+5476, U+5478, U+547b, U+547e-547f, U+5482-5488, U+548a, U+548d-5491, U+5494, U+5498-549d, U+54a1-54a5, U+54ab, U+54ad-54af, U+54b5, U+54b7, U+54bb-54bc, U+54be-54bf, U+54ca, U+54cc, U+54cf-54d2, U+54d4, U+54d6-54d7, U+54da, U+54de-54df, U+54e2, U+54e4, U+54e7, U+54eb, U+54f3, U+54fd, U+54ff, U+5501-5502, U+5504-5506, U+550a, U+550c, U+550e-550f, U+5511-5513, U+5516-5517, U+551a-551b, U+551e, U+5520, U+5524, U+5526-5527, U+552a, U+552c-552d, U+5530, U+5532-5533, U+5535-5536, U+553b-553c, U+553e-553f, U+5541-5542, U+5544-5545, U+5547, U+5549, U+554b, U+554d-554e, U+5550) ); /* noto-sans-tc-[80]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-80-400-normal.woff2", $range: (U+52db, U+52e0, U+52e3, U+52e6-52e7, U+52eb, U+52ed-52ee, U+52f0-52f2, U+52f7, U+52f9-52fa, U+5300-5302, U+530a-530b, U+530d, U+530f-5310, U+5315, U+531a, U+531c-531d, U+532d-532e, U+5331, U+5338, U+533b-533e, U+5344-5345, U+534b-534d, U+534f-5350, U+5358, U+535e-535f, U+5362-5364, U+5367, U+5369, U+536b-536c, U+536e-536f, U+5372, U+5374, U+5379-537a, U+537c-537d, U+5382, U+5385, U+5389, U+538b-538c, U+538e, U+5392-5396, U+5399, U+53a0-53a2, U+53a4-53a6, U+53a8-53a9, U+53ae, U+53b0, U+53b3-53b4, U+53b6-53b7, U+53b9, U+53bf, U+53c1, U+53c4, U+53ce-53cf, U+53d2, U+53d5, U+53d9-53da, U+53df-53e1, U+53e7-53e9, U+53f1, U+53f5-53f6, U+53f9, U+53fb-53fd, U+5400-5402, U+5405-5407, U+540f, U+5412, U+5414-5417, U+541a, U+5420-5421, U+5424-5425, U+5428-5429, U+542c-542f, U+5431-5432, U+5434, U+5437) ); /* noto-sans-tc-[81]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-81-400-normal.woff2", $range: (U+518f, U+5191, U+5193, U+5195-5197, U+519a-519c, U+519e, U+51a2, U+51a6-51a9, U+51ab, U+51ad-51af, U+51b1-51b6, U+51ba-51c0, U+51c3-51c5, U+51c7, U+51c9-51cb, U+51ce-51d1, U+51d4, U+51d6, U+51d9, U+51db-51dc, U+51df, U+51e4, U+51e6, U+51e9-51ea, U+51ed, U+51ef, U+51f4-51f5, U+51fc, U+51ff, U+5201-5202, U+5204-5205, U+5208, U+520b, U+520d-520e, U+5213, U+5215-5216, U+5218, U+521a, U+5220, U+5223, U+5226-5228, U+5232-5234, U+5239, U+523c, U+5241-5242, U+5244, U+5249, U+524c, U+5251-5252, U+5255, U+5257, U+525c, U+525e, U+5261, U+5263-5265, U+526e, U+5270, U+5273-5274, U+5277, U+527d, U+527f, U+5281-5282, U+5284, U+528a, U+528c, U+528f, U+5292-5294, U+529d, U+52a6, U+52ac-52ad, U+52b1-52b5, U+52b9, U+52bb-52bc, U+52be-52c0, U+52c5, U+52cb, U+52cd, U+52d0-52d1, U+52d6-52d7) ); /* noto-sans-tc-[82]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-82-400-normal.woff2", $range: (U+5032, U+5036, U+503a-503b, U+503e, U+5040-5041, U+5043, U+5045-5046, U+5048, U+504a-504e, U+5051-5053, U+505d-5060, U+5063, U+506a, U+506f-5072, U+5078, U+507a-507b, U+507f-5080, U+5088-5089, U+508b-508c, U+508e, U+5092, U+5095-5096, U+509a-509d, U+50a3, U+50a5, U+50a8, U+50af, U+50b1, U+50b4, U+50ba, U+50c2, U+50c6-50ca, U+50cd-50ce, U+50d6, U+50d9, U+50dd-50df, U+50e1, U+50e3, U+50e5-50e6, U+50e8-50ea, U+50ec-50f0, U+50f3, U+50fb, U+50fe, U+5101-5102, U+5105-5109, U+510b-510e, U+5110, U+5113-5115, U+5117, U+511a-511c, U+511e, U+5120-5121, U+5125, U+512b, U+5131, U+5134-5135, U+5138-513c, U+5140, U+514e, U+5150-5151, U+5155-5157, U+515a, U+515f, U+5162, U+516a, U+516e, U+5172, U+5174, U+5179, U+517b, U+517d, U+5182, U+5186, U+5188-5189, U+518b) ); /* noto-sans-tc-[83]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-83-400-normal.woff2", $range: (U+4f22, U+4f24, U+4f29-4f2b, U+4f2d, U+4f31-4f32, U+4f35, U+4f37, U+4f39, U+4f3b, U+4f3e, U+4f41-4f43, U+4f47, U+4f49, U+4f4c, U+4f52, U+4f57-4f58, U+4f5a, U+4f5d-4f5f, U+4f61, U+4f63-4f64, U+4f67, U+4f6a, U+4f6e-4f6f, U+4f72, U+4f74, U+4f76-4f7b, U+4f7d-4f7e, U+4f80-4f82, U+4f84, U+4f89-4f8a, U+4f8e-4f94, U+4f96-4f98, U+4f9a, U+4f9e, U+4fa0-4fa3, U+4fa5-4fa8, U+4faa-4fac, U+4fb2-4fb3, U+4fb7-4fba, U+4fc0-4fc1, U+4fc5-4fc7, U+4fcb, U+4fcd-4fce, U+4fd1, U+4fd3-4fd4, U+4fd8-4fdc, U+4fdf, U+4fe2-4fe5, U+4fe8-4fea, U+4fec-4fed, U+4ff3-4ff6, U+4ff8-4ffa, U+4ffd, U+5000, U+5002, U+5005, U+5008, U+500c, U+500f, U+5013-5015, U+501b-501c, U+501e, U+5022-5025, U+5027-5028, U+502c-502e, U+5030-5031) ); /* noto-sans-tc-[84]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-84-400-normal.woff2", $range: (U+3a17, U+3a52, U+3b22, U+3bd7, U+3bff, U+3ca5, U+3d68, U+3ddb, U+3de7, U+3deb, U+3e03, U+3e74, U+3f08, U+3f0e, U+3f21, U+3f97, U+4102, U+411b, U+4181, U+43c8, U+4552, U+4576, U+46e5, U+4837, U+493d, U+4a3b, U+4d09, U+4e02, U+4e04-4e05, U+4e0c, U+4e0f-4e10, U+4e15, U+4e17, U+4e1b, U+4e21-4e22, U+4e25, U+4e27, U+4e31, U+4e34, U+4e36-4e37, U+4e3d, U+4e3f-4e42, U+4e44, U+4e47, U+4e49, U+4e4c, U+4e52-4e54, U+4e57, U+4e5a-4e5b, U+4e60-4e61, U+4e69, U+4e6d, U+4e78, U+4e80-4e81, U+4e85, U+4e87, U+4e89-4e8a, U+4e8d, U+4e8f, U+4e93, U+4e96, U+4e98-4e99, U+4e9c, U+4e9f-4ea0, U+4ea2, U+4ea5, U+4ea9, U+4eb0, U+4eb2-4eb3, U+4eb5-4eb7, U+4eb9, U+4ebb-4ebc, U+4ebf, U+4ec2-4ec6, U+4ec8-4ec9, U+4ecf, U+4ed1, U+4ed3, U+4edc-4ee1, U+4ee7-4eeb, U+4eee-4eef, U+4ef1, U+4ef3-4ef5, U+4efa, U+4efc, U+4f00, U+4f02-4f03, U+4f05, U+4f07-4f09, U+4f0b, U+4f0e, U+4f15, U+4f17, U+4f1d-4f1f) ); /* noto-sans-tc-[85]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-85-400-normal.woff2", $range: (U+305c, U+3062, U+306d, U+307a, U+307c, U+3080, U+308e, U+3090-3091, U+3099-309e, U+30a5, U+30c2, U+30c5, U+30ee, U+30f0-30f2, U+30f4-30f6, U+30fd-30fe, U+3105-3106, U+3108, U+310a-310b, U+310d-3119, U+311b-311e, U+3120-3126, U+3128-3129, U+3131, U+3134, U+3137, U+3139, U+3141-3142, U+3145, U+3147-3148, U+314b, U+314d-314f, U+3153, U+315c, U+3160-3161, U+3163-3164, U+3181, U+318d, U+3192-3193, U+3196-3198, U+319d-319f, U+3220-3226, U+3231, U+3268, U+3281, U+328b, U+3291-3292, U+3295-3297, U+3299, U+329d, U+329f, U+32a3-32a4, U+32d6, U+32e1, U+3314, U+3322, U+337f, U+338e-338f, U+339c-339e, U+33a1, U+33c4, U+33d1-33d2, U+3440, U+3449, U+3479, U+3551, U+3569, U+35ad, U+35ce, U+36ac, U+373a, U+3863, U+38ec, U+39b8, U+3a02) ); /* noto-sans-tc-[86]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-86-400-normal.woff2", $range: (U+2749-274f, U+2752-275b, U+275d-275e, U+2761, U+2763, U+2765-2769, U+276e-276f, U+2771, U+2776-277e, U+2780-2782, U+278a-278c, U+2794-2796, U+2798-2799, U+279c-27a6, U+27a8-27ab, U+27ad, U+27af-27b0, U+27b2-27b3, U+27b7-27b9, U+27bc-27bd, U+27bf, U+27e9-27eb, U+27f5-27f6, U+2800, U+28ec, U+2922, U+2934-2935, U+29bf, U+2a2f, U+2b05-2b07, U+2b1b, U+2b50, U+2b55, U+2cf5, U+2e1c-2e1d, U+2f00, U+2f08, U+2f12, U+2f24, U+2f29, U+2f2f, U+2f3c, U+2f3f, U+2f42, U+2f45, U+2f63-2f64, U+2f83, U+2f8f, U+3003-3007, U+3012-3013, U+3016-3019, U+3020-3025, U+3030, U+303d, U+3041, U+3043, U+3045, U+3047, U+3049, U+3052) ); /* noto-sans-tc-[87]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-87-400-normal.woff2", $range: (U+264a-2656, U+2658-265c, U+265e-2660, U+2662-2664, U+2666-2669, U+266b-266f, U+267b, U+2692-2696, U+2698, U+269b-269c, U+26a0-26a1, U+26a3-26a5, U+26aa-26ac, U+26bd-26be, U+26c4-26c5, U+26c8, U+26d1, U+26d3-26d4, U+26e4, U+26e9-26ea, U+26f0-26f5, U+26f9-26fa, U+26fd, U+2701-2702, U+2704-2706, U+2708, U+270a-2712, U+2714, U+2716-2727, U+2729-273e, U+2740-2748) ); /* noto-sans-tc-[88]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-88-400-normal.woff2", $range: (U+2567-2570, U+2572, U+2574, U+2579, U+2580-258a, U+258c-2595, U+2597, U+25a1, U+25a3-25a4, U+25a6-25ac, U+25b0, U+25b4, U+25b7-25b9, U+25bb, U+25bd, U+25bf-25c2, U+25c7-25ca, U+25cc-25cd, U+25d0-25d9, U+25dc-25e6, U+25ea-25eb, U+25ef, U+25fb-25fe, U+2600-2604, U+2607, U+2609-260b, U+260d-2615, U+2618, U+261a-2623, U+262a, U+262d-2630, U+2638-263e, U+2641-2642, U+2648-2649) ); /* noto-sans-tc-[89]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-89-400-normal.woff2", $range: (U+2476-2481, U+2488-2491, U+24b6-24c5, U+24c7-24ca, U+24cc, U+24ce, U+24d0-24df, U+24e1-24ea, U+24f5, U+24ff, U+2501, U+2503-250d, U+250f-2511, U+2513-2515, U+2517-2518, U+251b-251d, U+2520, U+2523-2524, U+2528, U+252b-252c, U+252f, U+2533-2534, U+2537, U+253b-253c, U+2541, U+2543-2545, U+254b, U+2550-2566) ); /* noto-sans-tc-[90]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-90-400-normal.woff2", $range: (U+2139, U+2153, U+2194-2197, U+2199, U+219d-219e, U+21a0, U+21a9-21aa, U+21ac, U+21af-21b1, U+21b3-21b5, U+21ba-21bb, U+21c4, U+21ca, U+21cc, U+21d0, U+21d2-21d4, U+21d8, U+21dd, U+21e2-21e9, U+2200, U+2202, U+2205-2208, U+220e-220f, U+2211-2212, U+2215, U+2217-221a, U+221d-2220, U+2225, U+2227-222b, U+222e, U+2234-2237, U+223c-223d, U+2248, U+2256, U+2260-2261, U+2264-2265, U+226a-226b, U+226e-226f, U+2282-2283, U+2295-2296, U+2299, U+22a5, U+22b0-22b1, U+22b9, U+22bf, U+22c5-22c6, U+22c8, U+22d0-22d1, U+22ee, U+2312-2313, U+2318, U+231a-231b, U+2323, U+2328, U+239d, U+23a0, U+23af, U+23e4, U+23e9-23ea, U+23ec, U+23f0-23f3, U+23fa, U+2445, U+2461-2471, U+2474-2475) ); /* noto-sans-tc-[91]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-91-400-normal.woff2", $range: (U+1ec0-1ec3, U+1ec5-1ec6, U+1ec9, U+1ecb-1ecd, U+1ecf-1ed1, U+1ed3-1ed5, U+1ed7-1edd, U+1edf, U+1ee1, U+1ee3-1ee7, U+1ee9, U+1eeb, U+1eed, U+1eef-1ef1, U+1ef3, U+1ef7, U+1ef9, U+1f62, U+1fa2, U+2001-2006, U+2009-200a, U+200c-200d, U+200f-2012, U+2015-2016, U+201a, U+201e, U+2020-2021, U+2023-2025, U+2028, U+202a-202d, U+202f-2030, U+2032-2033, U+2035, U+2038, U+203e-203f, U+2042-2044, U+2049, U+204d-204e, U+2060-2061, U+2063, U+2070, U+2074-207b, U+207d-2083, U+208a, U+208d-208e, U+20a1, U+20a4, U+20a6, U+20a8-20ab, U+20ad-20ae, U+20b1-20b3, U+20b5, U+20b8-20ba, U+20bd, U+20dd, U+20e3, U+2105, U+2109, U+2112-2113, U+2115-2117, U+2120-2121, U+2126, U+212b) ); /* noto-sans-tc-[92]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-92-400-normal.woff2", $range: (U+11af, U+11b7, U+11bc, U+121b, U+122d, U+129b, U+12a0, U+13a6, U+13a9, U+13ac, U+13af, U+13b3, U+13c2, U+13e3, U+141b, U+1555, U+1557, U+15dc, U+15e8, U+1780-1782, U+1784-1785, U+1787, U+178a, U+178e-1791, U+1793-179c, U+179f, U+17a2, U+17b6-17b9, U+17bb-17bc, U+17bf-17c7, U+17c9, U+17cb, U+17d0, U+17d2, U+17db, U+1871, U+18fa, U+1bff, U+1d00, U+1d04-1d05, U+1d07, U+1d0a-1d0b, U+1d0d, U+1d0f, U+1d17-1d18, U+1d1b-1d1c, U+1d20-1d22, U+1d25, U+1d2c, U+1d2e, U+1d30-1d31, U+1d33-1d3a, U+1d3c, U+1d3e-1d42, U+1d52, U+1d55, U+1d5b, U+1d5e, U+1d9c, U+1da0, U+1dc4-1dc5, U+1e3b, U+1e43, U+1e45, U+1e47, U+1e63, U+1e6d, U+1e73, U+1ea0, U+1ea2, U+1ea4-1ea9, U+1eab-1eaf, U+1eb1, U+1eb3, U+1eb5, U+1eb7, U+1eb9, U+1ebb, U+1ebd-1ebe) ); /* noto-sans-tc-[97]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-97-400-normal.woff2", $range: (U+2c8-2c9, U+2cc-2cd, U+2d0, U+2d8, U+2da, U+2dc, U+2e1-2e3, U+2e7, U+2eb, U+2ee, U+2f1-2ff, U+302-304, U+306-309, U+30c-30d, U+311, U+31b, U+321, U+323-325, U+328-329, U+32b-32c, U+32e-32f, U+331-33a, U+33c-33f, U+348, U+353, U+358-359, U+35c, U+35e-35f, U+361, U+363, U+367-368, U+36c, U+36f, U+530-535, U+537-540, U+55e, U+561-565, U+568-56d, U+56f-576, U+578-582, U+584, U+5a1, U+5a3-5a4, U+5aa, U+5ae, U+5b0-5b4) ); /* noto-sans-tc-[98]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-98-400-normal.woff2", $range: (U+1af, U+1b1, U+1b4-1be, U+1d0, U+1d2, U+1d4, U+1da, U+1dc-1dd, U+1e1, U+1e3-1e4, U+1e7, U+1e9, U+1eb-1ec, U+1f0-1f1, U+1f3-1f5, U+1f7, U+1f9-1ff, U+219, U+221, U+225-226, U+228-22b, U+22e-22f, U+231-235, U+239, U+23b, U+23e, U+250-252, U+254-255, U+259-25e, U+261-263, U+268-26b, U+26d, U+26f-277, U+279-27a, U+27d-281, U+283, U+28a-28c, U+28f, U+292, U+294-296, U+298-29a, U+29c, U+29f, U+2a1-2a2, U+2a4-2a7, U+2a9-2aa, U+2ae-2b3, U+2b5-2b7, U+2b9-2bf, U+2c2-2c4, U+2c6-2c7) ); /* noto-sans-tc-[99]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-99-400-normal.woff2", $range: (U+a1-a2, U+a4, U+a6-a8, U+aa, U+ac, U+af, U+b1, U+b5-b6, U+b8-ba, U+bc-be, U+c0-c8, U+ca-cc, U+ce-d5, U+d8-df, U+f0, U+f5, U+f8, U+fb, U+fe-100, U+102, U+105, U+107, U+109-10b, U+10f, U+112, U+115, U+117, U+119, U+11b, U+11f, U+121, U+123-124, U+127, U+129, U+12c-12d, U+130-13f, U+141-142, U+144, U+148, U+14b-14c, U+14f-153, U+159-15b, U+15e-160, U+163-166, U+169-16a, U+16d-171, U+173-17e, U+192, U+1a0, U+1a4, U+1aa, U+1ac-1ad) ); /* noto-sans-tc-[100]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-100-400-normal.woff2", $range: (U+a3, U+2ca, U+2223, U+2460, U+2640, U+273f, U+301c, U+3107, U+310c, U+4e30, U+4e3e, U+4e5e, U+4e71, U+4f26, U+4f7c, U+4f83, U+50da, U+5243, U+5267, U+529e, U+5321, U+5352, U+5477, U+548b, U+54a6, U+54b2, U+54c2, U+54c4, U+54c6, U+54cd, U+54ee, U+5543, U+55d1, U+55d3, U+55f0, U+55fd, U+560d, U+5629, U+5660, U+56d1, U+56dd, U+57ae, U+57e0, U+57e4, U+5904, U+592d, U+5965, U+5a31, U+5a7f, U+5b5a, U+5bb8, U+5c14, U+5c3b, U+5c5c, U+5c5e, U+5d10, U+5e10, U+5e4c, U+603b, U+604d, U+611c, U+6137, U+61c8, U+62c7, U+6371, U+6382, U+645f, U+64ae, U+64c2, U+651e, U+65f1, U+660a, U+663e, U+673d, U+6784, U+6789, U+67b1, U+67ff, U+6813, U+6854, U+68d8, U+68fa, U+697d, U+6a01, U+6a1e, U+6baf, U+6c08, U+6c17, U+6c2b, U+6c81, U+6cbd, U+6dc6, U+6df9, U+6ed9, U+6ee1, U+6f86, U+6fc1, U+6fdb, U+701f, U+7076, U+715c, U+7194, U+71ee, U+71fb, U+720d, U+72b6, U+7396, U+73af, U+745b, U+746f, U+748b, U+7647, U+7699, U+76ce, U+76de, U+77aa, U+786b, U+7881, U+78ca, U+793c, U+797a, U+79b9, U+79bb, U+79bf, U+7a92, U+7ac7, U+7ae3, U+7b19, U+7b20, U+7b51, U+7b94, U+7cbd, U+7cde, U+7cef, U+7d46, U+7dde, U+7f88, U+80da, U+814b, U+81cd, U+8235, U+8282, U+82b9, U+846b, U+84c1, U+84d3, U+8518, U+8611, U+8783, U+8814, U+8a15, U+8aa6, U+8b2c, U+8ba8-8ba9, U+8bc6, U+8be2, U+8be5-8be6, U+8c22, U+8d05, U+8d27, U+8dbe, U+8e34, U+8e66, U+8ec0, U+9005, U+9082, U+914b, U+916f, U+92c5, U+92f0, U+9318, U+938a, U+93e2, U+964b, U+96c1, U+96cc-96cd, U+96db, U+973e, U+97a0, U+9803, U+9876, U+9879, U+9955, U+99f1, U+9a5b, U+9ab7, U+9abc, U+9c57, U+9c9c, U+9d1b, U+9d26, U+9d51, U+9eef, U+9f99, U+c2a4, U+e253, U+e313-e314, U+e5c7, U+e5c9, U+e8db-e8dc, U+ff2d-ff2e, U+ff34, U+ffe5, U+1f60a, U+1f618, U+1f62d) ); /* noto-sans-tc-[101]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-101-400-normal.woff2", $range: (U+b4, U+10d, U+2d9, U+641, U+6cc, U+e20, U+e29, U+200e, U+20ac, U+2266, U+25be, U+301d-301e, U+3058, U+4e07, U+4e1d, U+4e66, U+4ece, U+4fde, U+5016, U+5180, U+5199, U+51aa, U+5306, U+5386, U+53d8, U+5413, U+541d, U+54ce, U+54e8, U+54fc, U+5571, U+557e, U+558e, U+55a7, U+56a8, U+57a2-57a3, U+58b3, U+5960, U+5992-5993, U+59a4, U+5a55, U+5ab2, U+5afb, U+5b56, U+5bc5, U+5bc7, U+5bf0, U+5cb1, U+5cc7, U+5dff, U+5e93, U+5ed3, U+5f6a, U+60bc, U+61ff, U+6218, U+6292, U+634d, U+6467, U+64f1-64f2, U+6582, U+65fb, U+6615, U+6687, U+66e6, U+66f0, U+6781, U+67f5, U+68a7, U+6a1f, U+6b27, U+6b4e, U+6b73, U+6b79, U+6bcb, U+6c5d, U+6cf5, U+6dee, U+6ec4, U+6ecc, U+6f88, U+701d, U+703e, U+707c, U+7099, U+710a, U+72d9, U+72e9, U+731d, U+739f, U+7463, U+7480, U+74a8, U+7523, U+7526, U+75e0, U+7613, U+7656, U+76bf, U+76d4, U+773a, U+775c, U+775e, U+780c, U+78e1, U+78f7, U+7960, U+7a20, U+7aaf, U+7b08, U+7b71, U+7be4, U+7cec, U+7cf0, U+7d5e, U+7d62, U+7dbe, U+7e1b, U+7ea2, U+7ec4, U+7ec6, U+7edc, U+7eed, U+7efc, U+7f16, U+7f57, U+7fb9, U+7fca, U+803d, U+816e, U+8258, U+82a5, U+82b7, U+8317, U+8338, U+834a, U+83d3, U+8401, U+8469, U+849e, U+854a, U+8559, U+865e, U+8700, U+8759, U+8760, U+8778, U+8782, U+879e, U+87d1, U+8836, U+8944, U+89c8, U+8aac, U+8b74, U+8ba2, U+8ba4, U+8bae, U+8bfb, U+8c4e, U+8cb3, U+8d16, U+8d28, U+8e44, U+8f3b, U+8f3f, U+8f91, U+8fb9, U+8fc4, U+8fde, U+8ff9, U+9076, U+9091, U+90ae, U+90b8, U+9257, U+9310, U+9382, U+93df, U+94fe, U+95a5, U+962e, U+968f-9690, U+9704, U+9713, U+97f6, U+9824, U+986b, U+9884, U+9886, U+98e2, U+991a, U+9986, U+99a5, U+99dd, U+9ab8, U+9b41, U+9b77, U+9bad, U+c774, U+e5d4, U+fe52, U+ff02, U+ff25, U+1f389, U+1f449, U+1f495) ); /* noto-sans-tc-[102]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-102-400-normal.woff2", $range: (U+2cb, U+5d1, U+5d9, U+5e2, U+5e8, U+5ea, U+633, U+e32, U+2252, U+2267, U+2573, U+25b3, U+25c4, U+2713, U+2715, U+30e2, U+4e28, U+4e3c, U+4e4d, U+4e70, U+4f88, U+4fef, U+5018, U+501a, U+5026, U+5137, U+513f, U+51f3, U+524b, U+5254, U+52d8, U+5308, U+5384, U+53cc, U+5436, U+5443, U+5466, U+54a8, U+54bd, U+54c9, U+54cb, U+555e, U+5580, U+560e, U+561f, U+562f, U+566c, U+5679, U+56bc, U+56cd, U+56e7, U+56ed, U+572d, U+57d7, U+582f, U+589f, U+5b09, U+5ba5, U+5c51, U+5c90, U+5cef, U+5d16, U+5d84, U+5dd4, U+5e08, U+5e26, U+5f0a, U+5f20, U+606c, U+61c7, U+620f, U+6254, U+625b, U+62a4, U+62d0, U+62f1, U+63a0, U+63c6, U+63f9, U+6413, U+6417, U+6483, U+64f7, U+650f, U+65a7, U+665f, U+66ae, U+66d6, U+66e0, U+6746, U+6756, U+67d1, U+6837, U+68e0, U+68f5, U+6995, U+69a8, U+69b4, U+69d3, U+6a3d, U+6abb, U+6bb7, U+6bd3, U+6c47, U+6cc4, U+6cd3, U+6dae, U+6e26, U+6e29, U+6eaf, U+6eba, U+6fef, U+7028, U+70b3, U+711a, U+725f, U+7325, U+733f, U+73c0, U+73ee, U+7444, U+745a, U+7487, U+7540, U+75a4, U+7729, U+779e, U+798e, U+79e9, U+7a3d, U+7a4c, U+7a9f, U+7ac4, U+7aff, U+7c27, U+7cd9, U+7d76, U+7e43, U+7ea6, U+7ed9, U+7ff1, U+808b, U+809b, U+80fa, U+827a, U+8309, U+8328, U+832b, U+8396, U+83e0, U+840e, U+8425, U+852d, U+853b, U+8588, U+85e9, U+86b5, U+86e4, U+8718, U+87ec, U+880d, U+8910, U+893b, U+89c1-89c2, U+8b3e, U+8baf, U+8bc1, U+8bdd, U+8c41, U+8c48, U+8cb6, U+8d2d, U+8d5e, U+8fbe, U+9015, U+90a8, U+90b5, U+90e1, U+9169, U+9183, U+91d0, U+91dc, U+9293, U+92f8, U+9472, U+9598, U+95a9, U+95ed, U+95fb, U+9605, U+96c7, U+9739, U+9742, U+9761, U+99ad, U+9ae6, U+9b1a, U+9b44, U+9bc9, U+9d3f, U+9dd7, U+9e7c, U+9e92, U+fe5d-fe5e, U+ff22-ff24, U+ff2f-ff30, U+ff33) ); /* noto-sans-tc-[103]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-103-400-normal.woff2", $range: (U+60, U+f7, U+2198, U+2571, U+258b, U+25b6, U+2661, U+3051, U+3109, U+311a, U+4e11, U+4e24, U+4e2b, U+4ef7, U+4f18, U+4f36, U+4fd0, U+5029-502a, U+5055, U+508d, U+50ad, U+50e7, U+50f1, U+50f5, U+51a5, U+51c8, U+51fb, U+5203, U+524e, U+5288, U+5323, U+53c2, U+5458, U+54a7, U+54b1, U+54b3, U+54b8, U+556a, U+5582, U+55b2, U+55ba, U+55da, U+55dc, U+5614, U+5662, U+5678, U+56c2, U+5742, U+57d5, U+5862, U+58e4, U+58f0, U+5907, U+590d, U+5934, U+5978, U+5984, U+5a25, U+5c06, U+5c62, U+5c91, U+5d01, U+5d1b, U+5e87, U+5eff, U+5f27, U+5f3a, U+5f53, U+6001, U+6168, U+61a9, U+6233, U+62a5, U+62ce, U+62ed, U+638f, U+6399, U+646f, U+6590, U+6631, U+664f, U+6689, U+66dc, U+672f, U+67af, U+67ec, U+68d7, U+6977, U+6a44, U+6c14, U+6c40, U+6c70, U+6c76, U+6cb8, U+6ce3, U+6df3, U+6e20, U+6e43, U+6e5b, U+6ebc, U+6eec, U+6f2c, U+6fb1, U+7009, U+7011, U+701a, U+7117, U+7184, U+72f9, U+7426, U+74bd, U+74cf, U+752b, U+7554, U+75b9, U+7621, U+7671-7672, U+7693, U+76ef, U+7737, U+77a7, U+77b3, U+77bb, U+77da, U+77e2, U+77e9, U+77ef, U+7801, U+7940, U+797f, U+79a7, U+79b1, U+79bd, U+79cd, U+7a6b, U+7ac5, U+7b1b, U+7b77, U+7ca7, U+7dab, U+7db4, U+7db8, U+7dcb, U+7ddd, U+7de0, U+7e55, U+7e9c, U+7ed3, U+7ef4, U+803f, U+8046, U+8087, U+8116, U+81a8, U+8214, U+821c, U+82d4, U+831c, U+8339, U+8350, U+8354, U+8526, U+860a, U+86db, U+8713, U+873b, U+8822, U+8993, U+8a1f, U+8ab9, U+8ad7, U+8bcd, U+8e72, U+8f4e, U+8f9c, U+8fd0, U+8fd8, U+8fe6, U+9042, U+907c, U+91ba, U+9452, U+95e2, U+9631, U+9699, U+96b8, U+9709, U+978d, U+9830, U+98ce, U+9945, U+99ed, U+9a8c, U+9ad3, U+9baa, U+9be8, U+9c77, U+9cf6, U+9d72, U+9e1f, U+9ec4, U+fe31, U+fe55, U+ff03, U+ff20, U+ff3b, U+ff3d, U+1f3fb, U+1f44d, U+1f60d) ); /* noto-sans-tc-[104]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-104-400-normal.woff2", $range: (U+10c, U+161, U+e44, U+2728, U+3081, U+4e13, U+4e19, U+4e1c, U+4e1e, U+4e5c, U+4ea7, U+4ed7, U+4f20, U+4f8d, U+4ffe, U+5021, U+50d5, U+515c, U+51a4, U+51e0, U+521b, U+522b, U+532a, U+534e, U+5355, U+537f, U+5398, U+541f, U+543c, U+544e, U+5509, U+5598, U+5622, U+563f, U+5641, U+566a, U+5695, U+569f, U+56ae, U+56da, U+573a, U+574e, U+584c, U+5885, U+58ae, U+5a1f, U+5ac2, U+5b24, U+5bb0, U+5bde, U+5be1, U+5bfc, U+5c39, U+5c4c, U+5c60, U+5cfb, U+5d11, U+5e76, U+5e7f, U+5e9a, U+5eb8, U+5f13, U+5f64, U+5f6c, U+6127, U+61f2, U+6208, U+620a, U+620c, U+6252, U+62ef, U+6328, U+633d, U+6362, U+63b0, U+63c0, U+63c9, U+640f, U+64a9, U+6514, U+652c, U+655e, U+6583, U+658c, U+6627, U+66f3, U+6734, U+6743, U+676d, U+67c4, U+67da, U+6807, U+68cd, U+68f2, U+690e, U+6b16, U+6b38, U+6b3d, U+6bc6, U+6ca1, U+6cab, U+6d8c, U+6e32, U+6e3e, U+6e58, U+6eef, U+6ef2, U+708a, U+7130, U+7165, U+7172, U+71ed, U+7232, U+7239, U+7261, U+7280, U+72a7, U+72f8, U+73c8, U+7464, U+753b, U+754f, U+755c, U+75d8, U+76ea, U+776b, U+7779, U+777f, U+7784, U+778e, U+77ee, U+79e4, U+7a46, U+7a57, U+7aba, U+7aed, U+7b4d, U+7c7b, U+7c7d, U+7d13, U+7d33, U+7dbb, U+7df9, U+7e46, U+7ea7, U+8085, U+8165, U+81fb, U+82b8, U+82d3, U+8305, U+8335, U+8343, U+83e9, U+840d, U+851a, U+853d, U+8543, U+859b, U+85fb, U+87fb, U+888d, U+88c5, U+8adc, U+8b0a, U+8bb0, U+8bbe, U+8bc4, U+8bf4, U+8c5a, U+8cc3, U+8ce4, U+8d44, U+8e81, U+8f44, U+8f66, U+8fdb, U+900d, U+9063, U+914c, U+9223, U+9226, U+923a, U+925b, U+9264, U+929c, U+92b9, U+9320, U+934d, U+9444, U+957f, U+9591, U+96a7, U+97ad, U+97cc, U+9811, U+9898, U+98ea, U+9921, U+9952, U+9a55, U+9b0d, U+9bca, U+9ebd, U+e60f, U+ff1c-ff1d, U+ff21, U+ff38, U+ff9f, U+fffd, U+1f602) ); /* noto-sans-tc-[105]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-105-400-normal.woff2", $range: (U+e17, U+e22, U+2103, U+25a0, U+266a, U+3014-3015, U+311f, U+4e1a, U+4e50, U+4f10, U+4f6c, U+4f70, U+5006, U+50d1, U+5170, U+518c, U+51f0, U+51f6, U+51f9, U+5219, U+5256, U+525d, U+52c9, U+5349, U+5351, U+5356, U+5375, U+539d, U+53db, U+53ee, U+53f7, U+5492, U+54fa, U+5538, U+55bb, U+55e8, U+5632, U+5757, U+5835, U+58be, U+5937, U+59dc, U+59e8, U+5a49, U+5a9a-5a9b, U+5ab3, U+5b9b, U+5b9e, U+5be8, U+5c37, U+5c4e, U+5d14, U+5d19, U+5d4c, U+5d50, U+5deb, U+5e84, U+5e94, U+5ec2, U+5f17, U+5f26, U+5f55, U+5f77, U+5f7f, U+5fbd, U+6052, U+6064-6065, U+608d, U+609a, U+6101, U+614c, U+621a, U+6237, U+6296, U+62e9, U+632a-632b, U+6488, U+6500, U+652a, U+6556, U+65e0, U+65ec, U+6643, U+6850, U+6893, U+6897, U+68b3, U+68d5, U+6930, U+6960, U+6a11, U+6a3a, U+6ab3, U+6b22, U+6c59, U+6c83, U+6ccc, U+6dea, U+6df5, U+6ef7, U+6f3e, U+6f80, U+6fe4, U+7164, U+71c9, U+722a, U+7260, U+7272, U+73b0, U+74e3, U+7538, U+7586, U+75b5, U+7661-7662, U+77db, U+7838, U+786e, U+788c, U+7950, U+79a6, U+79aa, U+7a40, U+7bf7, U+7c3e, U+7c98, U+7ca5, U+7d21, U+7d2e, U+7dba, U+7dec, U+7e79, U+7ecf, U+7edf, U+7f79, U+8086, U+810a, U+8139, U+813e, U+817a, U+81b3, U+821f, U+8247, U+8259, U+8271, U+839e, U+8431, U+846c, U+849c, U+84b2, U+84c4, U+8513-8514, U+8755, U+8877, U+8881, U+88f9, U+8a1d, U+8a3c, U+8a6d-8a6e, U+8a93, U+8ae7, U+8af7, U+8b17, U+8b5a, U+8ba1, U+8bba, U+8cdc, U+8dea, U+8f6c, U+8f7d, U+8fc7, U+8fd9, U+902e, U+90ca, U+916a, U+916c, U+921e, U+9245, U+935b, U+9594, U+95a8, U+95ee, U+95f4, U+9706, U+971e, U+9756, U+980c, U+9891, U+98b1, U+98fc, U+9903, U+9957, U+99ff, U+9b91, U+9db4, U+9f4b, U+e602-e605, U+e610-e611, U+ff16-ff19) ); /* noto-sans-tc-[106]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-106-400-normal.woff2", $range: (U+2190-2191, U+2193, U+22c1, U+2302, U+25cb, U+2699, U+2709, U+3127, U+4e0e, U+4e18, U+4e3a, U+4e48, U+4e91, U+4eec, U+4f3d, U+4fcf, U+5112, U+524a, U+52a3, U+52ab, U+52c3, U+52f3, U+52fb, U+5320, U+5339, U+533f, U+53e2, U+543e, U+5480, U+5495, U+5497, U+5564, U+5572, U+55c6, U+55ef, U+563b, U+5653, U+5657, U+56b7, U+5824, U+58d8, U+5955, U+5983, U+598d, U+59da, U+59e6, U+5a36, U+5bb5, U+5bc2, U+5bf9, U+5cb3, U+5d17, U+5dbc, U+5e2e, U+60df, U+611a, U+6190, U+61a4, U+61be, U+61fc, U+6284, U+62ac, U+62bc, U+634f, U+636e, U+6398, U+63a9, U+6487, U+6495, U+64ab, U+6577, U+65ac, U+6602, U+6652, U+66f9, U+6761, U+679a, U+683d, U+68ad, U+68b5, U+68da, U+68e7, U+6a38, U+6a59, U+6ae5, U+6b47, U+6b67, U+6b6a, U+6bef, U+6c50, U+6c9b, U+6e23, U+6e34, U+6e4a, U+6e67, U+6ea2, U+6eb6, U+6f20, U+6feb, U+70ed, U+714c, U+715e, U+7199, U+71ac, U+7231, U+7262, U+7409, U+745f, U+7469, U+74ca, U+7535, U+753a, U+75f4, U+7624, U+7682, U+76ba, U+76f2, U+77fd, U+780d, U+7832, U+78c5, U+78ef, U+7901, U+79be, U+79c9, U+79e6, U+7a1a, U+7a62, U+7a84, U+7aca, U+7cb5, U+7cb9, U+7cdf, U+7ce7, U+7d6e, U+7db1, U+7def, U+7e61, U+7e7d, U+7e8f, U+7f38, U+7f77, U+7fa8, U+7fc5, U+7fe1, U+7ff9, U+800d, U+8015, U+8054, U+80a2, U+80aa, U+80ba, U+814e, U+8180, U+819d, U+81c0, U+828b, U+82ad, U+82af, U+83f1, U+83f8, U+8403, U+84bc, U+84c9, U+84ec, U+8523, U+8549, U+8569, U+8591, U+85b0, U+881f, U+884d, U+88d4, U+89c4, U+89c6, U+8a60, U+8a79, U+8b19, U+8bd5, U+8bf7, U+8c03, U+8c79, U+8cc8, U+8d9f, U+8e10, U+8e48, U+8faf, U+9009, U+9017, U+9175, U+9187, U+918b, U+9214, U+946b, U+9470, U+947c, U+9640, U+9675, U+96ef, U+97cb, U+97e9, U+985b, U+99ae, U+99b3, U+9b4f, U+9d09, U+9e9f, U+9edb, U+9f90, U+ff14, U+1f464) ); /* noto-sans-tc-[107]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-107-400-normal.woff2", $range: (U+a5, U+25ce, U+4e56, U+4e9a, U+4ea8, U+4ead, U+4f3a, U+4f51, U+4f62, U+4faf, U+5098, U+50ac, U+5147, U+5173, U+5187, U+51f8, U+52a1, U+52a8, U+52f8, U+535c, U+53ed, U+541e, U+5435, U+5475, U+54a9, U+54c0, U+54c7, U+5589, U+5605, U+5733, U+5764, U+5782, U+57c3, U+5858, U+5893, U+589c, U+58e2, U+5974, U+599e, U+59a8, U+59ec, U+5b66, U+5b99, U+5b9d, U+5bee, U+5c2c, U+5c65, U+5cfd, U+5d0e, U+5dba, U+5de2, U+5e06, U+5e15, U+5ec1, U+5ed6, U+5f00, U+5f4c, U+5f65, U+6055, U+6070, U+609f, U+60b6, U+6241, U+624e, U+626f, U+6291, U+62cc, U+62d8, U+62da, U+62fe, U+6349, U+6367, U+63ea, U+6435, U+6454, U+64a4, U+64b2, U+64bc, U+64bf, U+64c5, U+64ce, U+6558, U+6572, U+65a5, U+65e8, U+65ed, U+6614, U+6670, U+6688, U+672d, U+673a, U+6770, U+68cb, U+6912, U+6953, U+6a61, U+6aac, U+6aaf, U+6ab8, U+6b20, U+6b96, U+6bbf, U+6bc5, U+6c6a, U+6cbe, U+6d59, U+6d78, U+6dc7, U+6deb, U+6e7e, U+6e9c, U+6f3f, U+6f51, U+6f84, U+704c, U+7051, U+70ab, U+70ad, U+70f9, U+7119, U+7149, U+714e, U+71e6, U+72c4, U+72d0, U+72e0, U+7334, U+744b, U+7455, U+7504, U+75ab, U+75b2, U+766e, U+76c3, U+76fc, U+76fe, U+7891, U+7948, U+7a74, U+7b28, U+7c72, U+7cca, U+7ebf, U+7f55, U+7ff0, U+8154, U+81c2, U+81d8, U+81e3, U+81e5, U+8292, U+8299, U+8302, U+8304, U+8332, U+83c1, U+83c7, U+83ca, U+845b, U+8475, U+8490, U+85af, U+8650, U+8667, U+86d9, U+8774, U+8abc, U+8b0e, U+8b39, U+8bed, U+8c54, U+8c6b, U+8c9e, U+8ca7, U+8caa-8cab, U+8ce6, U+8cec-8ced, U+8eb2, U+8eba, U+8fb0, U+901d, U+908f, U+9127, U+91c0, U+91d8, U+9215, U+92b3, U+932b, U+93fd, U+95ca, U+964c, U+96c0, U+970d, U+9716, U+9774, U+97fb, U+9812, U+9913, U+9935, U+99c1, U+9b31, U+9d5d, U+9d6c, U+9e79, U+fe0f, U+fe30, U+ff05, U+ff0b, U+ff10, U+ff15) ); /* noto-sans-tc-[108]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-108-400-normal.woff2", $range: (U+b0, U+926, U+928, U+939, U+93f-940, U+94d, U+200b, U+22ef, U+25ba, U+25c6, U+2665, U+4e08, U+4e2a, U+4e4f, U+4e59, U+4ec7, U+4f0d, U+4f0f, U+4f19, U+4f59, U+4fae, U+5075, U+507d, U+50b2, U+50b5, U+511f, U+5141, U+5146, U+514c, U+5185, U+51dd, U+51fd, U+522e, U+5319, U+533a, U+5378, U+53ad, U+53c9, U+53d1, U+53d4, U+543b, U+5442, U+5446, U+5481, U+54e9, U+5507, U+5565, U+559a, U+55aa, U+5690, U+56ca, U+56fe, U+582a, U+5915, U+5949, U+5962, U+5996, U+59a5, U+59fb, U+5a77, U+5b0c, U+5b5f, U+5bd3, U+5be2, U+5bfa, U+5c41, U+5c48, U+5ca9, U+5d07, U+5ec8, U+5eca, U+5f18, U+5f4e, U+5f59, U+5f6d, U+5f79, U+5fb9, U+6028, U+6068, U+606d, U+6094, U+60f1, U+6108-6109, U+614e, U+6170, U+617e, U+61b2, U+61f8, U+6247, U+626d, U+6276, U+62ab, U+62cb, U+62d3, U+62f3, U+6368, U+6380, U+6492, U+64e0, U+6570, U+6606, U+660f, U+6649, U+6691, U+66a8, U+6749, U+674f, U+6795, U+67f1, U+67f3, U+6842, U+6851, U+687f, U+68df, U+69fd, U+6a58, U+6c27, U+6c88, U+6cca, U+6d29, U+6d66, U+6daf, U+6f01, U+6f58, U+6f6d, U+6f70, U+6fa1, U+6ff1, U+6ffe, U+7058, U+70ae, U+71d9, U+71e5, U+7235, U+7267, U+73ca, U+742a, U+74f7, U+7529, U+758f, U+75bc, U+76c6, U+7955, U+7a00, U+7a3b, U+7b4b, U+7bad, U+7be9, U+7c4c, U+7c60, U+7cfe, U+7dbf, U+7e2b, U+7f9e, U+7fc1, U+7ffc, U+8096, U+809d, U+80de, U+8155, U+816b, U+81df, U+82bd, U+8352, U+8393, U+8404, U+8525, U+856d, U+8606, U+868a, U+87f9, U+886b, U+8870, U+896a, U+896f, U+8a23, U+8a87, U+8ad2, U+8b00, U+8b20, U+8cb8, U+8cca, U+8ce0, U+8d39, U+8d6b, U+8db4, U+8e29, U+8ef8, U+8f1b, U+8f5f, U+8fa8, U+906e, U+9077, U+90aa, U+90b1, U+90c1, U+9165, U+919c, U+92c1, U+95d6, U+95e8, U+975a, U+9817, U+98c6, U+9ecf, U+feff, U+ff06, U+ff0a, U+ff12-ff13) ); /* noto-sans-tc-[109]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-109-400-normal.woff2", $range: (U+627-629, U+631, U+639, U+644, U+64a, U+25cf, U+2606, U+2764, U+3008-3009, U+4e38, U+4e43, U+4ed5, U+4ef0, U+4eff, U+4fe0, U+5085, U+50a2, U+50be, U+5118, U+5211-5212, U+5272, U+52fe, U+5366, U+53b2, U+53ec, U+54ac, U+5587, U+55b5, U+5606, U+561b, U+5751, U+576a, U+57cb, U+58ef, U+58fa, U+594f, U+5951, U+596e, U+59d1, U+5ac1, U+5acc, U+5b8b, U+5c4d, U+5ca1, U+5d29, U+5dfe, U+5e7d, U+5edf, U+5ef7, U+5fa1, U+5faa, U+5fcc, U+5ffd, U+6021, U+6046, U+6062, U+62b9, U+6316, U+6350, U+6478, U+647a, U+6490, U+64b0, U+64e6, U+6524, U+6591, U+659c, U+65a4, U+65e6, U+65f6, U+6607, U+6674, U+6765, U+679d, U+67f4, U+68a8, U+6b3a, U+6c57, U+6c61, U+6c90, U+6cbf, U+6cdb, U+6d69, U+6db5, U+6dd1, U+6e21, U+6f06, U+6f62, U+70d8, U+71c3, U+71d5, U+722c, U+727d, U+72ac, U+72fc, U+731c, U+7336, U+7344, U+7384, U+73ab, U+7433, U+745c, U+7470, U+75d5, U+7652, U+76c8, U+76e7, U+7709, U+7720, U+7740, U+7747, U+7763, U+77ac-77ad, U+7802, U+78a7, U+78b3, U+78c1, U+78da, U+7926, U+796d, U+798d, U+7aae, U+7b52, U+7c92, U+7d68, U+7d81, U+7e31, U+7e5e, U+7e69, U+7e73, U+7f50, U+7f70, U+7f75, U+8058, U+8070, U+80c3, U+8105-8106, U+8108, U+8179, U+818f, U+81a9, U+81ed, U+820c-820d, U+8277, U+82d1, U+8461, U+84b8, U+852c, U+857e, U+8587, U+85e4, U+863f, U+8679, U+86c7, U+8702, U+8776, U+87ba, U+8896, U+88c2, U+88d5, U+88f8, U+8af8, U+8b7d, U+8ca2, U+8d64, U+8d74, U+8d81, U+8d99, U+8e5f, U+8e8d, U+8ecc, U+8ed2, U+8fb1, U+8fc5, U+9022, U+9038, U+905c, U+9081, U+9189, U+9234, U+92d2, U+934a, U+95a3, U+962a, U+9646, U+96d5, U+971c, U+9838, U+9875, U+98c4, U+99db, U+9a45, U+9a5f, U+9a6c, U+9ad2, U+9cf4, U+9d28, U+9daf, U+9df9, U+9e7d, U+9f0e, U+9f52, U+9f9c, U+ff11, U+ff1e) ); /* noto-sans-tc-[110]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-110-400-normal.woff2", $range: (U+2022, U+2500, U+25bc, U+4e1f, U+4e95, U+4f50, U+4f54, U+4f69, U+4fb6, U+4fc4, U+4fca, U+5009, U+50bb, U+5154, U+51cc, U+528d, U+5291, U+52d2, U+52e4, U+5353, U+5360, U+540a-540b, U+5410, U+54f2, U+5514, U+5537, U+558a, U+55ac, U+5617, U+56fd, U+573e, U+5766, U+5783, U+57d4, U+5806, U+5821, U+5857, U+5875, U+58f9, U+592f, U+5954, U+596a, U+59ae, U+59c6, U+59ca, U+59ff, U+5a03, U+5ae9, U+5b64, U+5bb4, U+5c3f, U+5c6f, U+5de1, U+5e16, U+5e45, U+5e72, U+5ec9, U+5f7c, U+5f81, U+5f90-5f92, U+6016, U+6085, U+6089, U+60a0, U+60a3, U+60b2, U+60d1, U+60f9, U+6155, U+6158, U+6191, U+6212, U+626e, U+62d4, U+632f, U+633a, U+63aa, U+642c, U+64a5, U+64cb, U+6566, U+6597, U+66b1, U+66ec, U+6731, U+6735, U+67ef, U+6846, U+6876, U+6881, U+68af-68b0, U+68c9, U+6905, U+6bc0, U+6beb, U+6c0f, U+6c1b, U+6c41, U+6ce5, U+6cf3, U+6d25, U+6d2a, U+6d3d, U+6dcb, U+6dd8, U+6dfa, U+6e9d, U+6eaa, U+6ec5, U+6ecb, U+6f0f, U+6f32, U+707d, U+708e, U+7092, U+716e, U+723a, U+731b, U+7345, U+7375, U+73b2, U+7434, U+74e6, U+758a, U+75be, U+75de, U+764c, U+76dc, U+788e, U+7897, U+789f, U+78a9, U+78b0, U+790e, U+7965, U+7a4e, U+7c43, U+7d17, U+7dd2, U+7e96, U+7f51, U+7f69, U+7f72, U+7fd4, U+7fe0, U+8017, U+80a9, U+80d6, U+8150, U+8178, U+81bd, U+829d, U+82ac, U+8303, U+838e, U+83cc, U+840c, U+8482, U+8499, U+85a9-85aa, U+883b, U+8861, U+88c1, U+88cf, U+88d9, U+8a3a, U+8a98, U+8aee, U+8c8c, U+8cc0, U+8ce2, U+8d0f, U+8da8, U+8dcc, U+8e0f, U+8f1d, U+8f29, U+8fad, U+9003, U+9006, U+903c, U+903e, U+9059, U+9072, U+9075, U+90ce, U+9130, U+91ac, U+91e3, U+9285, U+9298, U+92ea, U+9326, U+937e, U+95c6, U+9676-9677, U+9727, U+994b, U+99a8, U+99d0, U+9a30, U+9b42, U+9b45, U+9d3b, U+9e7f, U+9ee8, U+9f3b) ); /* noto-sans-tc-[111]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-111-400-normal.woff2", $range: (U+5e, U+3042, U+3044, U+3046, U+3048, U+304a-3050, U+3053-3057, U+3059-305b, U+305d-3061, U+3063-306c, U+306e-3079, U+307b, U+307d-307f, U+3082-308d, U+308f, U+3092-3093, U+30a1-30a4, U+30a6-30c1, U+30c3-30c4, U+30c6-30e1, U+30e3-30ed, U+30ef, U+30f3, U+30fb-30fc, U+4e32, U+4ef2, U+4fd7, U+501f, U+5144, U+51c6, U+52c1, U+5440, U+54e6, U+54ed, U+5510, U+5687, U+58c1, U+5b5d, U+5bd2, U+5ee2, U+5f31, U+6012, U+6084, U+6148, U+6182, U+622a, U+6355, U+6372, U+63ee, U+6416, U+6575, U+660c, U+66c9, U+675c, U+6a6b, U+6b32, U+6b49, U+6b98, U+6d6e, U+6dda, U+6ef4, U+6efe, U+7159, U+7378, U+775b, U+78e8, U+7aa9, U+7d1b, U+7de9, U+7f6a, U+7f8a, U+7fbd, U+8000, U+809a, U+8102, U+8170, U+819c, U+8266, U+82b3, U+87f2, U+8972, U+8a17, U+8b02, U+8e22, U+904d, U+90ed, U+91c7, U+93c8, U+9451, U+9a37, U+9b27, U+ad6d, U+c5b4, U+d55c) ); /* noto-sans-tc-[112]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-112-400-normal.woff2", $range: (U+2502, U+2605, U+4e39, U+4e58, U+4ea1, U+4ed9, U+4f2f-4f30, U+4f38, U+4f75, U+4fc3, U+4ff1, U+500d, U+5049, U+5074, U+5077, U+5091, U+5175, U+517c, U+51cd, U+51e1, U+5269-526a, U+52aa, U+52c7, U+52df, U+5377, U+541b, U+5439, U+5448, U+54aa, U+5674, U+56f0, U+5761, U+585e, U+588a, U+58a8, U+58fd, U+5925, U+592e, U+5948, U+5999, U+59b3, U+5a18, U+5a1c, U+5a46, U+5b30, U+5b54, U+5b6b, U+5b8f, U+5be9, U+5bf8, U+5c0a, U+5c16, U+5c24, U+5c46, U+5cf0, U+5e1d, U+5e25, U+5e2d, U+5e3d, U+5e79, U+5f04, U+5fcd, U+5fe0, U+60dc, U+6163, U+616e, U+61f6, U+6258, U+6293, U+62c6, U+62d2, U+62d6, U+62fc, U+63da, U+63ed, U+640d, U+6458, U+649e, U+64ec, U+64f4, U+64fe, U+651c, U+6562, U+65cb, U+65e2, U+65fa, U+6628, U+6668, U+66a2, U+66dd, U+66fc, U+66ff, U+6717, U+67cf, U+67d4, U+6817, U+6885, U+695a, U+69cd, U+6afb, U+6bbc, U+6c89, U+6c96, U+6cc9, U+6d1b, U+6d1e, U+6d74, U+6db2, U+6dbc, U+6df7, U+6dfb, U+6e38, U+6f38, U+6f5b, U+6f64, U+6f8e, U+6fa4, U+6fc3, U+6fd5, U+7070, U+70b8, U+70cf, U+70e4, U+7169, U+7210, U+721b, U+7238, U+737b, U+73bb, U+746a, U+7483, U+74dc, U+74f6, U+7518, U+756a, U+75c7, U+7919, U+7956, U+795d, U+7a05, U+7a0d, U+7a3f, U+7bc9, U+7c97, U+7cd5, U+7d0b, U+7d10, U+7dfb, U+7e3e, U+7e6a, U+8036, U+808c, U+80af, U+80ce, U+80e1, U+80f8, U+817f, U+8216, U+8239, U+827e, U+8377, U+8389, U+83ab, U+83f2, U+840a, U+8584, U+85c9, U+865b, U+8766, U+87a2, U+8932, U+8a50, U+8a69, U+8a95, U+8b6f, U+8c37, U+8c6c, U+8ca9, U+8cfa, U+8d95, U+8de1, U+8f14, U+8f9b, U+8fa3, U+8feb, U+8ff4, U+9010, U+901b, U+905e, U+9080, U+912d, U+9177, U+9336, U+947d, U+963b, U+966a, U+9670, U+9769, U+9813, U+9846, U+98fd, U+99d5, U+9a0e, U+9a19, U+9b6f, U+9ce5, U+9cf3, U+9ece, U+9ed8, U+9f13, U+9f20) ); /* noto-sans-tc-[113]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-113-400-normal.woff2", $range: (U+201c-201d, U+203b, U+2192, U+25b2, U+300e-300f, U+4e01, U+4e73, U+4e82, U+4e88, U+4e8e, U+4f0a, U+4f5b, U+502b, U+504f, U+5076, U+5100, U+5104, U+5132, U+5192, U+51a0, U+51ac, U+51f1, U+5200, U+5224, U+522a, U+5237-5238, U+523a, U+526f, U+5289, U+52de, U+52f5, U+52ff, U+5371, U+539a, U+53e5, U+540e, U+5433, U+547c, U+552f, U+5531, U+5634, U+56c9, U+574a, U+57f7, U+57f9, U+5805, U+5851, U+5854, U+586b, U+58c7, U+58de, U+5967, U+59bb, U+59d3-59d4, U+5b55, U+5b87, U+5b97, U+5bae, U+5bbf, U+5be7, U+5bec, U+5cb8, U+5df7, U+5e7b-5e7c, U+5f1f, U+5f70, U+5fd9, U+60e1, U+61b6, U+61c2, U+6200, U+6234, U+6263, U+62b5, U+62dc, U+62ec, U+6383, U+638c, U+63cf, U+63d2, U+63e1, U+63f4, U+641e, U+64cd, U+64fa, U+654f, U+6557, U+656c, U+65c1, U+65d7, U+6620, U+6676, U+6696-6697, U+66ab, U+66c6, U+671d, U+672b, U+676f, U+677e, U+67d0, U+67d3, U+684c, U+68c4, U+690d, U+694a, U+699c, U+6a4b, U+6ac3, U+6b04, U+6b23, U+6b78, U+6b8a, U+6bd2, U+6c60, U+6cb3, U+6d89, U+6de1, U+6de8, U+6e6f, U+6f02, U+70c8, U+7126, U+718a, U+7236, U+723d, U+7246, U+72af, U+72d7, U+73cd, U+7532, U+760b, U+7626, U+7687, U+76df, U+7761, U+79cb, U+79d2, U+79df, U+7a69, U+7af6, U+7b80, U+7c3d, U+7c3f, U+7c4d, U+7cd6, U+7d2b, U+7de3, U+7e2e, U+7e54, U+7e6b, U+8010, U+80a5, U+812b, U+819a, U+81a0, U+82d7, U+838a, U+8463, U+84cb, U+8521, U+8607, U+860b, U+864e, U+871c, U+878d, U+885d, U+89f8, U+8a13, U+8aa0, U+8afe, U+8b5c, U+8c46, U+8cbf, U+8cd3, U+8cf4, U+8d08, U+8d0a, U+8ddd, U+8de8, U+8fea, U+9014, U+9055, U+906d, U+907a, U+907f, U+90a6, U+9178, U+92fc, U+934b, U+9396, U+93ae, U+9583, U+9663, U+9694, U+96bb, U+9707, U+9738, U+9905, U+9aa8, U+9b25, U+9b3c, U+9ea5, U+9eb5, U+9f4a, U+9f61, U+ff0d-ff0e) ); /* noto-sans-tc-[114]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-114-400-normal.woff2", $range: (U+3c, U+d7, U+2027, U+4e4e, U+4e92, U+4ea6, U+4ec1, U+4ecd, U+4f34, U+4f48, U+4f53, U+4fb5, U+5012, U+50b7, U+51b0, U+5283, U+52dd, U+532f, U+5354, U+53eb, U+53f3, U+5409, U+5496, U+54c8, U+54e5, U+554a, U+5561, U+5594, U+559d, U+56b4, U+56fa, U+5713, U+5750, U+57df, U+584a, U+590f, U+592b, U+593e, U+5976, U+599d, U+59b9, U+59d0, U+5a5a, U+5a66, U+5b85, U+5b88, U+5ba3, U+5bdf, U+5c01, U+5c04, U+5c3a, U+5c3e, U+5c4f, U+5ddd-5dde, U+5de7-5de8, U+5e63, U+5e8a, U+5e9c, U+5eda, U+5ef3, U+5ef6, U+5f48, U+5fb5, U+6015, U+6025, U+602a, U+6050, U+6069, U+6162, U+6176, U+61f7, U+6279, U+627f, U+6297, U+62b1, U+62bd, U+6311, U+6377, U+6388-6389, U+63a1-63a2, U+6436, U+64c1, U+64d4, U+6551, U+6563, U+65bd, U+66b4, U+66f2, U+6751, U+675f, U+6790, U+6838, U+68d2, U+68ee, U+6982, U+69ae, U+69cb, U+6a39, U+6b66, U+6bba, U+6c5f, U+6ce1, U+6d0b, U+6d3e, U+6d6a, U+6e1b, U+6ed1, U+6f22, U+6f54, U+6f6e, U+6fc0, U+6fdf, U+719f, U+71c8, U+71d2, U+7259, U+72c2, U+7389, U+73e0, U+745e, U+751a, U+751c, U+7530, U+7533, U+7562, U+7591, U+75c5, U+75db, U+7642, U+7686, U+76d2, U+76db, U+76e1, U+76e3, U+7701, U+786c, U+7981, U+79c0, U+79fb, U+7a81, U+7a97, U+7adf, U+7aef, U+7b26, U+7c64, U+7d0d, U+7d14, U+7d2f, U+7d9c, U+7dca, U+7df4, U+7e23, U+7f3a, U+8033, U+804a, U+8056, U+805a, U+8173, U+81e8, U+8212, U+821e, U+822a, U+82e6, U+8336, U+83dc, U+8449, U+84ee, U+85e5, U+885b, U+888b, U+8907, U+8a34, U+8a5e, U+8aa4, U+8ab0, U+8ab2, U+8ac7, U+8b66, U+8c6a, U+8c93, U+8c9d, U+8cb4, U+8dd1, U+8f2a, U+8fb2, U+9109, U+9192, U+91cb, U+91dd, U+93e1, U+964d, U+9686, U+968e, U+969c, U+96de, U+96e8, U+96ea, U+96f7, U+975c, U+9760, U+978b, U+9858, U+98ef, U+9918, U+9aee, U+9b54, U+9ebb, U+ff0f, U+ff5c) ); /* noto-sans-tc-[115]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-115-400-normal.woff2", $range: (U+23-25, U+3d, U+4e45, U+4e5d, U+4e7e, U+4eac, U+4eae, U+4ed4, U+4ee4, U+4f01, U+4f3c, U+4f8b, U+4fc2, U+505c, U+50c5, U+5145, U+51b7, U+521d, U+523b, U+525b, U+5287, U+52e2, U+5348, U+535a, U+537b, U+5426, U+542b, U+5438, U+5462, U+54ea, U+555f, U+5566, U+5584, U+5609, U+5708, U+570d, U+571f, U+5747, U+5802, U+58d3, U+5920, U+5922, U+5957, U+5979, U+5a01, U+5a92, U+5abd, U+5b63, U+5b69, U+5b83, U+5bb3, U+5bc4, U+5bf5, U+5c3c, U+5c40, U+5c4b, U+5c64, U+5cf6, U+5de6, U+5e0c, U+5e55, U+5e78, U+5eab, U+5ead, U+5ee0, U+5f85, U+5f8b, U+5fd7-5fd8, U+6167, U+6298, U+62db, U+62ff, U+639b, U+63a7, U+642d, U+6469, U+64ad, U+651d, U+653b, U+65b7, U+65cf, U+665a, U+666e, U+66fe, U+6728, U+674e, U+67b6, U+6821, U+6839, U+6843, U+6a94, U+6b4c, U+6b50, U+6b62, U+6b72, U+6b7b, U+6bcd, U+6bdb, U+6c38, U+6c7a, U+6c7d, U+6c99, U+6cb9, U+6ce2, U+6cf0, U+6d17, U+6d32, U+6e2c, U+6e56, U+6fb3, U+722d, U+723e, U+725b, U+734e, U+7387, U+73ed, U+7565, U+7570, U+76ca, U+76e4, U+773e, U+77ed, U+77f3, U+7814, U+7834, U+7968, U+79d8, U+7a7f, U+7af9, U+7b11, U+7b46, U+7b54, U+7bc4, U+7d19, U+7d22, U+7d42, U+7d55, U+7da0, U+7e41, U+7e7c, U+7f85, U+7ffb, U+8077, U+8089, U+80cc, U+81c9, U+81f4, U+81fa, U+820a, U+822c, U+826f, U+8349, U+85cd, U+86cb, U+8840, U+88dc, U+8986, U+8a0e, U+8a73, U+8a8c, U+8b1b, U+8b9a, U+8c50, U+8ca0, U+8cde, U+8cfd, U+8d8a, U+8df3, U+8e64, U+8ecd, U+8edf, U+8f38, U+8fd4, U+8ff0, U+8ff7, U+9000, U+9047, U+9060, U+90f5, U+9152, U+91ce, U+9280, U+9418, U+9435, U+9589, U+9592, U+9678, U+968a, U+96aa, U+96c5, U+96d6, U+96dc, U+96f6, U+9732, U+9748, U+9802, U+9806, U+9808, U+983b, U+984d, U+984f, U+9867, U+98db, U+98f2, U+98fe, U+9a5a, U+9b06, U+9b5a, U+9bae, U+ff5e) ); /* noto-sans-tc-[116]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-116-400-normal.woff2", $range: (U+40, U+2026, U+4e03, U+4e14, U+4e9e, U+4ec0, U+4ed8, U+4f11, U+4f4e-4f4f, U+4f73, U+4fee, U+5019, U+503c, U+5047, U+514b, U+516b, U+5178, U+5207, U+520a, U+5236, U+5343, U+5347, U+534a, U+5370, U+53cd, U+53e4, U+53e6, U+53f2, U+5403, U+5411, U+5427, U+5468, U+5473, U+547d, U+552e, U+5740, U+5883, U+589e, U+591c, U+5931, U+59cb, U+5a1b, U+5b58, U+5b98, U+5b9c, U+5ba4, U+5bcc, U+5beb, U+5c45, U+5c6c, U+5dee, U+5df4, U+5e03, U+5e33, U+5e6b, U+5e7e, U+5e8f, U+5e95, U+5ea7, U+5f15, U+5f62, U+5f69, U+5f80, U+5fa9, U+5fae, U+5fb7, U+5ff5, U+600e, U+601d, U+60e0, U+614b, U+6230, U+623f, U+628a, U+6295, U+62c9, U+6309, U+64c7, U+64ca, U+652f, U+6545, U+6548, U+65af, U+65e9, U+6625, U+666f, U+667a, U+670b, U+671b, U+6750, U+677f, U+6975, U+6a13, U+6a21, U+6aa2, U+6b65, U+6b77, U+6bb5, U+6cc1, U+6ce8, U+6df1, U+6e90, U+6e96, U+6eab, U+6f14, U+6f2b, U+700f, U+706b, U+7206, U+724c, U+72c0, U+7368, U+7372, U+74b0, U+756b, U+76ae, U+773c, U+78ba, U+798f, U+79ae, U+7a4d, U+7a76, U+7ae5, U+7b56, U+7b97, U+7bb1, U+7bc7, U+7c73, U+7c89, U+7d00, U+7d20, U+7d39, U+7d72, U+7dad, U+7e8c, U+7fa4, U+7fd2, U+8003, U+807d, U+80a1, U+80b2, U+8166, U+8208-8209, U+82e5, U+843d, U+85cf, U+85dd, U+862d, U+8857, U+8863, U+89ba, U+89d2, U+8a2a, U+8a31, U+8a62, U+8a66, U+8a72, U+8abf, U+8b1d, U+8b58, U+8c61, U+8ca1, U+8ca8, U+8cac, U+8cbc, U+8d70, U+8da3, U+8db3, U+8ddf, U+8f03, U+8f15, U+8f2f, U+8fa6, U+8fce, U+8ffd, U+900f, U+9031, U+9069, U+908a, U+91ab, U+91cc, U+92b7, U+9322, U+932f, U+9375, U+9632, U+963f, U+9644, U+9662, U+9673, U+967d, U+96a8, U+96c4, U+96d9, U+96e2-96e3, U+96f2, U+9752, U+97d3, U+97ff, U+9805, U+9810, U+9818, U+986f, U+990a, U+9910, U+9928, U+9e97, U+9ec3, U+9f8d, U+ff1b) ); /* noto-sans-tc-[117]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-117-400-normal.woff2", $range: (U+26, U+3e, U+5f, U+7e, U+3000, U+300a-300b, U+3010-3011, U+4e16, U+4e26, U+4e94, U+4e9b, U+4ea4, U+4eca-4ecb, U+4efb, U+4efd, U+4f46, U+4f55, U+4f9b, U+4f9d, U+4fbf, U+505a, U+5065, U+5099, U+50cf, U+512a, U+5143, U+5148, U+5152, U+5169, U+516d, U+5171, U+5177, U+518a, U+5225, U+5247, U+5275, U+529f, U+52a9, U+5305, U+5341, U+5357, U+5361, U+5373, U+53bb, U+53c3, U+53c8, U+53d6-53d7, U+53e3, U+5404, U+559c, U+55ce, U+5668, U+56db, U+5712, U+5718, U+57ce, U+57fa, U+58eb, U+592a, U+5947, U+5bc6, U+5bf6, U+5c0e, U+5c11, U+5c1a, U+5c55, U+5c71, U+5df1, U+5e2b, U+5e36, U+5e97, U+5eb7, U+5ee3, U+5efa, U+5f35, U+5f37, U+5f88, U+5f9e, U+5fc5, U+606f, U+60a8, U+6232, U+6236, U+624d, U+627e, U+6280, U+62cd, U+6301, U+6307, U+6392, U+63db, U+64da, U+6539, U+653e-653f, U+6559, U+6574, U+65c5, U+6613, U+66f8, U+6797, U+67e5, U+6848, U+6a19, U+6a23, U+6b61, U+6bcf, U+6c11, U+6c42, U+6d41, U+6d77, U+6e2f, U+6eff, U+7167, U+71df, U+738b, U+73a9, U+7403, U+7537, U+754c, U+7559, U+767d-767e, U+78bc, U+793a, U+795e, U+79c1, U+79d1, U+7a2e, U+7a31, U+7a7a, U+7ae0, U+7ba1, U+7bc0, U+7c21, U+7cfb, U+7d04-7d05, U+7d1a, U+7d30, U+7d44, U+7d66, U+7d71, U+7de8, U+7e3d, U+7f6e, U+7fa9, U+8001, U+805e, U+8072, U+81f3, U+82f1, U+83ef, U+842c, U+8457, U+85a6, U+8655, U+8853, U+88ab, U+88dd, U+88e1, U+88fd, U+897f, U+898f, U+89aa, U+89bd, U+89c0, U+89e3, U+8a02, U+8a3b, U+8a55, U+8a8d, U+8a9e, U+8ad6, U+8b49, U+8b70, U+8b77, U+8b80, U+8b8a, U+8b93, U+8cb7, U+8ce3, U+8cea, U+8cfc, U+8f09, U+8fd1, U+9001, U+901f-9020, U+9054, U+90a3, U+914d, U+91cf, U+9304, U+95b1, U+9664, U+969b, U+96b1, U+96c6, U+9700, U+975e, U+97f3, U+98a8, U+98df, U+9999, U+99ac, U+9a57, U+9ebc, U+9ed1) ); /* noto-sans-tc-[118]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-118-400-normal.woff2", $range: (U+d, U+2b, U+7c, U+a9, U+300c-300d, U+4e09, U+4e3b, U+4e4b, U+4e5f, U+4e86, U+4e8b-4e8c, U+4eab, U+4ed6, U+4ee3, U+4ef6, U+4f1a, U+4f4d, U+4f60, U+4f7f, U+4fdd, U+4fe1, U+50b3, U+50f9, U+5149, U+514d, U+5167, U+5176, U+518d, U+5217, U+5229, U+524d, U+529b, U+52a0, U+52d9, U+5316-5317, U+5340, U+539f, U+53ca-53cb, U+53ea, U+53f8, U+5408, U+540c-540d, U+544a, U+548c, U+54c1, U+54e1, U+5546, U+554f, U+55ae, U+56de, U+56e0, U+5716, U+578b, U+5831, U+5834, U+5916, U+5973, U+5982, U+5b57, U+5b78, U+5b89, U+5b8c, U+5b9a, U+5ba2, U+5bb9, U+5be6, U+5c07-5c08, U+5c0b, U+5c0d, U+5c31, U+5de5, U+5df2, U+5e02, U+5e38, U+5ea6, U+5f0f, U+5f71, U+5f8c, U+5f97, U+5feb, U+6027, U+60c5, U+60f3, U+610f, U+611b, U+611f, U+61c9, U+6216, U+624b, U+6253, U+63a5, U+63a8, U+63d0, U+641c, U+6536, U+6578, U+6599, U+661f, U+662d, U+670d, U+671f, U+672a, U+6771, U+679c, U+682a, U+683c, U+689d, U+696d, U+6a02, U+6a5f, U+6b0a, U+6b21, U+6b3e, U+6b64, U+6bd4, U+6c23, U+6c34, U+6c92, U+6cd5, U+6d3b, U+6d88, U+6e05, U+7063, U+7121, U+7136, U+71b1, U+7247-7248, U+7269, U+7279, U+73fe, U+7406, U+7522, U+7531, U+7576, U+767b, U+76ee, U+76f4, U+770b, U+771f, U+77e5, U+793e, U+7a0b, U+7acb, U+7ad9, U+7b2c, U+7b49, U+7cbe, U+7d50, U+7d61, U+7d93, U+7dda, U+8005, U+800c, U+806f, U+8207, U+8272, U+82b1, U+865f, U+8868, U+898b, U+8996, U+8a00, U+8a08, U+8a0a, U+8a18, U+8a2d, U+8a71, U+8aaa, U+8acb, U+8cbb, U+8cc7, U+8d77, U+8d85, U+8def, U+8eab, U+8eca, U+8f49, U+9019-901a, U+9023, U+9032, U+904a-904b, U+904e, U+9053, U+9078, U+9084, U+90e8, U+90fd, U+91cd, U+91d1, U+9577, U+9580, U+9593, U+9650, U+9762, U+982d, U+984c, U+985e, U+9ad4, U+9ad8, U+9ede, U+ff01, U+ff08-ff09, U+ff1f) ); /* noto-sans-tc-[119]-400-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-119-400-normal.woff2", $range: (U+20-22, U+27-2a, U+2c-3b, U+3f, U+41-5d, U+61-7b, U+7d, U+a0, U+ab, U+ae, U+b2-b3, U+b7, U+bb, U+bf, U+c9, U+cd, U+d6, U+e0-ef, U+f1-f4, U+f6, U+f9-fa, U+fc-fd, U+101, U+103, U+110-111, U+113, U+12b, U+14d, U+16b, U+1a1, U+1b0, U+1ce, U+300-301, U+1ea1, U+1ea3, U+1ebf, U+1ec7, U+2013-2014, U+2039-203a, U+203c, U+2122, U+3001-3002, U+4e00, U+4e0a-4e0b, U+4e0d, U+4e2d, U+4eba, U+4ee5, U+4f5c, U+4f86, U+500b, U+5011, U+5165, U+5168, U+516c, U+51fa, U+5206, U+5230, U+52d5, U+53ef-53f0, U+570b, U+5728, U+5730, U+591a, U+5927, U+5929, U+597d, U+5b50, U+5bb6, U+5c0f, U+5e73-5e74, U+5fc3, U+6210-6211, U+6240, U+6587, U+65b0, U+65b9, U+65bc, U+65e5, U+660e, U+662f, U+6642, U+66f4, U+6700, U+6703, U+6708-6709, U+672c, U+6b63, U+6cbb, U+70b9-70ba, U+751f, U+7528, U+767c, U+7684, U+76f8, U+7db2, U+7f8e, U+80fd, U+81ea, U+884c, U+8981, U+958b, U+95dc, U+96fb, U+9801, U+9996, U+ff0c, U+ff1a) diff --git a/src/styles/noto-sans/tc-700-normal.scss b/src/styles/noto-sans/tc-700-normal.scss index 98981f857d..1a3a17a93f 100644 --- a/src/styles/noto-sans/tc-700-normal.scss +++ b/src/styles/noto-sans/tc-700-normal.scss @@ -1,7 +1,9 @@ +@use "../font"; + $tcFamily: "Noto Sans TC"; /* noto-sans-tc-[0]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-0-700-normal.woff2", @@ -9,7 +11,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[6]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-6-700-normal.woff2", @@ -17,7 +19,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[7]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-7-700-normal.woff2", @@ -25,7 +27,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[8]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-8-700-normal.woff2", @@ -33,7 +35,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[19]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-19-700-normal.woff2", @@ -41,7 +43,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[20]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-20-700-normal.woff2", @@ -49,7 +51,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[21]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-21-700-normal.woff2", @@ -57,7 +59,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[22]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-22-700-normal.woff2", @@ -65,7 +67,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[23]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-23-700-normal.woff2", @@ -73,7 +75,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[24]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-24-700-normal.woff2", @@ -81,7 +83,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[25]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-25-700-normal.woff2", @@ -89,7 +91,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[26]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-26-700-normal.woff2", @@ -97,7 +99,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[27]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-27-700-normal.woff2", @@ -105,7 +107,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[28]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-28-700-normal.woff2", @@ -113,7 +115,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[29]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-29-700-normal.woff2", @@ -121,7 +123,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[30]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-30-700-normal.woff2", @@ -129,7 +131,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[31]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-31-700-normal.woff2", @@ -137,7 +139,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[32]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-32-700-normal.woff2", @@ -145,7 +147,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[33]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-33-700-normal.woff2", @@ -153,7 +155,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[34]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-34-700-normal.woff2", @@ -161,7 +163,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[35]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-35-700-normal.woff2", @@ -169,7 +171,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[36]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-36-700-normal.woff2", @@ -177,7 +179,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[37]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-37-700-normal.woff2", @@ -185,7 +187,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[38]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-38-700-normal.woff2", @@ -193,7 +195,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[39]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-39-700-normal.woff2", @@ -201,7 +203,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[40]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-40-700-normal.woff2", @@ -209,7 +211,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[41]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-41-700-normal.woff2", @@ -217,7 +219,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[42]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-42-700-normal.woff2", @@ -225,7 +227,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[43]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-43-700-normal.woff2", @@ -233,7 +235,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[44]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-44-700-normal.woff2", @@ -241,7 +243,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[45]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-45-700-normal.woff2", @@ -249,7 +251,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[46]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-46-700-normal.woff2", @@ -257,7 +259,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[47]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-47-700-normal.woff2", @@ -265,7 +267,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[48]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-48-700-normal.woff2", @@ -273,7 +275,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[49]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-49-700-normal.woff2", @@ -281,7 +283,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[50]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-50-700-normal.woff2", @@ -289,7 +291,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[51]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-51-700-normal.woff2", @@ -297,7 +299,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[52]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-52-700-normal.woff2", @@ -305,7 +307,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[53]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-53-700-normal.woff2", @@ -313,7 +315,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[54]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-54-700-normal.woff2", @@ -321,7 +323,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[55]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-55-700-normal.woff2", @@ -329,7 +331,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[56]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-56-700-normal.woff2", @@ -337,7 +339,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[57]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-57-700-normal.woff2", @@ -345,7 +347,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[58]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-58-700-normal.woff2", @@ -353,7 +355,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[59]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-59-700-normal.woff2", @@ -361,7 +363,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[60]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-60-700-normal.woff2", @@ -369,7 +371,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[61]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-61-700-normal.woff2", @@ -377,7 +379,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[62]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-62-700-normal.woff2", @@ -385,7 +387,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[63]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-63-700-normal.woff2", @@ -393,7 +395,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[64]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-64-700-normal.woff2", @@ -401,7 +403,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[65]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-65-700-normal.woff2", @@ -409,7 +411,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[66]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-66-700-normal.woff2", @@ -417,7 +419,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[67]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-67-700-normal.woff2", @@ -425,7 +427,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[68]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-68-700-normal.woff2", @@ -433,7 +435,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[69]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-69-700-normal.woff2", @@ -441,7 +443,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[70]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-70-700-normal.woff2", @@ -449,7 +451,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[71]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-71-700-normal.woff2", @@ -457,7 +459,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[72]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-72-700-normal.woff2", @@ -465,7 +467,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[73]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-73-700-normal.woff2", @@ -473,7 +475,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[74]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-74-700-normal.woff2", @@ -481,7 +483,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[75]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-75-700-normal.woff2", @@ -489,7 +491,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[76]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-76-700-normal.woff2", @@ -497,7 +499,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[77]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-77-700-normal.woff2", @@ -505,7 +507,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[78]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-78-700-normal.woff2", @@ -513,7 +515,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[79]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-79-700-normal.woff2", @@ -521,7 +523,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[80]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-80-700-normal.woff2", @@ -529,7 +531,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[81]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-81-700-normal.woff2", @@ -537,7 +539,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[82]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-82-700-normal.woff2", @@ -545,7 +547,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[83]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-83-700-normal.woff2", @@ -553,7 +555,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[84]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-84-700-normal.woff2", @@ -561,7 +563,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[85]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-85-700-normal.woff2", @@ -569,7 +571,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[86]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-86-700-normal.woff2", @@ -577,7 +579,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[87]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-87-700-normal.woff2", @@ -585,7 +587,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[88]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-88-700-normal.woff2", @@ -593,7 +595,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[89]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-89-700-normal.woff2", @@ -601,7 +603,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[90]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-90-700-normal.woff2", @@ -609,7 +611,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[91]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-91-700-normal.woff2", @@ -617,7 +619,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[92]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-92-700-normal.woff2", @@ -625,7 +627,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[97]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-97-700-normal.woff2", @@ -633,7 +635,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[98]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-98-700-normal.woff2", @@ -641,7 +643,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[99]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-99-700-normal.woff2", @@ -649,7 +651,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[100]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-100-700-normal.woff2", @@ -657,7 +659,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[101]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-101-700-normal.woff2", @@ -665,7 +667,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[102]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-102-700-normal.woff2", @@ -673,7 +675,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[103]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-103-700-normal.woff2", @@ -681,7 +683,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[104]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-104-700-normal.woff2", @@ -689,7 +691,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[105]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-105-700-normal.woff2", @@ -697,7 +699,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[106]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-106-700-normal.woff2", @@ -705,7 +707,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[107]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-107-700-normal.woff2", @@ -713,7 +715,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[108]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-108-700-normal.woff2", @@ -721,7 +723,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[109]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-109-700-normal.woff2", @@ -729,7 +731,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[110]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-110-700-normal.woff2", @@ -737,7 +739,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[111]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-111-700-normal.woff2", @@ -745,7 +747,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[112]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-112-700-normal.woff2", @@ -753,7 +755,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[113]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-113-700-normal.woff2", @@ -761,7 +763,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[114]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-114-700-normal.woff2", @@ -769,7 +771,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[115]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-115-700-normal.woff2", @@ -777,7 +779,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[116]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-116-700-normal.woff2", @@ -785,7 +787,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[117]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-117-700-normal.woff2", @@ -793,7 +795,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[118]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-118-700-normal.woff2", @@ -801,7 +803,7 @@ $tcFamily: "Noto Sans TC"; ); /* noto-sans-tc-[119]-700-normal */ -@include fontFace( +@include font.face( $family: $tcFamily, $weight: 700, $url: "~@fontsource/noto-sans-tc/files/noto-sans-tc-119-700-normal.woff2", diff --git a/src/styles/videoosd.scss b/src/styles/videoosd.scss index d83c566adf..c5b5a547b3 100644 --- a/src/styles/videoosd.scss +++ b/src/styles/videoosd.scss @@ -1,4 +1,4 @@ -@import 'mixins'; +@use 'mixins' as *; .chapterThumbTextContainer, .videoOsdBottom { diff --git a/src/utils/container.ts b/src/utils/container.ts index 170c357d65..6f11e5c100 100644 --- a/src/utils/container.ts +++ b/src/utils/container.ts @@ -33,7 +33,6 @@ export function includesAny(list: string | string[] | null | undefined, search: search = search.filter(i => i); - /* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */ if (search.some(s => list!.includes(s))) { return !inverseMatch; } diff --git a/webpack.common.js b/webpack.common.js index bce07af984..0a4f543a2d 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -23,6 +23,7 @@ const DEV_MODE = process.env.NODE_ENV !== 'production'; let COMMIT_SHA = ''; try { COMMIT_SHA = require('child_process') + // eslint-disable-next-line sonarjs/no-os-command-from-path .execSync('git describe --always --dirty') .toString() .trim();