diff --git a/webui-new/.eslintrc.yml b/webui-new/.eslintrc.yml deleted file mode 100644 index 914bd5f..0000000 --- a/webui-new/.eslintrc.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -extends: - - "@nuxtjs" - - plugin:prettier/recommended -plugins: - - "@typescript-eslint" -parserOptions: - parser: "@typescript-eslint/parser" -rules: - "@typescript-eslint/no-unused-vars": - - error - - args: all - argsIgnorePattern: ^_ - no-unused-vars: off - no-console: off - camelcase: off - vue/no-v-html: off diff --git a/webui-new/.gitignore b/webui-new/.gitignore deleted file mode 100644 index 53f7466..0000000 --- a/webui-new/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -.DS_Store -dist -dist-ssr -*.local \ No newline at end of file diff --git a/webui-new/.prettierrc.yml b/webui-new/.prettierrc.yml deleted file mode 100644 index 10839b1..0000000 --- a/webui-new/.prettierrc.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -useTabs: true -tabWidth: 2 -semi: false -singleQuote: true -bracketSpacing: true -trailingComma: none -printWidth: 120 -arrowParens: avoid -vueIndentScriptAndStyle: false diff --git a/webui-new/index.html b/webui-new/index.html deleted file mode 100644 index dce992c..0000000 --- a/webui-new/index.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - deemix - - - - - - - - - -
- - - - diff --git a/webui-new/package.json b/webui-new/package.json deleted file mode 100644 index 03e44ad..0000000 --- a/webui-new/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "version": "0.0.0", - "scripts": { - "dev": "vite", - "build": "vite build", - "serve": "vite preview" - }, - "dependencies": { - "vue": "2.6.14", - "@vue/composition-api": "1.0.2", - "flag-icon-css": "^3.5.0", - "lodash-es": "^4.17.15", - "svg-country-flags": "^1.2.9", - "toastify-js": "^1.9.3", - "vue-i18n": "^8.22.2", - "vue-router": "^3.4.9", - "vuex": "^3.6.0" - }, - "devDependencies": { - "vite": "2.4.2", - "vite-plugin-vue2": "1.7.3", - "vue-template-compiler": "2.6.14", - "@babel/core": "7.14.3", - "@babel/plugin-transform-modules-commonjs": "7.14.0", - "@nuxtjs/eslint-config": "6.0.0", - "@rollup/plugin-alias": "^3.1.1", - "@rollup/plugin-commonjs": "^16.0.0", - "@rollup/plugin-node-resolve": "^10.0.0", - "@rollup/plugin-replace": "^2.3.4", - "@types/jest": "26.0.22", - "@typescript-eslint/eslint-plugin": "4.21.0", - "@typescript-eslint/parser": "4.21.0", - "babel-jest": "27.0.2", - "eslint": "7.23.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-prettier": "3.3.1", - "jest": "26.6.3", - "node-sass": "^6.0.0", - "npm-run-all": "^4.1.5", - "postcss": "^8.2.1", - "prettier": "2.2.1", - "sass": "^1.30.0", - "tailwindcss": "^1.9.6", - "typescript": "4.2.4" - } -} diff --git a/webui-new/postcss.config.js b/webui-new/postcss.config.js deleted file mode 100644 index 941cff2..0000000 --- a/webui-new/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {} - } -} diff --git a/webui-new/public/ar.5408be68.svg b/webui-new/public/ar.5408be68.svg deleted file mode 100644 index 3767090..0000000 --- a/webui-new/public/ar.5408be68.svg +++ /dev/null @@ -1,914 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/br.56265452.svg b/webui-new/public/br.56265452.svg deleted file mode 100644 index 3252a8e..0000000 --- a/webui-new/public/br.56265452.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/de.226631a8.svg b/webui-new/public/de.226631a8.svg deleted file mode 100644 index 1acf302..0000000 --- a/webui-new/public/de.226631a8.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/webui-new/public/deemix-icon.bda2a0a4.svg b/webui-new/public/deemix-icon.bda2a0a4.svg deleted file mode 100644 index d45054e..0000000 --- a/webui-new/public/deemix-icon.bda2a0a4.svg +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/es.ab3d4388.svg b/webui-new/public/es.ab3d4388.svg deleted file mode 100644 index 576dd67..0000000 --- a/webui-new/public/es.ab3d4388.svg +++ /dev/null @@ -1,544 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/ethereum.b6549a15.svg b/webui-new/public/ethereum.b6549a15.svg deleted file mode 100644 index 6e54599..0000000 --- a/webui-new/public/ethereum.b6549a15.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webui-new/public/favicon.ico b/webui-new/public/favicon.ico deleted file mode 100644 index 2aefee9..0000000 Binary files a/webui-new/public/favicon.ico and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/LICENSE.txt b/webui-new/public/fonts/OpenSans/LICENSE.txt deleted file mode 100644 index d645695..0000000 --- a/webui-new/public/fonts/OpenSans/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 deleted file mode 100644 index eff71c0..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 deleted file mode 100644 index 3a38286..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 deleted file mode 100644 index 43d5a7c..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 deleted file mode 100644 index baec66c..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 deleted file mode 100644 index c805bc0..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 deleted file mode 100644 index ea8feb2..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 deleted file mode 100644 index 1302cd5..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 deleted file mode 100644 index 8a419a1..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 deleted file mode 100644 index 86a8a87..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 deleted file mode 100644 index 9c199fd..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 deleted file mode 100644 index b3fa3da..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 deleted file mode 100644 index 1476f0f..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 deleted file mode 100644 index 4feeeab..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 deleted file mode 100644 index 6ec620f..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 deleted file mode 100644 index 456c550..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 deleted file mode 100644 index 7bf901c..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 deleted file mode 100644 index d3bbaba..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 deleted file mode 100644 index 2ea4253..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 deleted file mode 100644 index 1ed5f4f..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 deleted file mode 100644 index d36e95d..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 deleted file mode 100644 index 7c251dc..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 deleted file mode 100644 index 59855dc..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 deleted file mode 100644 index 5c5d54e..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 deleted file mode 100644 index f8a4ea3..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 deleted file mode 100644 index 4587c68..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 deleted file mode 100644 index 83b1803..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 deleted file mode 100644 index 9518615..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 b/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 deleted file mode 100644 index 9a9a5c6..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 b/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 deleted file mode 100644 index b4d9f61..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 b/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 deleted file mode 100644 index 3426d9b..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 b/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 deleted file mode 100644 index e4d49fe..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 b/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 deleted file mode 100644 index ca1b2b1..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 b/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 deleted file mode 100644 index 10031c0..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 b/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 deleted file mode 100644 index 04139ef..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 b/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 deleted file mode 100644 index a7b01fa..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 b/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 deleted file mode 100644 index 4c5a6f0..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2 b/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2 deleted file mode 100644 index e9f58b7..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2 b/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2 deleted file mode 100644 index 3770a39..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2 b/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2 deleted file mode 100644 index 4e74089..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 b/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 deleted file mode 100644 index 1f2f588..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 b/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 deleted file mode 100644 index 1675bab..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2 b/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2 deleted file mode 100644 index d72068a..0000000 Binary files a/webui-new/public/fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2 deleted file mode 100644 index 20c325d..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2 deleted file mode 100644 index 7dbd8fa..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2 deleted file mode 100644 index ccb1a12..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2 deleted file mode 100644 index aaf73e2..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2 deleted file mode 100644 index 7f0aa70..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2 deleted file mode 100644 index 82a1f00..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2 deleted file mode 100644 index 3d996a8..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2 deleted file mode 100644 index 0c7ef0a..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2 deleted file mode 100644 index 5b3484f..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2 deleted file mode 100644 index 9854e0e..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2 deleted file mode 100644 index 8a4187c..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2 deleted file mode 100644 index 45362f1..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2 deleted file mode 100644 index 5153813..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2 deleted file mode 100644 index 0307dec..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 deleted file mode 100644 index 35801c0..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 deleted file mode 100644 index 8f5da52..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 deleted file mode 100644 index be29757..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 deleted file mode 100644 index ccbc460..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 deleted file mode 100644 index e44fa88..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 deleted file mode 100644 index 6d4334e..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 deleted file mode 100644 index d91cb0b..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 deleted file mode 100644 index 0f28f12..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 deleted file mode 100644 index ccf4acb..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 deleted file mode 100644 index 1dd821c..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 deleted file mode 100644 index c2f5b87..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 deleted file mode 100644 index 6868066..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 deleted file mode 100644 index c2450f3..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 b/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 deleted file mode 100644 index 1a1fa02..0000000 Binary files a/webui-new/public/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/public/fonts/icons/MaterialIcons-Regular.eot b/webui-new/public/fonts/icons/MaterialIcons-Regular.eot deleted file mode 100644 index 70508eb..0000000 Binary files a/webui-new/public/fonts/icons/MaterialIcons-Regular.eot and /dev/null differ diff --git a/webui-new/public/fonts/icons/MaterialIcons-Regular.ttf b/webui-new/public/fonts/icons/MaterialIcons-Regular.ttf deleted file mode 100644 index 7015564..0000000 Binary files a/webui-new/public/fonts/icons/MaterialIcons-Regular.ttf and /dev/null differ diff --git a/webui-new/public/fonts/icons/MaterialIcons-Regular.woff b/webui-new/public/fonts/icons/MaterialIcons-Regular.woff deleted file mode 100644 index b648a3e..0000000 Binary files a/webui-new/public/fonts/icons/MaterialIcons-Regular.woff and /dev/null differ diff --git a/webui-new/public/fonts/icons/MaterialIcons-Regular.woff2 b/webui-new/public/fonts/icons/MaterialIcons-Regular.woff2 deleted file mode 100644 index 9fa2112..0000000 Binary files a/webui-new/public/fonts/icons/MaterialIcons-Regular.woff2 and /dev/null differ diff --git a/webui-new/public/fr.63667b36.svg b/webui-new/public/fr.63667b36.svg deleted file mode 100644 index 712c8a5..0000000 --- a/webui-new/public/fr.63667b36.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/webui-new/public/gb.825310f9.svg b/webui-new/public/gb.825310f9.svg deleted file mode 100644 index 132dbed..0000000 --- a/webui-new/public/gb.825310f9.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/webui-new/public/hr.b0b1d075.svg b/webui-new/public/hr.b0b1d075.svg deleted file mode 100644 index 7b699d3..0000000 --- a/webui-new/public/hr.b0b1d075.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/id.c9871d91.svg b/webui-new/public/id.c9871d91.svg deleted file mode 100644 index 0663baf..0000000 --- a/webui-new/public/id.c9871d91.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/webui-new/public/index.4afff666.css b/webui-new/public/index.4afff666.css deleted file mode 100644 index e3b95c0..0000000 --- a/webui-new/public/index.4afff666.css +++ /dev/null @@ -1,7 +0,0 @@ -@charset "UTF-8";@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url('fonts/icons/MaterialIcons-Regular.eot');src:url('fonts/icons/MaterialIcons-Regular.woff2') format('woff2'),url('fonts/icons/MaterialIcons-Regular.woff') format('woff'),url('fonts/icons/MaterialIcons-Regular.ttf') format('truetype')}.material-icons{font-family:'Material Icons';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-smoothing:antialiased}.material-icons.title-icon{margin-right:.3125em;margin-left:-3px}.material-icons.title-icon.title-icon--right{margin-right:0;margin-left:.3125em}.material-icons.title-icon.title-icon--explicit{color:#91919b}.material-icons.title-icon.title-icon--new{color:#ff7200}.material-icons.disabled{opacity:.5;cursor:default}.material-icons.mirrored{transform:scaleX(-1)}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:600;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:italic;font-weight:800;font-display:swap;src:url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2') format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2') format('woff2');unicode-range:U+0370-03FF}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2') format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2') format('woff2');unicode-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}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2') format('woff2');unicode-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}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.space-x-2>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(.5rem * var(--space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--space-x-reverse)))}.space-y-5>:not(template)~:not(template){--space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.25rem * var(--space-y-reverse))}.space-x-5>:not(template)~:not(template){--space-x-reverse:0;margin-right:calc(1.25rem * var(--space-x-reverse));margin-left:calc(1.25rem * calc(1 - var(--space-x-reverse)))}.bg-black{--bg-opacity:1;background-color:#000;background-color:rgba(0,0,0,var(--bg-opacity))}.bg-red-500{--bg-opacity:1;background-color:#f56565;background-color:rgba(245,101,101,var(--bg-opacity))}.bg-red-600{--bg-opacity:1;background-color:#e53e3e;background-color:rgba(229,62,62,var(--bg-opacity))}.bg-green-500{--bg-opacity:1;background-color:#48bb78;background-color:rgba(72,187,120,var(--bg-opacity))}.bg-grayscale-200{--bg-opacity:1;background-color:#333;background-color:rgba(51,51,51,var(--bg-opacity))}.bg-primary{--bg-opacity:1;background-color:#0a84ff;background-color:rgba(10.20000000000001,132.59999999999988,255,var(--bg-opacity))}.bg-background-main{background-color:var(--main-background)}.bg-background-secondary{background-color:var(--secondary-background)}.bg-panels-bg{background-color:var(--panels-background)}.hover\:bg-primary:hover{--bg-opacity:1;background-color:#0a84ff;background-color:rgba(10.20000000000001,132.59999999999988,255,var(--bg-opacity))}.hover\:bg-background-main:hover{background-color:var(--main-background)}.bg-opacity-50{--bg-opacity:0.5}.border-collapse{border-collapse:collapse}.border-transparent{border-color:transparent}.border-grayscale-500{--border-opacity:1;border-color:#7f7f7f;border-color:rgba(127.5,127.5,127.5,var(--border-opacity))}.border-foreground{border-color:var(--foreground)}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.border-solid{border-style:solid}.border-0{border-width:0}.border{border-width:1px}.border-t{border-top-width:1px}.first\:border-t-0:first-child{border-top-width:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-center{justify-content:center}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.float-none{float:none}.font-sans{font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.h-3{height:.75rem}.h-6{height:1.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-32{height:8rem}.h-40{height:10rem}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.m-0{margin:0}.m-1{margin:.25rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mb-3{margin-bottom:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.mt-5{margin-top:1.25rem}.mb-5{margin-bottom:1.25rem}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.-mt-16{margin-top:-4rem}.-ml-20{margin-left:-5rem}.first\:ml-2:first-child{margin-left:.5rem}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.overflow-hidden{overflow:hidden}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pr-2{padding-right:.5rem}.pb-3{padding-bottom:.75rem}.pr-5{padding-right:1.25rem}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.right-0{right:0}.left-0{left:0}.hover\:shadow-outline:hover{box-shadow:0 0 0 3px rgba(66,153,225,.5)}.text-center{text-align:center}.text-white{--text-opacity:1;color:#fff;color:rgba(255,255,255,var(--text-opacity))}.text-grayscale-870{--text-opacity:1;color:#ddd;color:rgba(221.85,221.85,221.85,var(--text-opacity))}.text-primary{--text-opacity:1;color:#0a84ff;color:rgba(10.20000000000001,132.59999999999988,255,var(--text-opacity))}.text-foreground{color:var(--foreground)}.hover\:text-primary:hover{--text-opacity:1;color:#0a84ff;color:rgba(10.20000000000001,132.59999999999988,255,var(--text-opacity))}.group:hover .group-hover\:text-primary{--text-opacity:1;color:#0a84ff;color:rgba(10.20000000000001,132.59999999999988,255,var(--text-opacity))}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.no-underline{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.tracking-wider{letter-spacing:.05em}.visible{visibility:visible}.invisible{visibility:hidden}.whitespace-no-wrap{white-space:nowrap}.break-words{word-wrap:break-word;overflow-wrap:break-word}.w-3{width:.75rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-32{width:8rem}.w-40{width:10rem}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-full{width:100%}.w-screen{width:100vw}.z-10{z-index:10}.z-50{z-index:50}.gap-2{grid-gap:0.5rem;gap:.5rem}.transform{--transform-translate-x:0;--transform-translate-y:0;--transform-rotate:0;--transform-skew-x:0;--transform-skew-y:0;--transform-scale-x:1;--transform-scale-y:1;transform:translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y))}.transition-all{transition-property:all}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}.transition-colors{transition-property:background-color,border-color,color,fill,stroke}.transition-opacity{transition-property:opacity}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.duration-150{transition-duration:150ms}.duration-200{transition-duration:.2s}.duration-500{transition-duration:.5s}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{100%,75%{transform:scale(2);opacity:0}}@keyframes ping{100%,75%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@media (min-width:1280px){.xl\:w-32{width:8rem}.xl\:w-40{width:10rem}}*{box-sizing:border-box;margin:0;padding:0}caption,table,tbody,td,tfoot,th,thead,tr{margin:0;border:0;padding:0;vertical-align:baseline;font:inherit;font-size:100%}table{border-collapse:collapse;border-spacing:0}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;-moz-appearance:button;appearance:button}input[type=checkbox],input[type=number],input[type=password],input[type=search],input[type=text],select{-webkit-appearance:none;-moz-appearance:none;appearance:none}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[role=button],button{cursor:pointer}p{word-break:break-word}*,::after,::before{border-width:0;border-style:solid}:root{font-size:16px;--main-scroll:hsl(0, 0%, 30%);--panels-scroll:hsl(180, 2%, 17%);--toast-background:hsla(240, 12%, 16%, 0.85);--toast-secondary:hsla(240, 12%, 16%, 0.15);--toast-text:hsla(0, 0%, 100%, 0.85);--primary-color:hsl(210, 100%, 52%);--primary-text:hsl(0, 0%, 87%);--secondary-color:hsl(46, 100%, 57%)}:root[data-theme=light]{--main-background:#fff;--secondary-background:hsl(0, 0%, 93%);--foreground:hsl(0, 0%, 20%);--panels-background:hsl(216, 4%, 78%);--table-bg:#fff;--table-zebra:hsl(0, 0%, 90%);--table-highlight:hsl(0, 0%, 84%)}:root[data-theme=dark]{--main-background:hsl(240, 10%, 8%);--secondary-background:hsl(240, 12%, 16%);--foreground:hsl(0, 0%, 93%);--panels-background:hsl(240, 15%, 12%);--table-bg:hsl(240, 10%, 8%);--table-zebra:hsl(240, 15%, 11%);--table-highlight:hsl(240, 10%, 22%)}:root[data-theme=purple]{--main-background:hsl(261, 74%, 6%);--secondary-background:hsl(257, 61%, 10%);--foreground:hsl(0, 0%, 93%);--panels-background:hsl(257, 70%, 9%);--table-bg:hsl(261, 74%, 6%);--table-zebra:hsl(257, 61%, 10%);--table-highlight:hsl(257, 66%, 27%)}input[type=number],input[type=password],input[type=text],select{border-radius:4px;background-color:var(--secondary-background);padding:0 1rem;width:100%;min-height:3rem;color:var(--foreground)}input[type=number],input[type=password],input[type=text]{padding:0 16px}input[type=checkbox]{display:inline-block;position:relative;opacity:.5;margin:3px;border:2px solid gray;border-radius:2px;background-color:none;padding:7px}input[type=checkbox]:checked{opacity:1;border-width:0;background-color:var(--primary-color);background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='18' viewBox='3 3 18 18' width='18'%3E%3Cpath fill='%23ffffff' d='M 10,17 5,12 6.41,10.59 10,14.17 17.59,6.58 19,8 Z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");background-position:center center;padding:9px;color:var(--primary-text)}select{background-clip:border-box;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath style='fill:gray;fill-opacity:0.5' d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");background-position:calc(100% - 8px) center;background-repeat:no-repeat;background-size:24px;padding-right:40px}a{color:#1e90ff}.btn{position:relative;height:2rem;padding-left:.5rem;padding-right:.5rem;padding-top:0;padding-bottom:0;font-size:.875rem;font-weight:600;text-transform:uppercase;border-width:1px;border-color:transparent;border-style:solid;border-radius:.25rem;--text-opacity:1;color:#e5e5e5;color:rgba(229.5,229.5,229.5,var(--text-opacity));font-family:inherit;transition:transform 50ms ease-in-out}.btn:active{transform:scale(.98)}.btn[disabled]{--text-opacity:1;color:#e2e8f0;color:rgba(226,232,240,var(--text-opacity));--bg-opacity:1;background-color:#718096;background-color:rgba(113,128,150,var(--bg-opacity));opacity:.75;cursor:not-allowed}.btn-only-icon{display:flex;align-items:center;justify-content:center;width:3rem;padding-left:.25rem;padding-right:.25rem;padding-top:0;padding-bottom:0;min-width:24px}.btn-primary{--bg-opacity:1;background-color:#0a84ff;background-color:rgba(10.20000000000001,132.59999999999988,255,var(--bg-opacity))}.btn-primary:hover{--bg-opacity:1;background-color:#3182ce;background-color:rgba(49,130,206,var(--bg-opacity));border-color:var(--foreground)}.section-tabs{display:flex;margin-top:1rem;margin-bottom:1.5rem;list-style-type:none;cursor:pointer}.section-tabs__tab{flex:1 1 0%;padding:.75rem;font-size:1.25rem;text-align:center;text-transform:capitalize;border-top-width:4px;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem;border-color:var(--foreground);background-color:var(--main-background)}.section-tabs__tab.active{--text-opacity:1;color:#0a84ff;color:rgba(10.20000000000001,132.59999999999988,255,var(--text-opacity));--border-opacity:1;border-color:#0a84ff;border-color:rgba(10.20000000000001,132.59999999999988,255,var(--border-opacity));background-color:var(--main-background)}.section-tabs__tab:hover{--text-opacity:1;color:#0a84ff;color:rgba(10.20000000000001,132.59999999999988,255,var(--text-opacity));--border-opacity:1;border-color:#0a84ff;border-color:rgba(10.20000000000001,132.59999999999988,255,var(--border-opacity));background-color:var(--secondary-background);--bg-opacity:0.25}.image-header header{padding-left:1.5rem;padding-right:1.5rem;padding-top:14rem;padding-bottom:.5rem;background-size:cover;border-top-left-radius:.5rem;border-top-right-radius:.5rem;background-position:0 35%}.fixed-footer footer{position:sticky;bottom:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;width:100%;height:4rem;margin-top:1.5rem}.release-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.changing-theme{transition:all .2s ease-in-out}[v-cloak]{display:none}.clickable{cursor:pointer!important}.coverart{background-color:var(--secondary-background)}.release{display:inline-block;width:156px}.spin{animation:spin .5s infinite ease-out reverse}@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.primary-text{margin-bottom:.25rem;transition-property:background-color,border-color,color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.primary-text:hover{--text-opacity:1;color:#0a84ff;color:rgba(10.20000000000001,132.59999999999988,255,var(--text-opacity))}.secondary-text{margin-bottom:.25rem;font-size:.875rem;opacity:.75}.uppercase-first-letter::first-letter{text-transform:uppercase}.table{width:100%;-webkit-border-horizontal-spacing:0px;-webkit-border-vertical-spacing:0px}.table tbody tr:not(.table__row-no-highlight):hover{background:var(--table-highlight);cursor:default}.table tr{transition:background-color 175ms ease-in-out;background:var(--table-bg)}.table tr:nth-child(even){transition:background-color 175ms ease-in-out;background:var(--table-zebra)}.table tr:not(:last-child){border-bottom:1px solid var(--table-highlight)}.table td,.table th{vertical-align:middle}.table th .sortable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.table th .sort-asc::after,.table th .sort-desc::after{padding-left:3px;line-height:.7em;font-size:.7em}.table th .sort-asc::after{content:"▲"}.table th .sort-desc::after{content:"▼"}.table td{padding:7px 10px}.table td:first-child{padding:7px 10px 7px 20px}.table td:last-child{padding:7px 20px 7px 10px}.table td img{vertical-align:middle}.table--tracks{border-collapse:collapse}.table--tracks thead{border-bottom:2px solid var(--table-highlight)}.table--tracks tr:first-child td:first-child{border-top-left-radius:3px}.table--tracks tr:first-child td:last-child{border-top-right-radius:3px}.table--tracks tr:last-child td:first-child{border-bottom-left-radius:3px}.table--tracks tr:last-child td:last-child{border-bottom-right-radius:3px}.table--tracklist thead{border-bottom:2px solid var(--table-highlight);text-transform:capitalize}.table--tracklist th{padding:7px 10px;height:45px}.table--tracklist th:first-child{padding:7px 10px 7px 20px}.table--tracklist th:last-child{padding:7px 20px 7px 10px}.table--tracklist td{height:35px}.table--charts td{height:35px}.table .table__icon{box-sizing:content-box;width:32px}.table .table__icon--big{width:48px;text-align:center}.table .table__cell--x-small{width:.32%}.table .table__cell--small{width:3.2%}.table .table__cell--medium{width:28.7%}.table .table__cell--large{width:50%}.table .table__cell--left{text-align:left}.table .table__cell--center{text-align:center}.table .table__cell--right{text-align:right}.table .table__cell-content.table__cell-content--vertical-center{display:flex;align-items:center}.track_row>td>img{width:32px;height:32px}.track_row>td>a>img{width:56px;height:56px}.table--charts .clickable:hover,.table--tracklist .clickable:hover{text-decoration:underline}.lds-ring[data-v-3e02789c]{display:inline-block;position:relative;width:80px;height:80px}.lds-ring div[data-v-3e02789c]{box-sizing:border-box;display:block;position:absolute;width:64px;height:64px;margin:8px;border:8px solid #fff;border-radius:50%;-webkit-animation:lds-ring-data-v-3e02789c 1.2s cubic-bezier(.5,0,.5,1) infinite;animation:lds-ring-data-v-3e02789c 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:#fff transparent transparent transparent}.lds-ring div[data-v-3e02789c]:nth-child(1){-webkit-animation-delay:-.45s;animation-delay:-.45s}.lds-ring div[data-v-3e02789c]:nth-child(2){-webkit-animation-delay:-.3s;animation-delay:-.3s}.lds-ring div[data-v-3e02789c]:nth-child(3){-webkit-animation-delay:-.15s;animation-delay:-.15s}@-webkit-keyframes lds-ring-data-v-3e02789c{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes lds-ring-data-v-3e02789c{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.context-menu[data-v-7227b3de]{position:absolute;top:0;left:0;min-width:100px;border-radius:7px;background:var(--secondary-background);box-shadow:4px 10px 18px 0 rgba(0,0,0,.15);overflow:hidden;z-index:10000}.menu-option[data-v-7227b3de]{display:flex;align-items:center;width:100%;height:40px;padding-left:10px;padding-right:10px;color:var(--foreground);cursor:pointer}.menu-option[data-v-7227b3de]:hover{background:var(--table-highlight);filter:brightness(150%)}.menu-option__text[data-v-7227b3de]{text-transform:capitalize}button[data-v-7227b3de]{color:var(--primary-text);color:unset;background-color:var(--primary-color);background-color:unset;min-width:unset;position:unset;border:unset;border-radius:unset;font-family:unset;font-weight:unset;font-size:unset;padding:unset;margin-right:unset;height:unset;text-transform:unset;cursor:unset;transition:unset}button[data-v-7227b3de]:focus{outline:0}button[data-v-7227b3de]:active{background-color:unset;transform:unset}button[data-v-7227b3de]:hover{background:unset;border:unset}.smallmodal{position:fixed;z-index:1250;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4);-webkit-animation-duration:.3s;animation-duration:.3s}.smallmodal-content{--modal-content-width:95%;background-color:transparent;margin:auto;width:var(--modal-content-width);position:relative;top:50%;transform:translateY(-50%)}@media only screen and (min-width:601px){.smallmodal-content{--modal-content-width:85%}}@media only screen and (min-width:993px){.smallmodal-content{--modal-content-width:70%}}.smallmodal-content button{width:100%;margin-bottom:8px}#deezer_not_available{background-color:#edd102;color:rgba(0,0,0,.75);padding:8px 12px;margin:-10px 10px 0;display:flex;border-radius:8px;align-items:center}#deezer_not_available i{margin-right:8px}#deezer_not_available.hide{display:none!important}.deemix-icon-container[data-v-bd7397ec]{display:grid;place-content:center}.slim-sidebar .deemix-icon-container[data-v-bd7397ec]{margin:.5rem 0}.slim-sidebar .deemix-icon-container[data-v-bd7397ec] svg{height:30px}.deemix-icon-container[data-v-bd7397ec] svg{height:75px}#update-notification[data-v-bd7397ec]{top:12px;left:30px}.theme_toggler[data-v-bd7397ec]{transition:border .2s ease-in-out}.theme_toggler--active[data-v-bd7397ec]{border-width:3px}.theme_toggler--light[data-v-bd7397ec]{background-color:#fff}.theme_toggler--dark[data-v-bd7397ec]{background-color:#141414}.theme_toggler--purple[data-v-bd7397ec]{background:#460eaf}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search{background-color:var(--secondary-background);padding:0 1em;display:flex;align-items:center;border:1px solid transparent;transition:border .2s ease-in-out;border-radius:15px;margin:10px 10px 20px 10px}#search .search__icon{width:2rem;height:2rem}#search .search__icon i{font-size:2rem;color:var(--foreground)}#search .search__icon i::-moz-selection{background:0 0}#search .search__icon i::selection{background:0 0}#search #searchbar{height:45px;padding-left:.5em;border:0;border-radius:0;background-color:var(--secondary-background);color:var(--foreground);font-size:1.2rem;font-family:"Open Sans";font-weight:300;margin-bottom:0}#search #searchbar:focus{outline:0}#search #searchbar::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:28px;height:28px;background-color:var(--foreground);-webkit-mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='28' viewBox='0 0 24 24' width='28'%3E%%3Cpath fill='%23ffffff' d='M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z'/%3E3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}#search #searchbar:-webkit-autofill,#search #searchbar:-webkit-autofill:active,#search #searchbar:-webkit-autofill:focus,#search #searchbar:-webkit-autofill:hover{box-shadow:0 0 0 45px var(--secondary-background) inset!important}#search:focus-within{border:1px solid var(--foreground)}button[data-v-9d6c5504]{transition:background .2s ease-in-out}#container{--container-width:95%;margin:0 auto;max-width:1280px;width:var(--container-width);transform:scale(1)}@media only screen and (min-width:601px){#container{--container-width:85%}}@media only screen and (min-width:993px){#container{--container-width:70%}}main{background-color:var(--main-background);padding-right:5px;width:100%;height:calc(100vh - 93px);overflow-y:scroll;overflow-x:hidden}main::-webkit-scrollbar{width:10px}main::-webkit-scrollbar-track{background:var(--main-background)}main::-webkit-scrollbar-thumb{background:var(--main-scroll);border-radius:4px;width:6px;padding:0 2px}.download-object{padding-bottom:8px}.download-object .download-info{display:flex;align-items:center}.download-object .download-info img{height:75px;flex:0 0 75px}.download-object .download-info .download-line{display:block}.download-object .download-info .download-slim-separator{display:none}.download-object .download-info-data{flex:1 50%;margin-left:8px;overflow:hidden}.download-object .download-info-status{flex:1 15%;margin-left:8px;width:80px}.download-object>.download-bar{display:flex;align-items:center;height:24px}.download-object>.download-bar>.queue_icon{cursor:default;margin-left:8px}.download-object>.download-bar>.progress{margin:0}#download_list:not(.slim) .download-line{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#download_list.slim>.download-object .download-info{display:block}#download_list.slim>.download-object .download-info img{display:none}#download_list.slim>.download-object .download-info .download-line{display:inline-block}#download_list.slim>.download-object .download-info .download-slim-separator{display:inline-block}#download_list.slim>.download-object .download-info-data{width:calc(80% - 16px);display:inline-block;padding-left:0}#download_list.slim>.download-object .download-info-status{width:20%;display:inline-block;float:right}.progress{position:relative;height:4px;display:block;width:100%;background-color:var(--secondary-background);border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:var(--primary-color);transition:width .3s linear}.progress .converting{background-color:var(--secondary-color);transition:none!important}.progress .indeterminate{background-color:var(--primary-color)}.progress .indeterminate::before{content:"";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.progress .indeterminate::after{content:"";position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}/*! - * Toastify js 1.11.1 - * https://github.com/apvarun/toastify-js - * @license MIT licensed - * - * Copyright (C) 2018 Varun A P - */.toastify{padding:12px 20px;color:#fff;display:inline-block;box-shadow:0 3px 6px -1px rgba(0,0,0,.12),0 10px 36px -4px rgba(77,96,232,.3);background:linear-gradient(135deg,#73a5ff,#5477f5);position:fixed;opacity:0;transition:all .4s cubic-bezier(.215, .61, .355, 1);border-radius:2px;cursor:pointer;text-decoration:none;max-width:calc(50% - 20px);z-index:2147483647}.toastify.on{opacity:1}.toast-close{opacity:.4;padding:0 5px}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-rounded{border-radius:25px}.toastify-avatar{width:1.5em;height:1.5em;margin:-7px 5px;border-radius:2px}.toastify-center{margin-left:auto;margin-right:auto;left:0;right:0;max-width:-webkit-fit-content;max-width:fit-content;max-width:-moz-fit-content}@media only screen and (max-width:360px){.toastify-left,.toastify-right{margin-left:auto;margin-right:auto;left:0;right:0;max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content}}.toast-icon{display:inline-block;margin-right:.5rem}.circle-loader{display:inline-block;width:1rem;height:1rem;border:2px solid var(--primary-color);border-radius:50%;border-bottom:2px solid var(--secondary-background);-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.toastify{display:flex;align-items:center;box-shadow:0 3px 6px -1px rgba(0,0,0,.12),0 10px 36px -4px rgba(0,0,0,.3);background:var(--toast-background);color:var(--toast-text)}.toastify .circle-loader{border-bottom-color:var(--toast-secondary)}#toggle_download_tab[data-v-1d7b0283]{width:25px;height:25px}#toggle_download_tab[data-v-1d7b0283]::before{font-family:"Material Icons";font-style:normal;font-weight:400;content:"chevron_right"}#download_tab_container.tab-hidden #toggle_download_tab[data-v-1d7b0283]::before{content:"chevron_left"}#download_tab_container.tab-hidden[data-v-1d7b0283]::after{content:attr(data-label);display:flex;align-items:center;text-transform:capitalize;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;line-height:2rem}#download_list[data-v-1d7b0283]{height:calc(100% - 32px);padding-left:28px;overflow-y:scroll}#download_list[data-v-1d7b0283]::-webkit-scrollbar{width:10px}#download_list[data-v-1d7b0283]::-webkit-scrollbar-track{background:var(--panels-background)}#download_list[data-v-1d7b0283]::-webkit-scrollbar-thumb{background:var(--panels-scroll);border-radius:4px;width:6px;padding:0 2px}.app-container{display:flex}.content-container{width:100%;display:flex;flex-direction:column}a[data-v-f06927c2],li[data-v-f06927c2],p[data-v-f06927c2]{letter-spacing:.4px;font-size:20px;line-height:1.2}i[data-v-f06927c2]{vertical-align:middle}i[data-v-f06927c2] svg{fill:white;width:20px}.ethereum[data-v-f06927c2] svg{fill:var(--foreground)}[data-v-f06927c2]:link{text-decoration:none}#about_tab[data-v-f06927c2]{margin-bottom:40px}h2[data-v-f06927c2]{text-transform:capitalize}h2[data-v-f06927c2]:not(.page_heading){font-size:2rem;border-bottom:1px solid rgba(51,51,51,.25);padding-top:2rem;padding-bottom:1rem}h2 .subheading[data-v-f06927c2]{display:block;font-size:.5em;margin-top:.5em;font-weight:400;opacity:.8;text-transform:none}p[data-v-f06927c2]{margin:0!important}ul li[data-v-f06927c2]{margin-bottom:7px}h2+ul[data-v-f06927c2]{margin-top:1rem}ul+ul[data-v-f06927c2]{margin-top:1.25rem}ul.no-dots[data-v-f06927c2]{list-style-type:none}ul[data-v-f06927c2]:not(.no-dots){list-style-type:none}ul:not(.no-dots) li[data-v-f06927c2]{position:relative}ul:not(.no-dots) li[data-v-f06927c2]::before{content:"—";position:absolute;left:-30px;opacity:.25}.cover-container[data-v-7fcde8c2]{width:156px;height:156px;margin-bottom:10px}.cover-container .coverart[data-v-7fcde8c2]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:.5s ease;height:auto}.cover-container .download_overlay[data-v-7fcde8c2]{top:50%;left:50%;transform:translate(-50%,-50%);transition:.5s ease;opacity:0;min-width:2rem;height:2.75rem;text-align:center}.cover-container .download_overlay i[data-v-7fcde8c2]{padding:.625rem}.cover-container .download_overlay[data-v-7fcde8c2]:focus{opacity:1}.cover-container:hover .coverart[data-v-7fcde8c2]{opacity:.75}.cover-container:hover .download_overlay[data-v-7fcde8c2]{opacity:1;border:0}.logs-container[data-v-3a256480]{counter-reset:logs}.count[data-v-3a256480]::before{content:counter(logs);counter-increment:logs}tr>td[data-v-3a256480]{height:2rem;vertical-align:middle;text-align:center}details>summary::marker{display:none}details.with-arrow>summary::marker{display:initial;vertical-align:var(--arrow-v-align,super)}#logged_in_info[data-v-0756ad50]{display:flex;align-items:center;flex-direction:column;justify-content:space-evenly;height:250px}.locale-flag[data-v-0756ad50]{justify-content:center;cursor:pointer;width:60px}.locale-flag[data-v-0756ad50]:not(:last-child){margin-right:10px}.locale-flag.locale-flag--current[data-v-0756ad50] img,.locale-flag.locale-flag--current[data-v-0756ad50] svg{filter:brightness(1)!important}.locale-flag[data-v-0756ad50] img,.locale-flag[data-v-0756ad50] svg{width:40px!important;height:40px!important;filter:brightness(.5)}.settings-group[data-v-0756ad50]{border-top-width:1px;border-color:gray}.settings-group__header[data-v-0756ad50]{display:inline-flex;align-items:center;padding-top:2rem;padding-bottom:2rem;font-size:1.5rem}.settings-group__header i.material-icons[data-v-0756ad50]{margin-right:1rem}.settings-container[data-v-0756ad50]{display:flex}.settings-container__half[data-v-0756ad50]{width:50%}.settings-container__third[data-v-0756ad50]{width:33%}.settings-container__third--only-checkbox[data-v-0756ad50]{display:flex;align-items:start;flex-direction:column;justify-content:center}.settings-container__half>[data-v-0756ad50],.settings-container__third>[data-v-0756ad50]{margin-bottom:1rem}.with-checkbox[data-v-0756ad50]{display:flex;align-items:center}.with-checkbox [type=checkbox][data-v-0756ad50]{cursor:pointer}.with-checkbox .checkbox-text[data-v-0756ad50]{margin-left:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input-group .input-group-text[data-v-0756ad50]{margin-bottom:.5rem} \ No newline at end of file diff --git a/webui-new/public/index.c845e12b.js b/webui-new/public/index.c845e12b.js deleted file mode 100644 index 7e84be3..0000000 --- a/webui-new/public/index.c845e12b.js +++ /dev/null @@ -1 +0,0 @@ -var e=Object.defineProperty,t=Object.defineProperties,a=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,r=(t,a,i)=>a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[a]=i,o=(e,t)=>{for(var a in t||(t={}))s.call(t,a)&&r(e,a,t[a]);if(i)for(var a of i(t))n.call(t,a)&&r(e,a,t[a]);return e},l=(e,i)=>t(e,a(i));import{V as c,P as u,m as d,r as p,w as m,d as g,a as b,c as h,t as v,T as y,b as k,e as f,o as w,u as A,f as _,i as C,g as S,h as T,j as z,k as x,l as P,n as D,p as N,q as L,s as I,v as R,x as $,y as F,z as j,A as E,B as U,C as B,D as q,E as M,F as O,G}from"./vendor.70b63c9f.js";c.use(u);const V={credentials:"include"};function W(e,t={},a="GET"){const i=new URL(`http://localhost:6595/api/${e}`);return Object.keys(t).forEach((e=>{i.searchParams.append(e,t[e])})),fetch(i.href,l(o({},V),{method:a})).then((e=>e.json())).catch((e=>(console.error("There has been a problem with your fetch operation:",e),Promise.reject(e))))}const K=(e,t)=>{const a=new URL(`http://localhost:6595/api/${e}`);return fetch(a,l(o({},V),{body:JSON.stringify(t),headers:{"Content-Type":"application/json"},method:"POST"})).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).catch((e=>{console.error("There has been a problem with your fetch operation:",e)}))};class Q extends WebSocket{constructor(e){super(e),this.listeners={}}emit(e,t){if(this.readyState!==WebSocket.OPEN)return!1;this.send(JSON.stringify({key:e,data:t}))}on(e,t){Object.keys(this.listeners).includes(e)||(this.listeners[e]=t,this.addEventListener("message",(a=>{const i=JSON.parse(a.data);i.key===e&&t(i.data)})))}off(e){Object.keys(this.listeners).includes(e)&&(this.removeEventListener("message",this.listeners[e]),delete this.listeners[e])}}const H=new Q("ws://localhost:6595/");function Y(e,t,a,i,s,n,r,o){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=a,c._compiled=!0),i&&(c.functional=!0),n&&(c._scopeId="data-v-"+n),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),s&&s.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):s&&(l=o?function(){s.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:s),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}const J={};var Z=Y({},(function(e,t){var a=t._c;return a("div",{directives:[{name:"show",rawName:"v-show",value:!t.props.hidden,expression:"!props.hidden"}],staticClass:"flex justify-center items-center flex-col flex-1 h-full",class:t.props.additionalClasses},[a("span",{staticClass:"mb-5"},[t._v(t._s(t.props.text||"Loading..."))]),t._m(0)])}),[function(e,t){var a=t._c;return a("div",{staticClass:"lds-ring"},[a("div"),a("div"),a("div"),a("div")])}],!0,X,"3e02789c",null,null);function X(e){for(let t in J)this[t]=J[t]}var ee=function(){return Z.exports}();function te(e,t=null){if(!e)throw new Error("No URL given to sendAddToQueue function!");W("addToQueue",{url:e,bitrate:t},"POST")}function ae(e){const t=e.toLowerCase();if(t.startsWith("http")){if(t.includes("deezer.com")||t.includes("deezer.page.link")||t.includes("open.spotify.com")||t.includes("link.tospotify.com"))return!0}else if(t.startsWith("spotify:"))return!0;return!1}function ie(e){const t=Math.floor(e/60);let a=e-60*t;return a<10&&(a="0"+a),t+":"+a}const se=e=>e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,".");function ne(e,t,a){let i;return function(){const s=this,n=arguments,r=function(){i=null,a||e.apply(s,n)},o=a&&!i;clearTimeout(i),i=setTimeout(r,t),o&&e.apply(s,n)}}function re(e){const t=document.createElement("input");document.body.appendChild(t),t.setAttribute("type","text"),t.setAttribute("value",e),t.select(),t.setSelectionRange(0,99999),document.execCommand("copy"),t.remove()}function oe(e,...t){for(const a of t){const t=/\./.test(a)?a.split(".").reduce(((e,t)=>{if(e)return e[t]}),e):e[a];if(void 0!==t)return t}return null}var le={isValidURL:ae,convertDuration:ie,convertDurationSeparated:function(e){let t=Math.floor(e/60);const a=Math.floor(t/60),i=e-60*t;return t-=60*a,[a,t,i]},numberWithDots:se,debounce:ne};const ce=[{objName:"flac",label:"FLAC",value:9},{objName:"320kbps",label:"MP3 320kbps",value:3},{objName:"128kbps",label:"MP3 128kbps",value:1},{objName:"realityAudioHQ",label:"360 Reality Audio [HQ]",value:15},{objName:"realityAudioMQ",label:"360 Reality Audio [MQ]",value:14},{objName:"realityAudioLQ",label:"360 Reality Audio [LQ]",value:13}];const ue={};var de=Y({data:()=>({menuOpen:!1,xPos:0,yPos:0,deezerHref:"",generalHref:"",imgSrc:""}),computed:{options(){const e={cut:{label:this.$t("globals.cut"),show:!1,position:1,action:()=>{document.execCommand("Cut")}},copy:{label:this.$t("globals.copy"),show:!1,position:2,action:()=>{document.execCommand("Copy")}},copyLink:{label:this.$t("globals.copyLink"),show:!1,position:3,action:()=>{re(this.generalHref)}},copyImageLink:{label:this.$t("globals.copyImageLink"),show:!1,position:4,action:()=>{re(this.imgSrc)}},copyDeezerLink:{label:this.$t("globals.copyDeezerLink"),show:!1,position:5,action:()=>{re(this.deezerHref)}},paste:{label:this.$t("globals.paste"),show:!1,position:6,action:()=>{"clipboard"in navigator?navigator.clipboard.readText().then((e=>{document.execCommand("insertText",void 0,e)})):document.execCommand("paste")}}},t=Object.values(e).length+1;return ce.forEach(((a,i)=>{e[a.objName]={label:`${this.$t("globals.download",{thing:a.label})}`,show:!1,position:t+i,action:te.bind(null,this.deezerHref,a.value)}})),e},sortedOptions(){return Object.values(this.options).sort(((e,t)=>e.position{this.menuOpen=!1,this.options.copyLink.show=!1,this.options.copyDeezerLink.show=!1,this.options.copyImageLink.show=!1,ce.forEach((e=>{this.options[e.objName].show=!1}))})).catch((e=>{console.error(e)}))},positionMenu(e,t){this.xPos=`${e}px`,this.yPos=`${t}px`,this.$nextTick().then((()=>{const{innerHeight:a,innerWidth:i}=window,s=e+this.$refs.contextMenu.getBoundingClientRect().width,n=t+this.$refs.contextMenu.getBoundingClientRect().height;if(s>i){const t=s-i+15;this.xPos=e-t+"px"}if(n>a){const e=n-a+15;this.yPos=t-e+"px"}}))},showDeezerOptions(e){e||(this.options.copyDeezerLink.show=!0),ce.forEach((e=>{this.options[e.objName].show=!0}))}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.menuOpen,expression:"menuOpen"}],ref:"contextMenu",staticClass:"context-menu",style:{top:e.yPos,left:e.xPos}},e._l(e.sortedOptions,(function(t){return a("button",{directives:[{name:"show",rawName:"v-show",value:t.show,expression:"option.show"}],key:t.label,staticClass:"btn menu-option",on:{click:function(e){return e.preventDefault(),t.action.apply(null,arguments)}}},[a("span",{staticClass:"menu-option__text"},[e._v(e._s(t.label))])])})),0)}),[],!1,pe,"7227b3de",null,null);function pe(e){for(let t in ue)this[t]=ue[t]}var me=function(){return de.exports}(),ge=new c;function be(e,t,{duration:a=1e3,easing:i=he,interval:s=13}={}){const n=e.volume,r=t-n;if(!(r&&a&&i&&s))return e.volume=t,Promise.resolve();const o=Math.floor(a/s);let l=1;return new Promise((t=>{const a=setInterval((()=>{e.volume=n+i(l/o)*r,++l===o&&(clearInterval(a),t())}),s)}))}function he(e){return.5-Math.cos(e*Math.PI)/2}var ve=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("audio",{ref:"preview",attrs:{id:"preview-track"},on:{canplay:e.onCanPlay,timeupdate:e.onTimeUpdate}},[a("source",{attrs:{id:"preview-track_source",type:"audio/mpeg"}})])},ye=[];function ke(e){ge.$emit("trackPreview:playPausePreview",e)}const fe={data:()=>({previewStopped:!1}),computed:o({},d({previewVolume:"getPreviewVolume"})),mounted(){this.$refs.preview.volume=1,this.$router.beforeEach(((e,t,a)=>{this.stopStackedTabsPreview(),a()})),ge.$on("trackPreview:playPausePreview",this.playPausePreview),ge.$on("trackPreview:previewMouseEnter",this.previewMouseEnter),ge.$on("trackPreview:previewMouseLeave",this.previewMouseLeave)},methods:{async onCanPlay(){await this.$refs.preview.play(),this.previewStopped=!1,await be(this.$refs.preview,this.previewVolume/100,{duration:500})},async onTimeUpdate(){if(isNaN(this.$refs.preview.duration))return;let e=this.$refs.preview.duration;isFinite(e)||(e=30),e-this.$refs.preview.currentTime>=1||this.previewStopped||(await be(this.$refs.preview,0,{duration:800}),this.previewStopped=!0,document.querySelectorAll("a[playing] > .preview_controls").forEach((e=>{e.style.opacity=0})),document.querySelectorAll("*").forEach((e=>{e.removeAttribute("playing")})),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach((e=>{e.textContent="play_arrow"})))},async playPausePreview(e){e.preventDefault(),e.stopPropagation();const{currentTarget:t}=e,a="I"===t.tagName?t:t.querySelector("i");t.hasAttribute("playing")?this.$refs.preview.paused?(this.$refs.preview.play(),this.previewStopped=!1,a.innerText="pause",await be(this.$refs.preview,this.previewVolume/100,{duration:500})):(this.previewStopped=!0,a.innerText="play_arrow",await be(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause()):(document.querySelectorAll("*").forEach((e=>{e.removeAttribute("playing")})),t.setAttribute("playing",!0),document.querySelectorAll(".preview_controls, .preview_playlist_controls").forEach((e=>{e.textContent="play_arrow"})),document.querySelectorAll(".preview_controls").forEach((e=>{e.style.opacity=0})),a.innerText="pause",a.style.opacity=1,this.previewStopped=!1,await be(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),document.getElementById("preview-track_source").src=t.getAttribute("data-preview"),this.$refs.preview.load())},async stopStackedTabsPreview(){const e=Array.prototype.slice.call(document.querySelectorAll(".preview_playlist_controls[playing]"));0!==e.length&&(await be(this.$refs.preview,0,{duration:250}),this.$refs.preview.pause(),this.previewStopped=!0,e.forEach((e=>{e.removeAttribute("playing"),e.innerText="play_arrow"})))},previewMouseEnter(e){e.currentTarget.style.opacity=1},previewMouseLeave(e){const{currentTarget:t}=e,a=t.parentElement.hasAttribute("playing");(a&&this.previewStopped||!a)&&(t.style.opacity=0)}}},we={};var Ae=Y(fe,ve,ye,!1,_e,null,null,null);function _e(e){for(let t in we)this[t]=we[t]}var Ce=function(){return Ae.exports}();const Se={};var Te=Y({data:()=>({open:!1,url:""}),mounted(){this.$root.$on("QualityModal:open",this.openModal),this.$refs.modal.addEventListener("webkitAnimationEnd",this.handleAnimationEnd)},methods:{tryToDownloadTrack(e){const{target:t}=e;this.$refs.modal.classList.add("animated","fadeOut"),t.matches(".quality-button")&&te(this.url,t.dataset.qualityValue)},openModal(e){this.url=e,this.open=!0,this.$refs.modal.classList.add("animated","fadeIn")},handleAnimationEnd(e){const{animationName:t}=e;this.$refs.modal.classList.remove("animated",t),"fadeIn"!==t&&(this.open=!1)}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],ref:"modal",staticClass:"smallmodal",attrs:{id:"modal_quality"},on:{click:function(t){return e.tryToDownloadTrack(t)}}},[a("div",{staticClass:"smallmodal-content"},[a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"9"}},[e._v(" "+e._s(e.$t("globals.download",{thing:"FLAC"}))+" ")]),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"3"}},[e._v(" "+e._s(e.$t("globals.download",{thing:"MP3 320kbps"}))+" ")]),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"1"}},[e._v(" "+e._s(e.$t("globals.download",{thing:"MP3 128kbps"}))+" ")]),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"15"}},[e._v(" "+e._s(e.$t("globals.download",{thing:"360 Reality Audio [HQ]"}))+" ")]),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"14"}},[e._v(" "+e._s(e.$t("globals.download",{thing:"360 Reality Audio [MQ]"}))+" ")]),a("button",{staticClass:"btn btn-primary quality-button",attrs:{"data-quality-value":"13"}},[e._v(" "+e._s(e.$t("globals.download",{thing:"360 Reality Audio [LQ]"}))+" ")])])])}),[],!1,ze,null,null,null);function ze(e){for(let t in Se)this[t]=Se[t]}var xe=function(){return Te.exports}();const Pe={};var De=Y({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"hide",attrs:{id:"deezer_not_available"}},[a("i",{staticClass:"material-icons"},[e._v("warning")]),e._v(" "+e._s(e.$t("toasts.deezerNotAvailable"))+" ")])}),[],!1,Ne,null,null,null);function Ne(e){for(let t in Pe)this[t]=Pe[t]}var Le=function(){return De.exports}();const Ie=[{name:"home",ariaLabel:"home",routerName:"Home",icon:"home",label:"sidebar.home"},{name:"search",ariaLabel:"search",routerName:"Search",icon:"search",label:"sidebar.search"},{name:"charts",ariaLabel:"charts",routerName:"Charts",icon:"show_chart",label:"sidebar.charts"},{name:"favorites",ariaLabel:"favorites",routerName:"Favorites",icon:"star",label:"sidebar.favorites"},{name:"analyzer",ariaLabel:"link analyzer",routerName:"Link Analyzer",icon:"link",label:"sidebar.linkAnalyzer"},{name:"settings",ariaLabel:"settings",routerName:"Settings",icon:"settings",label:"sidebar.settings"},{name:"logs",ariaLabel:"logs",routerName:"Logs",icon:"description",label:"sidebar.logs"},{name:"about",ariaLabel:"info",routerName:"About",icon:"info",label:"sidebar.about"}],Re={dark:"dark",light:"light",purple:"purple"},$e=localStorage.getItem("selectedTheme")||document.documentElement.dataset.theme||Re.dark,Fe=p($e);m(Fe,((e,t)=>{t!==e&&(localStorage.setItem("selectedTheme",e),document.documentElement.dataset.theme=e,function(){const e=document.querySelectorAll("*");e.forEach((e=>{e.classList.add("changing-theme")})),document.documentElement.addEventListener("transitionend",(function t(){e.forEach((e=>{e.classList.remove("changing-theme")})),document.documentElement.removeEventListener("transitionend",t)}))}())}));var je=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("aside",{staticClass:"top-0 left-0 flex flex-col h-screen bg-panels-bg text-foreground",class:{"slim-sidebar w-12":e.isSlim},style:{minWidth:e.isSlim?null:"14rem"},attrs:{id:"sidebar","aria-label":"sidebar",role:"navigation"}},[e._m(0),e._l(e.links,(function(t){return a("router-link",{key:t.name,staticClass:"relative flex items-center h-16 no-underline group main_tablinks hover:bg-background-main text-foreground",class:{"bg-background-main":e.activeTablink===t.name},attrs:{"aria-label":t.ariaLabel,to:{name:t.routerName},tag:"a"},nativeOn:{click:function(a){e.activeTablink=t.name}}},[a("i",{staticClass:"p-2 text-3xl material-icons side_icon group-hover:text-primary",class:{"text-primary":e.activeTablink===t.name}},[e._v(" "+e._s(t.icon)+" ")]),a("span",{staticClass:"ml-5 overflow-hidden capitalize whitespace-no-wrap main-tablinks-text",class:{hidden:e.isSlim},staticStyle:{"letter-spacing":"1.3px"}},[e._v(" "+e._s(e.$t(t.label))+" ")]),"about"===t.name&&e.updateAvailable?a("span",{staticClass:"absolute w-3 h-3 bg-red-600 rounded-full",attrs:{id:"update-notification"}}):e._e()])})),a("span",{staticClass:"flex h-12 mt-5",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_selector","aria-label":"theme selector",role:"link"}},[a("i",{staticClass:"p-2 text-3xl transition-all duration-500 cursor-default material-icons side_icon side_icon--theme"},[e._v(" brush ")]),a("div",{staticClass:"relative flex items-center w-full justify-evenly",class:{"inline-grid gap-2":e.isSlim},attrs:{id:"theme_togglers"}},e._l(e.THEMES,(function(t){return a("div",{key:t,staticClass:"w-6 h-6 border rounded-full cursor-pointer theme_toggler border-grayscale-500 gap",class:[{"theme_toggler--active":e.currentTheme===t},"theme_toggler--"+t],on:{click:function(a){e.currentTheme=t}}})})),0)])],2)},Ee=[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"deemix-icon-container"},[t("img",{attrs:{src:"/deemix-icon.bda2a0a4.svg",alt:"deemix icon"}})])}];const Ue=g({setup(e,t){const a=b({activeTablink:"home",links:Ie}),{THEMES:i,currentTheme:s}={THEMES:Re,currentTheme:Fe},n=h((()=>t.root.$store.state.appInfo.updateAvailable));return t.root.$router.afterEach((e=>{const t=a.links.find((t=>t.routerName===e.name));t&&(a.activeTablink=t.name)})),l(o({},v(a)),{updateAvailable:n,THEMES:i,currentTheme:s,isSlim:h((()=>t.root.$store.getters.getSlimSidebar)),deemixIcon:"/deemix-icon.bda2a0a4.svg"})}}),Be={};var qe=Y(Ue,je,Ee,!1,Me,"bd7397ec",null,null);function Me(e){for(let t in Be)this[t]=Be[t]}var Oe=function(){return qe.exports}(),Ge=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("header",{attrs:{id:"search","aria-label":"searchbar"}},[e._m(0),a("input",{ref:"searchbar",staticClass:"w-full",attrs:{id:"searchbar",autocomplete:"off",type:"search",name:"searchbar",value:"",placeholder:e.$t("searchbar"),autofocus:""},on:{keyup:function(t){return e.performSearch(t)}}})])},Ve=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"search__icon"},[a("i",{staticClass:"material-icons"},[e._v("search")])])}];const We=g({setup:()=>({lastTextSearch:p("")}),created(){const e=e=>{70===e.keyCode&&e.ctrlKey&&(e.preventDefault(),this.$refs.searchbar.focus())},t=e=>{"Backspace"===e.key&&e.ctrlKey&&e.shiftKey&&(this.$refs.searchbar.value="",this.$refs.searchbar.focus())};document.addEventListener("keydown",e),document.addEventListener("keyup",t),this.$on("hook:destroyed",(()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}))},methods:{async performSearch(e){if(!(13===e.keyCode))return;const t=this.$refs.searchbar.value;if(""===t)return;const a=ae(t),i=e.ctrlKey,s="Link Analyzer"===this.$route.name,n="Search"===this.$route.name,r=t===this.lastTextSearch;if(a){if(i)return void this.$root.$emit("ContextMenu:searchbar",t);if(s)try{const e=await W("analyzeLink",{term:t});if(!!e.errorCode)throw new Error(e.errorMessage);return"track"===e.type&&ge.$emit("analyze_track",e),void("album"===e.type&&ge.$emit("analyze_album",e))}catch(o){return void console.error(o)}te(t)}else{if(n&&r)return;this.lastTextSearch=t,await this.$router.push({name:"Search",query:{term:t}})}}}}),Ke={};var Qe=Y(We,Ge,Ve,!1,He,null,null,null);function He(e){for(let t in Ke)this[t]=Ke[t]}var Ye=function(){return Qe.exports}();const Je={};var Ze=Y({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("button",{staticClass:"btn-primary border-transparent border-solid flex items-center justify-center p-1 m-0 w-16 h-16 rounded-full z-10",on:{click:function(t){return e.$router.back()}}},[a("i",{staticClass:"material-icons mirrored text-4xl text-white"},[e._v("forward")])])}),[],!1,Xe,"9d6c5504",null,null);function Xe(e){for(let t in Je)this[t]=Je[t]}var et=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("main",{ref:"content",attrs:{id:"content","aria-label":"main content"},on:{scroll:function(t){"Search"===e.$route.name&&e.handleContentScroll(t)}}},[a("div",{attrs:{id:"container"}},[e.showBackButton?a("BackButton",{staticClass:"sticky -ml-20",staticStyle:{top:"1rem"}}):e._e(),a("keep-alive",[e.$route.meta.notKeepAlive?e._e():a("router-view",{key:e.$route.fullPath,class:{"-mt-16":e.showBackButton},attrs:{"perform-scrolled-search":e.performScrolledSearch}})],1),e.$route.meta.notKeepAlive?a("router-view",{key:e.$route.fullPath,class:{"-mt-16":e.showBackButton},attrs:{"perform-scrolled-search":e.performScrolledSearch}}):e._e()],1)])},tt=[];const at={components:{BackButton:function(){return Ze.exports}()},data:()=>({performScrolledSearch:!1}),computed:{showBackButton(){return["Tracklist","Artist","Album","Playlist","Spotify Playlist"].includes(this.$route.name)}},mounted(){this.$router.beforeEach(((e,t,a)=>{this.$refs.content.scrollTo(0,0),a()}))},methods:{handleContentScroll:ne((async function(){this.$refs.content.scrollTop+this.$refs.content.clientHeight({})}},data:()=>({isLoading:!1}),computed:{hasFails(){return this.queueItem.failed>=1},allFailed(){let e=!1;return"download finished"===this.queueItem.status&&(e=this.queueItem.failed===this.queueItem.size),e},finishedWithFails(){return"download finished"===this.queueItem.status&&this.hasFails},isDeterminateStatus(){return ot.includes(this.queueItem.status)},barClass(){return{converting:"converting"===this.queueItem.status,indeterminate:!this.isDeterminateStatus,determinate:this.isDeterminateStatus}},barStyle(){let e=0,t="var(--primary-color)";return t=this.hasFails?"hsl(33, 100%, 47%)":"hsl(150, 76%, 34%)",this.allFailed&&(t="hsl(360, 100%, 35%)"),"download finished"===this.queueItem.status&&(e=100),"downloading"===this.queueItem.status&&(e=this.queueItem.progress),"converting"===this.queueItem.status&&(e=100-this.queueItem.conversion,t="hsl(46, 100%, 50%)"),{width:`${e}%`,backgroundColor:t}},resultIconText(){let e="delete_forever";return"download finished"===this.queueItem.status&&(e=this.hasFails?this.queueItem.failed>=this.queueItem.size?"error":"warning":"done"),e}},methods:{onResultIconClick(){this.isDeterminateStatus?(this.finishedWithFails&&this.$emit("show-errors",this.queueItem),"downloading"===this.queueItem.status&&(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))):(this.isLoading=!0,this.$emit("remove-item",this.queueItem.uuid))}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"download-object"},[a("div",{staticClass:"download-info"},[a("img",{staticClass:"rounded coverart",attrs:{width:"75px",src:e.queueItem.cover,alt:"Cover "+e.queueItem.title}}),a("div",{staticClass:"download-info-data"},[a("span",{staticClass:"download-line"},[e._v(e._s(e.queueItem.title))]),e._v(" "),a("span",{staticClass:"download-slim-separator"},[e._v(" - ")]),a("span",[e._v(e._s(e.queueItem.artist))])]),a("div",{staticClass:"download-info-status",staticStyle:{"text-align":"center"}},[a("span",{staticClass:"download-line"},[e._v(" "+e._s(e.queueItem.downloaded+e.queueItem.failed)+"/"+e._s(e.queueItem.size)+" ")]),e.hasFails?a("span",{staticClass:"flex items-center",class:{clickable:e.finishedWithFails},staticStyle:{"justify-content":"center"},on:{click:function(t){e.finishedWithFails&&e.$emit("show-errors",e.queueItem)}}},[e._v(" "+e._s(e.queueItem.failed)+" "),a("i",{staticClass:"material-icons"},[e._v("error_outline")])]):e._e()])]),a("div",{staticClass:"download-bar"},[a("div",{staticClass:"progress"},[a("div",{class:e.barClass,style:e.barStyle})]),e.isLoading?a("div",{staticClass:"circle-loader"}):a("i",{staticClass:"material-icons queue_icon",class:{clickable:e.finishedWithFails||"delete_forever"===e.resultIconText},on:{click:e.onResultIconClick}},[e._v(" "+e._s(e.resultIconText)+" ")])])])}),[],!1,ut,null,null,null);function ut(e){for(let t in lt)this[t]=lt[t]}var dt=function(){return ct.exports}();const pt={gravity:"bottom",position:"left"},mt={},gt=function(e,t=null,a=!0,i=null){if(mt[i]){const s=mt[i],n=document.querySelectorAll(`div.toastify[toast_id=${i}]`);if(e&&n.forEach((t=>{t.querySelectorAll(".toast-message").forEach((t=>{t.innerText=e}))})),t){const e=document.createElement("span");if(e.classList.add("toast-icon"),"loading"===t){const t=document.createElement("div");t.classList.add("circle-loader"),e.appendChild(t)}else{const a=document.createElement("i");a.classList.add("material-icons"),a.appendChild(document.createTextNode(t)),e.appendChild(a)}n.forEach((t=>{t.querySelectorAll(".toast-icon").forEach((t=>{t.parentNode.replaceChild(e,t)}))}))}null!==a&&a&&(n.forEach((e=>{e.classList.add("dismissable")})),setTimeout((()=>{s.hideToast(),delete mt[i]}),3e3))}else{const s=document.createElement("span");if(s.classList.add("toast-icon"),null==t)s.appendChild(document.createTextNode(""));else if("loading"===t){const e=document.createElement("div");e.classList.add("circle-loader"),s.appendChild(e)}else{const e=document.createElement("i");e.classList.add("material-icons"),e.appendChild(document.createTextNode(t)),s.appendChild(e)}const n=document.createElement("span");n.classList.add("toast-message"),n.appendChild(document.createTextNode(e));const r=document.createElement("toast");r.appendChild(s),r.appendChild(n);const c=y(l(o({},pt),{node:r,duration:a?3e3:0,className:a?"dismissable":"",onClick(){let e=!0;if(i){const t=document.querySelector(`div.toastify[toast_id=${i}]`).classList;t&&(e=Array.prototype.slice.call(t).includes("dismissable"))}c&&e&&(c.hideToast(),i&&delete mt[i])},offset:{x:"true"===localStorage.getItem("slimSidebar")?"3rem":"14rem"}})).showToast();i&&(mt[i]=c,c.toastElement.setAttribute("toast_id",i))}};H.on("toast",(e=>{const{msg:t,icon:a,dismiss:i,id:s}=e;gt(t,a||null,void 0===i||i,s||null)}));var bt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",{ref:"container",staticClass:"block h-screen bg-panels-bg text-foreground",class:{"tab-hidden":!e.isExpanded,"w-8":!e.isExpanded},attrs:{id:"download_tab_container","data-label":e.$t("downloads"),"aria-label":"downloads"},on:{transitionend:function(t){e.$refs.container.style.transition=""}}},[a("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],staticClass:"absolute w-4 h-full bg-grayscale-200",staticStyle:{cursor:"ew-resize"},on:{mousedown:function(t){return t.preventDefault(),e.startDrag.apply(null,arguments)}}}),a("i",{ref:"toggler",staticClass:"m-1 text-2xl cursor-pointer material-icons",class:{"ml-1":!e.isExpanded,"ml-5":e.isExpanded},attrs:{id:"toggle_download_tab",title:e.$t("globals.toggle_download_tab_hint")},on:{click:function(t){return t.preventDefault(),e.toggleDownloadTab.apply(null,arguments)}}}),a("div",{staticClass:"absolute top-0 right-0 transition-all duration-200 ease-in-out",class:{"opacity-0 invisible":!e.isExpanded,"opacity-100 visible":e.isExpanded}},[e.clientMode?a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.open_downloads_folder")},on:{click:e.openDownloadsFolder}},[e._v(" folder_open ")]):e._e(),a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.clean_queue_hint")},on:{click:e.cleanQueue}},[e._v(" clear_all ")]),a("i",{staticClass:"m-1 text-2xl cursor-pointer material-icons",attrs:{title:e.$t("globals.cancel_queue_hint")},on:{click:e.cancelQueue}},[e._v(" delete_sweep ")])]),a("div",{directives:[{name:"show",rawName:"v-show",value:e.isExpanded,expression:"isExpanded"}],ref:"list",staticClass:"w-full pr-2",class:{slim:e.isSlim},attrs:{id:"download_list"}},e._l(e.queueList,(function(t){return a("QueueItem",{key:t.uuid,attrs:{"queue-item":t},on:{"show-errors":e.showErrorsTab,"remove-item":e.onRemoveItem}})})),1)])},ht=[];const vt={components:{QueueItem:dt},data:()=>({cachedTabWidth:parseInt(localStorage.getItem("downloadTabWidth"))||300,queue:[],queueList:{},queueComplete:[],isExpanded:"true"===localStorage.getItem("downloadTabOpen")}),computed:l(o({},d({clientMode:"getClientMode",isSlim:"getSlimDownloads"})),{finishedWithoutErrors(){return Object.values(this.queueList).filter((e=>"download finished"===(e.status||"")&&0===e.errors.length))}}),created(){const e=e=>{e.ctrlKey&&"b"===e.key&&this.toggleDownloadTab()};document.addEventListener("keyup",e),this.$on("hook:destroyed",(()=>{document.removeEventListener("keyup",e)}))},mounted(){H.on("startDownload",this.startDownload),H.on("startConversion",this.startConversion),H.on("finishConversion",this.finishConversion),H.on("addedToQueue",this.addToQueue),H.on("updateQueue",this.updateQueue),H.on("removedFromQueue",this.removeFromQueue),H.on("finishDownload",this.finishDownload),H.on("removedAllDownloads",this.removeAllDownloads),H.on("removedFinishedDownloads",this.removedFinishedDownloads),W("getQueue").then((e=>{this.initQueue(e)})).catch(console.error),"true"===localStorage.getItem("slimDownloads")&&this.$refs.list.classList.add("slim"),this.isExpanded&&this.setTabWidth(this.cachedTabWidth),document.addEventListener("mouseup",(()=>{document.removeEventListener("mousemove",this.handleDrag)})),window.addEventListener("beforeunload",(()=>{localStorage.setItem("downloadTabWidth",this.cachedTabWidth)}))},methods:l(o({},k(["setErrors"])),{onRemoveItem(e){H.emit("removeFromQueue",e)},setTabWidth(e){void 0===e?(this.$refs.container.style.width="",this.$refs.list.style.width=""):(this.$refs.container.style.width=e+"px",this.$refs.list.style.width=e+"px")},initQueue(e){const{queueOrder:t,current:a,queue:i,restored:s}=e,n=Object.values(i).filter((e=>["completed","withErrors","failed"].includes(e.status))).map((e=>e.uuid));n&&n.length&&n.forEach((e=>{i[e].silent=!0,this.addToQueue(i[e])})),a&&(a.silent=!0,this.addToQueue(a,!0)),t.forEach((e=>{i[e].silent=!0,this.addToQueue(i[e])})),s&&(gt(this.$t("toasts.queueRestored"),"done",!0,"restoring_queue"),H.emit("queueRestored"))},addToQueue(e,t=!1){if(Array.isArray(e)){if(e.length>1)return e.forEach((e=>{e.silent=!0,this.addToQueue(e)})),void gt(this.$t("toasts.addedMoreToQueue",{n:e.length}),"playlist_add_check");e=e[0]}e.downloaded=e.downloaded||0,e.failed=e.failed||0,e.progress=e.progress||0,e.conversion=e.conversion||0,e.errors=e.errors||[],this.$set(e,"current",t),this.$set(this.queueList,e.uuid,e);if(e.downloaded+e.failed==e.size){const t=!this.queueComplete.includes(e.uuid);this.$set(this.queueList[e.uuid],"status","download finished"),t&&this.queueComplete.push(e.uuid)}else{!this.queue.includes(e.uuid)&&this.queue.push(e.uuid)}(e.progress>0&&e.progress<100||t)&&this.startDownload(e.uuid),e.silent||gt(this.$t("toasts.addedToQueue",{item:e.title}),"playlist_add_check")},updateQueue(e){const{uuid:t,downloaded:a,failed:i,progress:s,conversion:n,error:r,data:o,errid:l}=e;t&&this.queue.includes(t)&&(a&&this.queueList[t].downloaded++,i&&(this.queueList[t].failed++,this.queueList[t].errors.push({message:r,data:o,errid:l})),s&&(this.queueList[t].progress=s),n&&(this.queueList[t].conversion=n))},removeFromQueue(e){const t=this.queue.indexOf(e);t>-1&&(this.$delete(this.queue,t),this.$delete(this.queueList,e))},removeAllDownloads(e){if(this.queueComplete=[],e){this.queue=[e];const t=this.queueList[e];this.queueList={},this.queueList[e]=t}else this.queue=[],this.queueList={}},removedFinishedDownloads(){this.queueComplete=this.finishedWithoutErrors.map((e=>e.uuid)),this.queueComplete.forEach((e=>{this.$delete(this.queueList,e)})),this.queueComplete=[]},toggleDownloadTab(){this.setTabWidth(),this.$refs.container.style.transition="all 250ms ease-in-out",this.isExpanded=!this.isExpanded,this.isExpanded&&this.setTabWidth(this.cachedTabWidth),localStorage.setItem("downloadTabOpen",this.isExpanded)},cleanQueue(){H.emit("removeFinishedDownloads")},cancelQueue(){H.emit("cancelAllDownloads")},openDownloadsFolder(){window.api.send("openDownloadsFolder")},handleDrag(e){let t=window.innerWidth-e.pageX+2;t<250?t=250:t>500&&(t=500),this.cachedTabWidth=t,this.setTabWidth(t)},startDrag(){document.addEventListener("mousemove",this.handleDrag)},startDownload(e){this.$set(this.queueList[e],"status","downloading")},finishDownload(e){if(!this.queue.includes(e))return;this.$set(this.queueList[e],"status","download finished"),gt(this.$t("toasts.finishDownload",{item:this.queueList[e].title}),"done");const t=this.queue.indexOf(e);t>-1&&(this.queue.splice(t,1),this.queueComplete.push(e)),this.queue.length<=0&>(this.$t("toasts.allDownloaded"),"done_all")},startConversion(e){this.$set(this.queueList[e],"status","converting"),this.$set(this.queueList[e],"conversion",0)},finishConversion(e){this.$set(this.queueList[e.uuid],"size",e.size)},async showErrorsTab(e){await this.setErrors(e),this.$router.push({name:"Errors"})}})},yt={};var kt=Y(vt,bt,ht,!1,ft,"1d7b0283",null,null);function ft(e){for(let t in yt)this[t]=yt[t]}const wt={};var At=Y({components:{TheSidebar:Oe,TheSearchBar:Ye,TheDownloadBar:function(){return kt.exports}(),TheTrackPreview:Ce,TheQualityModal:xe,BaseLoadingPlaceholder:ee,TheContextMenu:me,TheContent:rt,DeezerWarning:Le},data:()=>({isSocketConnected:!1}),mounted(){H.addEventListener("open",(()=>{console.log("Connected to WebSocket"),this.isSocketConnected=!0}))}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"app"}},[a("div",{staticClass:"app-container"},[a("TheSidebar"),a("div",{staticClass:"content-container"},[a("TheSearchBar"),a("DeezerWarning"),a("TheContent")],1),a("TheDownloadBar")],1),a("BaseLoadingPlaceholder",{attrs:{text:"Connecting to local server...",hidden:e.isSocketConnected,"additional-classes":"absolute top-0 left-0 w-screen h-screen bg-black bg-opacity-50 z-50"}}),a("TheTrackPreview"),a("TheQualityModal"),a("TheContextMenu")],1)}),[],!1,_t,null,null,null);function _t(e){for(let t in wt)this[t]=wt[t]}var Ct=function(){return At.exports}();const St={it:{globals:{welcome:"Benvenuto su deemix",back:"indietro",loading:"caricamento",download:"Scarica {thing}",by:"di {artist}",in:"in {album}",download_hint:"Scarica",play_hint:"Riproduci",toggle_download_tab_hint:"Espandi/Riduci",clean_queue_hint:"Pulisci Lista",cancel_queue_hint:"Cancella tutti i download",open_downloads_folder:"Apri la cartella di download",cut:"taglia",copy:"copia",copyLink:"copia link",copyImageLink:"copia link immagine",copyDeezerLink:"copia link deezer",paste:"incolla",listTabs:{all:"tutto",top_result:"miglior risultato",album:"album",artist:"artista | artisti",single:"singolo | singoli",title:"titolo | titoli",track:"brano | brani",releaseN:"0 dischi | {n} disco | {n} dischi",playlist:"playlist",compile:"compilation",bundle:"collezione | collezioni",ep:"ep",more:"Altri album",featured:"Compare in",spotifyPlaylist:"playlist spotify",releaseDate:"data di uscita",error:"errore",empty:"",trackN:"0 brani | {n} brano | {n} brani",albumN:"{n} album",artistN:"0 artisti | {n} artista | {n} artisti",playlistN:"{n} playlist"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Versione attuale",currentWebuiVersion:"Versione WebUI attuale",versionNotAvailable:"N/A",updateAvailable:"Non stai usando l'ultima versione disponibile: {version}",deemixVersion:"Versione libreria deemix"},titles:{usefulLinks:"Link Utili",bugReports:"Segnalazione di bug",contributing:"Contribuire al progetto",donations:"Donazioni",license:"Licenza"},subtitles:{bugReports:"C'è qualcosa di deemix che non funziona? Faccelo sapere!",contributing:"Vuoi contribuire a questo progetto? Puoi farlo in più modi!",donations:"Vuoi dare una mano economicamente? Puoi fare una donazione!"},usesLibrary:"Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.",thanks:"Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.",upToDate:{text:"Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.",newsChannel:"canale delle news"},officialWebsite:"Sito Ufficiale",officialRepo:"Repository Ufficiale della Libreria",officialWebuiRepo:"Repository Ufficiale dell'Interfaccia Web",officialSubreddit:"Subreddit Ufficiale",newsChannel:"Canale delle news",questions:{text:"Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.",subreddit:"subreddit ufficiale"},beforeReporting:"Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ciò che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.",beSure:"Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che è già stato segnalato.",duplicateReports:"Le segnalazioni doppie verranno chiuse, tienilo presente.",dontOpenIssues:"NON aprire issues per porre domande, per quello esiste un subreddit.",newUI:{text:"Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.",repo:"repo"},acceptFeatures:"Accetto anche funzionalità, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.",otherLanguages:"Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!",understandingCode:"Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit",contributeWebUI:{text:"Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.",webui:"WebUI"},itsFree:"Ricordati che questo è un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.",notObligated:"Non sentirti obbligato a donare, mi stai simpatico lo stesso!",lincensedUnder:{text:"Questo progetto è sotto la licenza {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Classifiche",changeCountry:"Cambia Paese",download:"Scarica Classifica"},errors:{title:"Errori riguardanti {name}",ids:{invalidURL:"URL non riconosciuto",unsupportedURL:"URL non ancora supportato",ISRCnotOnDeezer:"Questo ISRC non è disponibile su Deezer",notYourPrivatePlaylist:"Non puoi scaricare le playlist private degli altri.",spotifyDisabled:"Spotify Features non è impostato correttamente.",trackNotOnDeezer:"Brano non trovato su Deezer!",albumNotOnDeezer:"Album non trovato su Deezer!",notOnDeezer:"Brano non disponibile su Deezer!",notEncoded:"Brano non ancora codificato!",notEncodedNoAlternative:"Brano non ancora codificato e nessuna alternativa trovata!",wrongBitrate:"Brano non trovato con il bitrate specificato.",wrongBitrateNoAlternative:"Brano non trovato con il bitrate specificato e nessuna alternativa trovata!",no360RA:"Brano non disponibile in Reality Audio 360.",notAvailable:"Brano non presente sui server di Deezer!",notAvailableNoAlternative:"Brano non presente sui server di Deezer e nessuna alternativa trovata!",noSpaceLeft:"Spazio su disco esaurito!",albumDoesntExists:"Il brano non ha nessun album, impossibile ottenere informazioni"}},favorites:{title:"Preferiti",noPlaylists:"Nessuna Playlist preferita trovata",noAlbums:"Nessun Album preferito trovato",noArtists:"Nessun Artista preferito trovato",noTracks:"Nessun Brano preferito trovato"},home:{needTologin:"Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.",openSettings:"Apri le impostazioni",sections:{popularPlaylists:"Playlist Popolari",popularAlbums:"Album più riprodotti"}},linkAnalyzer:{info:"Puoi utilizzare questa sezione per avere più informazioni riguardanti il link che stai cercando di scaricare.",useful:"Ciò può esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.",linkNotSupported:"Questo link non è ancora supportato",linkNotSupportedYet:"Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durata",diskNumber:"Numero Disco",trackNumber:"Numero Traccia",releaseDate:"Data di uscita",bpm:"BPM",label:"Etichetta",recordType:"Tipologia di registrazione",genres:"Generi",tracklist:"Lista tracce"}},search:{startSearching:"Inizia a cercare!",description:"Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer",fans:"{n} fan",noResults:"Nessun risultato",noResultsTrack:"Nessun brano trovato",noResultsAlbum:"Nessun album trovato",noResultsArtist:"Nessun artista trovato",noResultsPlaylist:"Nessuna playlist trovata"},searchbar:"Cerca qualsiasi cosa (o incolla semplicemente un link)",downloads:"download",toasts:{restoringQueue:"Ripristinando la coda di download...",queueRestored:"Coda di download ripristinata!",addedToQueue:"{item} aggiunto alla coda",addedMoreToQueue:"{n} oggetti aggiunti alla coda",alreadyInQueue:"{item} è già nella coda!",finishDownload:"{item} ha finito di scaricarsi.",allDownloaded:"Tutti i download completati!",refreshFavs:"Preferiti ricaricati!",loggingIn:"Effettuando il login...",loggedIn:"Login effettuato",alreadyLogged:"Sei già loggato",loginFailed:"Impossibile loggarsi",loggedOut:"Disconnesso",cancellingCurrentItem:"Cancellando download corrente.",currentItemCancelled:"Download corrente cancellato.",startAddingArtist:"Aggiungendo gli album di {artist} alla coda",finishAddingArtist:"Aggiunto gli album di {artist} alla coda",startConvertingSpotifyPlaylist:"Convertendo i brani da spotify a deezer",finishConvertingSpotifyPlaylist:"Playlist di spotify convertita",loginNeededToDownload:"Devi accedere prima di poter scaricare brani!",deezerNotAvailable:"Deezer non è disponibile nel tuo paese. Dovresti usare una VPN.",startGeneratingItems:"Elaborando {n} oggetti...",finishGeneratingItems:"{n} oggetti generati."},settings:{title:"Impostazioni",languages:"Lingue",login:{title:"Login",loggedIn:"Sei loggato come {username}",arl:{question:"Come ottengo il mio ARL?",update:"Aggiorna ARL"},logout:"Disconnettiti",login:"Accedi tramite deezer.com"},loginWithCredentials:{title:"Login con credentiali",login:"Login"},appearance:{title:"Aspetto",slimDownloadTab:"Tab dei download slim",slimSidebar:"Sidebar slim"},downloadPath:{title:"Cartella di download"},templates:{title:"Template",tracknameTemplate:"Template nome brano",tracknameAvailableVariables:"Variabili nome brano disponibili",albumTracknameTemplate:"Template nome brano negli Album",albumTracknameAvailableVariables:"Variabili nome brano negli Album disponibili",playlistTracknameTemplate:"Template nome brano nelle Playlist",playlistTracknameAvailableVariables:"Variabili nome brano nelle Playlist disponibili"},folders:{title:"Cartelle",createPlaylistFolder:"Crea cartelle per le Playlist",playlistNameTemplate:"Template nome della cartella Playlist",createArtistFolder:"Crea cartelle per gli Artisti",artistNameTemplate:"Template nome della cartella Artista",createAlbumFolder:"Crea cartelle per gli Album",albumNameTemplate:"Template nome della cartella Album",createCDFolder:"Crea cartelle per i CD",createStructurePlaylist:"Crea la struttura di cartelle per le Playlist",createSingleFolder:"Crea la struttura di cartelle per i brani singoli"},trackTitles:{title:"Titoli brani",padTracks:"Aggiungi zeri ai numeri di traccia",paddingSize:"Sovrascrivi il numero di zeri da aggiungere",illegalCharacterReplacer:"Rimpiazza caratteri illegali con"},downloads:{title:"Download",queueConcurrency:"Download simultanei",maxBitrate:{title:"Bitrate preferito",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dovrei sovrascrivere i file già scaricati?",y:"Si, sovrascrivi i file",n:"No, non sovrascrivere i file",t:"Sovrascrivi solo i tag",b:"No, mantieni entrambi i file e aggiungi un numero al duplicato",e:"No, e non tener conto della estensione del file"},fallbackBitrate:"Utilizza bitrate più bassi se il bitrate preferito non è disponibile",fallbackSearch:"Cerca il brano se il link originale non è disponibile",logErrors:"Crea file di log per gli errori",logSearched:"Crea file di log per le alternative cercate",syncedLyrics:"Crea i file .lyr (Testi Sincronizzati)",createM3U8File:"Crea i file playlist",playlistFilenameTemplate:"Template nome del file playlist",saveDownloadQueue:"Salva la coda di download quando chiudi l'app"},covers:{title:"Copertine",saveArtwork:"Salva copertina album",coverImageTemplate:"Template nome copertina album",saveArtworkArtist:"Salva copertina artista",artistImageTemplate:"Template nome copertina artista",localArtworkSize:"Dimensioni copertine locali",embeddedArtworkSize:"Dimensioni copertine incorporate",localArtworkFormat:{title:"Come vuoi salvare le copertine locali?",jpg:"In jpeg",png:"In png",both:"Sia in jpeg che in png"},jpegImageQuality:"Qualità immagine JPEG",embeddedArtworkPNG:"Salva copertina incorporata come PNG",embeddedPNGWarning:"Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi",imageSizeWarning:"Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi",coverDescriptionUTF8:"Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)"},tags:{head:"Quali tag salvare",title:"Titolo",artist:"Artista",album:"Album",cover:"Copertina",trackNumber:"Numero Traccia",trackTotal:"Tracce Totali",discNumber:"Numero Disco",discTotal:"Dischi Totali",albumArtist:"Artista dell'album",genre:"Genere",year:"Anno",date:"Data",explicit:"Testo Esplicito",isrc:"ISRC",length:"Durata Traccia",barcode:"Barcode dell'album (UPC)",bpm:"BPM",replayGain:"Replay gain",label:"Casa Discografica",lyrics:"Testo non Sincronizzato",syncedLyrics:"Testo Sincronizzato",copyright:"Copyright",composer:"Compositori",involvedPeople:"Persone Coinvolte",source:"Sorgente e ID brano"},other:{title:"Altro",savePlaylistAsCompilation:"Salva le playlist come Compilation",useNullSeparator:"Usa il carattere NULL come separatore",saveID3v1:"Salva anche l'ID3v1",multiArtistSeparator:{title:"Come vuoi separare gli artisti?",nothing:"Salva solo l'artista principale",default:"Usando la specificazione standard",andFeat:"Usando & e feat.",using:'Usando "{separator}"'},singleAlbumArtist:"Salva solo l'artista dell'album principale",albumVariousArtists:'Lascia "Artisti Vari" negli artisti dell\'album',removeAlbumVersion:'Rimuovi "Album Version" dal titolo del brano',removeDuplicateArtists:"Rimuovi le combinazioni di artisti",dateFormat:{title:"Formato della data per i file FLAC",year:"AAAA",month:"MM",day:"GG"},featuredToTitle:{title:"Cosa dovrei fare con i feat?",0:"Niente",1:"Rimuovili dal titolo",3:"Rimuovili dal titolo e dal nome dell'album",2:"Spostali sul titolo"},titleCasing:"Formato testo dei titoli",artistCasing:"Formato testo degli artisti",casing:{nothing:"Non cambiare",upper:"TUTTO MAIUSCOLO",lower:"tutto minuscolo",start:"Prima Lettera Maiuscola",sentence:"Come una frase"},previewVolume:"Volume Anteprime",executeCommand:{title:"Comando da eseguire dopo il download",description:"Lascia vuoto per nessuna azione"}},spotify:{title:"Spotify Features",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Come attivo le Spotify Features?"},reset:"Reimposta Default",resetMessage:"Sei sicuro di voler tornare alle impostazioni di default?",save:"Salva",toasts:{init:"Impostazioni caricate!",update:"Impostazioni aggiornate!",reset:"Impostazioni di default ripristinate!",ARLcopied:"ARL copiato negli appunti"},logs:{title:"Log",areLogsActive:"Attivi"}},sidebar:{home:"home",search:"ricerca",charts:"classifiche",favorites:"preferiti",linkAnalyzer:"analizza link",settings:"impostazioni",logs:"log",about:"info"},tracklist:{downloadSelection:"Scarica selezionati"},logs:{event:"Evento",data:"Dati"}},en:{globals:{welcome:"Welcome to deemix",back:"back",loading:"loading",download:"Download {thing}",by:"by {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Expand/Collapse",clean_queue_hint:"Clear Finished",cancel_queue_hint:"Cancel All",open_downloads_folder:"Open Downloads Folder",cut:"cut",copy:"copy",copyLink:"copy link",copyImageLink:"copy image link",copyDeezerLink:"copy deezer link",paste:"paste",listTabs:{empty:"",all:"all",top_result:"top result",album:"album | albums",artist:"artist | artists",single:"single | singles",title:"title | titles",track:"track | tracks",releaseN:"0 releases | {n} release | {n} releases",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"More albums",featured:"Featured in",spotifyPlaylist:"spotify playlist | spotify playlists",releaseDate:"release date",error:"error",trackN:"0 tracks | {n} track | {n} tracks",albumN:"0 albums | {n} album | {n} albums",artistN:"0 artists | {n} artist | {n} artists",playlistN:"0 playlists | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app online",offline:"app offline"},updates:{currentVersion:"Current Version",currentWebuiVersion:"Current WebUI Version",versionNotAvailable:"N/A",updateAvailable:"You're not running the latest version available: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Useful Links",bugReports:"Bug Reports",contributing:"Contributing",donations:"Donations",license:"License"},subtitles:{bugReports:"Is there something that isn't working in deemix? Tell us!",contributing:"You want to contribute to this project? You can do it in different ways!",donations:"You want to contribute monetarily? You could make a donation!"},usesLibrary:"This app uses the deemix library, which you can use to make your own UI for deemix.",thanks:"Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.",upToDate:{text:"Stay up to date with the updates by following the {newsChannel} on Telegram.",newsChannel:"news channel"},officialWebsite:"Official Website",officialRepo:"Official Library Repository",officialWebuiRepo:"Official WebUI Repository",officialSubreddit:"Official Subreddit",newsChannel:"News Channel",questions:{text:"If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.",subreddit:"subreddit"},beforeReporting:"Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.",beSure:"Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.",duplicateReports:"Duplicate bug reports will be closed, so keep an eye out on that.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",newUI:{text:"If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.",repo:"repo"},acceptFeatures:"I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.",otherLanguages:"If you're fluent in another programming language you could try to port deemix into other programming languages!",understandingCode:"You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.",contributeWebUI:{text:"If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.",webui:"WebUI"},itsFree:"You should remember that this is a free project and you should support the artists you love before supporting the developers.",notObligated:"Don't feel obligated to donate, I appreciate you anyway!",lincensedUnder:{text:"This work is licensed under the {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Change Country",download:"Download Chart"},errors:{title:"Errors for {name}",ids:{invalidURL:"URL not recognized",unsupportedURL:"URL not supported yet",ISRCnotOnDeezer:"Track ISRC is not available on Deezer",notYourPrivatePlaylist:"You can't download others private playlists.",spotifyDisabled:"Spotify Features is not setted up correctly.",trackNotOnDeezer:"Track not found on Deezer!",albumNotOnDeezer:"Album not found on Deezer!",notOnDeezer:"Track not available on Deezer!",notEncoded:"Track not yet encoded!",notEncodedNoAlternative:"Track not yet encoded and no alternative found!",wrongBitrate:"Track not found at desired bitrate.",wrongBitrateNoAlternative:"Track not found at desired bitrate and no alternative found!",no360RA:"Track is not available in Reality Audio 360.",notAvailable:"Track not available on Deezer's servers!",notAvailableNoAlternative:"Track not available on Deezer's servers and no alternative found!",noSpaceLeft:"No space left on the device!",albumDoesntExists:"Track's album doesn't exist, failed to gather info"}},favorites:{title:"Favorites",noPlaylists:"No Playlists found",noAlbums:"No Favorite Albums found",noArtists:"No Favorite Artists found",noTracks:"No Favorite Tracks found"},home:{needTologin:"You need to log into your Deezer account before you can start downloading.",openSettings:"Open Settings",sections:{popularPlaylists:"Popular playlists",popularAlbums:"Most streamed albums"}},linkAnalyzer:{info:"You can use this section to find more information about the link you are trying to download.",useful:"This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.",linkNotSupported:"This link is not yet supported",linkNotSupportedYet:"Seems like this link is not yet supported, try analyzing another one.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duration",diskNumber:"Disk Number",trackNumber:"Track Number",releaseDate:"Release Date",bpm:"BPM",label:"Label",recordType:"Record Type",genres:"Genres",tracklist:"Tracklist"}},search:{startSearching:"Start searching!",description:"You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link",fans:"{n} fans",noResults:"No results",noResultsTrack:"No Tracks found",noResultsAlbum:"No Albums found",noResultsArtist:"No Artists found",noResultsPlaylist:"No Playlists found"},searchbar:"Search anything you want (or just paste a link)",downloads:"downloads",toasts:{restoringQueue:"Restoring download queue...",queueRestored:"Download queue restored!",addedToQueue:"{item} added to queue",addedMoreToQueue:"{n} items added to queue",alreadyInQueue:"{item} is already in queue!",finishDownload:"{item} finished downloading.",allDownloaded:"All downloads completed!",refreshFavs:"Refresh completed!",loggingIn:"Logging in...",loggedIn:"Logged in",alreadyLogged:"Already logged in",loginFailed:"Couldn't log in",loggedOut:"Logged out",cancellingCurrentItem:"Cancelling current item.",currentItemCancelled:"Current item cancelled.",startAddingArtist:"Adding {artist} albums to queue",finishAddingArtist:"Added {artist} albums to queue",startConvertingSpotifyPlaylist:"Converting spotify tracks to Deezer tracks",finishConvertingSpotifyPlaylist:"Spotify playlist converted",loginNeededToDownload:"You need to log in to download tracks!",deezerNotAvailable:"Deezer is not available in your country. You should use a VPN.",startGeneratingItems:"Processing {n} items...",finishGeneratingItems:"Generated {n} items."},settings:{title:"Settings",languages:"Languages",login:{title:"Login",loggedIn:"You are logged in as {username}",arl:{question:"How do I get my own ARL?",update:"Update ARL"},logout:"Logout",login:"Login via deezer.com"},loginWithCredentials:{title:"Login with credentials",login:"Login"},appearance:{title:"Appearance",slimDownloadTab:"Slim download tab",slimSidebar:"Slim Sidebar"},downloadPath:{title:"Download Path"},templates:{title:"Templates",tracknameTemplate:"Trackname template",tracknameAvailableVariables:"Available trackname variables",albumTracknameTemplate:"Album track template",albumTracknameAvailableVariables:"Available album track variables",playlistTracknameTemplate:"Playlist track template",playlistTracknameAvailableVariables:"Available playlist track variables"},folders:{title:"Folders",createPlaylistFolder:"Create folder for playlists",playlistNameTemplate:"Playlist folder template",createArtistFolder:"Create folder for artist",artistNameTemplate:"Artist folder template",createAlbumFolder:"Create folder for album",albumNameTemplate:"Album folder template",createCDFolder:"Create folder for CDs",createStructurePlaylist:"Create folder structure for playlists",createSingleFolder:"Create folder structure for singles"},trackTitles:{title:"Track titles",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"Illegal Character replacer"},downloads:{title:"Downloads",queueConcurrency:"Concurrent Downloads",maxBitrate:{title:"Preferred Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Should I overwrite the files?",y:"Yes, overwrite the file",n:"No, don't overwrite the file",t:"Overwrite only the tags",b:"No, keep both files and add a number to the duplicate",e:"No, and don't look at the extensions"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Search fallback",logErrors:"Create log files for errors",logSearched:"Create log files for searched tracks",createM3U8File:"Create playlist file",syncedLyrics:"Create .lyr files (Sync Lyrics)",playlistFilenameTemplate:"Playlist filename template",saveDownloadQueue:"Save download queue when closing the app"},covers:{title:"Album covers",saveArtwork:"Save Covers",coverImageTemplate:"Cover name template",saveArtworkArtist:"Save artist image",artistImageTemplate:"Artist image template",localArtworkSize:"Local artwork size",embeddedArtworkSize:"Embedded artwork size",localArtworkFormat:{title:"What format do you want the local artwork to be?",jpg:"A jpeg image",png:"A png image",both:"Both a jpeg and a png"},jpegImageQuality:"JPEG image quality",embeddedArtworkPNG:"Save embedded artwork as PNG",embeddedPNGWarning:"PNGs are not officialy supported by Deezer and can be buggy",imageSizeWarning:"Anything above x1200 is not officialy used by Deezer, you may encounter issues",coverDescriptionUTF8:"Save cover description using UTF8 (iTunes Cover Fix)"},tags:{head:"Which tags to save",title:"Title",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Track Number",trackTotal:"Track Total",discNumber:"Disc Number",discTotal:"Disc Total",albumArtist:"Album Artist",genre:"Genre",year:"Year",date:"Date",explicit:"Explicit Lyrics",isrc:"ISRC",length:"Track Length",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"Unsynchronized Lyrics",syncedLyrics:"Synchronized Lyrics",copyright:"Copyright",composer:"Composer",involvedPeople:"Involved People",source:"Source and song ID"},other:{title:"Other",savePlaylistAsCompilation:"Save playlists as compilation",useNullSeparator:"Use null separator",saveID3v1:"Save ID3v1 as well",multiArtistSeparator:{title:"How would you like to separate your artists?",nothing:"Save only the main artist",default:"Using standard specification",andFeat:"Using & and feat.",using:'Using "{separator}"'},singleAlbumArtist:"Save only the main album artist",albumVariousArtists:'Keep "Various Artists" in the Album Artists',removeAlbumVersion:'Remove "Album Version" from track title',removeDuplicateArtists:"Remove combinations of artists",dateFormat:{title:"Date format for FLAC files",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"What should I do with featured artists?",0:"Nothing",1:"Remove it from the title",3:"Remove it from the title and the album title",2:"Move it to the title"},titleCasing:"Title casing",artistCasing:"Artist casing",casing:{nothing:"Keep unchanged",lower:"lowercase",upper:"UPPERCASE",start:"Start Of Each Word",sentence:"Like a sentence"},previewVolume:"Preview Volume",executeCommand:{title:"Command to execute after download",description:"Leave blank for no action"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"How do I enable Spotify Features?"},reset:"Reset to Default",resetMessage:"Are you sure you want to go back to default settings?",save:"Save",toasts:{init:"Settings loaded!",update:"Settings updated!",reset:"Settings reset to default!",ARLcopied:"ARL copied to clipboard"},logs:{title:"Logs",areLogsActive:"Active"}},sidebar:{home:"home",search:"search",charts:"charts",favorites:"favorites",linkAnalyzer:"link analyzer",settings:"settings",logs:"logs",about:"about"},tracklist:{downloadSelection:"Download selection"},logs:{event:"Event",data:"Data"}},es:{globals:{welcome:"Bienvenido a deemix",back:"atrás",loading:"cargando",download:"Descarga {thing}",by:"por {artist}",in:"en {album}",download_hint:"Descargar",play_hint:"Reproducir",toggle_download_tab_hint:"Expandir/Colapsar",clean_queue_hint:"Limpieza terminada",cancel_queue_hint:"Cancelar todo",open_downloads_folder:"Abrir la carpeta de descargas",cut:"cortar",copy:"copiar",copyLink:"copiar vinculo",copyImageLink:"copiar el vínculo de la imagen",copyDeezerLink:"copiar el vínculo de Deezer",paste:"pegar",listTabs:{empty:"",all:"todo",top_result:"mejor resultado",album:"álbum | álbumes",artist:"artista | artistas",single:"single | singles",title:"título | títulos",track:"pista | pistas",trackN:"0 pistas | {n} pista | {n} pistas",releaseN:"0 entregas | {n} entrega | {n} entregas",playlist:"lista de reproducción | listas de reproducción",compile:"compilación | compilaciones",ep:"ep | eps",more:"Más álbumes",featured:"Aparece en",spotifyPlaylist:"lista de reproducción spotify | listas de reproducción spotify",releaseDate:"fecha de publicación",error:"error"}},about:{updates:{currentVersion:"Versión actual",versionNotAvailable:"N/D",updateAvailable:"No estás ejecutando la última versión disponible: {versión}",deemixVersion:"versión de la biblioteca deemix"},titles:{usefulLinks:"Enlaces útiles",bugReports:"Reportar fallos",contributing:"Contribuye",donations:"Donaciones",license:"Licencia"},subtitles:{bugReports:"¿Hay algo que no funcione en Deemix? ¡Díganoslo!",contributing:"¿Quieres contribuir a este proyecto? ¡Puedes hacerlo de diferentes maneras!",donations:"¿Quiere contribuir monetariamente? ¡Puedes hacer una donación!"},usesLibrary:"Esta aplicación usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.",thanks:"Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.",upToDate:{text:"Mantente al día con las actualizaciones siguiendo el {newsChannel} en Telegram.",newsChannel:"canal de noticias"},officialWebsite:"Página web oficial",officialRepo:"Repositorio de la biblioteca oficial",officialWebuiRepo:"Repositorio oficial de WebUI",officialSubreddit:"Subreddit oficial",newsChannel:"Canal de noticias",questions:{text:"Si tienes preguntas o problemas con la aplicación, busca una solución en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de informar de un error asegúrese de que está ejecutando la última versión de la aplicación y que lo que quiere informar es en realidad un error y no algo que está mal sólo en su extremo.",beSure:"Asegúrate de que el fallo es reproducible en otras máquinas y también NO reporte un fallo si ya ha sido reportado.",duplicateReports:"Los informes de errores duplicados se cerrarán, así que manténgase al tanto de eso.",dontOpenIssues:"NO abra problemas para hacer preguntas, hay un subreddit para eso.",newUI:{text:"Si tienes fluidez en Python podrías intentar hacer una nueva interfaz de usuario para la aplicación usando la biblioteca base, o arreglar los errores de la biblioteca con una petición pull en el {repo}.",repo:"repo"},acceptFeatures:"También acepto características, pero no cosas complejas, ya que se pueden implementar directamente en la aplicación y no en la biblioteca.",otherLanguages:"¡Si dominas otro lenguaje de programación podrías intentar portar Deemix a otros lenguajes de programación!",understandingCode:"¿Necesitas ayuda para entender el código? Sólo tienes que poner RemixDev en Telegram o Reddit.",contributeWebUI:{text:"Si conoces Vue.js (JavaScript), HTML o CSS podrías contribuir a la {webui}.",webui:"WebUI"},itsFree:"Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.",notObligated:"No te sientas obligado a donar, ¡te aprecio de todas formas!",lincensedUnder:{text:"Esta obra está autorizada bajo una {gpl3}.",gpl3:"GNU Licencia Pública General 3.0"}},charts:{title:"Listas",changeCountry:"Cambiar país",download:"Descargar la lista"},errors:{title:"Errores para {name}",ids:{invalidURL:"No se reconoce la URL",unsupportedURL:"La URL aún no está soportada",ISRCnotOnDeezer:"La pista ISRC no está disponible en Deezer",notYourPrivatePlaylist:"No puedes descargar otras listas de reproducción privadas.",spotifyDisabled:"Las funciones de Spotify no está configurado correctamente.",trackNotOnDeezer:"¡No se encontró la pista en Deezer!",albumNotOnDeezer:"¡El álbum no se encuentra en Deezer!",notOnDeezer:"¡Pista no disponible en Deezer!",notEncoded:"¡Pista aún no codificada!",notEncodedNoAlternative:"¡Pista aún no codificada y no se ha encontrado ninguna alternativa!",wrongBitrate:"La pista no se encuentra a la velocidad de bitrate deseada.",wrongBitrateNoAlternative:"¡Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!",no360RA:"La pista no está disponible en Reality Audio 360.",notAvailable:"¡La pista no está disponible en los servidores de Deezer!",notAvailableNoAlternative:"¡La pista no está disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!",noSpaceLeft:"¡No queda espacio en el dispositivo!"}},favorites:{title:"Favoritos",noPlaylists:"No se han encontrado listas de reproducción",noAlbums:"No se han encontrado álbumes favoritos",noArtists:"No se han encontrado artistas favoritos",noTracks:"No se han encontrado pistas favoritas"},home:{needTologin:"Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.",openSettings:"Abrir la configuración",sections:{popularPlaylists:"Listas de reproducción populares",popularAlbums:"Los álbumes más stremeados"}},linkAnalyzer:{info:"Puedes usar esta sección para encontrar más información sobre el enlace que estás tratando de descargar.",useful:"Esto es útil si está tratando de descargar algunas pistas que no están disponibles en su país y quiere saber dónde están disponibles, por ejemplo.",linkNotSupported:"Este enlace aún no está soportado",linkNotSupportedYet:"Parece que este enlace aún no está soportado, intenta analizar otro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duración",diskNumber:"Número del disco",trackNumber:"Número de la pista",releaseDate:"Fecha de lanzamiento",bpm:"BPM",label:"Etiqueta",recordType:"Tipo de grabación",genres:"Géneros",tracklist:"Lista de pista"}},search:{startSearching:"¡Comienza a buscar!",description:"Puedes buscar un tema, un álbum entero, un artista, una lista de reproducción... ¡todo! También puedes pegar un enlace de Deezer",fans:"{n} fans",noResults:"Ningun resultado",noResultsTrack:"No se encontraron pistas",noResultsAlbum:"No se encontraron álbumes",noResultsArtist:"No se encontraron artistas",noResultsPlaylist:"No se encontraron listas de reproducción"},searchbar:"Busca lo que quieras (o simplemente pega un enlace)",downloads:"descargas",toasts:{restoringQueue:"Restaurando la cola de descarga...",queueRestored:"¡Cola de descarga restaurada!",addedToQueue:"{item} añadidos a la cola",addedMoreToQueue:"{n} elementos añadidos a la cola",alreadyInQueue:"¡{item} ya está en la cola!",finishDownload:"{item} terminado de descargar.",allDownloaded:"¡Todas las descargas se han completado!",refreshFavs:"¡Actualización completada!",loggingIn:"Conectando...",loggedIn:"Conectado",alreadyLogged:"Ya está conectado",loginFailed:"No se puede conectar",loggedOut:"Desconectado",cancellingCurrentItem:"Cancelando el elemento actual.",currentItemCancelled:"El elemento actual se ha cancelado.",startAddingArtist:"Añadiendo los álbumes de {artist} a la cola",finishAddingArtist:"Se ha añadido los álbumes de {artist} a la cola",startConvertingSpotifyPlaylist:"Convertir las pistas de Spotify en pistas de Deezer",finishConvertingSpotifyPlaylist:"Lista de reproducción de Spotify convertida",loginNeededToDownload:"¡Necesitas iniciar sesión para descargar títulos!",deezerNotAvailable:"Deezer no está disponible en su país. Deberías usar una VPN."},settings:{title:"Configuración",languages:"Idiomas",login:{title:"Iniciar Sesión",loggedIn:"Usted está conectado como {nombre de usuario}",arl:{question:"¿Cómo consigo mi propio ARL?",update:"Actualiza la ARL"},logout:"Cerrar Sesión",login:"Inicia sesión a través de deezer.com"},appearance:{title:"Apariencia",slimDownloadTab:"Pestaña de descargas fina"},downloadPath:{title:"Ruta de descarga"},templates:{title:"Plantillas",tracknameTemplate:"Plantilla de nombres de pista",albumTracknameTemplate:"Plantilla de pista del álbum",playlistTracknameTemplate:"Plantilla de pista de la lista de reproducción"},folders:{title:"Carpetas",createPlaylistFolder:"Crear una carpeta para las listas de reproducción",playlistNameTemplate:"Plantilla de la carpeta de la lista de reproducción",createArtistFolder:"Crear carpeta para el artista",artistNameTemplate:"Plantilla de la carpeta del artista",createAlbumFolder:"Crear carpeta para el álbum",albumNameTemplate:"Plantilla de la carpeta del álbum",createCDFolder:"Crear una carpeta para los CDs",createStructurePlaylist:"Crear una estructura de carpetas para las listas de reproducción",createSingleFolder:"Crear una estructura de carpetas para individuales"},trackTitles:{title:"Títulos de las pistas",padTracks:"Pad de pistas",paddingSize:"Sobrescribir el tamaño del pad",illegalCharacterReplacer:"Reemplazo del carácter ilegal"},downloads:{title:"Descargas",queueConcurrency:"Descargas simultáneas",maxBitrate:{title:"Tasa de bits preferida",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"¿Desea que se sobreescriban los archivos?",y:"Sí, sobrescribir el archivo",n:"No, no sobrescribir el archivo",t:"Sobrescribir sólo las etiquetas",b:"No, mantener los dos archivos y agregar un número al archivo duplicado",e:"No, y no mirar las extensiones"},fallbackBitrate:"La solución alternativa de bitrate",fallbackSearch:"Búsqueda de la segunda opción",logErrors:"Crear archivos de registro de errores",logSearched:"Crear archivos de registro para las pistas buscadas",createM3U8File:"Crear archivo de la lista de reproducción",syncedLyrics:"Crear archivos .lyr (lyrics sincronizadas)",playlistFilenameTemplate:"Plantilla de nombres de archivos de la lista de reproducción",saveDownloadQueue:"Guardar la cola de descarga al cerrar la aplicación"},covers:{title:"Portadas de álbumes",saveArtwork:"Guardar las portadas",coverImageTemplate:"Plantilla de nombres de portada",saveArtworkArtist:"Guardar imagen de artista",artistImageTemplate:"Plantilla de imagen de artista",localArtworkSize:"El tamaño de la portada local",embeddedArtworkSize:"El tamaño de la portada incorporada",localArtworkFormat:{title:"¿Qué formato quieres que tenga la portada local?",jpg:"Una imagen jpeg",png:"Una imagen png",both:"Ambos, jpeg y png"},jpegImageQuality:"Calidad de la imagen JPEG",embeddedArtworkPNG:"Guardar las imágenes incrustadas como PNG",embeddedPNGWarning:"Las PNG no están oficialmente soportadas por Deezer y puedes encontrar errores.",imageSizeWarning:"Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes",coverDescriptionUTF8:"Guardar la descripción de la portada usando UTF8 (arregla la portada de iTunes)"},tags:{head:"¿Qué etiquetas guardar?",title:"Título",artist:"Artista",album:"Álbum",cover:"Portada",trackNumber:"Número de pista",trackTotal:"Total de pistas",discNumber:"Número del disco",discTotal:"Total del disco",albumArtist:"Artista del álbum",genre:"Género",year:"Año",date:"Fecha",explicit:"Letras explícitas",isrc:"ISRC",length:"Duración de la pista",barcode:"Código de barras del álbum (UPC)",bpm:"BPM",replayGain:"Ganancia de la reproducción",label:"Etiqueta del álbum",lyrics:"Lyrics no sincronizadas",syncedLyrics:"Lyrics sincronizadas",copyright:"Derechos de autor",composer:"Compositor",involvedPeople:"Personas involucradas"},other:{title:"Otro",savePlaylistAsCompilation:"Guardar las listas de reproducción como una compilación",useNullSeparator:"Usar separador nulo",saveID3v1:"Guarda la ID3v1 también",multiArtistSeparator:{title:"¿Cómo le gustaría separar a sus artistas?",nothing:"Guardar sólo el artista principal",default:"Usar la especificación estándar",andFeat:"Usar & y feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar sólo el artista principal del álbum",albumVariousArtists:'Mantener "Various Artists" en los artistas del álbum',removeAlbumVersion:'Eliminar "Album Version" del título de la pista',removeDuplicateArtists:"Eliminar las combinaciones de artistas",dateFormat:{title:"Formato de fecha para los archivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"¿Qué debo hacer con los artistas destacados?",0:"Nada",1:"Quitarlo del título",3:"Quitarlo del título y del título del álbum",2:"Moverlo al título"},titleCasing:"Capitalizar título",artistCasing:"Capitalizar artista",casing:{nothing:"Manténer sin cambios",lower:"minúsculas",upper:"MAYÚSCULAS",start:"Al Principio De Cada Palabra",sentence:"Como una frase"},previewVolume:"Volumen de previsualización",executeCommand:{title:"Comando a ejecutar después de la descarga",description:"Dejar en blanco para no hacer nada"}},spotify:{title:"Funciones de Spotify",clientID:"ID del cliente de Spotify",clientSecret:"Cliente Secreto Spotify",username:"Nombre de usuario de Spotify"},reset:"Restablecer el valor por defecto",save:"Guardar",toasts:{init:"¡Configuraciones cargadas!",update:"¡Ajustes actualizados!",ARLcopied:"ARL copiado al portapapeles"}},sidebar:{home:"inicio",search:"buscar",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizar enlaces",settings:"ajustes",about:"acerca de"},tracklist:{downloadSelection:"Descargar selección"}},de:{globals:{welcome:"Willkommen bei deemix",back:"zurück",loading:"lädt",download:"Download {thing}",by:"von {artist}",in:"in {album}",download_hint:"Download",play_hint:"Play",toggle_download_tab_hint:"Erweitern/Minimieren",clean_queue_hint:"Entferne vollständige",cancel_queue_hint:"Alle abbrechen",listTabs:{empty:"",all:"alle",top_result:"Top Ergebnis",album:"Album | Alben",artist:"Künstler | Künstler",single:"Single | Singles",title:"Titel | Titel",track:"Track | Tracks",trackN:"0 Tracks | {n} Track | {n} Tracks",releaseN:"0 Releases | {n} Release | {n} Releases",playlist:"Playlist | Playlists",compile:"Sammlung | Sammlungen",ep:"EP | EPs",spotifyPlaylist:"Spotify Playlist | Spotify Playlists",releaseDate:"Veröffentlichungsdatum",error:"Fehler"}},about:{titles:{usefulLinks:"Nützliche Links",bugReports:"Fehlermeldung",contributing:"Mitwirkende",donations:"Spenden",license:"Lizenz"},subtitles:{bugReports:"Funktioniert etwas in Deemix nicht? Sag uns bescheid!",contributing:"Du möchtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!",donations:"Du möchtest deemix finanziell unterstützen? Dann lasse eine kleine Spende da!"},usesLibrary:"Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.",thanks:"Ein Dankeschön geht an rtonno, uhwot and lollilol für die Hilfe bei diesem Projekt und an BasCurtiz für die Erstellung des Logos.",upToDate:{text:"Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.",newsChannel:"News Channel"},officialWebsite:"Offizielle Website",officialRepo:"Offizielle Library Repository",officialWebuiRepo:"Offizielle WebUI Repository",officialSubreddit:"Offizieller Subreddit",newsChannel:"News Channel",questions:{text:"Bei Fragen oder Problemen mit der App, suche als erstes nach einer Lösung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.",subreddit:"Subreddit"},beforeReporting:"Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden möchtest, tatsächlich ein Bug ist und nicht nur bei dir falsch ist.",beSure:"Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.",duplicateReports:"Doppelte Fehlerberichte werden geschlossen, achte darauf.",dontOpenIssues:"ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit dafür.",newUI:{text:"Wenn du Python fließend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfläche für die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.",repo:"deemix Repo"},acceptFeatures:"Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden können.",otherLanguages:"Wenn du eine andere Programmiersprache fließend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!",understandingCode:"Du benötigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.",contributeWebUI:{text:"Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, könntest du etwas zum {webui} beitragen.",webui:"WebUI"},itsFree:"Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die Künstler unterstützen, die du magst bevor du die Entwickler unterstützt.",notObligated:"Fühle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!",lincensedUnder:{text:"Diese Arbeit ist lizensiert unter der {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Land wechseln",download:"Download Chart"},errors:{title:"Errors für {name}",ids:{invalidURL:"URL nicht erkannt",unsupportedURL:"URL noch nicht unterstützt",ISRCnotOnDeezer:"Track ISRC ist auf deezer nicht verfügbar",notYourPrivatePlaylist:"Du kannst keine privaten Playlisten anderer herunterladen.",spotifyDisabled:"Spotify-Funktionen sind nicht richtig eingerichtet",trackNotOnDeezer:"Track ist nicht verfügbar auf Deezer!",albumNotOnDeezer:"Album auf Deezer nicht gefunden!",notOnDeezer:"Track auf Deezer nicht verfügbar!",notEncoded:"Track noch nicht codiert!",notEncodedNoAlternative:"Track noch nicht codiert und keine Alternative gefunden!",wrongBitrate:"Track mit gewünschter Bitrate nicht gefunden.",wrongBitrateNoAlternative:"Track mit gewünschter Bitrate nicht gefunden und keine Alternative gefunden!",no360RA:"Track ist nicht verfügbar in Reality Audio 360.",notAvailable:"Track ist noch nicht verfügbar auf den Servern von Deezer!",notAvailableNoAlternative:"Track ist noch nicht verfügbar auf den Servern von Deezer und keine Alternativen gefunden!!"}},favorites:{title:"Favoriten",noPlaylists:"Keine Playlist gefunden",noAlbums:"Keine favorisierten Alben gefunden",noArtists:"Keine favorisierten Künstler gefunden",noTracks:"Keine favorisierten Tracks gefunden"},home:{needTologin:"Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.",openSettings:"Einstellungen öffnen",sections:{popularPlaylists:"Beliebte Playlists",popularAlbums:"Meistgestreamte Alben"}},linkAnalyzer:{info:"Diesen Abschnitt kannst du nutzen, um weitere Informationen über den gewünschten Link zu erhalten, den du herunterladen möchtest.",useful:"Dies ist z.B. nützlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verfügbar sind, und du wissen möchtest, wo sie verfügbar sind.",linkNotSupported:"Dieser Link wird noch nicht unterstützt",linkNotSupportedYet:"Es scheint so, als ob dieser Link noch nicht unterstützt wird. Versuche einen anderen Link zu analysieren.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Dauer",diskNumber:"CD Nummer",trackNumber:"Track Nummer",releaseDate:"Veröffentlichungsdatum",bpm:"BPM",label:"Label",recordType:"Art der Aufnahme",genres:"Genres",tracklist:"Trackliste"}},search:{startSearching:"Suche starten!",description:"Du kannst einen Titel, ein ganzes Album, einen Künstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einfügen",fans:"{n} Fans",noResults:"Keine Ergebnisse",noResultsTrack:"Keine Tracks gefunden",noResultsAlbum:"Keine Alben gefunden",noResultsArtist:"Keinen Künstler gefunden",noResultsPlaylist:"Keine Playlist gefunden"},searchbar:"Suche nach allem, was dir gefällt (oder füge einfach einen Link ein)",downloads:"Downloads",toasts:{addedToQueue:"{item} zur Warteschlange hinzugefügt",alreadyInQueue:"{item} ist bereits in der Warteschlange!",finishDownload:"{item} vollständig heruntergeladen.",allDownloaded:"Alle Downloads abgeschlossen!",refreshFavs:"Abgeschlossene Downloads neu laden!",loggingIn:"Einloggen",loggedIn:"Eingeloggt",alreadyLogged:"Bereits eingeloggt",loginFailed:"Login fehlgeschlagen",loggedOut:"Ausgeloggt",cancellingCurrentItem:"Aktuelle Auswahl abbrechen.",currentItemCancelled:"Aktuelle Auswahl wurde abgebrochen",startAddingArtist:"{artist} Alben werden hinzugefügt",finishAddingArtist:"{artist} Alben wurden hinzugefügt",startConvertingSpotifyPlaylist:"Konvertierern von Spotify-Tracks zu Deezer-Tracks",finishConvertingSpotifyPlaylist:"Spotify Playlist convertiert"},settings:{title:"Einstellungen",languages:"Sprachen",login:{title:"Login",loggedIn:"Du bist eingeloggt als {username}",arl:{question:"Wie bekomme ich meine eigene ARL?",update:"Update ARL"},logout:"Logout"},appearance:{title:"Design",slimDownloadTab:"schmaler Download-Tab"},downloadPath:{title:"Download Pfad"},templates:{title:"Vorlagen",tracknameTemplate:"Vorlage für den Tracknamen",albumTracknameTemplate:"Vorlage für Tracks in einem Album",playlistTracknameTemplate:"Vorlage für Tracks in einer Playlist"},folders:{title:"Folders",createPlaylistFolder:"Ordner für Playlist erstellen",playlistNameTemplate:"Vorlage für Playlist-Ordner",createArtistFolder:"Ordner für Künstler erstellen",artistNameTemplate:"Vorlage für Künstler-Ordner",createAlbumFolder:"Ordner für Album erstellen",albumNameTemplate:"Vorlage für Album-Ordner",createCDFolder:"Ordner für CDs erstellen",createStructurePlaylist:"Erstellen von Künstler-, Alben- und CD-Ordnern auch für Playlists",createSingleFolder:"Ordner für einzelne Titel erstellen"},trackTitles:{title:"Songtitel",padTracks:"Einheitliche Länge der Titelnummern (voranstehende Nullen werden ergänzt)",paddingSize:"Innenabstand überschreiben",illegalCharacterReplacer:"Unzulässige Zeichen ersetzen"},downloads:{title:"Downloads",queueConcurrency:"Gleichzeitige Downloads",maxBitrate:{title:"Bevorzugte Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Soll ich die Dateien überchreiben?",y:"Ja überschreibe die Dateien",n:"Nein überschreibe die Dateien nicht",t:"Überschreibe nur die Tags",b:"Nein, behalte beide Dateien und füge der Kopie eine Nummer hinzu"},fallbackBitrate:"Falls gewünschte Bitrate nicht verfügbar, auf niedrigere Bitrate zurückgreifen",fallbackSearch:"Zur Suche zurückkehren, wenn der Song nicht verfügbar ist",logErrors:"Protokolldatei für Fehler im Download-Ordner erstellen",logSearched:"Protokolldatei für gesuchte Titel erstellen",createM3U8File:"Erstelle Playlist-Datei (M3U8)",syncedLyrics:"Erstelle synchrone Lyrics-Datei (.lyr)",playlistFilenameTemplate:"Vorlage für den Namen der Playlist",saveDownloadQueue:"Download-Warteschlange beim Schließen der App speichern"},covers:{title:"Album Cover",saveArtwork:"Cover speichern",coverImageTemplate:"Vorlage für den Covernamen",saveArtworkArtist:"Speichere das Künstlerbild",artistImageTemplate:"Vorlage des Künstlerbildes",localArtworkSize:"Lokale Grafikgröße",embeddedArtworkSize:"Eingebettete Grafikgröße",localArtworkFormat:{title:"Welches Datei-Format soll das Cover haben?",jpg:"Ein jpg Bild",png:"Ein png Bild",both:"Beides (jpg + png)"},jpegImageQuality:"JPEG Qualität"},tags:{head:"Welche Tags sollen gespeichert werden?",title:"Titel",artist:"Künstler",album:"Album",cover:"Cover",trackNumber:"Titelnummer",trackTotal:"Titelanzahl",discNumber:"CD Nummer",discTotal:"CDs insgesamt",albumArtist:"Album Künstler",genre:"Genre",year:"Jahr",date:"Datum",explicit:"Explizite Lyrics",isrc:"ISRC",length:"Titel Länge",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Wiedergabe Lautstärke",label:"Album Plattenlabel",lyrics:"Nicht synchronisierte Texte",copyright:"Copyright",composer:"Komponist",involvedPeople:"Mitwirkende Personen"},other:{title:"Sonstige",savePlaylistAsCompilation:"Speichere Playlist als Zusammenstellung",useNullSeparator:"Verwende Nulltrennzeichen",saveID3v1:"Speichere ID3v1 ebenfalls",multiArtistSeparator:{title:"Wie möchtest du die Künstler trennen?",nothing:"Speichere nur den Hauptkünstler",default:"Verwende Standard Spezifikationen",andFeat:"Verwende & und feat.",using:'Verwende "{separator}"'},singleAlbumArtist:"Nur den Hauptkünstler speichern",albumVariousArtists:'Verschiedene Künstler" im Album Künstler Tag behalten',removeAlbumVersion:'Entferne die "Album Version" vom Songtitel',removeDuplicateArtists:"Kombinationen von Künstlern entfernen",dateFormat:{title:"Datumsformatierung für FLAC Dateien",year:"JJJJ",month:"MM",day:"TT"},featuredToTitle:{title:"Was soll ich mit featured Artists machen?",0:"Nichts",1:"Vom Titel entfernen",3:"Vom Titel und Albumtitel entfernen",2:"Zu dem Titel hinzufügen"},titleCasing:"Titel-Schreibweise",artistCasing:"Künstler-Schreibweise",casing:{nothing:"Unbearbeitet lassen",lower:"klein",upper:"GROSS",start:"Wortanfang Gross",sentence:"Satzanfang gross"},previewVolume:"Vorschau der Lautstärke",executeCommand:{title:"Befehl, der nach dem Download ausgeführt werden soll",description:"Leer lassen ohne Aktion"}},spotify:{title:"Spotify Features",clientID:"Spotify Client ID",clientSecret:"Spotify Client Secret",username:"Spotify Benutzername"},reset:"Auf Standardwerte zurücksetzen",save:"Speichern",toasts:{init:"Einstellungen geladen!",update:"Einstellungen aktualisiert!",ARLcopied:"ARL wurde in die Zwischenablage kopiert"}},sidebar:{home:"Home",search:"Suche",charts:"Charts",favorites:"Favoriten",linkAnalyzer:"Link Analyse",settings:"Einstellungen",about:"Info"},tracklist:{downloadSelection:"Downloads"}},fr:{globals:{welcome:"Bienvenue dans deemix",back:"retour",loading:"chargement en cours",download:"Télécharger {thing}",by:"par {artist}",in:"dans {album}",download_hint:"Télécharger",play_hint:"Lire",toggle_download_tab_hint:"Développer/Réduire",clean_queue_hint:"Retirer Les Tâches Terminées",cancel_queue_hint:"Tout Annuler",open_downloads_folder:"Ouvrir Le Dossier De Téléchargements",cut:"couper",copy:"copier",copyLink:"copier le lien",copyImageLink:"copier le lien de l'image",copyDeezerLink:"copier le lien deezer",paste:"coller",listTabs:{empty:"",all:"tout",top_result:"meilleur résultat",album:"album | albums",artist:"artiste | artistes",single:"single | singles",title:"titre | titres",track:"piste | pistes",releaseN:"0 sortie | {n} sortie | {n} sorties",playlist:"playlist | playlists",compile:"compilation | compilations",ep:"ep | eps",bundle:"bundle | bundles",more:"Plus d'albums",featured:"Apparaît dans",spotifyPlaylist:"playlist spotify | playlists spotify",releaseDate:"date de sortie",error:"erreur",trackN:"0 piste | {n} piste | {n} pistes",albumN:"0 album | {n} album | {n} albums",artistN:"0 artiste | {n} artiste | {n} artistes",playlistN:"0 playlist | {n} playlist | {n} playlists"}},about:{appStatus:{online:"app en ligne",offline:"app hors ligne"},updates:{currentVersion:"Version Actuelle",currentWebuiVersion:"Version Actuelle De La WebUI",versionNotAvailable:"N/A",updateAvailable:"Vous n'utilisez pas la dernière version disponible : {version}",deemixVersion:"Version de la bibliothèque deemix"},titles:{usefulLinks:"Liens Utiles",bugReports:"Rapports De Bug",contributing:"Contribution",donations:"Dons",license:"Licence"},subtitles:{bugReports:"Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !",contributing:"Vous souhaitez contribuer à ce projet ? Vous pouvez le faire de différentes manières !",donations:"Vous souhaitez contribuer financièrement ? Vous pouvez faire un don !"},usesLibrary:"Cette application utilise la bibliothèque deemix, que vous pouvez exploiter afin de créer votre propre interface utilisateur pour deemix.",thanks:"Merci à rtonno, uhwot et lollilol de m'avoir aidé dans ce projet ainsi qu'à BasCurtiz pour la création de l'icône.",upToDate:{text:"Restez informé des mises à jour en suivant le {newsChannel} sur Telegram.",newsChannel:"canal d'informations"},officialWebsite:"Site Officiel",officialRepo:"Répertoire De Dépôt Officiel De La Bibliothèque",officialWebuiRepo:"Répertoire De Dépôt Officiel De La WebUI",officialSubreddit:"Subreddit Officiel",newsChannel:"Canal d'Informations",questions:{text:"Si vous avez des questions ou des problèmes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en décrivant votre problème.",subreddit:"subreddit"},beforeReporting:"Avant de signaler un bug, assurez-vous que vous utilisez la version la plus récente de l'application. Vérifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre côté.",beSure:"Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a déjà été recensé.",duplicateReports:"Les rapports de bug répétitifs seront supprimés, merci d'en prendre bonne note.",dontOpenIssues:"NE PAS rapporter de problème s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.",newUI:{text:"Si vous maîtrisez python, vous pouvez essayer de créer une nouvelle interface utilisateur pour l'application à l'aide de la bibliothèque de base, ou corriger des bugs dans la bibliothèque à l'aide d'une demande de fusion de branches (pull request) sur le {repo}.",repo:"répertoire de dépôt"},acceptFeatures:"J'accepte également les nouvelles fonctionnalités, mais pas de choses complexes, dans la mesure où elles peuvent être implémentées directement dans l'application et non dans la bibliothèque.",otherLanguages:"Si vous maîtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !",understandingCode:"Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.",contributeWebUI:{text:"Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer à la {webui}.",webui:"WebUI"},itsFree:"N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes préférés avant de supporter les développeurs.",notObligated:"Ne vous sentez pas obligé de faire un don, vous êtes tout de même apprécié !",lincensedUnder:{text:"Ce projet s'inscrit dans le cadre de la {gpl3}.",gpl3:"Licence publique générale GNU, version 3"}},charts:{title:"Classements",changeCountry:"Changer De Pays",download:"Télécharger Le Classement"},errors:{title:"Erreurs pour {name}",ids:{invalidURL:"Cette URL n'est pas reconnue",unsupportedURL:"Cette URL n'est actuellement pas supportée",ISRCnotOnDeezer:"L'ISRC de la piste est indisponible sur Deezer",notYourPrivatePlaylist:"Vous n'êtes pas autorisé à télécharger les playlists privées de quelqu'un d'autre.",spotifyDisabled:"Les Fonctionnalités Spotify ne sont pas configurées correctement.",trackNotOnDeezer:"La piste est introuvable sur Deezer !",albumNotOnDeezer:"L'album est introuvable sur Deezer !",notOnDeezer:"La piste est indisponible sur Deezer !",notEncoded:"La piste n'a pas encore été encodée !",notEncodedNoAlternative:"La piste n'a pas encore été encodée et aucune alternative n'a été trouvée !",wrongBitrate:"La piste est introuvable au débit souhaité.",wrongBitrateNoAlternative:"La piste est introuvable au débit souhaité et aucune alternative n'a été trouvée !",no360RA:"La piste est indisponible au format Reality Audio 360.",notAvailable:"La piste est indisponible sur les serveurs de Deezer !",notAvailableNoAlternative:"La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a été trouvée !",noSpaceLeft:"L'espace disponible sur cet appareil est insuffisant !",albumDoesntExists:"Aucun album n'existe pour cette piste, impossible de collecter les informations nécessaires"}},favorites:{title:"Favoris",noPlaylists:"Aucune Playlist n'a été trouvée",noAlbums:"Aucun Album Favori n'a été trouvé",noArtists:"Aucun Artiste Favori n'a été trouvé",noTracks:"Aucune Piste Favorite n'a été trouvée"},home:{needTologin:"Vous devez vous connecter à votre compte Deezer avant de pouvoir démarrer un téléchargement.",openSettings:"Ouvrir Les Paramètres",sections:{popularPlaylists:"Playlists les plus écoutées",popularAlbums:"Albums les plus écoutés"}},linkAnalyzer:{info:"Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de télécharger.",useful:"C'est utile si vous essayez, par exemple, de télécharger des pistes indisponibles dans votre pays et que vous souhaitez savoir où elles sont disponibles.",linkNotSupported:"Ce lien n'est pas encore pris en charge",linkNotSupportedYet:"Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durée",diskNumber:"Numéro De Disque",trackNumber:"Numéro De Piste",releaseDate:"Date De Sortie",bpm:"BPM",label:"Label",recordType:"Type d'Enregistrement",genres:"Genres",tracklist:"Liste Des Pistes"}},search:{startSearching:"Démarrer une recherche !",description:"Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez également coller un lien Deezer.",fans:"{n} fans",noResults:"Aucun résultat",noResultsTrack:"Aucune piste n'a été trouvée",noResultsAlbum:"Aucun album n'a été trouvé",noResultsArtist:"Aucun artiste n'a été trouvé",noResultsPlaylist:"Aucune playlist n'a été trouvée"},searchbar:"Saisissez une requête (ou collez simplement un lien)",downloads:"téléchargements",toasts:{restoringQueue:"Restauration de la file d'attente de téléchargement...",queueRestored:"La file d'attente de téléchargement a été restaurée !",addedToQueue:"{item} ajouté à la file d'attente",addedMoreToQueue:"{n} éléments ajoutés à la file d'attente",alreadyInQueue:"{item} est déjà dans la file d'attente !",finishDownload:"{item} a été téléchargé.",allDownloaded:"Tous les téléchargements sont terminés !",refreshFavs:"Actualisation terminée !",loggingIn:"Connexion en cours...",loggedIn:"Connecté",alreadyLogged:"Déjà connecté",loginFailed:"Connexion impossible",loggedOut:"Déconnecté",cancellingCurrentItem:"Annulation de l'élément actuel.",currentItemCancelled:"Élément actuel annulé.",startAddingArtist:"Ajout des albums de {artist} à la file d'attente",finishAddingArtist:"Les albums de {artist} ont été ajoutés à la file d'attente",startConvertingSpotifyPlaylist:"Conversion de pistes Spotify en équivalents Deezer",finishConvertingSpotifyPlaylist:"Playlist Spotify convertie",loginNeededToDownload:"Vous devez vous connecter pour pouvoir télécharger des pistes !",deezerNotAvailable:"Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.",startGeneratingItems:"Traitement de {n} éléments...",finishGeneratingItems:"{n} éléments ont été générés."},settings:{title:"Paramètres",languages:"Langues",login:{title:"Connexion",loggedIn:"Vous êtes connecté en tant que {username}",arl:{question:"Comment obtenir mon ARL personnel ?",update:"Actualiser l'ARL"},logout:"Déconnexion",login:"Connexion via deezer.com"},loginWithCredentials:{title:"Connexion avec vos informations d'identification",login:"Connexion"},appearance:{title:"Apparence",slimDownloadTab:"Onglet de téléchargement compact",slimSidebar:"Barre latérale compacte"},downloadPath:{title:"Emplacement De Téléchargement"},templates:{title:"Modèles",tracknameTemplate:"Modèle pour le nom de piste",tracknameAvailableVariables:"Variables disponibles pour le nom de piste",albumTracknameTemplate:"Modèle pour le nom de piste de l'album",albumTracknameAvailableVariables:"Variables disponibles pour le nom de piste de l'album",playlistTracknameTemplate:"Modèle pour le nom de piste de la playlist",playlistTracknameAvailableVariables:"Variables disponibles pour le nom de piste de la playlist"},folders:{title:"Dossiers",createPlaylistFolder:"Générer des dossiers par playlist",playlistNameTemplate:"Modèle pour le nom du dossier de playlist",createArtistFolder:"Générer des dossiers par artiste",artistNameTemplate:"Modèle pour le nom du dossier d'artiste",createAlbumFolder:"Générer des dossiers par album",albumNameTemplate:"Modèle pour le nom du dossier d'album",createCDFolder:"Générer des dossiers par CD",createStructurePlaylist:"Générer une structure de dossiers pour les playlists",createSingleFolder:"Générer une structure de dossiers pour les singles"},trackTitles:{title:"Titres des pistes",padTracks:"Longueur uniforme des numéros de piste (ajoute automatiquement des zéros devant le numéro initial de la piste)",paddingSize:"Nombre de zéros à ajouter en permanence devant le numéro initial de la piste",illegalCharacterReplacer:"Substitut aux caractères non autorisés (dans les noms de fichiers et de dossiers)"},downloads:{title:"Téléchargements",queueConcurrency:"Téléchargements Simultanés",maxBitrate:{title:"Débit Préféré",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Les fichiers doivent-ils être écrasés ?",y:"Oui, écraser le fichier",n:"Non, ne pas écraser le fichier",t:"Écraser uniquement les métadonnées",b:"Non, conserver les deux fichiers et ajouter un numéro au doublon",e:"Non, et ne pas tenir compte de l'extension du fichier"},fallbackBitrate:"Recourir à un débit plus faible si le débit préféré n'est pas disponible",fallbackSearch:"Rechercher la piste si le lien original n'est pas disponible",logErrors:"Créer un fichier journal d'erreurs",logSearched:"Créer un fichier journal des pistes recherchées",createM3U8File:"Créer un fichier de playlist",syncedLyrics:"Créer des fichiers .lyr (Paroles Synchronisées)",playlistFilenameTemplate:"Modèle du nom de fichier de la playlist",saveDownloadQueue:"Enregistrer la file d'attente de téléchargement à la fermeture de l'application"},covers:{title:"Pochettes d'albums",saveArtwork:"Enregistrer Les Pochettes",coverImageTemplate:"Modèle pour le nom de la pochette",saveArtworkArtist:"Enregistrer l'image de l'artiste",artistImageTemplate:"Modèle pour le nom de l'image de l'artiste",localArtworkSize:"Taille de l'illustration locale",embeddedArtworkSize:"Taille de l'illustration incorporée aux fichiers audio",localArtworkFormat:{title:"Dans quel format souhaitez-vous l'illustration locale ?",jpg:"Une image jpeg",png:"Une image png",both:"À la fois jpeg et png"},jpegImageQuality:"Qualité de l'image JPEG",embeddedArtworkPNG:"Enregistrer l'illustration incorporée aux fichiers audio en tant que PNG",embeddedPNGWarning:"Les images PNG ne sont pas officiellement utilisées par Deezer et pourraient causer des problèmes.",imageSizeWarning:"Toute valeur supérieure à x1200 n'est pas officiellement supportée par Deezer, vous pourriez donc rencontrer des problèmes.",coverDescriptionUTF8:"Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)"},tags:{head:"Métadonnées à sauvegarder",title:"Titre",artist:"Artiste",album:"Album",cover:"Pochette",trackNumber:"Numéro De Piste",trackTotal:"Nombre De Pistes",discNumber:"Numéro Du Disque",discTotal:"Nombre De Disques",albumArtist:"Artiste De l'Album",genre:"Genre",year:"Année",date:"Date",explicit:"Paroles Explicites",isrc:"ISRC",length:"Longueur De La Piste",barcode:"Code-Barres De l'Album (UPC)",bpm:"BPM",replayGain:"Gain En Relecture (Replay Gain)",label:"Label De l'Album",lyrics:"Paroles Non-Synchronisées",syncedLyrics:"Paroles Synchronisées",copyright:"Droits d'Auteur (Copyright)",composer:"Compositeur",involvedPeople:"Personnes Impliquées",source:"ID de la source et de la piste"},other:{title:"Autre",savePlaylistAsCompilation:"Enregistrer les playlists en tant que compilation",useNullSeparator:"Utiliser le caractère NULL comme séparateur",saveID3v1:"Enregistrer également les métadonnées ID3v1",multiArtistSeparator:{title:"Comment aimeriez-vous séparer les artistes ?",nothing:"Enregistrer uniquement l'artiste principal",default:"En utilisant la spécification standard",andFeat:"En utilisant & et feat.",using:'En utilisant "{separator}"'},singleAlbumArtist:"Enregistrer uniquement l'artiste principal de l'album",albumVariousArtists:'Conserver "Various Artists" dans les Artistes de l\'Album',removeAlbumVersion:'Supprimer "Album Version" du titre de la piste',removeDuplicateArtists:"Supprimer les combinaisons d'artistes",dateFormat:{title:"Format de date pour les fichiers FLAC",year:"AAAA",month:"MM",day:"JJ"},featuredToTitle:{title:"Que faire des artistes participants (featuring) ?",0:"Ne rien faire",1:"Les retirer du titre de la piste",3:"Les supprimer du titre de la piste et du titre de l'album",2:"Les déplacer vers le titre de la piste"},titleCasing:"Casse pour le titre",artistCasing:"Casse pour l'artiste",casing:{nothing:"Conserver inchangé",lower:"minuscules",upper:"MAJUSCULES",start:"Majuscule Au Début De Chaque Mot",sentence:"Majuscule seulement au début de la phrase"},previewVolume:"Volume sonore des aperçus de pistes",executeCommand:{title:"Commande à exécuter après le téléchargement",description:"Laisser vide pour qu'aucune action n'ait lieu"}},spotify:{title:"Fonctionnalités Spotify",clientID:"clientID Spotify",clientSecret:"Client Secret Spotify",username:"Nom d'utilisateur Spotify",question:"Comment activer les Fonctionnalités Spotify ?"},reset:"Rétablir les valeurs par défaut",resetMessage:"Souhaitez-vous vraiment rétablir les paramètres par défaut ?",save:"Sauvegarder",toasts:{init:"Paramètres chargés !",update:"Paramètres mis à jour !",reset:"Paramètres réinitialisés à leur valeur par défaut !",ARLcopied:"ARL copié dans le presse-papier"},logs:{title:"Journaux (Logs)",areLogsActive:"Actifs"}},sidebar:{home:"accueil",search:"recherche",charts:"classements",favorites:"favoris",linkAnalyzer:"analyseur de lien",settings:"paramètres",logs:"journaux (logs)",about:"à propos"},tracklist:{downloadSelection:"Télécharger la sélection"},logs:{event:"Événement",data:"Données"}},id:{globals:{welcome:"Selamat datang di deemix",back:"kembali",loading:"memuat",download:"Mengunduh {thing}",by:"oleh {artist}",in:"di {album}",download_hint:"Unduh",play_hint:"Putar",toggle_download_tab_hint:"Buka/Tutup",clean_queue_hint:"Berhasil Mengosongkan",cancel_queue_hint:"Batalkan Semua",listTabs:{empty:"",all:"semua",top_result:"hasil teratas",album:"album | album",artist:"artis | artis",single:"singel | singel",title:"judul | judul",track:"lagu | lagu",trackN:"0 lagu | {n} lagu | {n} lagu",releaseN:"0 rilis | {n} rilis | {n} rilis",playlist:"daftar putar | daftar putar",compile:"kompilasi | kompilasi",ep:"ep | ep",spotifyPlaylist:"daftar putar spotify | daftar putar spotify",releaseDate:"tanggal rilis",error:"galat"}},about:{titles:{usefulLinks:"Tautan Berguna",bugReports:"Laporan Kesalahan",contributing:"Kontirbutor",donations:"Donasi",license:"Lisensi"},subtitles:{bugReports:"Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!",contributing:"Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!",donations:"Mau kontribusi secara finansial? Kamu bisa beri donasi!"},usesLibrary:"Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.",thanks:"Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.",upToDate:{text:"Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.",newsChannel:"kanal berita deemix"},officialWebsite:"Situs Web Resmi",officialRepo:"Repositori Pustaka Resmi",officialWebuiRepo:"Repositori WebUI Resmi",officialSubreddit:"Subreddit Resmi",newsChannel:"Kanal Berita",questions:{text:"Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.",subreddit:"subreddit"},beforeReporting:"Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.",beSure:"Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.",duplicateReports:"Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.",dontOpenIssues:"JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.",newUI:{text:"Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.",repo:"repo"},acceptFeatures:"Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.",otherLanguages:"Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!",understandingCode:"Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.",contributeWebUI:{text:"Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.",webui:"WebUI"},itsFree:"Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.",notObligated:"Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!",lincensedUnder:{text:"Pekerjaan ini ada di bawah lisensi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Tangga Lagu",changeCountry:"Ubah Negara",download:"Unduh Tangga Lagu"},errors:{title:"Galat untuk {name}",ids:{invalidURL:"URL tidak dikenal",unsupportedURL:"URL belum didukung",ISRCnotOnDeezer:"Lagu ISRC tidak tersedia di deezer",notYourPrivatePlaylist:"Kamu tidak bisa mengunduh daftar putar privat orang lain.",spotifyDisabled:"Fitur Spotify tidak diatur dengan benar.",trackNotOnDeezer:"Lagu tidak ditemukan di deezer!",albumNotOnDeezer:"Album tidak ditemukan di deezer!",notOnDeezer:"Lagu tidak ada di Deezer!",notEncoded:"Lagu belum di-encode!",notEncodedNoAlternative:"Lagu belum di-encode dan tidak ada alternatif lain!",wrongBitrate:"Lagu tidak tersedia pada bitrate yang diinginkan.",wrongBitrateNoAlternative:"Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!",no360RA:"Lagu tidak tersedia pada Reality Audio 360.",notAvailable:"Lagu tidak tersedia pada server deezer!",notAvailableNoAlternative:"Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!"}},favorites:{title:"Favorit",noPlaylists:"Daftar Putar kosong",noAlbums:"Album Favorit kosong",noArtists:"Artis Favorit kosong",noTracks:"Lagu Favorit kosong"},home:{needTologin:"Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.",openSettings:"Buka Pengaturan",sections:{popularPlaylists:"Daftar putar populer",popularAlbums:"Album paling banyak diputar"}},linkAnalyzer:{info:"Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.",useful:"Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.",linkNotSupported:"Tautan seperti ini belum didukung",linkNotSupportedYet:"Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Durasi",diskNumber:"Nomor Disk",trackNumber:"Nomor Lagu",releaseDate:"Tanggal Rilis",bpm:"BPM",label:"Label",recordType:"Tipe Rekaman",genres:"Genre",tracklist:"Daftar Lagu"}},search:{startSearching:"Mulai cari!",description:"Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer",fans:"{n} fan",noResults:"Tak ada hasil",noResultsTrack:"Lagu tidak ditemukan",noResultsAlbum:"Album tidak ditemukan",noResultsArtist:"Artis tidak ditemukan",noResultsPlaylist:"Daftar putar tidak ditemukan"},searchbar:"Cari apa pun yang kamu mau (atau berikan tautannya saja)",downloads:"unduhan",toasts:{addedToQueue:"{item} ditambah ke antrian",alreadyInQueue:"{item} sudah ada di antrian!",finishDownload:"{item} selesai diunduh.",allDownloaded:"Seluruh unduhan selesai!",refreshFavs:"Penyegaran selesai!",loggingIn:"Masuk",loggedIn:"Telah masuk",alreadyLogged:"Telah masuk",loginFailed:"Tidak bisa masuk",loggedOut:"Belum masuk",cancellingCurrentItem:"Membatalkan item.",currentItemCancelled:"Item telah dibatalan.",startAddingArtist:"Menambahkan {artist} album ke antrian",finishAddingArtist:"{artist} album telah ditambahkan ke antrian",startConvertingSpotifyPlaylist:"Mengonversi lagu spotify ke deezer",finishConvertingSpotifyPlaylist:"Daftar putar Spotify selesai dikonversi"},settings:{title:"Pengaturan",languages:"Bahasa",login:{title:"Masuk",loggedIn:"Kamu telah masuk sebagai {username}",arl:{question:"Bagaimana cara mendapat ARL?",update:"Perbarui ARL"},logout:"Keluar"},appearance:{title:"Tampilan",slimDownloadTab:"Tab unduhan ramping"},downloadPath:{title:"Direktori Unduhan"},templates:{title:"Templat",tracknameTemplate:"Templat judul lagu",albumTracknameTemplate:"Templat judul album",playlistTracknameTemplate:"Templat judul daftar putar"},folders:{title:"Folders",createPlaylistFolder:"Buat folder untuk daftar putar",playlistNameTemplate:"Templat folder daftar putar",createArtistFolder:"Buat folder untuk artis",artistNameTemplate:"Templat folder artis",createAlbumFolder:"Buat folder untuk album",albumNameTemplate:"Templat folder album",createCDFolder:"Buat folder untuk CD",createStructurePlaylist:"Buat struktur folder untuk daftar putar",createSingleFolder:"Buat struktur folder untuk singel"},trackTitles:{title:"Judul lagu",padTracks:"Judul pad",paddingSize:"Timpa ukuran padding",illegalCharacterReplacer:"Pengubah Simbol Tak Terdukung"},downloads:{title:"Unduhan",queueConcurrency:"Unduhan Bersamaan",maxBitrate:{title:"Bitrate Prioritas",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Apakah file mau ditimpa?",y:"Ya, silakan",n:"Tidak, jangan ditimpa",t:"Timpa tag-nya saja"},fallbackBitrate:"Rendahkan bitrate",fallbackSearch:"Cari bitrate lebih rendah",logErrors:"Buat file log untuk galat",logSearched:"Buat file log untuk lagu yang dicari",createM3U8File:"Buat file daftar putar",syncedLyrics:"Buat file .lyr (Sinkronisasikan Lirik)",playlistFilenameTemplate:"Templat nama file untuk daftar putar",saveDownloadQueue:"Simpan antrian pengunduhan saat menutup aplikasi"},covers:{title:"Sampul album",saveArtwork:"Simpan Sampul",coverImageTemplate:"Templat nama sampul",saveArtworkArtist:"Simpan gambar artis",artistImageTemplate:"Templat gambar artis",localArtworkSize:"Ukuran sampul lokal",embeddedArtworkSize:"Ukuran sampul tertanam",localArtworkFormat:{title:"Format gambar apa yang kamu mau untuk sampul lokal?",jpg:"Gambar JPEG",png:"Gambar PNG",both:"Keduanya"},jpegImageQuality:"Kualitas gambar JPEG"},tags:{head:"Tag apa saja yang disimpan?",title:"Judul",artist:"Artis",album:"Album",cover:"Sampul",trackNumber:"Nomor Lagu",trackTotal:"Jumlah Lagu",discNumber:"Nomor Disk",discTotal:"Jumlah Disk",albumArtist:"Artis pada Album",genre:"Genre",year:"Tahun",date:"Tanggal",explicit:"Lirik Eksplisit",isrc:"ISRC",length:"Durasi",barcode:"Barcode Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label Album",lyrics:"Lirik Tak Tersinkronisasi",copyright:"Hak Cipta",composer:"Komposer",involvedPeople:"Orang-Orang Terlibat"},other:{title:"Lainnya",savePlaylistAsCompilation:"Simpan daftar putar sebagai kompilasi",useNullSeparator:"Gunakan separator null",saveID3v1:"Simpan juga ID3v1",multiArtistSeparator:{title:"Bagaimana kamu mau memisahkan nama artis?",nothing:"Simpan artis utamanya saja",default:"Gunakan spesifikasi standard",andFeat:"Gunakan & dan feat.",using:'Gunakan "{separator}"'},singleAlbumArtist:"Simpan artis utama saja",albumVariousArtists:'Simpan "Various Artists" sebagai artis',removeAlbumVersion:'Hapus "Versi Album" dari judul lagu',removeDuplicateArtists:"Hapus kombinasi artis",dateFormat:{title:"Format tanggal untuk file FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Apa yang harus dilakukan jika ada artis kedua?",0:"Biarkan saja",1:"Hapus dari judul lagu",3:"Hapus dari judul lagu dan judul album",2:"Pindahkan ke judul lagu"},titleCasing:"Kapitalisasi judul",artistCasing:"Kapitalisasi album",casing:{nothing:"Biarkan seadanya",lower:"huruf kecil",upper:"HURUF KAPITAL",start:"Setiap Awal Kata",sentence:"Huruf pertama saja"},previewVolume:"Pratinjau volume",executeCommand:{title:"Perintah yang dijalankan setelah pengunduhan",description:"Biarkan kosong jika tidak ada"}},spotify:{title:"Fitur Spotify",clientID:"clientID Spotify ",clientSecret:"Client Secret Spotify ",username:"Username Spotify"},reset:"Kembalikan ke Awal",save:"Simpan",toasts:{init:"Pengaturan dimuat!",update:"Pengaturan diperbarui!",ARLcopied:"ARL tersalin ke papan klip"}},sidebar:{home:"utama",search:"cari",charts:"tangga lagu",favorites:"favorit",linkAnalyzer:"penganalisa tautan",settings:"pengaturan",about:"tentang"},tracklist:{downloadSelection:"Seleksi unduhan"}},pt:{globals:{welcome:"Bem-vindo ao deemix",back:"voltar",loading:"A carregar",download:"Transferir {thing}",by:"por {artist}",in:"em {album}",download_hint:"Transferir",play_hint:"Tocar",toggle_download_tab_hint:"Expandir/Recolher",clean_queue_hint:"Limpar Finalizados",cancel_queue_hint:"Cancelar Tudo",listTabs:{empty:"",all:"Tudo",top_result:"melhor resultado",album:"álbum | álbums",artist:"artista | artistas",single:"single | singles",title:"título | títulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lançamentos | {n} lançamento | {n} lançamento",playlist:"lista de reprodução | listas de reprodução",compile:"compilação | compilações",ep:"ep | eps",spotifyPlaylist:"lista de reprodução spotify | listas de reprodução spotify",releaseDate:"data de lançamento",error:"erro"}},about:{titles:{usefulLinks:"Links Úteis",bugReports:"Relatório de erros",contributing:"Contribuir",donations:"Doações",license:"Licenças"},subtitles:{bugReports:"Existe alguma coisa que não funciona no deemix? Informa-nos!",contributing:"Queres contribuir para o projecto? Podes fazê-lo de diferentes formas!",donations:"Desejas contribuir monetariamente? Faz uma doação!"},usesLibrary:"Esta aplicação usa a biblioteca deemix, que poderás usar para desenvolver o teu proprio UI para o deemix.",thanks:"Agradeço a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o ícone.",upToDate:{text:"Mantem-te atualizado seguindo o {newsChannel} no Telegram.",newsChannel:"canal de notícias"},officialWebsite:"Site Oficial",officialRepo:"Repositório Oficial da Biblioteca",officialWebuiRepo:"Repositório Oficial WebUI",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Notícias",questions:{text:"Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solução no {subreddit}. Caso não encontres nada podes criar um post com a tua questão no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportares um bug certifica-te que estás a correr a versão mais recente e que o que queres reportar é mesmo um bug e não algo que apenas não funciona do teu lado.",beSure:"Certifica-te que o erro é reprodutivel noutros dispositivos e NÃO reportes um bug que já tenha sido reportado.",duplicateReports:"Bug reports duplicados serão fechados, mantém-te atento a isso.",dontOpenIssues:"NÃO abras issues para colocar questões, existe um subreddit para isso.",newUI:{text:"Caso sejas fluente em python podes tentar criar um novo UI para a aplicação recorrendo à biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.",repo:"repositório"},acceptFeatures:"Também aceito funcionalidades não complexas caso possam ser implementadas directamente na app e não na biblioteca.",otherLanguages:"Caso sejas fluente noutra linguagem de programação podes tentar migrar o deemix para outra linguagem de programação!",understandingCode:"Precisas de ajuda a entender o código? Acede a RemixDev no Telegram ou no Reddit.",contributeWebUI:{text:"Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.",webui:"WebUI"},itsFree:"Deves ter em conta que que este projecto é gratuito e deverás apoiar os artistas que aprecias antes de apoiares os programadores.",notObligated:"Não te sintas obrigado a doar, agradeço-te na mesma!",lincensedUnder:{text:"Este trabalho esta licenciado sobre a {gpl3}.",gpl3:"GNU Licença publica geral 3.0"}},charts:{title:"Tabelas",changeCountry:"Alterar país",download:"Transferir tabela"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL não reconhecido",unsupportedURL:"URL ainda não suportado",ISRCnotOnDeezer:"Faixa ISRC não disponível no deezer",notYourPrivatePlaylist:"Nao podes baixar listas de reprodução privadas de outros.",spotifyDisabled:"Funcionalidades do Spotify não estão definidas corretamente.",trackNotOnDeezer:"Faixa não encontrada no deezer!",albumNotOnDeezer:"Álbum não encontrado no deezer!",notOnDeezer:"Faixa não encontrada no Deezer!",notEncoded:"Faixa ainda não codificada!",notEncodedNoAlternative:"Faixa ainda não codificada e não foi encontrada alternativa!",wrongBitrate:"Faixa não encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa não encontrada no bitrate desejado e não foi encontrada alternativa!",no360RA:"Faixa não disponível em Reality Audio 360.",notAvailable:"Faixa não disponível nos servidores do deezer!",notAvailableNoAlternative:"Faixa não disponível nos servidores do deezer e não foi encontrada alternativa!"}},favorites:{title:"Favoritos",noPlaylists:"Listas de reprodução não encontradas",noAlbums:"Álbuns favoritos não encontrados",noArtists:"Artistas favoritos não encontrados",noTracks:"Faixas favoritas não encontradas"},home:{needTologin:"Antes de iniciar transferências é necessário efectuar autenticação na conta Deezer.",openSettings:"Abrir Definições",sections:{popularPlaylists:"Listas de reprodução populares",popularAlbums:"Álbuns mais ouvidos"}},linkAnalyzer:{info:"Podes usar esta secção para obteres mais informação sobre o link que estás a tentar transferir.",useful:"Isto é útil caso estejas a tentar transferir faixas que não estão disponíveis no teu país e queres saber onde estão disponíveis, por exemplo.",linkNotSupported:"Este link ainda não é suportado",linkNotSupportedYet:"Parece que este link ainda não é suportado, tenta analisar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duração",diskNumber:"Número do disco",trackNumber:"Número da faixa",releaseDate:"Data de lançamento",bpm:"BPM",label:"Editora",recordType:"Tipo de Disco",genres:"Géneros",tracklist:"Lista de faixas"}},search:{startSearching:"Começa a pesquisar!",description:"Podes perquisar uma música, um álbum inteiro, um artista, uma lista de reprodução... tudo! Também podes colar um link do Deezer",fans:"{n} fãs",noResults:"Sem resultados",noResultsTrack:"Faixa não encontrada",noResultsAlbum:"Álbum não encontrado",noResultsArtist:"Artista não encontrado",noResultsPlaylist:"Lista de reprodução não encontrada"},searchbar:"Pesquisa o que quiseres (ou cola um link)",downloads:"transferências",toasts:{addedToQueue:"{item} adicionados à fila",alreadyInQueue:"{item} já está na fila!",finishDownload:"{item} foi transferido.",allDownloaded:"Todas as transferências terminadas!",refreshFavs:"Actualizar terminados!",loggingIn:"A autenticar",loggedIn:"Autenticado",alreadyLogged:"Já estás autenticado",loginFailed:"Nao foi possivel iniciar sessão",loggedOut:"Desconectado",cancellingCurrentItem:"A cancelar item actual.",currentItemCancelled:"Item actual cancelado.",startAddingArtist:"A adicionar {artist} álbuns à fila",finishAddingArtist:"Adicionados {artist} álbuns à fila",startConvertingSpotifyPlaylist:"A converter faixas do spotify em faixas do deezer",finishConvertingSpotifyPlaylist:"Lista de reprodução do Spotify convertida."},settings:{title:"Definições",languages:"Idioma",login:{title:"Inicio de Sessão",loggedIn:"Estás autenticado como {username}",arl:{question:"Como obter o meu ARL?",update:"Actualizar ARL"},logout:"Sair"},appearance:{title:"Aspecto",slimDownloadTab:"Aba de transferências estreita"},downloadPath:{title:"Caminho das transferências"},templates:{title:"Formatos",tracknameTemplate:"Formato do nome de faixa",albumTracknameTemplate:"Formato do nome de Álbum",playlistTracknameTemplate:"Formato do nome de lista de reprodução"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para lista de reprodução",playlistNameTemplate:"Formato da pasta de lista de reprodução",createArtistFolder:"Criar pasta para artista",artistNameTemplate:"Formato da pasta de artista",createAlbumFolder:"Criar pasta para álbum",albumNameTemplate:"Formato da pasta de álbum",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para listas reprodução",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"Título",padTracks:"Bloco de Faixas",paddingSize:"Substituir tamanho do preenchimento",illegalCharacterReplacer:"Substituir caractere inválido"},downloads:{title:"Transferências",queueConcurrency:"Transferências concorrentes",maxBitrate:{title:"Bitrate preferencial",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Ficheiros existentes. Substituir?",y:"Sim, substituir o ficheiro",n:"Não substituir o ficheiro",t:"Subescrever apenas as etiquetas"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Fallback de pesquisa",logErrors:"Criar histórico para erros",logSearched:"Criar histórico para faixas pesquisadas",createM3U8File:"Criar ficheiro de lista de reprodução",syncedLyrics:"Criar ficheiro .lyr (Letra Sincronizada)",playlistFilenameTemplate:"Formato do nome de ficheiro da lista de reprodução",saveDownloadQueue:"Guardar fila de transferências ao fechar a aplicação"},covers:{title:"Capas do Álbum",saveArtwork:"Guardar capas",coverImageTemplate:"Modelo do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Modelo de imagem do artista",localArtworkSize:"Tamanho do trabalho artístico local",embeddedArtworkSize:"Tamanho do trabalho artístico incorporado",localArtworkFormat:{title:"Em que formato desejas o trabalho artístico local?",jpg:"Em imagem jpeg",png:"Em imagem png",both:"Em jpeg e em png"},jpegImageQuality:"Qualidade de imagem JPEG"},tags:{head:"Etiquetas a guardar",title:"Título",artist:"Artista",album:"Álbum",cover:"Capa",trackNumber:"Número de faixa",trackTotal:"Total de faixas",discNumber:"Número do Disco",discTotal:"Total de Discos",albumArtist:"Artista do Álbum",genre:"Género",year:"Ano",date:"Data",explicit:"Letra Explícita",isrc:"ISRC",length:"Duração da faixa",barcode:"Código de barras do álbum (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Editora do álbum",lyrics:"Letra da música não sincronizada",copyright:"Direitos de Autor",composer:"Compositor",involvedPeople:"Pessoas envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Guardar listas de reprodução como compilação",useNullSeparator:"Usar separador nulo",saveID3v1:"Também guardar ID3v1",multiArtistSeparator:{title:"Como queres separarar os artistas?",nothing:"Guardar apenas o artista principal",default:"Usar especificação padrão",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Guardar apenas o artista principal do álbum",albumVariousArtists:'Manter "Various Artists" nos Artistas do Álbum',removeAlbumVersion:'Remover "Album Version" do título da faixa',removeDuplicateArtists:"Remover combinação de artistas",dateFormat:{title:"Formato de data nos ficheiros FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas convidados/participações?",0:"Nada",1:"Remover do título",3:"Remover do título e do título do album",2:"Movê-lo para o título"},titleCasing:"Caixa do Título",artistCasing:"Caixa do Artista",casing:{nothing:"Manter inalterado",lower:"minusculas",upper:"MAIÚSCULAS",start:"Início De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Volume de Pré-visualização",executeCommand:{title:"Comando a executar após transferir",description:"Deixar em branco para nenhuma acção"}},spotify:{title:"Funcionalidades Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"nome de utilizador Spotify"},reset:"Repor configurações padrão",save:"Guardar",toasts:{init:"Configurações carregadas!",update:"Configurações actualizadas",ARLcopied:"ARL copiado para area de transferencia"}},sidebar:{home:"início",search:"pesquisa",charts:"tabelas",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"definições",about:"sobre"},tracklist:{downloadSelection:"Transferir seleccionados"}},pt_br:{globals:{welcome:"bem vindo ao deemix",back:"voltar",loading:"carregando",download:"Baixar {thing}",by:"por {artist}",in:"em {album}",download_hint:"Baixar",play_hint:"Reproduzir",toggle_download_tab_hint:"Expandir/Diminuir",clean_queue_hint:"Limpar",cancel_queue_hint:"Cancelar Todos",listTabs:{empty:"",all:"todos",top_result:"resultado principal",album:"álbum | álbuns",artist:"artista | artistas",single:"single | singles",title:"título | títulos",track:"faixa | faixas",trackN:"0 faixas | {n} faixa | {n} faixas",releaseN:"0 lançamento | {n} lançamento | {n} lançamentos",playlist:"playlist | playlists",compile:"compilação | compilações",ep:"ep | eps",spotifyPlaylist:"playlist do spotify | playlists do spotify",releaseDate:"data de lançamento",error:"erro"}},about:{titles:{usefulLinks:"Links Úteis",bugReports:"Relatar Bugs",contributing:"Contribuições",donations:"Doações",license:"Licença"},subtitles:{bugReports:"Há algo não funcionando no deemix? Nos diga!",contributing:"Você quer contribuir para este projeto? Você pode fazer isso de diferentes maneiras!",donations:"Você quer contribuir monetariamente? Você pode fazer uma doação!"},usesLibrary:"Esse app usa a biblioteca do deemix, no qual você pode usar para criar sua própria UI para o deemix",thanks:"Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o ícone",upToDate:{text:"Para mais novidades siga o {newsChannel} no Telegram.",newsChannel:"news channel"},officialWebsite:"Site Oficial",officialRepo:"Repositório da Biblioteca Oficial",officialWebuiRepo:"Repositório da WebUI Oficial",officialSubreddit:"Subreddit Oficial",newsChannel:"Canal de Notícias",questions:{text:"Se você tiver dúvidas ou problemas com o app, procure uma solução em {subreddit} primeiro. Caso você não encontre, você pode fazer um post explicando seu problema no subreddit.",subreddit:"subreddit"},beforeReporting:"Antes de reportar um bug, tenha certeza que você está rodando a versão mais recente do app, e o que você quer reportar seja realmente um bug e não algo que esteja acontecendo especialmente com você.",beSure:"Certifique-se que o bug é reproduzivel em outras máquinas e também NÃO reporte um bug se ele já foi reportado.",duplicateReports:"Reportes de bugs duplicados serão fechados, então fique atento a isso.",dontOpenIssues:"NÃO abra tópicos para fazer perguntas, há o subreddit para isso.",newUI:{text:"Se você é fluente em Phython, você pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.",repo:"repo"},acceptFeatures:"Eu aceito funcionalidades extras também, mas nada de coisas complexas, desde que ela possa ser implementada no app, e não na biblioteca.",otherLanguages:"Se você for fluente em outra linguagem de programação, você pode tentar portar o deemix para outra linguagem!",understandingCode:"Você precisa de ajuda para entender o código? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.",contributeWebUI:{text:"Se você souber Vue.js (JavaScript), HTML ou CSS você pode contribuir para o {webui}.",webui:"WebUI"},itsFree:"Lembre-se que este projeto é livre e você deve dar suporte aos artistas que você ama antes de dar suporte aos desenvolvedores.",notObligated:"Não se sinta na obrigação de doar, eu agradeço de qualquer maneira!",lincensedUnder:{text:"Esse é um projeto licenciado através da {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Charts",changeCountry:"Mudar País",download:"Download Chart"},errors:{title:"Erros para {name}",ids:{invalidURL:"URL inválida",unsupportedURL:"URL não suportada ainda",ISRCnotOnDeezer:"Faixa ISRC não está disponível ainda no deezer",notYourPrivatePlaylist:"Você não pode baixar playlists privadas.",spotifyDisabled:"Os Recursos do Spotify não foram configurados corretamente.",trackNotOnDeezer:"Faixa não encontrada no deezer!",albumNotOnDeezer:"Album not found on deezer! Álbum não encontrado no deezer!",notOnDeezer:"Faixa indisponível no deezer!",notEncoded:"Faixa ainda não codificada!",notEncodedNoAlternative:"Faixa ainda não codificada e sem alternativas encontradas!",wrongBitrate:"Faixa não encontrada no bitrate desejado.",wrongBitrateNoAlternative:"Faixa não encontrada no bitrate desejado e nenhuma outra alternativa encontrada!",no360RA:"Faixa não disponível na qualidade Reality Audio 360.",notAvailable:"Faixa não disponível nos servidores do deezer!",notAvailableNoAlternative:"Faixa não disponível nos servidores do deezer e nenhuma outra alternativa encontrada!"}},favorites:{title:"Favoritos",noPlaylists:"Nenhuma Playlist encontrada",noAlbums:"Nenhum Álbum Favorito encontrado",noArtists:"Nenhum Artista Favorito encontrado",noTracks:"Nenhuma Faixa Favorita encontrada"},home:{needTologin:"Você precisa logar na sua conta do deezer antes de começar a baixar músicas.",openSettings:"Abrir Configurações",sections:{popularPlaylists:"Playlists Populares",popularAlbums:"Álbuns mais ouvidos"}},linkAnalyzer:{info:"Você pode usar essa seção para encontrar mais informações sobre o link que você quer baixar.",useful:"Isso é útil se você está tentando baixar algumas faixas que não estão disponíveis no seu país, e quer saber onde elas estão disponíveis, por exemplo.",linkNotSupported:"Esse link não é suportado ainda",linkNotSupportedYet:"Parece que esse link não é suportado ainda, tente analizar outro.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Duração",diskNumber:"Número do Disco",trackNumber:"Número da Faixa",releaseDate:"Data de Lançamento",bpm:"BPM",label:"Gravadora",recordType:"Tipo de Gravação",genres:"Gêneros",tracklist:"Tracklist"}},search:{startSearching:"Comece pesquisando!",description:"Você pode pesquisar uma música, um álbum, um artista, uma playlist.... tudo! Você também pode colar um link do Deezer",fans:"{n} fãs",noResults:"Sem resultados",noResultsTrack:"Nenhuma Faixa encontrada",noResultsAlbum:"Nenhum Álbum encontrado",noResultsArtist:"Nenhum Artista encontrado",noResultsPlaylist:"Nenhuma Playlist encontrada"},searchbar:"Pesquise algo (ou apenas cole um link)",downloads:"downloads",toasts:{addedToQueue:"{item} adicionado à fila",alreadyInQueue:"{item} já está na fila!",finishDownload:"{item} download terminado.",allDownloaded:"Todos os downloads foram feitos!",refreshFavs:"Atualização completa!",loggingIn:"Logando",loggedIn:"Logado",alreadyLogged:"Você já está logado",loginFailed:"Não foi possivel entrar",loggedOut:"Desconectando",cancellingCurrentItem:"Cancelando item atual.",currentItemCancelled:"Item atual cancelado.",startAddingArtist:"Adicionando {artist} álbuns à fila",finishAddingArtist:"{artist} álbuns adicionados a fila",startConvertingSpotifyPlaylist:"Convertendo faixas do spotify para faixas do deezer",finishConvertingSpotifyPlaylist:"Playlists do Spotify convertidas"},settings:{title:"Configurações",languages:"Idiomas",login:{title:"Login",loggedIn:"Você está logado como {username}",arl:{question:"Como eu consigo o meu ARL?",update:"Atualizar ARL"},logout:"Sair"},appearance:{title:"Aparência",slimDownloadTab:"Aba de download slim"},downloadPath:{title:"Diretório de Downloads"},templates:{title:"Templates",tracknameTemplate:"Template do nome da faixa",albumTracknameTemplate:"Template da faixa do álbum",playlistTracknameTemplate:"Template da faixa da playlist"},folders:{title:"Pastas",createPlaylistFolder:"Criar pasta para playlists",playlistNameTemplate:"Template da pasta de playlist",createArtistFolder:"Criar pasta para os artistas",artistNameTemplate:"Template da pasta de artistas",createAlbumFolder:"Criar pasta para álbuns",albumNameTemplate:"Template da pasta de álbuns",createCDFolder:"Criar pasta para CDs",createStructurePlaylist:"Criar estrutura de pastas para playlists",createSingleFolder:"Criar estrutura de pastas para singles"},trackTitles:{title:"Título das faixas",padTracks:"Faixas com pad",paddingSize:"Sobrescrever tamanho do padding",illegalCharacterReplacer:"Substituir caracteres inválidos"},downloads:{title:"Downloads",queueConcurrency:"Downloads Simultâneos",maxBitrate:{title:"Escolher Taxa de Bits",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Sobrescrever arquivos?",y:"Sim, sobrescrever arquivos",n:"Não, não sobrescrever arquivos",t:"Sobrescrever apenas as tags"},fallbackBitrate:"Taxa de bits reserva",fallbackSearch:"Procurar reserva",logErrors:"Criar arquivos de log para erros",logSearched:"Criar arquivos de log para faixas pesquisadas",createM3U8File:"Criar arquivo de playlist",syncedLyrics:"Criar arquivos .lyr (Letras)",playlistFilenameTemplate:"Template do nome do arquivo da playlist",saveDownloadQueue:"Salvar a fila de downloads quando fechar o app"},covers:{title:"Capa dos álbuns",saveArtwork:"Salvar capas",coverImageTemplate:"Template do nome da capa",saveArtworkArtist:"Salvar imagem do artista",artistImageTemplate:"Template da imagem do artista",localArtworkSize:"Tamanho da capa local",embeddedArtworkSize:"Tamanho da capa embutida",localArtworkFormat:{title:"Qual o formato da imagem que você quer para a capa local?",jpg:".jpeg",png:".png",both:"Ambas, .jpeg e .png"},jpegImageQuality:"Qualidade da imagem JPEG"},tags:{head:"Quais tags salvar",title:"Título",artist:"Artista",album:"Álbum",cover:"Capa",trackNumber:"Número da Faixa",trackTotal:"Total de Faixas",discNumber:"Número de Discos",discTotal:"Total de Discos",albumArtist:"Artista do Álbum",genre:"Gênero",year:"Ano",date:"Data",explicit:"Letras Explícitas",isrc:"ISRC",length:"Tamanho da Faixa",barcode:"Código de Barras do álbum (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Gravadora",lyrics:"Letras Dessincronizadas",copyright:"Copyright",composer:"Compositor",involvedPeople:"Pessoas Envolvidas"},other:{title:"Outros",savePlaylistAsCompilation:"Salvar playlists como uma compilação",useNullSeparator:"Usar separador nulo",saveID3v1:"Salvar ID3v1",multiArtistSeparator:{title:"Como você gostaria de separar os artistas?",nothing:"Salvar apenas o artista principal",default:"Usar a especificação padrão",andFeat:"Usar & e feat.",using:'Usar "{separator}"'},singleAlbumArtist:"Salvar apenas o artista principal",albumVariousArtists:'Manter "Various Artists" nos Artistas do Álbum',removeAlbumVersion:'Remover "Album Version" do título da faixa',removeDuplicateArtists:"Remover combinação de artistas",dateFormat:{title:"Formato da data para arquivos FLAC",year:"AAAA",month:"MM",day:"DD"},featuredToTitle:{title:"O que devo fazer com artistas participantes?",0:"Nada",1:"Remova do título da faixa",3:"Remova do título da faixa e do álbum",2:"Mover para o título da faixa"},titleCasing:"Formatação do título",artistCasing:"Formatação do artista",casing:{nothing:"Manter inalterado",lower:"minúsculo",upper:"MAIÚSCULO",start:"Começo De Cada Palavra",sentence:"Como uma frase"},previewVolume:"Prévia do Volume",executeCommand:{title:"Comando para executar depois de baixar",description:"Deixe em branco para nenhuma ação"}},spotify:{title:"Recursos do Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"usuário do Spotify"},reset:"Restaurar para o padrão",save:"Salvar",toasts:{init:"Configurações carregadas!",update:"Configurações atualizadas!",ARLcopied:"ARL copiada para a área de transferência"}},sidebar:{home:"início",search:"pesquisa",charts:"charts",favorites:"favoritos",linkAnalyzer:"analizador de links",settings:"configurações",about:"sobre"},tracklist:{downloadSelection:"Baixar seleção"}},ru:{globals:{welcome:"Добро пожаловать в deemix",back:"назад",loading:"загрузка",download:"Скачать {thing}",by:"{artist}",in:"из {album}",download_hint:"Скачать",play_hint:"Прослушать",toggle_download_tab_hint:"Показать/Скрыть",clean_queue_hint:"Очистить завершённые",cancel_queue_hint:"Очистить всё",open_downloads_folder:"Открыть папку с загрузками",cut:"вырезать",copy:"копировать",copyLink:"копировать ссылку",copyImageLink:"копировать URL картинки",copyDeezerLink:"копировать ссылку deezer",paste:"вставить",listTabs:{empty:"",all:"все",top_result:"лучший результат",album:"альбом | альбомы | альбомы",artist:"исполнитель | исполнители | исполнители",single:"сингл | синглы | синглы",title:"название",track:"трек | треки | треки",trackN:"{n} трек | {n} трека | {n} треков",releaseN:"{n} релиз | {n} релиза | {n} релизов",playlist:"плейлист | плейлисты | плейлисты",compile:"сплит | сплиты | сплиты",ep:"ep",bundle:"бандл | бандлы | бандлы",more:"Больше альбомов",featured:"Представлено в",spotifyPlaylist:"плейлист spotify | плейлисты spotify | плейлисты spotify",releaseDate:"Дата выхода",error:"ошибка",albumN:"{n} альбом | {n} альбома | {n} альбомов",artistN:"{n} исполнитель | {n} исполнителя | {n} исполнителей",playlistN:"{n} плейлист | {n} плейлиста | {n} плейлистов"}},about:{updates:{currentVersion:"Текущая версия",versionNotAvailable:"Н/Д",updateAvailable:"Вы используете не последнюю доступную версию: {version}",deemixVersion:"Версия библиотеки deemix"},titles:{usefulLinks:"Полезные ссылки",bugReports:"Отчёты об ошибках",contributing:"Помощь проекту",donations:"Пожертвования",license:"Лицензия"},subtitles:{bugReports:"Что-то не работает? Сообщите нам!",contributing:"Хотите внести вклад в развитие этого проекта? Это можно сделать разными способами!",donations:"Хотите поддержать материально? Можно сделать пожертвование!"},usesLibrary:"Приложение использует библиотеку deemix, с помощью которой вы можете разработать собственный UI для deemix.",thanks:"Спасибо rtonno, uhwot и lollilol за помощь с этим проектом, а также BasCurtiz за иконку.",upToDate:{text:"Следите за последними обновлениями на {newsChannel} в Telegram.",newsChannel:"канале"},officialWebsite:"Официальный сайт",officialRepo:"Официальный репозиторий библиотеки",officialWebuiRepo:"Официальный репозиторий WebUI",officialSubreddit:"Официальный сабреддит",newsChannel:"Канал новостей",questions:{text:"Если у вас возникли вопросы или проблемы с приложением, поищите решение на {subreddit}. Если не нашли решение, можете создать новый пост и описать вашу проблему.",subreddit:"сабреддите"},beforeReporting:"Перед тем, как сообщать об ошибках, убедитесь, что вы используете последнюю версию приложения и что проблема не на вашей стороне.",beSure:"Убедитесь, что ошибка возникает и на других устройствах. Также НЕ сообщайте об ошибке, если про неё уже известно.",duplicateReports:"Повторные сообщения об ошибках рассматриваться не будут.",dontOpenIssues:"НЕ используйте репозиторий для вопросов автору, для этого есть сабреддит.",newUI:{text:"Если вы хорошо знаете python, то можете сделать новый UI для приложения с использованием базовой библиотеки или пофиксить в ней баги и сделать pull request в {repo}.",repo:"репозитории"},acceptFeatures:"Можете предложить новые функции, но не слишком сложные, так как они будут добавлены в приложение, а не в саму библиотеку.",otherLanguages:"Если вы хорошо знаете другой язык программирования, можете портировать на нём deemix!",understandingCode:"Не можете разобраться в коде? Свяжитесь с RemixDev в Telegram или на Reddit.",contributeWebUI:{text:"Если вы знаете Vue.js (JavaScript), HTML или CSS, можете внести вклад в развитие {webui}.",webui:"WebUI"},itsFree:"Помните, что это бесплатное приложение и вам следует поддерживать понравившихся исполнителей прежде, чем поддерживать разработчиков.",notObligated:"Вы не обязаны делать пожертвования, я всё равно вас ценю!",lincensedUnder:{text:"Проект распространяется под лицензией {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Чарты",changeCountry:"Сменить страну",download:"Скачать чарт"},errors:{title:"Ошибки {name}",ids:{invalidURL:"URL не распознан",unsupportedURL:"URL не поддерживается",ISRCnotOnDeezer:"ISRC данного трека недоступен на Deezer",notYourPrivatePlaylist:"Вы не можете скачивать чужие приватные плейлисты.",spotifyDisabled:"Неправильно настроены параметры Spotify.",trackNotOnDeezer:"Трек не найден на Deezer!",albumNotOnDeezer:"Альбом не найден на Deezer!",notOnDeezer:"Трек недоступен на Deezer!",notEncoded:"Трек ещё не перекодирован!",notEncodedNoAlternative:"Трек не перекодирован, альтернатив не найдено!",wrongBitrate:"Данного трека нет в нужном битрейте.",wrongBitrateNoAlternative:"Данного трека нет в нужном битрейте. Альтернатив не найдено!",no360RA:"Трек недоступен в формате Reality Audio 360.",notAvailable:"Трек недоступен на серверах Deezer!",notAvailableNoAlternative:"Трек недоступен на серверах Deezer. Альтернатив не найдено!",noSpaceLeft:"На устройстве не осталось свободного места!",albumDoesntExists:"Альбома не существует, информация не получена"}},favorites:{title:"Избранное",noPlaylists:"Плейлисты не найдены",noAlbums:"Избранные альбомы не найдены",noArtists:"Избранные исполнители не найдены",noTracks:"Избранные треки не найдены"},home:{needTologin:"Вам необходимо войти под своей учетной записью Deezer, прежде чем вы сможете скачивать.",openSettings:"Открыть настройки",sections:{popularPlaylists:"Популярные плейлисты",popularAlbums:"Самые прослушиваемые альбомы"}},linkAnalyzer:{info:"Используйте этот раздел, чтобы узнать информацию о ссылке, которую требуется скачать.",useful:"Этот раздел нужен, если вы хотите загрузить треки, недоступные в вашей стране, а также посмотреть, где они доступны.",linkNotSupported:"Ссылка не поддерживается",linkNotSupportedYet:"Эта ссылка не поддерживается, попробуйте вставить другую.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Продолжительность",diskNumber:"Номер диска",trackNumber:"Номер трека",releaseDate:"Дата выхода",bpm:"BPM",label:"Издатель",recordType:"Тип",genres:"Жанр",tracklist:"Треклист"}},search:{startSearching:"Начните искать!",description:"Здесь можно найти трек, альбом, исполнителя, плейлист... всё! Можно также вставить ссылку Deezer",fans:"{n} поклонников",noResults:"Нет результатов",noResultsTrack:"Треков не найдено",noResultsAlbum:"Альбомов не найдено",noResultsArtist:"Исполнителей не найдено",noResultsPlaylist:"Плейлистов не найдено"},searchbar:"Ищите, что хотите (или вставьте ссылку)",downloads:"загрузки",toasts:{restoringQueue:"Восстановление очереди загрузок...",queueRestored:"Очередь восстановлена!",addedToQueue:"{item} добавлено в очередь",addedMoreToQueue:"{n} загрузок добавлены в очередь",alreadyInQueue:"{item} уже присутствует в очереди!",finishDownload:"Загрузка {item} завершена.",allDownloaded:"Все загрузки завершены!",refreshFavs:"Обновление завершено!",loggingIn:"Вход...",loggedIn:"Вход выполнен",alreadyLogged:"Вход уже выполнен",loginFailed:"Вход не выполнен",loggedOut:"Вы вышли из аккаунта",cancellingCurrentItem:"Отмена текущей загрузки.",currentItemCancelled:"Отменено.",startAddingArtist:"Добавление альбомов {artist} в очередь",finishAddingArtist:"Альбомы {artist} добавлены в очередь",startConvertingSpotifyPlaylist:"Добавление плейлиста Spotify в очередь",finishConvertingSpotifyPlaylist:"Spotify плейлист добавлен в очередь",loginNeededToDownload:"Войдите в аккаунт, чтобы скачивать треки!",deezerNotAvailable:"Deezer недоступен в вашей стране. Используйте VPN.",startGeneratingItems:"Обработка {n} загрузок...",finishGeneratingItems:"Обработано {n} загрузок."},settings:{title:"Настройки",languages:"Язык",login:{title:"Вход",loggedIn:"Вы вошли как {username}",arl:{question:"Как узнать свой ARL?",update:"Обновить ARL"},logout:"Выйти",login:"Войти через deezer.com"},appearance:{title:"Внешний вид",slimDownloadTab:"Компактная вкладка с загрузками",slimSidebar:"Компактная левая панель"},downloadPath:{title:"Путь для сохранения"},templates:{title:"Шаблоны",tracknameTemplate:"Шаблон названия трека",albumTracknameTemplate:"Шаблон названия трека альбома",playlistTracknameTemplate:"Шаблон названия трека плейлиста"},folders:{title:"Папки",createPlaylistFolder:"Создавать папки для плейлистов",playlistNameTemplate:"Название папки плейлиста",createArtistFolder:"Создавать папки для исполнителя",artistNameTemplate:"Название папки исполнителя",createAlbumFolder:"Создавать папки для альбома",albumNameTemplate:"Название папки альбома",createCDFolder:"Создавать папки для CD",createStructurePlaylist:"Создавать структуру папок для плейлистов",createSingleFolder:"Создавать структуру папок для синглов"},trackTitles:{title:"Названия треков",padTracks:"Добавлять ноль к номерам треков (01, 02, ...)",paddingSize:"Кол-во цифр в номере",illegalCharacterReplacer:"Замена для запрещённых в имени символов"},downloads:{title:"Загрузки",queueConcurrency:"Количество одновременных загрузок",maxBitrate:{title:"Предпочитаемый битрейт",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Нужно ли перезаписывать файлы?",y:"Да, перезаписать файл",n:"Нет, не перезаписывать",t:"Обновить только теги",b:"Нет, оставить оба файла и добавить номер к дубликату",e:"Нет, вне зависимости от расширения"},fallbackBitrate:"Загружать с битрейтом ниже, если текущий недоступен",fallbackSearch:"Искать похожий трек, если запрашиваемый недоступен",logErrors:"Сохранять логи ошибок",logSearched:"Сохранять лог истории поиска",createM3U8File:"Создавать файлы плейлистов",syncedLyrics:"Создать .lyr файлы (синхронизированная лирика)",playlistFilenameTemplate:"Шаблон названия плейлиста",saveDownloadQueue:"Сохранять текущую очередь загрузок при закрытии приложения"},covers:{title:"Обложки",saveArtwork:"Сохранять файл обложки",coverImageTemplate:"Шаблон названия обложки",saveArtworkArtist:"Сохранять файл изображения исполнителя",artistImageTemplate:"Шаблон названия изображения",localArtworkSize:"Размер сохраненной обложки",embeddedArtworkSize:"Размер встроенной в теги обложки",localArtworkFormat:{title:"В каком формате сохранять обложки?",jpg:"jpeg",png:"png",both:"jpeg и png"},jpegImageQuality:"Качество JPEG",embeddedArtworkPNG:"Сохранять вложенную обложку в PNG",embeddedPNGWarning:"PNG официально не поддерживается в Deezer. Могут быть баги",imageSizeWarning:"Обложки с разрешением выше x1200 не поддерживаются в Deezer. Могут быть проблемы",coverDescriptionUTF8:"Сохранять описание обложки в UTF8 (iTunes Fix)"},tags:{head:"Какие теги сохранять",title:"Название",artist:"Исполнитель",album:"Альбом",cover:"Обложка",trackNumber:"Номер трека",trackTotal:"Кол-во треков",discNumber:"Номер диска",discTotal:"Кол-во дисков",albumArtist:"Исполнитель альбома",genre:"Жанр",year:"Год",date:"Дата",explicit:"Метка о нецензурной лексике",isrc:"Номер записи (ISRC)",length:"Продолжительность",barcode:"Уникальный код альбома (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Издатель",lyrics:"Текст песни",syncedLyrics:"Синхрон. текст песни",copyright:"Права (копирайт)",composer:"Композитор",involvedPeople:"Вовлечённые люди",source:"Источник и ID песни"},other:{title:"Разное",savePlaylistAsCompilation:"Сохранять плейлисты как сборники",useNullSeparator:"Использовать null в качестве разделителя",saveID3v1:"Сохранять ID3v1",multiArtistSeparator:{title:"Как разделять несколько исполнителей?",nothing:"Сохранить только основного",default:"Используя стандартную спецификацию",andFeat:"Используя & и feat.",using:'Используя "{separator}"'},singleAlbumArtist:"Сохранить только основного исполнителя альбома",albumVariousArtists:'Оставить "Various Artists" в исполнителях альбома',removeAlbumVersion:'Удалить "Album Version" из названия трека',removeDuplicateArtists:"Удалить повторяющихся исполнителей",dateFormat:{title:"Формат даты для FLAC файлов",year:"ГГГГ",month:"ММ",day:"ДД"},featuredToTitle:{title:"Что делать с приглашёнными исполнителями (feat.)?",0:"Ничего",1:"Удалить из названия трека",3:"Удалить из названия трека и альбома",2:"Добавить в название трека"},titleCasing:"Регистр названия",artistCasing:"Регистр исполнителя",casing:{nothing:"Не менять",lower:"в нижнем регистре",upper:"В ВЕРХНЕМ РЕГИСТРЕ",start:"Каждое Слово С Заглавной Буквы",sentence:"Как в предложении"},previewVolume:"Громкость прослушивания",executeCommand:{title:"Выполнять команды по окончании загрузок",description:"Оставьте пустым, если ничего не требуется"}},spotify:{title:"Настройки Spotify",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify username",question:"Как включить функции Spotify?"},reset:"По умолчанию",save:"Сохранить",toasts:{init:"Настройки загружены!",update:"Настройки обновлены!",ARLcopied:"ARL скопирован в буфер обмена"}},sidebar:{home:"главная",search:"поиск",charts:"чарты",favorites:"избранное",linkAnalyzer:"анализ ссылок",settings:"настройки",about:"о проекте"},tracklist:{downloadSelection:"Скачать выбранные"}},tr:{globals:{welcome:"Deemix'e hoş geldin.",back:"geri",loading:"yükleniyor",download:"İndir {thing}",by:"{artist} tarafından",in:"{album} içinde",download_hint:"İndir",play_hint:"Oynat",toggle_download_tab_hint:"Genişlet/Daralt",clean_queue_hint:"Tamamlananları Temizle",cancel_queue_hint:"Hepsini ",listTabs:{empty:"",all:"Tümü",top_result:"top result",album:"albüm | albümler",artist:"sanatçı | sanatçılar",single:"single | singlelar",title:"başlık | başlıklar",track:"Parça | Parçalar",trackN:"0 parça | {n} parça | {n} parça",releaseN:"0 yayınlanan | {n} yayınlanan | {n} yayınlanan",playlist:"oynatma listesi | oynatma listeleri",compile:"derleme | derlemeler",ep:"kayıt | kayıtlar",spotifyPlaylist:"spotify oynatma listesi | oynatma listeleri",releaseDate:"yayınlanma tarihi",error:"hata"}},about:{titles:{usefulLinks:"Yararlı Bağlantılar",bugReports:"Hata Raporları",contributing:"Katkı Sağlayanlar",donations:"Bağışlar",license:"Lisans"},subtitles:{bugReports:"Deemix'te çalışmayan bir şey mi var?, Bize bildirin!",contributing:"Projeye katkı sağlamak mı istiyorsun? Farklı yollardan sağlayabilirsin!",donations:"Bütçe yardımı mı yapmak istiyorsun? Bağış yapabilirsin!"},usesLibrary:"deemix kendi kullanıcı arabiriminizi oluşturabileceğiniz, kendine özgü kütüphanesini kullanıyor.",thanks:" rtonno, uhwot ve lollilol'a bu projeye yaptığı katkılardan ve BasCurtiz'e ikonlardan dolayı teşekkür ederim.",upToDate:{text:"{newsChannel} takip ederek güncellemelerden haberdar olun.",newsChannel:"Telegramdaki haber kanalını"},officialWebsite:"İlgili İnternet Sitemiz",officialRepo:"İlgili Kütüphanemiz",officialWebuiRepo:"İlgili Web Kullanıcı Arayüzü Kütüphanemiz.",officialSubreddit:"İlgili Subreddit adresimiz",newsChannel:"Haber Kanalı",questions:{text:"Eğer uygulama ile ilgili sorularınız veya bir probleminiz varsa,ilk önce {subreddit} sorununuzu arayın. Eğer bir şey bulamazsanız, sorununuz ile ilgili bir gönderi paylaşabilirsiniz.",subreddit:"subreddit adresinden"},beforeReporting:"Bir hatayı bildirmeden önce, uygulamanın son sürümünde olduğunuza veya sorunun sizden kaynaklı olmayıp bir hata olduğuna emin olduktan sonra emin olun.",beSure:"Hatanın başka cihazlarda da olduğunu doğrulayın ve Bildirilen bir hatayı tekrar bildirmeyin.",duplicateReports:"Birbirinin aynısı olan hata bildirileri kapatılacaktır, o yüzden dikkatli olun.",dontOpenIssues:"Soru sormak için hata bildirisi yollamayın, bunun için bir subreddit adresimiz var.",newUI:{text:"Eğer Phython kullanmakta iyiysen, ana kütüphaneyi kullanan bir kullanıcı arayüzü yapmayı deneyebilir, veya kütüphanedeki hataları düzeltmek için {repo}.",repo:"deposuna değişiklik isteği yollayabilirsin"},acceptFeatures:"Yeni özellikleri de kabul ediyorum, fakat karışık şeyleri kütüphaneye değil uygulamaya eklendiği için kabul edemiyorum.",otherLanguages:"Eğer diğer programlama dillerinde kendine güveniyorsan, deemix'i farklı dillere port etmeye çalışabilirsin!",understandingCode:"Kodu anlamak için yardım mı lazım? Reddit üzerinden veya Telegramdan RemixDev'e ulaş.",contributeWebUI:{text:"Eğer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.",webui:"Web Kullanıcı Arayüzüne katkıda bulanabilirsin"},itsFree:"Bunun ücretsiz bir proje olduğunu ve geliştiricilerden önce sevdiğiniz sanatçıları desteklemeniz gerektiğini unutmayın.",notObligated:"Kendinizi bağış yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!",lincensedUnder:{text:"Bu çalışma lisanslıdır: {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Grafikler",changeCountry:"Ülke Değiştir",download:"Grafiği İndir"},errors:{title:"{name} Hatalı bulundu",ids:{invalidURL:"URL geçersiz.",unsupportedURL:"URL şimdilik desteklenmiyor",ISRCnotOnDeezer:"ISRC parça deezerda bulunmuyor",notYourPrivatePlaylist:"Başkalarının özel oynatma listelerini indiremezsin.",spotifyDisabled:"Spotify Özellikleri doğru şekilde ayarlanmamış.",trackNotOnDeezer:"Parça Deezer'da bulunamadı!",albumNotOnDeezer:"Albüm Deezer'da bulunamadı!",notOnDeezer:"Parça Deezer'da yok!",notEncoded:"Parça henüz dönüştürülmedi!",notEncodedNoAlternative:"Parça henüz dönüştürülmedi ve alternatifi bulunamadı!",wrongBitrate:"Parça, istenen kalitede bulunamadı!",wrongBitrateNoAlternative:"Parça veya alternatifler istenen kalitede bulunamadı!",no360RA:"Parça 360 Derece gerçekçi ses olarak bulunamadı!",notAvailable:"Parça Deezer sunucularında bulunamadı!",notAvailableNoAlternative:"Parça veya Alternatifleri Deezer sunucularında bulunamadı.!"}},favorites:{title:"Favoriler",noPlaylists:"Oynatma listesi bulunamadı.",noAlbums:"Favori albümler bulunamadı.",noArtists:"Favori sanatçılar bulunamadı.",noTracks:"Favori parçalar bulunamadı."},home:{needTologin:"İndirmeden önce Deezer hesabına giriş yapmalısın.",openSettings:"Ayarları Aç",sections:{popularPlaylists:"Popüler Oynatma Listeleri",popularAlbums:"En çok dinlenen albümler"}},linkAnalyzer:{info:"İndirmeye çalıştığın link hakkında daha fazla bilgi için burayı kullanabilirsin.",useful:"Mesela, ülkende dinlenebilir olmayan parçaların nerelerde var olduğunu bulmak için kullanabilirsin.",linkNotSupported:"Bu link şimdilik desteklenmemektedir.",linkNotSupportedYet:"Bu link şimdilik desteklenmiyor gibi duruyor, başkasını analiz etmeyi dene.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Süre",diskNumber:"Sıra numarası",trackNumber:"Parça numarası",releaseDate:"Yayınlanma tarihi",bpm:"BPM",label:"Etiketi",recordType:"Kayıt Şekli",genres:"Türü",tracklist:"Parça listesi"}},search:{startSearching:"Aramayı Başlat!",description:"Bir parçayı, tüm albümü, bir sanatçıyı, bir oynatma listesini... kısaca her şeyi aratabilirsin! Ayrıca Deezer Linki de yapıştırabilirsin!",fans:"{n} Hayranlar",noResults:"Sonuç Bulunamadı",noResultsTrack:"Parça bulunamadı",noResultsAlbum:"Albüm bulunamadı",noResultsArtist:"Sanatçı bulunamadı",noResultsPlaylist:"Oynatma Listesi bulunamadı"},searchbar:"İstediğin bir şeyi arat (ya da bir link yapıştır.)",downloads:"İndirilenler",toasts:{addedToQueue:"{item} kuyruğa eklendi",alreadyInQueue:"{item} çoktan kuyrukta!",finishDownload:"{item} indirmesi tamamlandı.",allDownloaded:"Tüm indirmeler tamamlandı!",refreshFavs:"Yenileme tamamlandı.!",loggingIn:"Giriş yapılıyor",loggedIn:"Giriş yapıldı",alreadyLogged:"Çoktan giriş yapıldı",loginFailed:"Giriş yapılamadı",loggedOut:"Oturum kapatıldı.",cancellingCurrentItem:"Geçerli öğe iptal ediliyor.",currentItemCancelled:"Geçerli öğe iptal edildi.",startAddingArtist:"{artist} albüm kuyruğa ekleniyor",finishAddingArtist:"{artist} albüm kuyruğa eklendi.",startConvertingSpotifyPlaylist:"Spotify parçaları deezer parçalarına dönüştürülüyor.",finishConvertingSpotifyPlaylist:"Spotify oynatma listesi dönüştürüldü."},settings:{title:"Ayarlar",languages:"Diller",login:{title:"Giriş",loggedIn:"{username} olarak giriş yaptın.",arl:{question:"Kendi ARL'mi nasıl alırım?",update:"ARL güncelle."},logout:"Çıkış"},appearance:{title:"Görünüm",slimDownloadTab:"İnce indirme sekmesi"},downloadPath:{title:"İndirilen dizin"},templates:{title:"Şablonlar",tracknameTemplate:"Parça ismi şablonu",albumTracknameTemplate:"Albüm parçası şablonu",playlistTracknameTemplate:"Oynatma listesi parça şablonu"},folders:{title:"Dosyalar",createPlaylistFolder:"Oynatma listesi için dosya oluştur",playlistNameTemplate:"Oynatma listesi dosyası şablonu",createArtistFolder:"Sanatçı için dosya oluştur",artistNameTemplate:"Sanatçı dosyası şablonu",createAlbumFolder:"Albüm için dosya oluştur",albumNameTemplate:"Albüm dosyası şablonu",createCDFolder:"CDler için dosya oluştur",createStructurePlaylist:"Oynatma listeleri için dosya kökü oluştur",createSingleFolder:"Singlelar için dosya kökü oluştur"},trackTitles:{title:"Parça başlıkları",padTracks:"İz Numaraları",paddingSize:"İz Numaralarını değiştir",illegalCharacterReplacer:"Illegal Karakter Düzenleyici"},downloads:{title:"İndirilenler",queueConcurrency:"Devam eden indirmeler",maxBitrate:{title:"Tercih edilmiş Bitrateler (kaliteler)",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Dosyaların üstüne yazmalı mıyım?",y:"Evet, üstüne yaz",n:"Hayır, üstüne yazma",t:"Sadece izleri üstüne yaz"},fallbackBitrate:"Bitrate düşürme",fallbackSearch:"Düşürme ara",logErrors:"Hatalar için günlük tut",logSearched:"Aranmış parçalar için günlük tut",createM3U8File:"Oynatma sıra listesi oluştur",syncedLyrics:".lyr dosyaları oluştur (Senkronize şarkı sözleri)",playlistFilenameTemplate:"Oynatma listesi şablonu",saveDownloadQueue:"Uygulamayı kapatırken indirme kuyruğunu kaydet"},covers:{title:"Albüm kapakları",saveArtwork:"Kapakları kaydet",coverImageTemplate:"Kapak ismi şablonu",saveArtworkArtist:"Sanatçı fotoğrafını kaydet",artistImageTemplate:"Şarkıcı fotoğraf şablonu",localArtworkSize:"Yerel fotoğraf boyutu",embeddedArtworkSize:"Gömülü fotoğraf boyutu",localArtworkFormat:{title:"Yerel fotoğrafın hangi formatta olmasını istersin?",jpg:"Jpeg dosyası",png:"Png dosyası",both:"Her ikisi"},jpegImageQuality:"JPEG görüntü kalitesi"},tags:{head:"Hangi izler kayıt edilsin?",title:"Başlık",artist:"Sanatçı",album:"Albüm",cover:"Kapak",trackNumber:"Parça Numarası",trackTotal:"Tüm Parça",discNumber:"Plak Sayısı",discTotal:"Tüm Plak",albumArtist:"Sanatçı Albümü",genre:"Tür",year:"Yıl",date:"Tarih",explicit:"Cinsel içerikli şarkı sözleri",isrc:"ISRC",length:"Parça Uzunluğu",barcode:"Albüm Barkodu (UPC)",bpm:"BPM",replayGain:"Ses Yüksekliği Normalleştirici",label:"Albüm Etiketi",lyrics:"Senkronize edilmemiş şarkı sözleri",copyright:"Telif hakkı",composer:"Besteleyen",involvedPeople:"Alakalı Kişiler"},other:{title:"Diğer",savePlaylistAsCompilation:"Oynatma listelerini derleme olarak kaydet",useNullSeparator:"Boşluk ayırıcı kullan",saveID3v1:"ID3v1 dosyasını da kaydet",multiArtistSeparator:{title:"Sanatçılarınızı nasıl ayırmak istersiniz?",nothing:"Sadece ana sanatçıyı kaydet",default:"Genel prosedür uygulansın",andFeat:"Kullanılanlar & ve Feat.",using:'Kullanılan "{separator}"'},singleAlbumArtist:"Sadece ana albüm sanatçısını kaydet",albumVariousArtists:'"Çeşitli sanatçılar"ı sanatçı albümlerinde tut',removeAlbumVersion:'"Albüm Sürümü"nü parça başlığından çıkart',removeDuplicateArtists:"Sanatçı topluluğunu çıkart",dateFormat:{title:"FLAC dosyalar için zaman formatı",year:"YYYY",month:"AA",day:"GG"},featuredToTitle:{title:"Öne çıkan sanatçıları ne yapmalıyım?",0:"Elleme",1:"Başlıktan çıkart",3:"Başlıktan ve albüm başlığından çıkart",2:"Başlığa taşı"},titleCasing:"Albüm harfi",artistCasing:"Sanatçı harfi",casing:{nothing:"Değiştirmeden bırak",lower:"küçük harf",upper:"BÜYÜK HARF",start:"Kelimenin başı ile başla",sentence:"Cümle gibi yap"},previewVolume:"Ses önizlemesi",executeCommand:{title:"İndirdikten sonra komut uygula",description:"Bir şey yapmamak için boş bırak"}},spotify:{title:"Spotify Özelliği",clientID:"Spotify clientID",clientSecret:"Spotify Client Secret",username:"Spotify Kullanıcı Adı"},reset:"Varsayılana sıfırla",save:"Kaydet",toasts:{init:"Ayarlar yüklendi!",update:"Ayarlar güncellendi!",ARLcopied:"ARL panoya kopyalandı!"}},sidebar:{home:"Ana sayfa",search:"Ara",charts:"Grafikler",favorites:"Favoriler",linkAnalyzer:"Link Analizörü",settings:"Ayarlar",about:"Hakkında"},tracklist:{downloadSelection:"İndirme bölümü"}},vn:{globals:{welcome:"Chào mừng đến với deemix",back:"trở lại",loading:"đang tải",download:"Tải xuống {thing}",by:"bởi {artist}",in:"trong {album}",download_hint:"Tải xuống",play_hint:"Phát",toggle_download_tab_hint:"Mở rộng/Giấu",clean_queue_hint:"Xóa những file đã tải xong",cancel_queue_hint:"Hủy tất cả",listTabs:{empty:"",all:"tất cả",top_result:"kết quả hàng đầu",album:"album | album",artist:"Nghệ sĩ | Nghệ sĩ",single:"đơn | đơn",title:"tiêu đề | tiêu đề",track:"Bài hát | Bài hát",trackN:"0 Bài hát | {n} Bài hát | {n} Bài hát",releaseN:"0 sản phẩm | {n} sản phẩm | {n} sản phẩm",playlist:"playlist | playlist",compile:"tổng hợp | tổng hợp",ep:"ep | ep",spotifyPlaylist:"playlist của spotify | playlist của spotify",releaseDate:"ngày phát hành",error:"lỗi"}},about:{titles:{usefulLinks:"Link hữu dụng",bugReports:"Báo lỗi",contributing:"Đóng góp",donations:"Quyên góp",license:"Bằng phép"},subtitles:{bugReports:"Bạn thấy có gì đó không hoạt động trong deemix? Xin hãy báo với chúng tôi!",contributing:"Bạn muốn đóng góp cho dự án này? Bạn có thể làm điều đó với nhiều cách khác nhau!",donations:"Bạn muốn ủng hộ kinh phí? Bạn có thể quyên góp tại đây!"},usesLibrary:"Ứng dụng này sử dụng thư viện deemix, bạn có thể dùng nó để tạo một UI riêng cho deemix.",thanks:"Cảm ơn rtonno, uhwotlollilol đã giúp tôi với dự án này và BasCurtiz với việc thiết kế biểu tượng.",upToDate:{text:"Cập nhật app bằng cách theo dõi {newsChannel} trên Telegram.",newsChannel:"kênh tin tức"},officialWebsite:"Website chính thức",officialRepo:"Repo thư viện chính thức",officialWebuiRepo:"Repo WebUI chính thức",officialSubreddit:"Subreddit chính thức",newsChannel:"Kênh tin tức",questions:{text:"Nếu bạn có câu hỏi hoặc vấn đề về ứng dụng này, xin hãy tìm giải pháp trên {subreddit} trước. Sau đó, nếu bạn không tìm được gì thì bạn có thể tạo một bài đăng về vấn đề của bạn trên subreddit dó.",subreddit:"subreddit"},beforeReporting:"Trước khi báo lỗi hãy đảm bảo bạn đang sử dụng phiên bản mới nhất của ứng dụng và lỗi bạn đang gặp không phải là do bạn.",beSure:"Hãy đảm bảo là lỗi này vẫn có thể xảy ra trên các thiết bị khác và XIN ĐỪNG báo lỗi đã được báo rồi.",duplicateReports:"Những bản báo lỗi trùng nhau sẽ bị đóng, xin bạn hãy để ý điều này.",dontOpenIssues:"XIN ĐỪNG mở vấn đề để hỏi, bạn có thể dùng subreddit trên cho việc đó.",newUI:{text:"Nếu bạn thành thạo với python bạn có thể tạo một UI mới bằng cách sử dụng thư viện gốc, hoặc sửa lỗi trong thư viện đó với một pull request trên {repo}.",repo:"repo này"},acceptFeatures:"Tôi có chấp nhận yêu cầu về tính năng mới nhưng không quá phức tạp bởi vì chúng có thể được triển khai trực tiếp vào ứng dụng thay vì vào thư viện.",otherLanguages:"Nếu bạn thành thạo với một ngôn ngữ khác, bạn có thể port deemix sang ngôn ngữ đó!",understandingCode:"Bạn muốn hiểu code của deemix? Xin hãy liên lạc RemixDev trên Telegram hoặc Reddit.",contributeWebUI:{text:"Nếu bạn biết Vue.js (JavaScript), HTML hoặc CSS, bạn có thể góp phần phát triển {webui}.",webui:"WebUI"},itsFree:"Bạn nên nhớ rằng đây là một dự án phi lợi nhuậnbạn nên ủng hộ những Nghệ sĩ yêu thích của bạn trước khi ủng hộ nhà phát triển.",notObligated:"Đừng nghĩ rằng bạn phải đóng góp tiền, tôi vẫn sẽ rất biết ơn bạn!",lincensedUnder:{text:"Dự án này được cấp phép bởi {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Bảng xếp hạng",changeCountry:"Thay đổi quốc gia",download:"Tải xuống bảng xếp hạng này"},errors:{title:"Lỗi {name}",ids:{invalidURL:"Không nhận diện được URL",unsupportedURL:"URL này chưa được hỗ trợ",ISRCnotOnDeezer:"ISRC của bài hát này hiện không có trên Deezer",notYourPrivatePlaylist:"Bạn không thể tải xuống playlist riêng của người khác.",spotifyDisabled:"Chức năng Spotify chưa được thiết lập đúng cách.",trackNotOnDeezer:"Bài hát không có trên Deezer!",albumNotOnDeezer:"Album không có trên Deezer!",notOnDeezer:"Bài hát chưa có trên Deezer!",notEncoded:"Bài hát chưa được encode!",notEncodedNoAlternative:"Bài hát chưa được encode và không có bản thay thế nào khác!",wrongBitrate:"Bài hát này không có ở bitrate bạn muốn.",wrongBitrateNoAlternative:"Bài hát này không có ở bitrate bạn muốn và không có bản thay thế nào khác!",no360RA:"Bài hát này không có ở dạng Reality Audio 360.",notAvailable:"Bài hát này không có trên server của Deezer!",notAvailableNoAlternative:"Bài hát này không có trên server của Deezer và không có bản thay thế nào khác!"}},favorites:{title:"Yêu thích",noPlaylists:"Không tìm được Playlist",noAlbums:"Không tìm được Album Yêu thích",noArtists:"Không tìm được Nghệ sĩ Yêu thích",noTracks:"Không tìm được Bài hát Yêu thích"},home:{needTologin:"Bạn cần phải đăng nhập vào tài khoản Deezer trước khi bắt đầu tải xuống.",openSettings:"Mở Cài đặt",sections:{popularPlaylists:"Playlist Nổi tiếng",popularAlbums:"Album được stream nhiều nhất"}},linkAnalyzer:{info:"Bạn có thể sử dụng chức năng này để kiếm thêm thông tin về đường link mà bạn muốn tải xuống.",useful:"Chức năng này rất hữu dụng nếu bạn muốn tải các bài hát hiện không có sẵn ở quốc gia của bạn và muốn biết các quốc gia được hỗ trợ.",linkNotSupported:"Đường link này chưa được hỗ trợ",linkNotSupportedYet:"Đường link này chưa được hỗ trợ, xin hãy thử lại với một đường link khác.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Thời lượng",diskNumber:"Số đĩa",trackNumber:"Số bài hát",releaseDate:"Ngày phát hành",bpm:"BPM",label:"Hãng",recordType:"Loại Thu âm",genres:"Thể loại",tracklist:"Danh sách các bài hát"}},search:{startSearching:"Bắt đầu tìm kiếm!",description:"Bạn có thể tìm một bài hát, album, nghệ sĩ, playlist, v.v...! Bạn cũng có thể dùng link của Deezer",fans:"{n} người hâm mộ",noResults:"Không có kết quả",noResultsTrack:"Không tìm được bài hát nào",noResultsAlbum:"Không tìm được album nào",noResultsArtist:"Không tìm được nghệ sĩ nào",noResultsPlaylist:"Không tìm được playlist nào"},searchbar:"Tìm những gì bạn muốn (bạn cũng có thể sữ dụng một đường link)",downloads:"Tải xuống",toasts:{addedToQueue:"{item} đã được đưa vào hàng chờ",alreadyInQueue:"{item} đã đang trong hàng chờ!",finishDownload:"{item} đã tải xong.",allDownloaded:"Tất cả các bài hát đã được tải xuống!",refreshFavs:"Tải lại hoàn tất!",loggingIn:"Đang đăng nhập",loggedIn:"Đăng nhập thành công",alreadyLogged:"Đã đăng nhập",loginFailed:"Không thể đăng nhập",loggedOut:"Đăng xuất",cancellingCurrentItem:"Đang hủy file hiện tại.",currentItemCancelled:"File hiện tại đã bị hủy.",startAddingArtist:"Đang đưa {artist} album vào hàng chờ",finishAddingArtist:"Đã đưa {artist} album vào hàng chờ",startConvertingSpotifyPlaylist:"Đang chuyển đổi các bài hát từ Spotify sang Deezer",finishConvertingSpotifyPlaylist:"Playlist của Spotify đã được chuyển đổi",loginNeededToDownload:"Bạn cần phải đang nhập để tải nhạc!"},settings:{title:"Cài đặt",languages:"Ngôn ngữ",login:{title:"Đăng nhập",loggedIn:"Bạn đã đăng nhập với tên {username}",arl:{question:"Làm cách nào để có ARL của tôi?",update:"Cập nhật ARL"},logout:"Đăng xuất"},appearance:{title:"Giao diện",slimDownloadTab:"Thanh tải xuống nhỏ"},downloadPath:{title:"Nơi tải xuống"},templates:{title:"Bản mẫu",tracknameTemplate:"Bài hát mẫu",albumTracknameTemplate:"Bài hát trong album mẫu",playlistTracknameTemplate:"Bài hát trong playlist mẫu"},folders:{title:"Thư mục",createPlaylistFolder:"Tạo thư mục cho playlist",playlistNameTemplate:"Thư mục playlist mẫu",createArtistFolder:"Tạo thư mục cho nghệ sĩ",artistNameTemplate:"Thư mục Nghệ sĩ mẫu",createAlbumFolder:"Tạo thư mục cho album",albumNameTemplate:"Thư mục cho album mẫu",createCDFolder:"Tạo thư mục cho đĩa CD",createStructurePlaylist:"Tạo thư mục có kết cấu cho playlist",createSingleFolder:"Tạo thư mục có kết cấu cho đĩa đơn"},trackTitles:{title:"Tên bài hát",padTracks:"Đệm tên bài hát",paddingSize:"Ghì đè kích cỡ phần đệm",illegalCharacterReplacer:"Thay các kí tự không hợp lệ với"},downloads:{title:"Tải xuống",queueConcurrency:"Số lượng tải xuống cùng lúc",maxBitrate:{title:"Bitrate ưa thích",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Tôi có nên ghi đè file này không?",y:"Có, hãy ghi đè file này",n:"Không, đừng ghi đè file này",t:"Chỉ ghi đè các tag"},fallbackBitrate:"Bitrate dự phòng",fallbackSearch:"Search dự phòng",logErrors:"Tạo file log khi có lỗi",logSearched:"Tạo file log khi bạn tìm Bài hát",createM3U8File:"Tạo file playlist",syncedLyrics:"Tạo file .lyr (Lời Bài hát)",playlistFilenameTemplate:"Tên playlist mẫu",saveDownloadQueue:"Lưu hàng chờ download khi đóng ứng dụng"},covers:{title:"Bìa album",saveArtwork:"Lưu bìa",coverImageTemplate:"Tên bìa mẫu",saveArtworkArtist:"Lưu hình Nghệ sĩ",artistImageTemplate:"Hình nghệ sĩ mẫu",localArtworkSize:"Kích cỡ file bìa",embeddedArtworkSize:"Kích cỡ bìa trong file bài hát",localArtworkFormat:{title:"Bạn muốn file bìa ở định dạng nào?",jpg:"jpg",png:"png",both:"Cả jpg và png"},jpegImageQuality:"Chất lượng file JPEG"},tags:{head:"Những tag sẽ được lưu",title:"Tiêu đề",artist:"Nghệ sĩ",album:"Album",cover:"Bìa",trackNumber:"Số bài hát",trackTotal:"Tổng số bài hát",discNumber:"Số đĩa",discTotal:"Tổng số đĩa",albumArtist:"Nghệ sĩ của album",genre:"Thể loại",year:"Năm",date:"Ngày",explicit:"Lời explicit",isrc:"ISRC",length:"Thời lượng",barcode:"Mã vạch của album (UPC)",bpm:"BPM",replayGain:"ReplayGain",label:"Nhãn hiệu album",lyrics:"Lời",copyright:"Bản quyền",composer:"Nhà soạn nhạc",involvedPeople:"Những người liên quan"},other:{title:"Khác",savePlaylistAsCompilation:"Lưu playlist dưới dạng tuyển tập",useNullSeparator:"Dùng dải phân cách null",saveID3v1:"Lưu ID3v1",multiArtistSeparator:{title:"Bạn muốn phân cách các nghệ sĩ như thế nào?",nothing:"Chỉ lưu nghệ sĩ chính",default:"Dùng quy cách tiêu chuẩn",andFeat:"Dùng & và feat.",using:'Dùng "{separator}"'},singleAlbumArtist:"Chỉ lưu Nghệ sĩ Album chính",albumVariousArtists:'Giữ nguyên "Nhiều Nghệ sĩ" trong Nghệ sĩ Album',removeAlbumVersion:'Bỏ "Phiên bản Album" khỏi tên bài hát',removeDuplicateArtists:"Bỏ các tên nghệ sĩ phối hợp",dateFormat:{title:"Định dạng ngày cho file FLAC ",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Tôi nên làm gì với các nghệ sĩ đóng góp?",0:"Không làm gì cả",1:"Bỏ chúng khỏi tên bài hát",3:"Bỏ chúng khỏi tên bài hát và tên album",2:"Đưa chúng vào tên bài hát"},titleCasing:"Định dạng tên bài hát",artistCasing:"Định dạng tên nghệ sĩ",casing:{nothing:"Không đổi",lower:"chữ thường",upper:"CHỮ HOA",start:"Viết Hoa Ở Chữ Cái Đầu Tiên Của Mỗi Từ",sentence:"Như một câu"},previewVolume:"Âm lượng nghe thử",executeCommand:{title:"Thực hiện những lệnh này khi đã tải xuống xong",description:"Để trống nếu bạn không muốn thực hiện lệnh nào"}},spotify:{title:"Chức năng Spotify",clientID:"ClientID của Spotify",clientSecret:"Client Secret của Spotify",username:"Tên tài khoản của Spotify"},reset:"Quay trở lại cài đặt mặc định",save:"Lưu",toasts:{init:"Cài đặt đã được thiết lập!",update:"Cài đặt cập nhật thành công!",ARLcopied:"ARL đã được sao chép vào clipboard"}},sidebar:{home:"trang chủ",search:"tìm kiếm",charts:"bảng xếp hạng",favorites:"yêu thích",linkAnalyzer:"phân tích link",settings:"cài đặt",about:"thông tin"},tracklist:{downloadSelection:"Tải xuống những mục đã chọn"}},hr:{globals:{welcome:"Dobrodošli u deemix",back:"nazad",loading:"učitavanje",download:"Preuzmi {thing}",by:"by {artist}",in:"u {album}",download_hint:"Preuzmi",play_hint:"Play",toggle_download_tab_hint:"Proširi/Smanji",clean_queue_hint:"Čišćenje završeno",cancel_queue_hint:"Zaustavi sve",listTabs:{empty:"",all:"sve",top_result:"Najbolji rezultat",album:"album | albumi",artist:"izvođač | izvođači",single:"singl | singlovi",title:"naslov | naslovi",track:"pjesma | pjesme",trackN:"0 pjesmi | {n} pjesma | {n} pjesme",releaseN:"0 izdanja | {n} izdanje | {n} izdanja",playlist:"playlista | playliste",compile:"kompilacija | kompilacije",ep:"ep | eps",spotifyPlaylist:"spotify playlista | spotify playliste",releaseDate:"datum izdavanja",error:"greška"}},about:{titles:{usefulLinks:"Korisne poveznice",bugReports:"Prijave grešaka",contributing:"Doprinosi",donations:"Donacije",license:"Licenca"},subtitles:{bugReports:"Postoji nešto što ne radi u deemixu? Reci nam!",contributing:"Želiš doprinijeti ovom projektu? Možeš i to čak u više načina!",donations:"Želiš doprijeniti odmah? Možeš donirati!"},usesLibrary:"Ova aplikacija koristi deemix biblioteku, koju možeš koristiti i ti kako bi napravio svoj UI za demix.",thanks:"Hvala rtonno, uhwot i lollilol što su mi pomogli s ovim projektom te BasCurtiz što su napravili ikonu.",upToDate:{text:"Ostani u tijeku s nadogradnjama prateći {newsChannel} na Telegramu.",newsChannel:"kanal s novostima"},officialWebsite:"Službena web stranica",officialRepo:"Službeni repozitorij biblioteke",officialWebuiRepo:"Službeni WebUI repozitorij",officialSubreddit:"Službeni subreddit",newsChannel:"Kanal s novostima",questions:{text:"Ukoliko imate pitanja o aplikaciji, prvo potražite riješenje na {subreddit}. Tada, ako ne pronađete ništa, možete objaviti svoj problem na subredditu.",subreddit:"subreddit"},beforeReporting:"Prije prijavljivanja greške provjerite imate li instaliranu zadnju verziju aplikacije i da to što želite prijaviti je ustvari pogreška, a ne nešto što samo vama ne radi.",beSure:"Provjerite može li se pogreška reproducirati i na drugim uređajima i također NEMOJTE prijavljivati grešku ako je već prijavljena.",duplicateReports:"Duplicirane prijave o greški bit će zatvorene, tako da pripazite na to.",dontOpenIssues:"NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.",newUI:{text:"Ako ste vješti u pythonu možete probati napraviti novi UI za aplikaciju koristeći osnovnu biblioteku ili ispraviti pogrešku u biblioteci sa pull zahtjevom na {repo}.",repo:"repozitoriju"},acceptFeatures:"Prihavaćam i značajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.",otherLanguages:"Ako ste vješti u drugom programskom jezikumožete probati portati deemix u drugi programski jezik!",understandingCode:"Trebate pomoć s razumijevanjem koda? Samo potraži RemixDev na Telegramu ili Redditu.",contributeWebUI:{text:"Ako znaš Vue.js (JavaScript), HTML ili CSS možete doprinijeti za {webui}.",webui:"WebUI"},itsFree:"Trebate zapamtiti da je ovo besplatni projekt i trebali biste podržati autore koje volite prije podržavanja developera.",notObligated:"Nemojte se osjećati obveznim darivati, svejedno vas cijenim!",lincensedUnder:{text:"Ovaj rad licenciran je unutar {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Ljestvice",changeCountry:"Promijeni državu",download:"Preuzmi ljestvicu"},errors:{title:"Greške za {name}",ids:{invalidURL:"URL nije prepoznat",unsupportedURL:"URL još nije podržan",ISRCnotOnDeezer:"Zapis ISRC još nije podržan na Deezeru",notYourPrivatePlaylist:"Ne možete preuzeti tuđe privatne playliste.",spotifyDisabled:"Spotify značajke nisu podešene ispravno.",trackNotOnDeezer:"Pjesma nije pronađena na Deezeru!",albumNotOnDeezer:"Album nije pronađen na Deezeru!",notOnDeezer:"Pjesma nije dostupna na Deezeru!",notEncoded:"Pjesma još nije enkodirana!",notEncodedNoAlternative:"Pjesma još nije enkodirana i nije pronađena alternativa!",wrongBitrate:"Pjesma nije pronađena u željenom bitrateu.",wrongBitrateNoAlternative:"Pjesma nije pronađena u željenom bitrateu i nije pronađena alternativa!",no360RA:"Pjesma nije dostupna u Reality Audio 360.",notAvailable:"Pjesma nije dostupna na Deezerovim serverima!",notAvailableNoAlternative:"Pjesma nije dostupna na Deezerovim serverima i alternativa nije pronađena!"}},favorites:{title:"Favoriti",noPlaylists:"Nisu pronađene playliste",noAlbums:"Omiljeni albumi nisu pronađeni",noArtists:"Omiljeni glazbenici nisu pronađeni",noTracks:"Omiljene pjesme nisu pronađene"},home:{needTologin:"Trebate se prijaviti sa svojim Deezer računom kako biste mogli početi preuzimati pjesme.",openSettings:"Otvori postavke",sections:{popularPlaylists:"Popularne playliste",popularAlbums:"Najpreslušaniji album"}},linkAnalyzer:{info:"Ovu sekciju možete koristiti kako biste saznali više informacija o linku koji pokušavate preuzeti.",useful:"Ovo je korisno ako pokušavate preuzeti pjesme koje još nisu dostupne u vašoj zemlji i želite, na primjer, znati gdje su dostupne.",linkNotSupported:"Ovaj link još nije podržan",linkNotSupportedYet:"Čini se da ovaj link još nije podržan, pokušaj analizirati neki drugi.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Trajanje",diskNumber:"Broj diska",trackNumber:"Broj pjesme",releaseDate:"Datum izadavanja",bpm:"BPM",label:"Izdavačka kuća",recordType:"Vrsta zapisa",genres:"Žanrovi",tracklist:"Popis pjesama"}},search:{startSearching:"Počni pretraživati!",description:"Možete pretražiti pjesmu, cijeli album, izvođača, playlistu... sve! Također, možete i zalijepiti Deezer link",fans:"{n} obožavatelja",noResults:"Nema rezultata",noResultsTrack:"Pjesme nisu pronađene",noResultsAlbum:"Albumi nisu pronađeni",noResultsArtist:"Izvođači nisu pronađeni",noResultsPlaylist:"Playliste nisu pronađene"},searchbar:"Pretraži bilo što (ili samo zalijepi link)",downloads:"preuzimanja",toasts:{addedToQueue:"{item} dodan u red",alreadyInQueue:"{item} je već u redu!",finishDownload:"{item} završeno preuzimanje.",allDownloaded:"Sva preuzimanja završena!",refreshFavs:"Osvježavanje završeno!",loggingIn:"Prijavljivanje...",loggedIn:"Prijavljeni",alreadyLogged:"Već prijavljeni",loginFailed:"Prijava nije bila moguća",loggedOut:"Odjavljeni",cancellingCurrentItem:"Otkazujem trenutnu stavku.",currentItemCancelled:"Trenutna stavka otkazana.",startAddingArtist:"Dodajem {artist} album u red",finishAddingArtist:"Dodan {artist} album u red",startConvertingSpotifyPlaylist:"Pretvaram Spotify pjesme u Deezer pjesme",finishConvertingSpotifyPlaylist:"Spotify playlista pretvorena",loginNeededToDownload:"Trebate se prijaviti kako bi preuzeli pjesme!"},settings:{title:"Postavke",languages:"Jezici",login:{title:"Prijava",loggedIn:"Prijavljeni ste kao {username}",arl:{question:"Kako da dobijem svoj ARL?",update:"Ažuriraj ARL"},logout:"Odjavi se"},appearance:{title:"Izgled",slimDownloadTab:"Tanka kartica za preuzimanje"},downloadPath:{title:"Putanja za preuzimanja"},templates:{title:"Predlošci",tracknameTemplate:"Naziv pjesme predložak",albumTracknameTemplate:"Pjesma albuma predložak",playlistTracknameTemplate:"Pjesma playliste predložak"},folders:{title:"Mape",createPlaylistFolder:"Izradi mapu za playliste",playlistNameTemplate:"Mapa za playliste predložak",createArtistFolder:"Izradi mapu za izvođača",artistNameTemplate:"Izvođač mapa predložak",createAlbumFolder:"Izradi mapu za album",albumNameTemplate:"Album mapa predložak",createCDFolder:"Izradi mapu za CD",createStructurePlaylist:"Strkturiraj mape za playliste",createSingleFolder:"Strukturiraj mape za singlove"},trackTitles:{title:"Naslovi pjesama",padTracks:"Pad tracks",paddingSize:"Prepiši veličinu paddinga",illegalCharacterReplacer:"Zamjena za nedozvoljeni znak"},downloads:{title:"Preuzimanja",queueConcurrency:"Istovremena preuzimanja",maxBitrate:{title:"Željeni bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Trebam li prepisati datoteke?",y:"Da, prepiši datoteke",n:"Ne, nemoj prepisati datoteke",t:"Prepiši samo oznake",b:"Ne, zadrži obje datoteke i dodaj broj duplikatu"},fallbackBitrate:"Bitrate fallback",fallbackSearch:"Pretraživanje fallback",logErrors:"Izradi zapisnik datoteku za greške",logSearched:"Izradi zapisnik datoteku za pretražene pjesme",createM3U8File:"Izradi playlist datoteku",syncedLyrics:"Izradi .lyr datoteke (sinkronizirani lyrics)",playlistFilenameTemplate:"Naziv playliste predložak",saveDownloadQueue:"Spremi red za preuzimanje prilikom zatvaranja aplikacije"},covers:{title:"Omoti albuma",saveArtwork:"Spremi omote",coverImageTemplate:"Naziv omota predložak",saveArtworkArtist:"Spremi sliku izvođača",artistImageTemplate:"Slika izvođača predložak",localArtworkSize:"Veličina lokalnog omota",embeddedArtworkSize:"Veličina ugrađenog omota",localArtworkFormat:{title:"U kojem formatu želite lokalni omot?",jpg:"Jpeg slika",png:"Png slika",both:"I jpeg i png"},jpegImageQuality:"JPEG kvaliteta slike"},tags:{head:"Koja oznake spremam",title:"Naslovi",artist:"Izvođač",album:"Album",cover:"Omot",trackNumber:"Broj pjesme",trackTotal:"Ukupno pjesama",discNumber:"Broj diska",discTotal:"Ukupno diskova",albumArtist:"Izvođač albuma",genre:"Žanr",year:"Godina",date:"Datum",explicit:"Eksplicitni lyrics",isrc:"ISRC",length:"Dužina pjesme",barcode:"Album barkod (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Izdavačka kuća albuma",lyrics:"Nesinkronizirani lyrics",copyright:"Autorska prava",composer:"Skladatelj",involvedPeople:"Uključeni ljudi"},other:{title:"Ostalo",savePlaylistAsCompilation:"Spremi playliste kao kompilacije",useNullSeparator:"Koristi null razdvojnik",saveID3v1:"Spremi i ID3v1 također",multiArtistSeparator:{title:"Kako biste željeli razdvojiti izvođače?",nothing:"Spremi samo glavnog izvođača",default:"Koristeći standardnu specifikaciju",andFeat:"Koristeći & i feat.",using:'Koristeći "{separator}"'},singleAlbumArtist:"Spremi samo izvođača glavnog albuma",albumVariousArtists:'Zadrži "Various Artists" u Izvođačima albuma',removeAlbumVersion:'Izbriši "Album Version" iz naziva pjesme',removeDuplicateArtists:"Izbriši kombinacije izvođača",dateFormat:{title:"Format datuma za FLAC datoteke",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Što trebam napraviti s istaknutim izvođačima? (feat. i ft.)",0:"Ništa",1:"Izbriši ih iz naziva",3:"Izbriši ih iz naziva i iz naziva albuma",2:"Premjesti ih u naziv"},titleCasing:"Veličina slova naslova",artistCasing:"Veličina slova izvođača",casing:{nothing:"Zadrži nepromijenjeno",lower:"sve malo",upper:"sve VELIKO",start:"Početak Svake Riječi",sentence:"Kao rečenica"},previewVolume:"Volumen pregleda",executeCommand:{title:"Naredba za izvršenje nakon preuzimanja",description:"Ostavi prazno za bez akcije"}},spotify:{title:"Spotify značajke",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify korisničko ime"},reset:"Resetiraj na zadano",save:"Spremi",toasts:{init:"Postavke učitane!",update:"Postavke ažurirane!",ARLcopied:"ARL kopiran u međuspremnik"}},sidebar:{home:"početna",search:"pretraživanje",charts:"ljestvice",favorites:"favoriti",linkAnalyzer:"analizator linka",settings:"postavke",about:"o programu"},tracklist:{downloadSelection:"Preuzmi selekciju"}},ar:{globals:{welcome:"مرحبأ بك في ديمكس",back:"رجوع",loading:"جار التحميل",download:"تحميل {thing}",by:"بواسطة {artist}",in:"في {album}",download_hint:"تحميل",play_hint:"تشغيل",toggle_download_tab_hint:"عرض/اخفاء",clean_queue_hint:"تم المسح",cancel_queue_hint:"الغاء الكل",listTabs:{empty:"",all:"الكل",top_result:"افضل النتائج",album:"البوم | البومات",artist:"فنان | فنانون",single:"اغنية | اغنية",title:"عنوان | عناوين",track:"مقطع | مقاطع",trackN:"0 مقاطع | {n} مقطع | {n} مقطع",releaseN:"0 اصدار | {n} اصدار | {n} اصدار",playlist:"قائمة تشغيل | قوائم تشغيل",compile:"مجموعة | مجموعات",ep:"ep | eps",spotifyPlaylist:"قائمة تشغيل سبوتفاي | قوائم تشغيل سبوتفاي",releaseDate:"تاريخ الاصدار",error:"خطأ"}},about:{titles:{usefulLinks:"روابط مهمة",bugReports:"ابلاغ عن مشكلة",contributing:"مساهمة",donations:"التبرع",license:"الرخصة"},subtitles:{bugReports:"هل هناك شيء لا يعمل في ديمكس؟ أخبرنا",contributing:"تريد المساهمة في هذا المشروع؟ يمكنك القيام بذلك بعدة طرق",donations:"تريد المساهمة مادياً؟ يمكنك التبرع"},usesLibrary:"هذا البرنامج يستخدم مكتبة ديمكس والتي يمكنك استخدامها لإنشاء واجهة مستخدم خاصة بك لديمكس.",thanks:"شكرا لـ rtonno, و uhwot و lollilol لمساعدتي في هذا المشروع و لـ BasCurtiz لصنع الايقونة.",officialWebsite:"الموقع الرسمي",officialRepo:"مستودع المكتبة الرسمي",officialWebuiRepo:"مستودع واجهة الويب الرسمي",officialSubreddit:"السب ريدت الرسمي",newsChannel:"قناة الاخبار",beforeReporting:"قبل ان تبلغ عن خطأ، تأكد من أنك تشغل أحدث إصدار من التطبيق وأن ما تريد الإبلاغ عنه هو في الواقع خطأ وليس مشكلة من جهتك.",beSure:"تأكد من أن الخطأ يمكن إعادة إنتاجه على أجهزة أخرى و ايضاً لا تبلغ علة خطأ تم التبليغ عنه سابقاً.",duplicateReports:"سيتم إغلاق تقارير الأخطاء المكررة ، لذلك ترقب ذلك.",dontOpenIssues:"DO NOT open issues for asking questions, there is a subreddit for that.",acceptFeatures:"أقبل اقتراحات الميزات أيضًا ، ولكن لا أشياء معقدة ، فقط اشياء يمكنني تنفيذها مباشرة في التطبيق وليس في المكتبة.",otherLanguages:"إذا كنت تجيد لغة برمجة أخرى ، يمكنك محاولة تحويل ديمكس إلى لغات برمجة أخرى!",understandingCode:"أنت بحاجة إلى مساعدة في فهم الكود؟ فقط اتصل بـ RemixDev على تيليكرام او ريديت.",itsFree:"يجب ان تتذكر ان هذا هو مشروع مجاني و عليك دعم الفنانين المفضلين لك قبل ان تدعم مطورين البرنامج.",notObligated:"لا تشعر بالالتزام بالتبرع ، لكني أقدر ذلك على أي حال!"},charts:{title:"قائمة الجداول",changeCountry:"تغيير الدولة",download:"تحميل قائمة الجدول"},errors:{title:"خطأ في {name}",ids:{invalidURL:"الرابط غير صحيح",unsupportedURL:"الرابط غير متاح حتى الانً",ISRCnotOnDeezer:"رمز المقطع غير متوفر في ديزر",notYourPrivatePlaylist:"لا يمكنك تحميل قوائم التشغيل الخاصة و المخفية.",spotifyDisabled:"لم يتم اعداد ميزات سبوتفاي بالطرقة الصحيحة .",trackNotOnDeezer:"المقطع لا يوجد في ديزر!",albumNotOnDeezer:"الالبوم لا يوجد في ديزر!",notOnDeezer:"المقطع لا يوجد في ديزر!",notEncoded:"لم يتم تشفير المقطع حتى الانً!",notEncodedNoAlternative:"لم يتم تشفير المقطع حتى الآن ولم يتم العثور على بديل!",wrongBitrate:"لم يتم العثور على المقطع في الدقة المطلوبة.",wrongBitrateNoAlternative:"لم يتم العثور على المقطع في الدقة المطلوبة و لا توجد دقة بديلة!",no360RA:"المقطع غير متوفر في Reality Audio 360.",notAvailable:"المقطع غير متوفر في سيرفرات ديزر!",notAvailableNoAlternative:"المقطع غير متوفر في سيرفرات ديزر و لا يوجد بديل حتى الان!"}},favorites:{title:"المفضلات",noPlaylists:"لا يوجد قوائم تشغيل",noAlbums:"لم لا توجد البومات مفضلة",noArtists:"لا يوجد فنانين مفضلين",noTracks:"لا توجد مقاطع مفضلة"},home:{needTologin:"يجب عليك التسجيل في حساب ديزر قبل بدء التحميل.",openSettings:"فتح الاعدادات",sections:{popularPlaylists:"قوائم تشغيل مشهورة",popularAlbums:"اكثر الالبومات سماعأ"}},linkAnalyzer:{info:"يمكنك استخدام هذا القسم للعثور على مزيد من المعلومات حول الرابط الذي تحاول تنزيله.",useful:" كمثال هذا مفيد إذا كنت تحاول تنزيل بعض المقاطع الغير المتاحة في بلدك وتريد معرفة مكان توفرها .",linkNotSupported:"هذا الرابط غير معتمد حتى الآن",linkNotSupportedYet:"يبدو أن هذا الرابط غير معتمد حتى الآن ، حاول تحليل رابط آخر.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"المدة الزمنية",diskNumber:"رقم القرص",trackNumber:"رقم المقطع",releaseDate:"تاريخ الاصدار",bpm:"BPM",label:"Label",recordType:"نوع التسجيل",genres:"النوع الفني",tracklist:"قائمة المقاطع"}},search:{startSearching:"ابدأ البحث!",description:"يمكنك البحث عن مقطع ، ألبوم كامل ، فنان ، قائمة تشغيل .... كل شيء! يمكنك أيضًا لصق رابط ديزر",fans:"{n} متابعون",noResults:"لا يوجد نتائج",noResultsTrack:"لم يتم العثور على مقاطع",noResultsAlbum:"لم يتم العثور على البومات",noResultsArtist:"لم يتم العثور على فنانين",noResultsPlaylist:"لم يتم العثور على قوائم تشغيل"},searchbar:"ابحث عن أي شيء تريده (أو الصق رابط)",downloads:"التحميلات",toasts:{addedToQueue:"{item} تمت إلأضافة إلى قائمة الانتظار",alreadyInQueue:"{item} حالياً في قائمة الانتظار!",finishDownload:"{item} انتهى تحميل.",allDownloaded:"اكتملت جميع التنزيلات!",refreshFavs:"اكتمل التحديث!",loggingIn:"جار تسجيل الدخول...",loggedIn:"تم تسجيل الدخول",alreadyLogged:"تم تسجيل الدخول بالفعل",loginFailed:"تعذر تسجيل الدخول",loggedOut:"تم تسجيل الخروج",cancellingCurrentItem:"جار الغاء العنصر الحالي.",currentItemCancelled:"تم الغاء العنصر الحالي.",startAddingArtist:"جار اضافة {artist} البوم الى قائمة الانتضار",finishAddingArtist:"تم اضافة {artist} البوم الى قائمة الانتضار",startConvertingSpotifyPlaylist:"جار تحويل مقاطع سبوتفاي الى مقاطع ديزر",finishConvertingSpotifyPlaylist:"تم تحويل قائمة تشغيل سبوتفاي",loginNeededToDownload:"يجب عليك تسجيل الدخول لتحميل المقاطع!"},settings:{title:"الاعدادات",languages:"اللغات",login:{title:"تسجيل الدخول",loggedIn:"تم تسجيل الدخول كـ {username}",arl:{question:"كيفية الحصول علة ARL",update:"ارفع ال ARL"},logout:"تسجيل الخروج"},appearance:{title:"المظهر",slimDownloadTab:"لوحة التحميل الرفيعة"},downloadPath:{title:"مسار التحميل"},templates:{title:"القوالب",tracknameTemplate:"قالب اسم المقطع",albumTracknameTemplate:"قالب مقطع الالبوم",playlistTracknameTemplate:"قالب مقطع قائمة التشغيل"},folders:{title:"الملفات",createPlaylistFolder:"اصنع ملف لقائمة التشغيل",playlistNameTemplate:"قالب ملف قائمة التشغيل",createArtistFolder:"اصنع ملف للفنان",artistNameTemplate:"قالب ملف الفنان",createAlbumFolder:"اصنع ملف للالبوم",albumNameTemplate:"قالب ملف الالبوم",createCDFolder:"اصنع ملف للاقراص",createStructurePlaylist:"اصنع هيكل مجلدات لقوائم التشغيل",createSingleFolder:"اصنع هيكل مجلدات لالبومات ذات الاغنية الواحدة"},trackTitles:{title:"عنوان المقطع",padTracks:"Pad tracks",paddingSize:"Overwrite padding size",illegalCharacterReplacer:"محول الكتابات الغير مسموح بها"},downloads:{title:"التحميلات",queueConcurrency:"التنزيلات المتزامنة",maxBitrate:{title:"الدقة المفضلة",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"هل يمكنني استبدال الملفات?",y:"نعم, استبدال الملفات",n:"لا, لا تبدل الملفات",t:"استبدل العلامات فقط",b:"لا ، احتفظ بالملفين وأضف رقمًا إلى الملف المكرر"},fallbackBitrate:"تراجع الدقة",fallbackSearch:"تراجع البحث",logErrors:"إنشاء ملفات سجل للأخطاء",logSearched:"إنشاء ملفات سجل للمقاطع التي تم البحث عنها",createM3U8File:"انشاء ملف لقوائم التشغيل",syncedLyrics:"انشاء ملف لكلمات الاغنية",playlistFilenameTemplate:"قالب اسم ملف قائمة التشغيل",saveDownloadQueue:"حفظ قائمة انتظار التنزيل عند إغلاق التطبيق"},covers:{title:"غلاف الالبوم",saveArtwork:"احفظ الغلاف",coverImageTemplate:"تغطية قالب الاسم",saveArtworkArtist:"احفظ صورة الفنان",artistImageTemplate:"قالب صورة الفنان",localArtworkSize:"حجم الصورة",embeddedArtworkSize:"حجم الصورة المدمجة",localArtworkFormat:{title:"بأي صيغة تريد حفظ الصورة?",jpg:"jpeg صورة",png:"png صورة",both:"الاثنين png و jpeg"},jpegImageQuality:"JPEG دقة صورة"},tags:{head:"العلامات التي يتم حفظها",title:"العنوان",artist:"الفنان",album:"الالبوم",cover:"الغلاف",trackNumber:"رقم المقطع",trackTotal:"مجموع المقاطع",discNumber:"رقم القرص",discTotal:"مجموع الاقراص",albumArtist:"فنان الالبوم",genre:"Genre",year:"السنة",date:"التاريخ",explicit:"كلمات اغنية صريحة للكبار",isrc:"ISRC",length:"طول المقطع",barcode:"Album Barcode (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Album Label",lyrics:"كلمات غير متزامنة",copyright:"حقوق النشر",composer:"ملحن",involvedPeople:"الناس المشتركون"},other:{title:"غير",savePlaylistAsCompilation:"حفظ قوائم التشغيل كمجموعة",useNullSeparator:"استخدم فاصل فارغ",saveID3v1:"احفظ ملف ID3v1",multiArtistSeparator:{title:"كيف تريد فصل الفنانين?",nothing:"احفظ الفنان الرئيسي فقط",default:"استخدام المواصفات القياسية",andFeat:"استخدام& و feat.",using:'استخدام "{separator}"'},singleAlbumArtist:"احفظ فقط فنان الألبوم الرئيسي",albumVariousArtists:'احتفظ بـ "فنانين متنوعين" في ألبوم الفنانين',removeAlbumVersion:'إزالة "إصدار الألبوم" من عنوان المسار',removeDuplicateArtists:"إزالة مجموعات الفنانين",dateFormat:{title:"صيغة التاريخ لملفات flac",year:"س س س س",month:"ش ش",day:"ي ي"},featuredToTitle:{title:"ماذا علي أن أفعل مع الفنانين الغير رئيسيين ?",0:"لا شيء",1:"حذفه من العنوان",3:"حذفه من عنوان الاغنية و الالبوم",2:"وضعه في العنوان"},titleCasing:"نوع كتابة العناون",artistCasing:"نوع كتابة الفنان",casing:{nothing:"بدون تغيير",lower:"احرف صغيرة",upper:"احرف كبيرة",start:"حرف كبير في بداية كل كلمة",sentence:"مثل جملة"},previewVolume:"معاينة الحجم",executeCommand:{title:"الأمر للتنفيذ بعد التنزيل",description:"اتركه فارغًا بدون إجراء"}},spotify:{title:"مميزات سبوتفاي",clientID:"معرف عميل سبوتفاي",clientSecret:"الكود السري لعميل سبوتفاي",username:"اسم مستخدم سبوتفاي"},reset:"إعادة تعيين إلى الافتراضي",save:"حفظ",toasts:{init:"تم تحميل الإعدادات!",update:"تم تحديث الاعدادات!",ARLcopied:"تم نسخ ARL إلى الحافظة"}},sidebar:{home:"الرئيسية",search:"بحث",charts:"قائمة الجداول",favorites:"المفضلة",linkAnalyzer:"محلل الروابط",settings:"الاعدادات",about:"حول"},tracklist:{downloadSelection:"تحميل الاختيار"}},ko:{globals:{welcome:"잘왔다, deemix에",back:"뒤로",loading:"불러오는 중",download:"{thing} 다운로드",by:"by {artist}",in:"in {album}",download_hint:"다운로드",play_hint:"재생",toggle_download_tab_hint:"펼치기/접기",clean_queue_hint:"비우기 완료",cancel_queue_hint:"모두 취소",open_downloads_folder:"다운로드 폴더 열기",cut:"잘라내기",copy:"복사",copyLink:"링크 복사",copyImageLink:"이미지 링크 복사",copyDeezerLink:"deezer 링크 복사",paste:"붙여넣기",listTabs:{empty:"",all:"전체",top_result:"가장 일치하는 결과",album:"앨범 | 앨범",artist:"아티스트 | 아티스트",single:"싱글 | 싱글",title:"제목 | 제목",track:"트랙 | 트랙",releaseN:"0 발매 | {n} 발매 | {n} 발매",playlist:"재생목록 | 재생목록",compile:"편찬물 | 편찬물",ep:"ep | eps",bundle:"번들 | 번들",more:"더 많은 앨범",featured:"특집",spotifyPlaylist:"스포티파이 재생목록 | 스포티파이 재생목록",releaseDate:"발매일자",error:"오류",trackN:"0 트랙 | {n} 트랙 | {n} 트랙",albumN:"0 앨범 | {n} 앨범 | {n} 앨범",artistN:"0 아티스트 | {n} 아티스트 | {n} 아티스트",playlistN:"0 재생목록 | {n} 재생목록 | {n} 재생목록"}},about:{appStatus:{online:"프로그램 온라인",offline:"프로그램 오프라인"},updates:{currentVersion:"현재 버전",currentWebuiVersion:"현재 WebUI 버전",versionNotAvailable:"N/A",updateAvailable:"최신버전으로 업데이트 할 수 있습니다: {version}",deemixVersion:"deemix lib 버전"},titles:{usefulLinks:"유용한 링크",bugReports:"버그 제보",contributing:"기여자",donations:"후원",license:"이용정책"},subtitles:{bugReports:"무언가 안되는 것이 있다고요? 말해주세요!",contributing:"이 프로젝트에 기여하고 싶다고요? 어렵지 않아요!",donations:"금전적으로 지원하고 싶다고요? 후원하세요!"},usesLibrary:"이 프로그램은 deemix 라이브러리를 사용합니다, 해당 라이브러리로 자신만의 deemix를 만들 수 있습니다.",thanks:"이 프로젝트를 도와준 rtonno, uhwot 그리고 lollilol님과 아이콘을 만들어준 BasCurtiz 그리고 scarvimane님에게 감사를.",upToDate:{text:"새로운 업데이트 소식을 듣고 싶으면 텔레그램 {newsChannel}을 참고하세요.",newsChannel:"새소식 정보통"},officialWebsite:"공식 웹사이트",officialRepo:"공식 라이브러리 저장소",officialWebuiRepo:"공식 WebUI 저장소",officialSubreddit:"공식 서브레딧",newsChannel:"새 소식 알리미",questions:{text:"프로그램에 대한 질문이나 문제에 관한 것은, 먼저 {subreddit}에서 답변을 검색해보세요. 그리고, 서브레딧에서 답변을 찾기 못한 경우에 다음 순서를 이용해주세요.",subreddit:"서브레딧"},beforeReporting:"버그 제보를 하기 전에 먼저 최신 버전의 프로그램을 실행하고 있는지, 제보하고자 하는 것이 버그이지 오로지 당신의 목적을 이루기 위한 요구가 아님을 확인해주세요.",beSure:"해당 버그가 다른 장치에서도 재현이 가능한지 확인하고 이미 제보된 버그의 경우에는 중복해서 보고하지 마세요.",duplicateReports:"중복된 버그 제보의 경우는 해당 요청을 닫을 것이니, 두 눈 뜨고 지켜보세요.",dontOpenIssues:"질문에 관한 것은 이슈를 열지 마세요, 서브레딧이 있습니다.",newUI:{text:"만약 당신이 파이썬에 능통하고 기본적인 라이브러리를 이용하여 새로운 UI를 만들었거나, 라이브러리의 버그를 수정하였다면 {repo}에 풀 리퀘스트 해주세요.",repo:"저장소"},acceptFeatures:"복잡하지 않은 기능 추가도 받습니다, 라이브러리가 아닌 앱에서 직접 구현할 수 있는 것으로요.",otherLanguages:"당신이 다른 프로그램 언어에 능통하면, 이 deemix 프로그램을 다른 프로그래밍 언어로 포팅할 수도 있습니다!",understandingCode:"코드를 이해하는 데 도움이 필요합니까? 위에 있는 RemixDev, 텔레그램, 서브레딧 링크를 누르세요.",contributeWebUI:{text:"만약 당신이 Vue.js (JavaScript), HTML 또는 CSS 개발자라면 {webui}에 도움을 주세요.",webui:"WebUI"},itsFree:"사용하기 전에 이 프로그램이 무료 프로젝트이고 개발자를 지원하기 전에 예술가들을 먼저 지원해야 함을 기억하세요.",notObligated:"기부는 프로젝트를 지속할 수 있는 동력이 됩니다!",lincensedUnder:{text:"이 작업이 요구하고 있는 라이센스는 아래와 같습니다 {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"차트",changeCountry:"국가 변경",download:"차트 다운로드"},errors:{title:"오류 발생: {name}",ids:{unsupportedURL:"URL 지원 누락",invalidURL:"URL 인식 실패",ISRCnotOnDeezer:"트랙 코드 식별이 불가능합니다",notYourPrivatePlaylist:"다른 사람의 비공개 재생 목록을 다운로드 할 수 없습니다.",spotifyDisabled:"스포티파이 기능이 올바르게 설정되지 않았습니다.",trackNotOnDeezer:"Deezer에서 트랙을 찾을 수 없습니다!",albumNotOnDeezer:"Deezer에서 앨범을 찾을 수 없습니다!",notOnDeezer:"Deezer에서 트랙을 찾을 수 없습니다!",notEncoded:"트랙이 아직 변환(encode)되지 않았습니다!",notEncodedNoAlternative:"트랙이 아직 변환(encode)되지 않았을 뿐더러 대체할 것을 찾지 못했습니다!",wrongBitrate:"요구하는 비트레이트의 트랙을 찾을 수 없습니다.",wrongBitrateNoAlternative:"요구하는 비트레이트를 찾을 수 없을 뿐더러 대체할 것을 찾지 못했습니다!",no360RA:"해당 트랙은 360 리얼리티 오디오에 존재하지 않습니다.",notAvailable:"해당 트랙은 Deezer 서버에 존재하지 않습니다!",notAvailableNoAlternative:"해당 트랙은 Deezer 서버에 존재하지 않을 뿐더러 대체할 것을 찾지 못했습니다!",noSpaceLeft:"장치에 여유 공간이 없습니다!",albumDoesntExists:"트랙의 앨범이 존재하지 않습니다, 정보 수집에 실패했습니다."}},favorites:{title:"즐겨듣는 음악",noPlaylists:"즐겨듣는 재생목록이 없습니다",noAlbums:"즐겨듣는 앨범이 없습니다",noArtists:"즐겨듣는 아티스트가 없습니다",noTracks:"즐겨듣는 트랙이 없습니다"},home:{needTologin:"다운로드를 시작하기 전에 Deezer 계정에 로그인을 해야합니다.",openSettings:"설정 열기",sections:{popularPlaylists:"인기있는 재생목록",popularAlbums:"가장 많이 재생된 앨범"}},linkAnalyzer:{info:"이 항목에서는 다운로드를 시도할 링크에 대한 더 많은 정보를 찾을 수 있습니다.",useful:"접속한 국가에서는 재생할 수 없는 특정 트랙을 다운로드 하기 위해서 가능한 국가를 찾는데 유용하게 쓰입니다.",linkNotSupported:"해당 링크는 아직 지원하지 않습니다",linkNotSupportedYet:"해당 링크는 아직 지원하지 않습니다, 다른 링크로 시도해보세요.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"길이",diskNumber:"디스크 번호",trackNumber:"트랙 번호",releaseDate:"발매일자",bpm:"BPM",label:"라벨",recordType:"녹음 종류",genres:"장르",tracklist:"트랙목록"}},search:{startSearching:"검색을 해보세요!",description:"트랙, 아티스트, 재생목록, Deezer 링크 등으로 검색할 수 있습니다!",fans:"{n}명의 팬들",noResults:"결과 없음",noResultsTrack:"발견된 트랙 없음",noResultsAlbum:"발견된 앨범 없음",noResultsArtist:"발견된 아티스트 없음",noResultsPlaylist:"발견된 재생목록 없음"},searchbar:"원하는 것을 검색하세요 (링크를 붙여넣을 수도 있습니다)",downloads:"다운로드들",toasts:{restoringQueue:"다운로드 대기 열 복원중...",queueRestored:"다운로드 대기 열이 복원되었습니다!",addedToQueue:"대기열에 {item}(이)가 추가되었습니다",addedMoreToQueue:"대기열에 {n} 항목이 추가되었습니다",alreadyInQueue:"{item}(이)가 이미 대기열에 존재합니다!",finishDownload:"{item} 항목이 다운로드 완료되었습니다.",allDownloaded:"모든 다운로드가 완료되었습니다!",refreshFavs:"새로고침이 완료되었습니다!",loggingIn:"로그인 하는 중...",loggedIn:"로그인 되었습니다",alreadyLogged:"이미 로그인되어 있습니다",loginFailed:"로그인 할 수 없습니다",loggedOut:"로그아웃 하였습니다",cancellingCurrentItem:"현재 항목을 취소 중입니다.",currentItemCancelled:"항목이 취소되었습니다.",startAddingArtist:"{artist} 앨범을 대기열에 추가 중입니다",finishAddingArtist:"{artist} 앨범이 대기열에 추가되었습니다",startConvertingSpotifyPlaylist:"스포티파이 트랙을 Deezer 트랙으로 전환 중입니다",finishConvertingSpotifyPlaylist:"스프토파이 재생 목록이 전환되었습니다",loginNeededToDownload:"트랙을 다운로드하려면 로그인이 필요합니다!",deezerNotAvailable:"Deezer 사이트는 현재 귀하의 국가에서 사용이 불가능합니다. VPN을 사용하세요.",startGeneratingItems:"{n}개의 항목 진행중...",finishGeneratingItems:"{n}개의 항목 생성."},settings:{title:"설정",languages:"언어",login:{title:"로그인",loggedIn:"{username}(으)로 로그인되었습니다",arl:{question:"ARL을 어떻게 확인합니까?",update:"ARL 업데이트"},logout:"로그아웃",question:"스포티파이 기능들을 쓰려면 어떻게 해야합니까?"},appearance:{title:"외관",slimDownloadTab:"얇은 다운로드 탭",slimSidebar:"얇은 사이드바"},downloadPath:{title:"다운로드 경로"},templates:{title:"템플릿",tracknameTemplate:"트랙이름 템플릿",tracknameAvailableVariables:"사용가능한 트랙이름 변수 목록",albumTracknameTemplate:"앨범 트랙 템플릿",albumTracknameAvailableVariables:"사용가능한 앨범 트랙 변수 목록",playlistTracknameTemplate:"재생목록 트랙 템플릿",playlistTracknameAvailableVariables:"사용가능한 재생 목록 트랙 변수 목록"},folders:{title:"폴더",createPlaylistFolder:"재생목록을 위한 폴더 생성",playlistNameTemplate:"재생목록 폴더 템플릿",createArtistFolder:"아티스트를 위한 폴더 생성",artistNameTemplate:"아티스트 폴더 템플릿",createAlbumFolder:"앨범을 위한 폴더 생성",albumNameTemplate:"앨범 폴더 템플릿",createCDFolder:"CD를 위한 폴더 생성",createStructurePlaylist:"재생목록을 위한 폴더 구조 생성",createSingleFolder:"싱글 앨범을 위한 폴더 구조 생성"},trackTitles:{title:"트랙 제목",padTracks:"트랙 채워넣기",paddingSize:"채워넣을 크기",illegalCharacterReplacer:"지원하지 않는 글자 대체"},downloads:{title:"다운로드",queueConcurrency:"동시 다운로드",maxBitrate:{title:"선호하는 비트레이트",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"파일을 덮어쓸까요?",y:"네, 파일을 덮어쓰세요",n:"아뇨, 파일을 덮어쓰지 마세요",t:"태그만 덮어쓰세요",b:"아뇨, 양쪽 다 놔두고 중복되는 파일에 번호를 추가하세요",e:"아뇨, 확장명을 변경하세요"},fallbackBitrate:"비트레이트 대비책",fallbackSearch:"검색 대비책",logErrors:"오류 발생시 로그 파일 생성",logSearched:"검색한 트랙에 대한 로그 파일 생성",createM3U8File:"재생목록 파일 생성",syncedLyrics:".lyr 파일 생성 (가사 동기화)",playlistFilenameTemplate:"재생목록 파일이름 템플릿",saveDownloadQueue:"프로그램을 닫을 때 다운로드 대기열 저장"},covers:{title:"앨범 커버",saveArtwork:"커버 저장",coverImageTemplate:"커버 이름 템플릿",saveArtworkArtist:"아티스트 이미지 저장",artistImageTemplate:"아티스트 이미지 템플릿",localArtworkSize:"외부 저장 그림 크기",embeddedArtworkSize:"내부 저장 그림 크기",localArtworkFormat:{title:"별도로 저장할 그림의 형식을 무엇으로 하시겠습니까?",jpg:"jpeg 이미지",png:"png 이미지",both:"jpeg와 png 둘 다"},jpegImageQuality:"JPEG 이미지 품질",embeddedArtworkPNG:"포함된 그림의 형식을 PNG로 저장합니다",embeddedPNGWarning:"PNG는 Deezer에서 공식적으로 지원하지 않기 때문에 버그가 있을 수 있습니다",imageSizeWarning:"x1200 크기를 초과해서는 Deezer에서 공식적으로 사용되지 않기 때문에 문제가 생길 수 있습니다",coverDescriptionUTF8:"커버 설명을 UTF8 포맷을 이용해 저장합니다 (iTunes 커버 오류 해결)"},tags:{head:"저장할 태그를 선택하세요",title:"제목",artist:"아티스트",album:"앨범",cover:"커버",trackNumber:"트랙 번호",trackTotal:"전체 트랙 크기",discNumber:"디스크 번호",discTotal:"전체 디스크 수",albumArtist:"앨범 아티스트",genre:"장르",year:"연도",date:"일자",explicit:"노골적 가사",isrc:"ISRC",length:"트랙 길이",barcode:"앨범 바코드 (UPC)",bpm:"BPM",replayGain:"리플레이 게인",label:"앨범 라벨",lyrics:"비동기 가사",copyright:"저작권",composer:"작곡가",involvedPeople:"관련있는 사람들",source:"소스와 음악 ID"},other:{title:"기타",savePlaylistAsCompilation:"재생목록을 편찬물로 저장",useNullSeparator:"null 구분자 사용",saveID3v1:"ID3v1 태그 형식으로 저장",multiArtistSeparator:{title:"아티스트를 어떻게 구분하시겠습니까?",nothing:"주요 아티스트만 저장",default:"표준 스펙을 사용",andFeat:"& 기호와 feat 사용.",using:'"{separator}" 사용'},singleAlbumArtist:"주요 앨범 아티스트만 저장",albumVariousArtists:'앨범 아티스트에 "Various Artists"(다양한 아티스트들) 유지',removeAlbumVersion:'트랙 제목에 "Album Version"(앨범 버전) 제거',removeDuplicateArtists:"아티스트들의 협업 제거",dateFormat:{title:"FLAC 파일의 날짜 형식",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"특집에 참여한 아티스트들에 할 수 있는 것이 무엇이 있나요?",0:"아무것도 하지 않음",1:"제목에서 제거",3:"앨범 제목과 트랙에서 제거",2:"제목으로 이동"},titleCasing:"제목 케이싱",artistCasing:"아티스트 케이싱",casing:{nothing:"변함없이 유지",lower:"소문자로",upper:"대문자로",start:"각 단어 앞 글자를 대문자로",sentence:"문장처럼"},previewVolume:"미리듣기 볼륨",executeCommand:{title:"다운로드 후 실행할 명령어",description:"빈칸으로 두면 아무 일도 없습니다"}},spotify:{title:"스포티파이 기능",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify 사용자이름",question:"스포티파이 기능들을 사용하려면 어떻게 해야 합니까?"},reset:"기본 설정으로 초기화",resetMessage:"정말 기본 설정으로 돌아가시겠습니까?",save:"저장",toasts:{init:"설정을 불러왔습니다!",update:"새로운 설정으로 갱신되었습니다!",reset:"설정이 원래대로 초기화 되었습니다!",ARLcopied:"ARL가 클립보드에 복사되었습니다"}},sidebar:{home:"홈",search:"검색",charts:"차트",favorites:"즐겨찾기",linkAnalyzer:"링크 분석기",settings:"설정",about:"정보"},tracklist:{downloadSelection:"선택 다운로드"}},ph:{globals:{welcome:"Welcome sa deemix",back:"bumalik",loading:"kumakarga",download:"I-download {thing}",by:"ayon sa {artist}",in:"sa {album}",download_hint:"I-download",play_hint:"I-play",toggle_download_tab_hint:"Palakihin/Paliitan",clean_queue_hint:"Natapos na ang Pag-alis",cancel_queue_hint:"Ikansel Lahat",open_downloads_folder:"Buksan ang Polder ng Download",cut:"i-cut",copy:"kopyahin",copyLink:"kopyahin ang link",copyImageLink:"kopyahin ang imahe sa link",copyDeezerLink:"kopyahin ang link ng deezer",paste:"idikit",listTabs:{empty:"",all:"lahat",top_result:"nangungunang resulta",album:"album | mga album",artist:"artist | mga artist",single:"single | mga single",title:"pamagat | mga pamagat",track:"track | mga track",trackN:"0 mga track | {n} track | {n} mga track",releaseN:"0 mga release | {n} release | {n} mga release",playlist:"playlist | mga playlist",compile:"pinagsama | mga pinagsama",ep:"ep | mga ep",bundle:"bundle | mga bundle",more:"Iba pang mga album",featured:"Ibinida sa",spotifyPlaylist:"playlist sa spotify | mga playlist sa spotify",releaseDate:"petsa ng paglabas",error:"error"}},about:{updates:{currentVersion:"Kasalukuyang version",versionNotAvailable:"H/P",updateAvailable:"Hindi mo ginagamit ang pinakabagong version: {version}",deemixVersion:"deemix lib version"},titles:{usefulLinks:"Nakatutulong na mga Link",bugReports:"Report sa Bug",contributing:"Pagtulong",donations:"Mga donasiyon",license:"Lisensiya"},subtitles:{bugReports:"Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!",contributing:"Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!",donations:"Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!"},usesLibrary:"Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.",thanks:"Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.",upToDate:{text:"Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.",newsChannel:"news channel"},officialWebsite:"Opisyal na Website",officialRepo:"Opisyal na Library Repository",officialWebuiRepo:"Opisyal na Repository ng WebUI",officialSubreddit:"Opisyal na Subreddit",newsChannel:"News Channel",questions:{text:"Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.",subreddit:"subreddit"},beforeReporting:"Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.",beSure:"Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.",duplicateReports:"Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.",dontOpenIssues:"HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.",newUI:{text:"Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.",repo:"repo"},acceptFeatures:"Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.",otherLanguages:"Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!",understandingCode:"Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.",contributeWebUI:{text:"Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.",webui:"WebUI"},itsFree:"Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.",notObligated:"Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!",lincensedUnder:{text:"Ang aktibidad na ito ay lisensiyado sa {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Mga Chart",changeCountry:"Palitan ang Country",download:"I-download ang Chart"},errors:{title:"Mga error sa {name}",ids:{invalidURL:"Hindi makilala ang URL",unsupportedURL:"Hindi pa suportado ang URL",ISRCnotOnDeezer:"Ang Track ISRC ay hindi pwede sa Deezer",notYourPrivatePlaylist:"Hindi pwedeng i-download ang mga pribadong playlist ng iba.",spotifyDisabled:"Hindi mo nai-set nang tama ang Spotify Features.",trackNotOnDeezer:"Hindi mahanap ang track sa Deezer!",albumNotOnDeezer:"Hindi mahanap ang album sa Deezer!",notOnDeezer:"Hindi available ang track sa Deezer!",notEncoded:"Hindi pa nae-encode ang track!",notEncodedNoAlternative:"Hindi pa nae-encode ang track at walang mahanap na iba!",wrongBitrate:"Hindi mahanap ang track sa gusto mong bitrate.",wrongBitrateNoAlternative:"Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!",no360RA:"Hindi pwede ang track para sa Reality Audio 360.",notAvailable:"Walang available na track sa server ng Deezer!",notAvailableNoAlternative:"Walang available na track sa server ng Deezer at walang mahanap na iba!",noSpaceLeft:"Wala nang natitirang space sa iyong device!"}},favorites:{title:"Mga Paborito",noPlaylists:"Walang makitang mga Playlist",noAlbums:"Walang makitang mga Paboritong Album",noArtists:"Walang makitang mga Paboritong Artist",noTracks:"Walang makitang mga Paboritong Track"},home:{needTologin:"Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.",openSettings:"Buksan ang Mga Setting",sections:{popularPlaylists:"Mga sikat na playlist",popularAlbums:"Pinakamaraming pinakikinggang mga album"}},linkAnalyzer:{info:"Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.",useful:"Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.",linkNotSupported:"Hindi pa suportado ang link",linkNotSupportedYet:"Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Haba",diskNumber:"Bilang ng Disk",trackNumber:"Bilang ng Track",releaseDate:"Petsa ng Release",bpm:"BPM",label:"Label",recordType:"Uri ng Rekord",genres:"Mga Genre",tracklist:"Listahan ng Track"}},search:{startSearching:"Simulang Maghanap!",description:"Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer",fans:"{n} mga fan",noResults:"Walang resulta",noResultsTrack:"Walang mahanap na mga Track",noResultsAlbum:"Walang mahanap na mga Album",noResultsArtist:"Walang mahanap na mga Artist",noResultsPlaylist:"Walang mahanap na mga Playlist"},searchbar:"Maghanap ka ng gusto mo (o mag-paste ka ng link)",downloads:"mga download",toasts:{restoringQueue:"Binabalik ang download queue...",queueRestored:"Naibalik na ang download queue!",addedToQueue:"{item} ay naidagdag sa queue",addedMoreToQueue:"{n} naidagdag rin sa queue",alreadyInQueue:"{item} ay meron na sa queue!",finishDownload:"{item} ay natapos nang i-download.",allDownloaded:"Nadownload na lahat!",refreshFavs:"Narefresh na!",loggingIn:"Nagla-log in...",loggedIn:"Na-login na",alreadyLogged:"Nakalogin ka na",loginFailed:"Hindi maka-log in",loggedOut:"Na-logout na",cancellingCurrentItem:"Kinakansel ang item.",currentItemCancelled:"Nakansel na ang item.",startAddingArtist:"Idinadagdag si {artist} sa queue ng mga album",finishAddingArtist:"Naidagdag na si {artist} sa queue ng mga album",startConvertingSpotifyPlaylist:"Kino-convert ang mga track sa spotify papuntang Deezer",finishConvertingSpotifyPlaylist:"Naconvert na ang playlist sa Spotify",loginNeededToDownload:"Kailangan mong mag-login para madownload ang mga track!",deezerNotAvailable:"Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN."},settings:{title:"Mga Setting",languages:"Mga Wika",login:{title:"Login",loggedIn:"Ikaw ay naka-login sa pangalang {username}",arl:{question:"Paano ako makakuha ng sariling ARL?",update:"I-update ang ARL"},logout:"Logout",login:"Mag-login gamit ng deezer.com"},appearance:{title:"Hitsura",slimDownloadTab:"Pinaliit na download tab"},downloadPath:{title:"Paglalagyan ng Download"},templates:{title:"Mga Template",tracknameTemplate:"Template sa pangalan ng Track",albumTracknameTemplate:"Template sa track ng Album",playlistTracknameTemplate:"Template sa track ng Playlist"},folders:{title:"Mga Folder",createPlaylistFolder:"Gumawa ng folder para sa mga playlist",playlistNameTemplate:"Template sa folder ng Playlist",createArtistFolder:"Gumawa ng folder para sa artist",artistNameTemplate:"Template sa folder ng Artist",createAlbumFolder:"Gumawa ng folder para sa album",albumNameTemplate:"Template sa folder ng Album",createCDFolder:"Gumawa ng folder para sa mga CD",createStructurePlaylist:"Gumawa ng istraktura ng folder para sa mga playlist",createSingleFolder:"Gumawa ng istraktura ng folder para sa mga single"},trackTitles:{title:"Pamagat sa mga track",padTracks:"Mga track ng Pad",paddingSize:"Patungan ang laki ng padding",illegalCharacterReplacer:"Pamalit sa ilegal na Karakter"},downloads:{title:"Mga Download",queueConcurrency:"Mga Kasabay na Download",maxBitrate:{title:"Gustong Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Papatungan ko ba ang file?",y:"Oo, patungan mo ang file",n:"Hindi, huwag mong patungan ang file",t:"Patungan mo lang ang mga tag",b:"Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya",e:"Hindi, at huwag mong tignan ang mga extension"},fallbackBitrate:"Binabaang bitrate",fallbackSearch:"Maghanap para sa binabaan",logErrors:"Gumawa ng log file para sa mga error",logSearched:"Gumawa ng log file para sa mga hinanap na track",createM3U8File:"Gumawa ng file sa playlist",syncedLyrics:"Gumawa ng mga .lyr file (Mga Sync Lyric)",playlistFilenameTemplate:"Template sa pangalan ng Playlist file",saveDownloadQueue:"I-save ang download queue kapag isasara the app"},covers:{title:"Mga cover ng album",saveArtwork:"I-save ang mga Cover",coverImageTemplate:"Template ng pangalan ng cover",saveArtworkArtist:"I-save ang imahe ng artist",artistImageTemplate:"Template ng imahe ng artist",localArtworkSize:"Laki ng lokal na artwork",embeddedArtworkSize:"Laki ng Nakadikit na artwork",localArtworkFormat:{title:"Anong gusto mong format para sa mga lokal na artwork?",jpg:"jpeg na imahe",png:"png na imahe",both:"Parehong jpeg at png"},jpegImageQuality:"Kalidad ng JPEG na imahe",embeddedArtworkPNG:"I-save ang nakadikit na artwork bilang PNG",embeddedPNGWarning:"Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug",imageSizeWarning:"Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu",coverDescriptionUTF8:"I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)"},tags:{head:"Aling tag ang ise-save",title:"Pamagat",artist:"Artist",album:"Album",cover:"Cover",trackNumber:"Bilang ng Track",trackTotal:"Kabuuang Track",discNumber:"Bilang ng Disk",discTotal:"Kabuuang Disk",albumArtist:"Album Artist",genre:"Genre",year:"Taon",date:"Petsa",explicit:"Mga Explicit na Lyric",isrc:"ISRC",length:"Haba ng Track",barcode:"Barcode ng Album (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Label ng Album",lyrics:"Unsynchronized na mga Lyric",syncedLyrics:"Synchronized na mga Lyric",copyright:"Karapatang Ari",composer:"Komposer",involvedPeople:"Mga Kasamang Tao"},other:{title:"Iba pa",savePlaylistAsCompilation:"I-save ang mga playlist bilang compilation",useNullSeparator:"Gumamit ng panghiwalay sa null",saveID3v1:"I-save rin ang ID3v1",multiArtistSeparator:{title:"Anong gusto mo para maihanay mga artist?",nothing:"I-save lang ang pangunahing artist",default:"Gamit ng standard na specification",andFeat:"Gamit ng & at feat.",using:'Gamit ng "{separator}"'},singleAlbumArtist:"I-save lang ang pangunahing album ng artist",albumVariousArtists:'Isama ang "Various Artists" sa mga Album Artist',removeAlbumVersion:'Tanggalin ang "Album Version" sa pamagat ng track',removeDuplicateArtists:"Tanggalin ang kombinasyon ng mga artist",dateFormat:{title:"Format ng petsa para sa mga FLAC file",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Anong gagawin ko sa mga itinampok na artist",0:"Wala",1:"Tanggalin mo sila sa Pamagat",3:"Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album",2:"Ilipat mo sila sa pamagat"},titleCasing:"Pagleletra sa Pamagat",artistCasing:"Pagleletra sa Artist",casing:{nothing:"Walang babaguhin",lower:"maliliit",upper:"MALALAKI",start:"Simula Ng Bawata Salita",sentence:"Kagaya ng pangungusap"},previewVolume:"Volume ng Preview",executeCommand:{title:"Mga gagawin pagkatapos ng download",description:"Hayaan lang na blangko kung wala"}},spotify:{title:"Spotify Features",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Spotify Username",question:"Paano ma-enable ang Spotify Features?"},reset:"Ibalik sa Dati",save:"I-save",toasts:{init:"Ikinarga ang mga Setting!",update:"In-update ang mga Setting!",ARLcopied:"Kinopya ang ARL sa clipboard"}},sidebar:{home:"tahanan",search:"maghanap",charts:"mga chart",favorites:"mga paborito",linkAnalyzer:"tagasuri ng link",settings:"mga setting",about:"tungkol sa"},tracklist:{downloadSelection:"Pagpipili ng download"}},zh_tw:{globals:{welcome:"歡迎使用 deemix",back:"返回",loading:"載入中",download:"下載 {thing}",by:"{artist}",in:"於 {album}",download_hint:"下載",play_hint:"播放",toggle_download_tab_hint:"展開/折疊",clean_queue_hint:"清除完成",cancel_queue_hint:"取消全部",open_downloads_folder:"開啟下載資料夾",cut:"剪下",copy:"複製",copyLink:"複製連結",copyImageLink:"複製圖片連結",copyDeezerLink:"複製 deezer 連結",paste:"貼上",listTabs:{empty:"",all:"所有",top_result:"最佳結果",album:"專輯|專輯",artist:"藝人|藝人",single:"單曲",title:"標題|標題",track:"歌曲|歌曲",releaseN:"0 發行| {n} 發行| {n} 發行",playlist:"播放清單|播放清單",compile:"合輯|合輯",ep:"迷你專輯 | 迷你專輯",bundle:"bundle | bundles",more:"更多專輯",featured:"出現於",spotifyPlaylist:"Spotify 播放清單 | Spotify 播放清單",releaseDate:"發布日期",error:"錯誤",trackN:"0 首歌曲| {n} 首歌曲| {n} 首歌曲",albumN:"0 個專輯 | {n} 個專輯 | {n} 個專輯",artistN:"0 個藝人 | {n} 個藝人 | {n} 個藝人",playlistN:"0 個播放清單 | {n} 個播放清單 | {n} 個播放清單"}},about:{appStatus:{online:"上線中",offline:"離線中"},updates:{currentVersion:"目前版本",currentWebuiVersion:"目前前端版本",versionNotAvailable:"N/A",updateAvailable:"您尚未更新至最新版本:{version}",deemixVersion:"deemix 函示庫版本"},titles:{usefulLinks:"實用連結",bugReports:"錯誤報告",contributing:"貢獻",donations:"贊助",license:"使用許可"},subtitles:{bugReports:"使用 deemix 時,遇到了什麼問題嗎?歡迎回報錯誤!",contributing:"您想替這個專案提出貢獻嗎?您可以透過許多不同的方式來幫忙!",donations:"您想要捐款嗎?可以贊助我們!"},usesLibrary:"本程式基於 deemix 函示庫。您可以使用該函示庫來製作自己的前端。",thanks:"感謝 rtonnouhwotlollilol 對於本專案的貢獻,另外也感謝 BasCurtiz 幫忙製作本專案的圖示",upToDate:{text:"您可於 Telegram 上關注{newsChannel}以取得最新動態。",newsChannel:"最新消息頻道"},officialWebsite:"官方網站",officialRepo:"官方函示版本庫",officialWebuiRepo:"官方 WebUI 版本庫",officialSubreddit:"官方 Subreddit",newsChannel:"最新消息頻道",questions:{text:"如果您對本程式有疑問或問題,請先在{subreddit}上搜尋解決方案。如果找不到任何解決方法,則可以在我們的 subreddit 上發布與您問題相關的文章。",subreddit:" subreddit "},beforeReporting:"在報告錯誤之前,請確保您正在運行最新版本的程式,並且要報告的內容真的是一個錯誤,而不僅是您自己遇到的問題。",beSure:"請確保您所想回報的錯誤可在其他台裝置上再現的,並且請勿回報已知錯誤。",duplicateReports:"請注意,重複的錯誤報告將被移除。",dontOpenIssues:"請勿透過本版本庫的 Issues 問問題,我們開 subreddit 是有原因的。",newUI:{text:"如果您精通 Python,則可以嘗試使用我們的函示庫來建立新的 UI,或者透過{repo}提出錯誤相關的 PR。",repo:"我們的版本庫"},acceptFeatures:"我也歡迎你提交新的功能-但前提是這個功能不能過於複雜-過於複雜的功能,應被新增至程式內而非函示庫內。",otherLanguages:"如果您精通其他程式語言,你也可以嘗試將 deemix 移植到其他程式語言中!",understandingCode:"你需要幫助了解本專案的程式碼嗎?只需在 Telegram 或 Reddit 上按一下 RemixDev。",contributeWebUI:{text:"如果你熟悉 Vue.js(JavaScript)、HTML 或 CSS,你也可以參與 {webui} 前端的貢獻。",webui:"WebUI"},itsFree:"記得,這是一個免費的專案在支持開發人員之前,應該先支持你喜歡的歌手或藝人。",notObligated:"別認為你有義務捐款,無論如何我們都感謝您!",lincensedUnder:{text:"本作品使用 {gpl3} 許可授權。",gpl3:"GNU General Public License 3.0"}},charts:{title:"排行榜",changeCountry:"改變國家",download:"下載排行榜"},errors:{title:"{name} 的錯誤",ids:{invalidURL:"無法識別網址",unsupportedURL:"尚不支持此網址",ISRCnotOnDeezer:"無法在 Deezer 上使用單曲 ISRC",notYourPrivatePlaylist:"您無法下載他人的私人播放清單。",spotifyDisabled:"Spotify 功能未正確設定。",trackNotOnDeezer:"在 Deezer 上找不到此歌曲!",albumNotOnDeezer:"在 Deezer 上找不到此專輯!",notOnDeezer:"無法在 Deezer 上載入此歌曲!",notEncoded:"本歌曲尚未編碼!",notEncodedNoAlternative:"本歌曲尚未編碼,且無法找到其他替代歌曲!",wrongBitrate:"找不到符合所設位元率的歌曲。",wrongBitrateNoAlternative:"找不到符合所設位元率的歌曲,且無法找到其他替代歌曲!",no360RA:"本歌曲並不支援 Reality Audio 360。",notAvailable:"無法在 Deezer 伺服器載入此歌曲!",notAvailableNoAlternative:"無法在 Deezer 伺服器載入此歌曲,且無法找到其他替代歌曲!",noSpaceLeft:"本裝置可用空間已用盡!",albumDoesntExists:"本歌曲的專輯不存在,無法取得資訊"}},favorites:{title:"收藏",noPlaylists:"尚未收藏任何播放清單",noAlbums:"尚未收藏任何專輯",noArtists:"尚未收藏任何藝人",noTracks:"尚未收藏任何歌曲"},home:{needTologin:"您需要先登入 Deezer 帳戶,然後才能開始下載。",openSettings:"開啟設定",sections:{popularPlaylists:"熱門播放清單",popularAlbums:"熱門專輯"}},linkAnalyzer:{info:"您可以透過此工具取得您所想下載的連結的相關資訊。",useful:"比如,當您所想下載的歌曲無法在您的國家播放,且您想知道哪些國家可以播放此歌曲時,您可使用此工具。",linkNotSupported:"尚未支援此連結",linkNotSupportedYet:"我們似乎尚未支援此連結,請改用其他連結。",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"長度",diskNumber:"光碟編號",trackNumber:"歌曲編號",releaseDate:"發布日期",bpm:"BPM",label:"標籤",recordType:"媒體類型",genres:"類型",tracklist:"歌曲清單"}},search:{startSearching:"開始搜尋!",description:"您可以搜索歌曲名稱、專輯、藝人、播放清單...等等。您也可以直接貼上 Deezer 網址。",fans:"{n} 個粉絲",noResults:"無搜尋結果",noResultsTrack:"找不到歌曲",noResultsAlbum:"找不到專輯",noResultsArtist:"找不到藝人",noResultsPlaylist:"找不到播放清單"},searchbar:"搜尋任何關鍵字(或貼上連結)",downloads:"下載",toasts:{restoringQueue:"正在恢復下載清單...",queueRestored:"下載清單已恢復!",addedToQueue:"已新增 {item} 到下載清單中",addedMoreToQueue:"已新增 {n} 個項目到下載清單中",alreadyInQueue:"{item} 已在下載清單中!",finishDownload:"{item} 已完成下載。",allDownloaded:"全部下載完成!",refreshFavs:"刷新完成!",loggingIn:"登入中...",loggedIn:"登入",alreadyLogged:"已登入",loginFailed:"無法登入",loggedOut:"登出",cancellingCurrentItem:"取消當前項目。",currentItemCancelled:"當前項目已取消。",startAddingArtist:"已新增 {artist} 個專輯到下載清單中",finishAddingArtist:"已新增 {artist} 個專輯到下載清單中",startConvertingSpotifyPlaylist:"將 Spotify 歌曲轉換為 Deezer 歌曲中",finishConvertingSpotifyPlaylist:"已轉換 Spotify 播放清單",loginNeededToDownload:"您需要登入才能下載歌曲!",deezerNotAvailable:"Deezer 在您所在的國家/地區無法使用。請您使用 VPN。",startGeneratingItems:"生成 {n} 個項目中...",finishGeneratingItems:"已生成 {n} 個項目."},settings:{title:"設定",languages:"語言",login:{title:"登入",loggedIn:"目前以 {username} 的身份登入",arl:{question:"如何取得自己的 ARL?",update:"更新 ARL"},logout:"登出",login:"透過 deezer.com 登入"},appearance:{title:"外觀",slimDownloadTab:"薄型下載分頁",slimSidebar:"薄型測欄"},downloadPath:{title:"下載目錄"},templates:{title:"檔案名稱格式",tracknameTemplate:"單曲名稱格式",albumTracknameTemplate:"專輯單曲名稱格式",playlistTracknameTemplate:"播放清單單曲名稱格式"},folders:{title:"資料夾",createPlaylistFolder:"替播放清單建立資料夾",playlistNameTemplate:"播放清單資料夾名稱格式",createArtistFolder:"替藝人建立資料夾",artistNameTemplate:"藝人資料夾名稱格式",createAlbumFolder:"替專輯建立資料夾",albumNameTemplate:"專輯資料夾名稱格式",createCDFolder:"替 CD 建立資料夾",createStructurePlaylist:"建立播放清單資料夾結構",createSingleFolder:"建立單曲資料夾結構"},trackTitles:{title:"單曲名稱",padTracks:"歌曲數目字串填充",paddingSize:"覆蓋數目字串填充長度",illegalCharacterReplacer:"替換非法字元"},downloads:{title:"下載",queueConcurrency:"並行下載",maxBitrate:{title:"偏好位元率",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"是否要覆蓋檔案?",y:"是,覆蓋檔案",n:"否,請勿覆蓋檔案",t:"僅覆蓋標籤",b:"否,保留兩個檔案並在重複的檔名中加入一個數字",e:"否,不顧慮附檔名"},fallbackBitrate:"當偏好位元率無法下載時,下載其他版本",fallbackSearch:"當搜尋結果無法使用時,使用其他搜尋結果",logErrors:"記錄錯誤至日誌",logSearched:"記錄搜尋歌曲至日誌",createM3U8File:"建立播放清單檔案",syncedLyrics:"建立 .lyr 檔案(同步歌詞)",playlistFilenameTemplate:"播放清單檔名格式",saveDownloadQueue:"關閉應用程式時,保存下載清單"},covers:{title:"專輯封面",saveArtwork:"保存封面",coverImageTemplate:"封面檔名格式",saveArtworkArtist:"保存藝人照片",artistImageTemplate:"藝人照片檔名格式",localArtworkSize:"本地圖片大小",embeddedArtworkSize:"嵌入圖片大小",localArtworkFormat:{title:"您希望本地圖片採用哪種格式?",jpg:"JPEG",png:"PNG",both:"JPEG 及 PNG"},jpegImageQuality:"JPEG 影像品質",embeddedArtworkPNG:"將嵌入式圖片存為 PNG",embeddedPNGWarning:"Deezer 官方並不支援 PNG,結果可能有誤",imageSizeWarning:"Deezer 官方並不使用高於 x1200 的圖片,您可能會遇到問題",coverDescriptionUTF8:"使用 UTF8 保存封面敘述(修正 iTunes 專輯封面)"},tags:{head:"要保存哪些標籤",title:"標題",artist:"藝人",album:"專輯",cover:"專輯封面",trackNumber:"單曲編號",trackTotal:"總計歌曲",discNumber:"光碟編號",discTotal:"光碟總數",albumArtist:"專輯藝人",genre:"類型",year:"年",date:"日期",explicit:"不良歌詞",isrc:"ISRC",length:"單曲長度",barcode:"專輯條碼(UPC)",bpm:"BPM",replayGain:"重播增益(Replay Gain)",label:"專輯標籤",lyrics:"不同步的歌詞",syncedLyrics:"同步歌詞",copyright:"版權",composer:"作曲家",involvedPeople:"相關藝人",source:"來源歌曲 ID"},other:{title:"其他",savePlaylistAsCompilation:"將播放清單儲存為合輯",useNullSeparator:"使用空分隔符",saveID3v1:"保存 ID3v1 標籤",multiArtistSeparator:{title:"如何隔開作者名稱?",nothing:"僅保留主作者",default:"使用標準規格",andFeat:"使用 & 及 feat.",using:'使用 "{separator}"'},singleAlbumArtist:"僅儲存專輯主作者名稱",albumVariousArtists:"於專輯作者欄位中保留「多位藝人 (Various Artists)」字樣",removeAlbumVersion:"於單曲名稱中移除「專輯版本 (Album Version)」字樣",removeDuplicateArtists:"移除重複的作者名稱",dateFormat:{title:"FLAC 檔案日期格式",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"如何處理客串藝人名稱 (如 feat. 等字樣) ?",0:"什麼都不做",1:"從標題中刪除",3:"從標題和專輯標題中刪除",2:"將其移至標題"},titleCasing:"歌曲名稱大小寫",artistCasing:"藝人名稱大小寫",casing:{nothing:"保持不變",lower:"小寫",upper:"大寫",start:"字詞開頭大寫",sentence:"句子大寫"},previewVolume:"預覽音量",executeCommand:{title:"下載後執行指令",description:"留空則不執行"}},spotify:{title:"Spotify 功能",clientID:"Spotify 客戶端 ID",clientSecret:"Spotify 客戶端密碼",username:"Spotify 用戶名",question:"如何啟用 Spotify 功能?"},reset:"重設至預設",resetMessage:"你確定要重設所有設定嗎?",save:"儲存",toasts:{init:"已載入設定!",update:"已更新設定!",reset:"已重設設定!",ARLcopied:"已複製 ARL 到剪貼簿中"}},sidebar:{home:"首頁",search:"搜尋",charts:"排行榜",favorites:"收藏",linkAnalyzer:"連結分析",settings:"設定",about:"關於"},tracklist:{downloadSelection:"下載所選"}},pl:{globals:{welcome:"Witaj w deemix",back:"wróć",loading:"ładowanie",download:"Pobierz {thing}",by:"od {artist}",in:"w {album}",download_hint:"Pobierz",play_hint:"Odtwórz",toggle_download_tab_hint:"Rozszerz/Zwiń",clean_queue_hint:"Wyczyść ukończone",cancel_queue_hint:"Anuluj wszystkie",open_downloads_folder:"Otwórz pobrane",cut:"wytnij",copy:"kopiuj",copyLink:"kopiuj link",copyImageLink:"kopiuj link obrazu",copyDeezerLink:"kopiuj link deezera",paste:"wklej",listTabs:{empty:"",all:"wszystkie",top_result:"najlepszy wynik",album:"album | albumy",artist:"artysta | artyści",single:"singiel | single",title:"tytuł | tytuły",track:"utwór | utwory",trackN:"0 utworów | {n} utwór | {n} utworów",releaseN:"0 wydań | {n} wydanie | {n} wydań",playlist:"playlista | playlisty",compile:"kompilacja | kompilacje",ep:"ep | ep",bundle:"zestaw | zestawy",more:"Więcej albumów",featured:"Występuje w",spotifyPlaylist:"playlista spotify | playlisty spotify",releaseDate:"data wydania",error:"błąd"}},about:{updates:{currentVersion:"Obecna wersja",versionNotAvailable:"N/A",updateAvailable:"Nie masz najnowszej dostępnej wersji: {version}",deemixVersion:"Wersja biblioteki deemix"},titles:{usefulLinks:"Przydatne linki",bugReports:"Zgłoszenia błędów",contributing:"Wkład",donations:"Dotacje",license:"Licencja"},subtitles:{bugReports:"Czy deemix działa inaczej niż powinien? Powiedz nam!",contributing:"Chcesz pomóc w tym projekcie? Możesz to zrobić na wiele sposobów!",donations:"Chcesz pomóc finansowo? Możesz nas wesprzeć!"},usesLibrary:"Ten program używa biblioteki deemix, której możesz użyć do stworzenia własnego interfejsu użytkownika",thanks:"Podziękowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.",upToDate:{text:"Bądź na bieżąco z aktualizacjami dołączając do {newsChannel} na Telegramie.",newsChannel:"kanału wiadomości"},officialWebsite:"Oficjalna strona",officialRepo:"Oficjalne repozytorium biblioteki",officialWebuiRepo:"Oficjalne repozytorium WebUI",officialSubreddit:"Oficjalny subreddit",newsChannel:"Kanał wiadomości",questions:{text:"Jeżeli masz pytania lub problemy związane z aplikacją, szukaj odpowiedzi na {subreddit}. Jeżeli niczego nie znajdziesz, stwórz post na subreddicie.",subreddit:"subreddicie"},beforeReporting:"Przed zgłaszaniem błędu upewnij się, że masz najnowszą wersje aplikacji i to, co chcesz zgłosić jest błędem, a nie usterką z twojej strony.",beSure:"Upewnij się, że błąd można odtworzyć na innych urządzeniach i NIE ZGŁASZAJ błędów, które zostały już zgłoszone",duplicateReports:"Identyczne zgłoszenia błędów będą zamykane, więc zwróć na to uwagę.",dontOpenIssues:"NIE OTWIERAJ zgłoszeń do zadawania pytań, od tego jest subreddit.",newUI:{text:"Jeżeli dobrze znasz Pythona, możesz spróbować stworzyć nowy interfejs dla aplikacji używając bazowej biblioteki lub naprawiać błędy w bibliotece tworząc pull request w {repo}.",repo:"repozytorium"},acceptFeatures:"Przyjmuję nowe funkcje, ale nic złożonego, co mogłoby być zaimplementowane w aplikacji, a nie w bibliotece.",otherLanguages:"Jeżeli dobrze znasz inny język programowania, możesz spróbować przeportować deemix do innych języków!",understandingCode:"Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.",contributeWebUI:{text:"Jeżeli znasz Vue.js (JavaScript), HTML lub CSS, możesz pomóc w {webui}.",webui:"WebUI"},itsFree:"Pamiętaj, że ten projekt jest darmowy i powinieneś wspierać artystów przed twórcami aplikacji.",notObligated:"Nie czuj potrzeby płacenia, i tak cię doceniam!",lincensedUnder:{text:"Ten projekt jest chroniony licencją {gpl3}.",gpl3:"GNU General Public License 3.0"}},charts:{title:"Wykresy",changeCountry:"Zmień kraj",download:"Pobierz wykres"},errors:{title:"Błędy dla {name}",ids:{invalidURL:"Nierozpoznany URL",unsupportedURL:"Niewspierany URL",ISRCnotOnDeezer:"ISRC nie jest dostępne na Deezerze",notYourPrivatePlaylist:"Nie możesz pobierać czyichś prywatnych playlist.",spotifyDisabled:"Funkcje Spotify nie są poprawnie ustawione",trackNotOnDeezer:"Nie znaleziono utworu na Deezerze!",albumNotOnDeezer:"Nie znaleziono albumu na Deezerze!",notOnDeezer:"Utwór nie jest dostępny na Deezerze!",notEncoded:"Utwór nie jest jeszcze zakodowany!",notEncodedNoAlternative:"Utwór nie jest jeszcze zakodowany i nie można znaleźć alternatywy!",wrongBitrate:"Nie znaleziono utworu w wybranym bitrate.",wrongBitrateNoAlternative:"Nie znaleziono utworu w wybranym bitrate i nie mozna znaleźć alternatywy!",no360RA:"Utwór nie jest dostępny w Reality Audio 360.",notAvailable:"Utwór nie jest dostępny na serwerach Deezera!",notAvailableNoAlternative:"Utwór nie jest dostępny na serwerach Deezera i nie można znaleźć alternatywy!"}},favorites:{title:"Ulubione",noPlaylists:"Nie znaleziono playlist",noAlbums:"Nie znaleziono ulubionych albumów",noArtists:"Nie znaleziono ulubionych artystów",noTracks:"Nie znaleziono ulubonych utworów"},home:{needTologin:"Musisz się zalogwać do konta na Deezerze zanim zaczniesz pobierać.",openSettings:"Otwórz ustawienia",sections:{popularPlaylists:"Popularne playlisty",popularAlbums:"Najpopularniejsze albumy"}},linkAnalyzer:{info:"Możesz użyć tej sekcji, aby znaleźć więcej informacji o linku, który chcesz pobrać.",useful:"Jest to przydatne na przykład gdy chcesz pobrać jakieś utwory, które nie są dostępne w twoim kraju i chcesz wiedzieć gdzie są dostępne.",linkNotSupported:"Ten link nie jest jeszcze wspierany",linkNotSupportedYet:"Wygląda na to, że ten link nie jest jeszcze wspierany. Spróbuj przeanalizować inny.",table:{id:"ID",isrc:"ISRC",upc:"UPC",duration:"Czas",diskNumber:"Numer płyty",trackNumber:"Numer utworu",releaseDate:"Data wydania",bpm:"BPM",label:"Wytwórnia",recordType:"Rodzaj wydania",genres:"Gatunki",tracklist:"Lista utworów"}},search:{startSearching:"Zacznij szukać!",description:"Możesz wyszukać utwór, album, artystę, playlistę... wszystko! Możesz też wkleić link do Deezera",fans:"{n} fanów",noResults:"Brak wyników",noResultsTrack:"Nie znaleziono utworów",noResultsAlbum:"Nie znaleziono albumów",noResultsArtist:"Nie znaleziono artystów",noResultsPlaylist:"Nie znaleziono playlist"},searchbar:"Szukaj czego chcesz (lub wklej link)",downloads:"pobrane",toasts:{restoringQueue:"Przywracanie kolejki pobierania...",queueRestored:"Przywrócono kolejkę pobierania!",addedToQueue:"Dodano {item} do kolejki",addedMoreToQueue:"Dodano {n} przedmiotów do kolejki",alreadyInQueue:"{item} jest już w kolejce!",finishDownload:"Ukończono pobieranie {item}.",allDownloaded:"Pobrano wszystkie!",refreshFavs:"Ukończono odświeżanie!",loggingIn:"Logowanie...",loggedIn:"Zalogowano",alreadyLogged:"Już zalogowano",loginFailed:"Nie można zalogować",loggedOut:"Wylogowano",cancellingCurrentItem:"Anulowanie przedmiotu.",currentItemCancelled:"Anulowano przedmiot.",startAddingArtist:"Dodawanie {artist} albumów do kolejki",finishAddingArtist:"Dodano {artist} albumów do kolejki",startConvertingSpotifyPlaylist:"Konwertowanie utworów Spotify na Deezer",finishConvertingSpotifyPlaylist:"Przekonwertowano playlistę Spotify",loginNeededToDownload:"Musisz się zalogować, aby pobierać utwory!"},settings:{title:"Ustawienia",languages:"Języki",login:{title:"Logowanie",loggedIn:"Zalogowano jako {username}",arl:{question:"Jak zdobyć swój własny ARL?",update:"Zakualizuj ARL"},logout:"Wyloguj",login:"Zaloguj przez deezer.com"},appearance:{title:"Wygląd",slimDownloadTab:"Cienka karta pobranych"},downloadPath:{title:"Ścieżka pobierania"},templates:{title:"Szablony",tracknameTemplate:"Szablon utworu",albumTracknameTemplate:"Szablon utworu z albumu",playlistTracknameTemplate:"Szablon utworu z playlisy"},folders:{title:"Foldery",createPlaylistFolder:"Utwórz foldery dla playlist",playlistNameTemplate:"Szablon folderu playlisty",createArtistFolder:"Utwórz foldery dla artystów",artistNameTemplate:"Szablon folderu artysty",createAlbumFolder:"Utwórz foldery dla albumów",albumNameTemplate:"Szablon folderu albumu",createCDFolder:"Utwórz foldery dla płyt",createStructurePlaylist:"Utwórz strukturę folderów dla playlist",createSingleFolder:"Utwórz strukturę folderów dla singli"},trackTitles:{title:"Tytuły utworow",padTracks:"Wypchaj utwory",paddingSize:"Rozmiar wypchania",illegalCharacterReplacer:"Zamiennik niedozwolonych znaków"},downloads:{title:"Pobrane",queueConcurrency:"Równoległe pobieranie",maxBitrate:{title:"Bitrate",9:"FLAC 1411kbps",3:"MP3 320kbps",1:"MP3 128kbps"},overwriteFile:{title:"Nadpisywać pliki?",y:"Tak",n:"Nie",t:"Tylko tagi",b:"Nie, dodaj numer do drugiego pliku",e:"Nie, nie patrz na rozszerzenia"},fallbackBitrate:"Rezerwowy bitrate",fallbackSearch:"Rezerwowe wyszukiwanie",logErrors:"Utwórz plik dziennika błędów",logSearched:"Utwórz plik dziennika wyszukiwanych utworów",createM3U8File:"Utwórz plik playlisty",syncedLyrics:"Utwórz plik .lyr (synchronizowany tekst)",playlistFilenameTemplate:"Szablon pliku playlisty",saveDownloadQueue:"Zapisz kolejkę pobierania przy zamykaniu aplikacji"},covers:{title:"Okładki albumów",saveArtwork:"Zapisz okładki",coverImageTemplate:"Szablon nazwy okładki",saveArtworkArtist:"Zapisz zdjęcie artysty",artistImageTemplate:"Szablon zdjęcia artysty",localArtworkSize:"Rozmiar lokalnej okładki",embeddedArtworkSize:"Rozmiar osadzonej okładki",localArtworkFormat:{title:"W jakim formacie ma zostać zapisana okładka?",jpg:"Plik JPEG",png:"Plik PNG",both:"Pliki JPEG i PNG"},jpegImageQuality:"Jakość JPEG",embeddedArtworkPNG:"Zapisz osadzoną okładkę jako PNG",embeddedPNGWarning:"PNG nie jest oficjalnie wspierane przez Deezer i może powodować błędy",imageSizeWarning:"Wszystko powyżej x1200 nie jest oficjalnie używane przez Deezera, więc mogą wystąpić problemy."},tags:{head:"Które tagi zapisać",title:"Tytuł",artist:"Artysta",album:"Album",cover:"Okładka",trackNumber:"Numer utworu",trackTotal:"Liczba utworów",discNumber:"Numer płyty",discTotal:"Liczba płyt",albumArtist:"Album Artist",genre:"Gatunek",year:"Rok",date:"Data",explicit:"Wulgarny tekst",isrc:"ISRC",length:"Długość",barcode:"Kod kreskowy albumu (UPC)",bpm:"BPM",replayGain:"Replay Gain",label:"Wytwórnia",lyrics:"Niezsynchronizowany tekst",syncedLyrics:"Zsynchronizowany tekst",copyright:"Prawa autorskie",composer:"Kompozytor",involvedPeople:"Zaangażowane osoby"},other:{title:"Inne",savePlaylistAsCompilation:"Zapisz playlisty jako kompilacje",useNullSeparator:"Użyj separatora null",saveID3v1:"Zapisz ID3v1",multiArtistSeparator:{title:"Jak oddzielić artystów?",nothing:"Zapisz tylko głównego artystę",default:"Standardowa specyfikacja",andFeat:"& i feat.",using:'Używa "{separator}"'},singleAlbumArtist:"Zapisz tylko głównego autora albumu",albumVariousArtists:'Zostaw "Various Artists" w autorach albumu',removeAlbumVersion:'Usuń "Album Version" z tytułu utworu',removeDuplicateArtists:"Usuń kombinacje artystów",dateFormat:{title:"Format daty dla plików FLAC",year:"YYYY",month:"MM",day:"DD"},featuredToTitle:{title:"Co zrobić z dodatkowymi artystami?",0:"Nic",1:"Usuń z tytułu",3:"Usuń z tytułu i tytułu albumu",2:"Przenieś do tytułu"},titleCasing:"Rozmiar liter tytułu",artistCasing:"Rozmiar liter artysty",casing:{nothing:"Zostaw",lower:"małe litery",upper:"DUŻE LITERY",start:"Na Początku Każdego Słowa",sentence:"Jak w zdaniu"},previewVolume:"Głośność podglądu",executeCommand:{title:"Polecenie do wykonania po pobraniu",description:"Zostaw puste, aby nic nie robić"}},spotify:{title:"Funkcje Spotify",clientID:"Spotify ClientID",clientSecret:"Spotify Client Secret",username:"Nazwa użytkownika",question:"Jak włączyć funkcje Spotify?"},reset:"Przywróć domyślne",save:"Zapisz",toasts:{init:"Załadowano ustawienia!",update:"Zaktualizowano ustawienia!",ARLcopied:"Skopiowano ARL do schowka"}},sidebar:{home:"strona główna",search:"szukaj",charts:"wykresy",favorites:"ulubione",linkAnalyzer:"analiza linków",settings:"ustawienia",about:"informacje"},tracklist:{downloadSelection:"Pobierz wybrane"}}};c.use(f);const Tt=localStorage.getItem("locale")||"en";document.querySelector("html").setAttribute("lang",Tt);const zt=new f({locale:Tt,fallbackLocale:"en",messages:St,pluralizationRules:{ru(e){const t=Math.abs(e)%100,a=t%10;return t>10&&t<20?2:a>1&&a<5?1:1==a?0:2}}}),xt=p(navigator.onLine);window.addEventListener("online",(()=>{xt.value=!0})),window.addEventListener("offline",(()=>{xt.value=!1}));var Pt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"about_tab"}},[a("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.about")))]),a("div",{staticClass:"inline-flex px-4 py-2 mb-8 rounded-full",class:{"bg-green-500":e.isOnline,"bg-red-500":!e.isOnline}},[a("span",{staticClass:"text-sm uppercase-first-letter"},[e._v(" "+e._s(e.$t("about.appStatus."+(e.isOnline?"online":"offline")))+" ")])]),a("ul",[a("li",[e._v(" "+e._s(e.$t("about.updates.currentWebuiVersion"))+": "),a("span",[e._v(e._s(e.currentVersion||e.$t("about.updates.versionNotAvailable")))])]),a("li",[e._v(" "+e._s(e.$t("about.updates.currentVersion"))+": "),a("span",[e._v(e._s(e.current||e.$t("about.updates.versionNotAvailable")))])]),a("li",[e._v(e._s(e.$t("about.updates.deemixVersion"))+": "+e._s(e.deemixVersion))]),e.updateAvailable&&e.latest?a("li",[e._v(e._s(e.$t("about.updates.updateAvailable",{version:e.latest})))]):e._e()]),a("ul",[a("li",{domProps:{innerHTML:e._s(e.$t("about.usesLibrary"))}}),a("li",{domProps:{innerHTML:e._s(e.$t("about.thanks"))}}),a("i18n",{attrs:{path:"about.upToDate.text",tag:"li"},scopedSlots:e._u([{key:"newsChannel",fn:function(){return[a("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v(e._s(e.$t("about.upToDate.newsChannel")))])]},proxy:!0}])})],1),a("h2",[e._v(e._s(e.$t("about.titles.usefulLinks")))]),a("ul",{staticClass:"no-dots"},[a("li",[a("a",{attrs:{href:"https://git.rip/RemixDev/deemix",target:"_blank"}},[e._v("🚀 "+e._s(e.$t("about.officialRepo")))])]),a("li",[a("a",{attrs:{href:"https://git.rip/RemixDev/deemix-webui",target:"_blank"}},[e._v(" 💻 "+e._s(e.$t("about.officialWebuiRepo"))+" ")])]),a("li",[a("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v("🤖 "+e._s(e.$t("about.officialSubreddit")))])]),a("li",[a("a",{attrs:{href:"https://t.me/RemixDevNews",target:"_blank"}},[e._v("📰 "+e._s(e.$t("about.newsChannel")))])])]),a("h2",[e._v(" "+e._s(e.$t("about.titles.bugReports"))+" "),a("span",{staticClass:"subheading"},[e._v(" "+e._s(e.$t("about.subtitles.bugReports"))+" ")])]),a("ul",[a("i18n",{attrs:{path:"about.questions.text",tag:"li"},scopedSlots:e._u([{key:"subreddit",fn:function(){return[a("a",{attrs:{href:"https://www.reddit.com/r/deemix",target:"_blank"}},[e._v(e._s(e.$t("about.questions.subreddit")))])]},proxy:!0}])}),a("li",[e._v(" "+e._s(e.$t("about.beforeReporting"))+" ")]),a("li",{domProps:{innerHTML:e._s(e.$t("about.beSure"))}}),a("li",[e._v(" "+e._s(e.$t("about.duplicateReports"))+" ")]),a("li",{domProps:{innerHTML:e._s(e.$t("about.dontOpenIssues"))}})],1),a("h2",[e._v(" "+e._s(e.$t("about.titles.contributing"))+" "),a("span",{staticClass:"subheading"},[e._v(" "+e._s(e.$t("about.subtitles.contributing"))+" ")])]),a("ul",[a("i18n",{attrs:{path:"about.newUI.text",tag:"li"},scopedSlots:e._u([{key:"repo",fn:function(){return[a("span",[e._v(e._s(e.$t("about.newUI.repo")))])]},proxy:!0}])}),a("li",[e._v(" "+e._s(e.$t("about.acceptFeatures"))+" ")]),a("i18n",{attrs:{path:"about.contributeWebUI.text",tag:"li"},scopedSlots:e._u([{key:"webui",fn:function(){return[a("span",[e._v(e._s(e.$t("about.contributeWebUI.webui")))])]},proxy:!0}])}),a("li",[e._v(" "+e._s(e.$t("about.otherLanguages"))+" ")]),a("li",[e._v(" "+e._s(e.$t("about.understandingCode"))+" ")])],1),a("h2",[e._v(" "+e._s(e.$t("about.titles.donations"))+" "),a("span",{staticClass:"subheading"},[e._v(" "+e._s(e.$t("about.subtitles.donations"))+" ")])]),a("ul",[a("li",{domProps:{innerHTML:e._s(e.$t("about.itsFree"))}}),a("li",[e._v(" "+e._s(e.$t("about.notObligated"))+" ")])]),a("ul",[a("li",[a("i",{domProps:{innerHTML:e._s(e.paypal)}}),a("strong",[e._v("PayPal:")]),a("a",{attrs:{href:"https://paypal.me/RemixDev",target:"_blank"}},[e._v("PayPal.me/RemixDev")])]),a("li",[a("i",{staticClass:"ethereum",domProps:{innerHTML:e._s(e.ethereum)}}),a("strong",[e._v("Ethereum:")]),e._v(" 0x1d2aa67e671485CD4062289772B662e0A6Ff976c ")])]),a("h2",[e._v(e._s(e.$t("about.titles.license")))]),e._m(0),a("i18n",{attrs:{path:"about.lincensedUnder.text",tag:"p"},scopedSlots:e._u([{key:"gpl3",fn:function(){return[a("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[e._v(e._s(e.$t("about.lincensedUnder.gpl3")))])]},proxy:!0}])})],1)},Dt=[function(){var e=this.$createElement,t=this._self._c||e;return t("p",[t("a",{attrs:{rel:"license",href:"https://www.gnu.org/licenses/gpl-3.0.en.html",target:"_blank"}},[t("img",{staticStyle:{"border-width":"0"},attrs:{alt:"GNU General Public License",src:"https://www.gnu.org/graphics/gplv3-127x51.png"}})])])}];const Nt=g({setup(e,t){const a=b({current:null,latest:null,updateAvailable:!1,deemixVersion:null}),{isOnline:i}={isOnline:xt};const s=h((()=>t.root.$store.getters.getAppInfo));return w((()=>{!function(e){const{currentCommit:t,latestCommit:i,updateAvailable:s,deemixVersion:n}=e;a.current=t,a.latest=i,a.updateAvailable=s,a.deemixVersion=n}(s.value)})),l(o({},v(a)),{paypal:"/paypal.530bc1c7.svg",ethereum:"/ethereum.b6549a15.svg",isOnline:i,currentVersion:"0.0.0"})}}),Lt={};var It=Y(Nt,Pt,Dt,!1,Rt,"f06927c2",null,null);function Rt(e){for(let t in Lt)this[t]=Lt[t]}var $t=function(){return It.exports}();const Ft={};var jt=Y({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.login.arl.question")))]),e._m(0),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome (Easy way)")]),e._m(1),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Chrome")]),e._m(2),e._m(3),a("h3",{staticClass:"mt-6 text-3xl"},[e._v("Firefox")]),e._m(4)])}),[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"mb-2 text-base"},[e._v(" Deezer keeps track of login session by using a cookie called ARL."),a("br"),e._v(" deemix uses that cookie to get the metadata that it needs to download the tracks from Deezer."),a("br"),e._v(" ARLs last for 3 months, after that Deezer asks you to log in again. The same method is used in deemix"),a("br"),e._v(" Following one of the guides below you can get your own account ARL. ")])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Chrome")]),a("li",[e._v("Go to www.deezer.com and log into your account")]),a("li",[e._v('Click on the little "lock" icon next the URL')]),a("li",[e._v("Click on Cookies > deezer.com > cookies > arl")]),a("li",[e._v("Select the string next to Content, and Copy")]),a("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Chrome")]),a("li",[e._v("Go to www.deezer.com and log into your account")]),a("li",[e._v("After logging in press F12 to open up Developer Tools")]),a("li",[e._v("Go under the Application tab (if you don't see it click the double arrow)")]),a("li",[e._v("Open the cookie dropdown")]),a("li",[e._v("Select www.deezer.com")]),a("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),a("li",[e._v("That's your ARL, now you can use it in the app")])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"mb-2 text-base"},[e._v("Here's a "),a("a",{attrs:{href:"https://youtu.be/O6PRT47_yds",target:"_blank"}},[e._v("video guide")])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ul",{staticClass:"mb-2 text-base"},[a("li",[e._v("Open Firefox")]),a("li",[e._v("Go to www.deezer.com and log into your account")]),a("li",[e._v("Afer logging in press F12 to open up Developer Tools")]),a("li",[e._v("Go under the Storage tab (if you don't see it click the double arrow)")]),a("li",[e._v("Open the cookie dropdown")]),a("li",[e._v("Select www.deezer.com")]),a("li",[e._v("Find the `arl` cookie (It should be 192 chars long)")]),a("li",[e._v("Make sure only copy the value and not the entire cookie")]),a("li",[e._v("That's your ARL, now you can use it in the app")])])}],!1,Et,null,null,null);function Et(e){for(let t in Ft)this[t]=Ft[t]}var Ut=function(){return jt.exports}();const Bt={};var qt=Y({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("settings.spotify.question")))]),a("p",{staticClass:"mb-2 text-base"},[e._v(' "Spotify Features" is a set of features that lets you convert Spotify tracks and albums links into Deezer ones. If you provide a Spotify Playlist link the app will autmatically convert all the links of the tracks inside it into deezer tracks. Enabling this set of features will let you see your public Spotify playlists in the favorites tab as well. ')]),a("p",{staticClass:"mb-2 text-base"},[e._v("For security reasons you will need to provide your own Client ID and Secret")]),a("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Client ID and Secret?")]),e._m(0),e._m(1),e._m(2),e._m(3),a("p",{staticClass:"mb-2 text-base"},[e._v("Now you can copy-paste those results in the appropriate fields in the settings.")]),a("h2",{staticClass:"mt-6 text-3xl"},[e._v("How do I get my Spotify Username?")]),e._m(4)])}),[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"mb-2 text-base"},[e._v(" Connect to "),a("a",{attrs:{href:"https://developer.spotify.com/dashboard",target:"_blank"}},[e._v("Spotify for Developers's Dashboard")]),e._v(" and login with your Spotify account. ")])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"mb-2 text-base"},[e._v(' Click on "Create an App".'),a("br"),a("img",{attrs:{src:"https://i.imgur.com/YFz7rHj.png",alt:"Create an App button on Spotify for Developers's Dashboard"}})])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"mb-2 text-base"},[e._v(' Fill out the "App name" and "App description" fields and check both checkboxes. Then click on the "Create" button.'),a("br"),a("img",{attrs:{src:"https://i.imgur.com/A9cvDkK.png",alt:"Create an app form"}})])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"mb-2 text-base"},[e._v(' Now you can see the Client ID. If you click on "Show Client Secret" the client secret will be revealed.'),a("br"),a("img",{attrs:{src:"https://i.imgur.com/foEfIhO.png",alt:"Screen of client ID and Secret"}})])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"mb-2 text-base"},[e._v(" You can get your Spotify Username from the "),a("a",{attrs:{href:"https://www.spotify.com/it/account/overview/",target:"_blank"}},[e._v("Overview page on Spotify's Website")]),e._v(". ")])}],!1,Mt,null,null,null);function Mt(e){for(let t in Bt)this[t]=Bt[t]}var Ot=function(){return qt.exports}();const Gt=g({name:"BaseTab",functional:!0,render:(e,t)=>e("li",{class:[t.data.class,"section-tabs__tab","uppercase-first-letter"],on:t.data.on},t.slots().default)}),Vt=g({name:"BaseTabs",functional:!0,render:(e,t)=>e("ul",{class:[t.data.class,"my-8","section-tabs"],on:t.data.on},t.slots().default)});function Wt(e){const t=new Date;return t.setHours(0,0,0,0),(e=new Date(e)).setDate(e.getDate()+3),t.getTime()<=e.getTime()}function Kt(e){return{artistName:oe(e,"name"),artistPictureXL:oe(e,"picture_xl"),artistReleases:Qt(oe(e,"releases"))}}function Qt(e){const t={};for(const a in e)if(e.hasOwnProperty(a)){const i=e[a];t[a]=[];for(const e of i)t[a].push({releaseID:oe(e,"id"),releaseCover:oe(e,"cover_small"),releaseTitle:oe(e,"title"),releaseDate:oe(e,"release_date"),releaseTracksNumber:oe(e,"nb_tracks"),releaseLink:oe(e,"link"),releaseType:oe(e,"record_type"),isReleaseExplicit:oe(e,"explicit_lyrics")})}return t}function Ht(e,t){if(e.hasLoaded){const{data:a}=e,i=[];for(const e of a){const a=t(e);i.push(a)}return{data:i,hasLoaded:e.hasLoaded}}return null}var Yt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"relative image-header"},[a("header",{staticClass:"flex items-center",style:e.headerStyle},[a("h1",{staticClass:"m-0"},[e._v(e._s(e.artistName))]),a("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{"aria-label":"download",role:"button","data-cm-link":e.downloadLink},on:{click:function(t){return t.stopPropagation(),e.sendAddToQueue(e.downloadLink)}}},[a("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),a("BaseTabs",e._l(e.artistReleases,(function(t,i){return a("BaseTab",{key:i,class:{active:e.currentTab===i},on:{click:function(t){e.currentTab=i}}},[e._v(" "+e._s(e.$tc("globals.listTabs."+i,2))+" ")])})),1),a("table",{staticClass:"table"},[a("thead",[a("tr",e._l(e.head,(function(t){return a("th",{key:t.title,staticClass:"uppercase-first-letter",class:{"sort-asc":t.sortKey===e.sortKey&&"asc"==e.sortOrder,"sort-desc":t.sortKey===e.sortKey&&"desc"==e.sortOrder,sortable:t.sortKey,clickable:t.sortKey},style:{width:t.width?t.width:"auto"},on:{click:function(a){t.sortKey&&e.sortBy(t.sortKey)}}},[e._v(" "+e._s(t.title)+" ")])})),0)]),a("tbody",e._l(e.sortedData,(function(t){return a("tr",{key:t.releaseID},[a("RouterLink",{staticClass:"flex items-center clickable",attrs:{tag:"td","data-cm-link":t.releaseLink,to:{name:"Album",params:{id:t.releaseID}}}},[a("img",{staticClass:"mr-4 rounded coverart",staticStyle:{width:"56px",height:"56px"},attrs:{src:t.releaseCover}}),t.isReleaseExplicit?a("i",{staticClass:"material-icons title-icon title-icon--explicit"},[e._v("explicit")]):e._e(),a("div",[a("span",{staticClass:"flex hover:text-primary"},[e._v(" "+e._s(t.releaseTitle)+" "),e.checkNewRelease(t.releaseDate)?a("i",{staticClass:"material-icons title-icon title-icon--right title-icon--new"},[e._v(" fiber_new ")]):e._e()]),a("span",{directives:[{name:"show",rawName:"v-show",value:"all"===e.currentTab,expression:"currentTab === 'all'"}],staticClass:"block text-xs opacity-50 uppercase-first-letter"},[e._v(" "+e._s(e.$tc("globals.listTabs."+t.releaseType))+" ")])])]),a("td",{staticClass:"w-32 text-center xl:w-40"},[e._v(e._s(t.releaseDate))]),a("td",{staticClass:"w-20 text-center xl:w-32"},[e._v(e._s(t.releaseTracksNumber))]),a("td",{staticClass:"w-8 cursor-pointer",attrs:{"data-cm-link":t.releaseLink},on:{click:function(a){return a.stopPropagation(),e.sendAddToQueue(t.releaseLink)}}},[a("i",{staticClass:"material-icons hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v("file_download")])])],1)})),0)])],1)},Jt=[];const Zt=g({components:{BaseTabs:Vt,BaseTab:Gt},setup(e,t){const a=b({currentTab:"",sortKey:"releaseDate",sortOrder:"desc",artistReleases:{},artistName:"",artistPicture:"",currentRelease:h((()=>a.artistReleases[a.currentTab]))}),i=h((()=>t.root.$router.currentRoute.params.id)),s=p(!1);(function(e){return W("getTracklist",{type:"artist",id:e})})(A(i)).then((e=>{s.value=!0;const t={data:[e],hasLoaded:A(s)},{data:[{artistName:i,artistPictureXL:n,artistReleases:r}]}=Ht(t,Kt);Object.assign(a,{artistName:i,artistPicture:n,artistReleases:r,currentTab:Object.keys(r)[0]})})).catch((e=>console.error(e)));const n=h((()=>{if(!A(s))return[];let e=a.sortKey;return"releaseTracksNumber"===e&&(e=e=>Number(e.releaseTracksNumber)),_(a.currentRelease,e,a.sortOrder)}));return l(o({},v(a)),{downloadLink:h((()=>`https://www.deezer.com/artist/${A(i)}`)),headerStyle:h((()=>({backgroundImage:`linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url(${a.artistPicture})`}))),sortedData:n,sendAddToQueue:te,checkNewRelease:Wt})},data(){const e=this.$t.bind(this),t=this.$tc.bind(this);return{head:[{title:t("globals.listTabs.title",1),sortKey:"releaseTitle"},{title:e("globals.listTabs.releaseDate"),sortKey:"releaseDate"},{title:t("globals.listTabs.track",2),sortKey:"releaseTracksNumber"},{title:"",width:null}]}},methods:{sortBy(e){e===this.sortKey?this.sortOrder="asc"===this.sortOrder?"desc":"asc":(this.sortKey=e,this.sortOrder="asc")}}}),Xt={};var ea=Y(Zt,Yt,Jt,!1,ta,null,null,null);function ta(e){for(let t in Xt)this[t]=Xt[t]}var aa=function(){return ea.exports}();function ia(e){return W("getChartTracks",{id:e})}const sa={};var na=Y({methods:{previewMouseEnter:function(e){ge.$emit("trackPreview:previewMouseEnter",e)},previewMouseLeave:function(e){ge.$emit("trackPreview:previewMouseLeave",e)}}},(function(){var e=this,t=e.$createElement;return(e._self._c||t)("i",{staticClass:"absolute top-0 right-0 flex items-center justify-center w-full h-full text-center text-white transition-opacity duration-200 ease-in-out bg-black bg-opacity-50 rounded opacity-0 material-icons preview_controls",attrs:{title:e.$t("globals.play_hint")},on:{mouseenter:e.previewMouseEnter,mouseleave:e.previewMouseLeave}},[e._v(" play_arrow ")])}),[],!1,ra,null,null,null);function ra(e){for(let t in sa)this[t]=sa[t]}var oa=function(){return na.exports}();const la={};var ca=Y({components:{PreviewControls:oa},data:()=>({country:"",id:0,countries:[],chart:[]}),computed:{worldwideRelease(){return this.countries.filter((e=>"Worldwide"===e.title))[0]}},watch:{id(e){0!==e&&ia(e).then((e=>this.setTracklist(e.data)))}},async created(){let e,{data:t}=await W("getCharts");t=t.filter((t=>("Worldwide"===t.title&&(e=t),"Worldwide"!==t.title))),t.unshift(e),this.initCharts(t)},methods:{convertDuration:ie,playPausePreview:ke,addToQueue(e){e.stopPropagation(),te(e.currentTarget.dataset.link)},getTrackList(e){document.getElementById("content").scrollTo(0,0);const{currentTarget:{dataset:{title:t,id:a}}}=e;this.country=t,localStorage.setItem("chart",this.country),this.id=a},setTracklist(e){this.chart=e},onChangeCountry(){this.country="",this.id=0},initCharts(e){if(this.countries=e,this.country=localStorage.getItem("chart")||"",!this.country)return;let t=0;for(;tthis.setTracklist(e.data)))):(this.country="",localStorage.setItem("chart",this.country))}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("charts.title"))+" "+e._s(e.country?"- "+e.country:""))]),""===e.country?a("div",[a("div",{staticClass:"release-grid"},e._l(e.countries,(function(t){return a("div",{key:t.id,staticClass:"w-40 h-40 release clickable",attrs:{"aria-label":t.title,"data-id":t.id,"data-title":t.title,role:"button"},on:{click:e.getTrackList}},[a("img",{staticClass:"w-full rounded coverart",attrs:{src:t.picture_medium,alt:t.title}})])})),0)]):a("div",[a("button",{staticClass:"btn btn-primary",on:{click:e.onChangeCountry}},[e._v(e._s(e.$t("charts.changeCountry")))]),a("button",{staticClass:"btn btn-primary",attrs:{"data-link":"https://www.deezer.com/playlist/"+e.id},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("charts.download"))+" ")]),a("table",{staticClass:"table table--charts"},[a("tbody",e._l(e.chart,(function(t,i){return a("tr",{key:i,staticClass:"track_row"},[a("td",{staticClass:"p-3 text-center cursor-default",class:{first:0===i}},[e._v(" "+e._s(i+1)+" ")]),a("td",{staticClass:"table__icon table__icon--big"},[a("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":t.preview},on:{click:e.playPausePreview}},[t.preview?a("PreviewControls"):e._e(),a("img",{staticClass:"rounded coverart",attrs:{src:t.album.cover_small}})],1)]),a("td",{staticClass:"table__cell--large"},[e._v(" "+e._s(t.title+(t.title_version&&-1==t.title.indexOf(t.title_version)?" "+t.title_version:""))+" ")]),a("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{to:{name:"Artist",params:{id:t.artist.id}},tag:"td"}},[e._v(" "+e._s(t.artist.name)+" ")]),a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{to:{name:"Album",params:{id:t.album.id}},tag:"td"}},[e._v(" "+e._s(t.album.title)+" ")]),a("td",{staticClass:"table__cell--small table__cell--center"},[e._v(" "+e._s(e.convertDuration(t.duration))+" ")]),a("td",{staticClass:"cursor-pointer group",attrs:{"data-link":t.link,"aria-label":"download",role:"button"},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}},[a("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(" get_app ")])])],1)})),0)])])])}),[],!1,ua,null,null,null);function ua(e){for(let t in la)this[t]=la[t]}var da=function(){return ca.exports}(),pa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("errors.title",{name:e.title})))]),a("table",{staticClass:"table table--tracklist"},[a("tr",[a("th",[e._v("ID")]),a("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),a("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),a("th",[e._v(e._s(e.$tc("globals.listTabs.error",1)))])]),e._l(e.errors,(function(t){return a("tr",{key:t.data.id},[a("td",[e._v(e._s(t.data.id))]),a("td",[e._v(e._s(t.data.artist))]),a("td",[e._v(e._s(t.data.title))]),a("td",[e._v(e._s(t.errid?e.$t("errors.ids."+t.errid):t.message))])])}))],2)])},ma=[];const ga={computed:l(o({},d(["getErrors"])),{title(){return`${this.getErrors.artist} - ${this.getErrors.title}`},errors(){return this.getErrors.errors}})},ba={};var ha=Y(ga,pa,ma,!1,va,null,null,null);function va(e){for(let t in ba)this[t]=ba[t]}var ya=function(){return ha.exports}();const ka={inheritAttrs:!1,props:{cover:{type:String,required:!0},isRounded:{type:Boolean,required:!1},isCircle:{type:Boolean,required:!1},link:{type:String,required:!0}}},fa={};var wa=Y(ka,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"relative cover-container group"},[a("img",{staticClass:"block w-full opacity-100 coverart",class:{rounded:e.isRounded,"rounded-full":e.isCircle},attrs:{"aria-hidden":"true",src:e.cover}}),a("button",e._g({staticClass:"absolute p-0 text-center bg-black border-0 rounded-full opacity-0 download_overlay hover:bg-primary",attrs:{role:"button","aria-label":"download","data-link":e.link,tabindex:"0"}},e.$listeners),[a("i",{staticClass:"text-white cursor-pointer material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])])}),[],!1,Aa,"7fcde8c2",null,null);function Aa(e){for(let t in fa)this[t]=fa[t]}var _a=function(){return wa.exports}();let Ca={},Sa={},Ta={};function za(){let e=parseInt(localStorage.getItem("previewVolume"));return isNaN(e)&&(e=80,localStorage.setItem("previewVolume",e.toString())),e}var xa={state:()=>({currentCommit:null,latestCommit:null,updateAvailable:!1,deemixVersion:null,previewVolume:za(),hasSlimDownloads:"true"===localStorage.getItem("slimDownloads"),hasSlimSidebar:"true"===localStorage.getItem("slimSidebar")}),getters:{getAppInfo:e=>e,getPreviewVolume:e=>e.previewVolume,getSlimDownloads:e=>e.hasSlimDownloads,getSlimSidebar:e=>e.hasSlimSidebar},actions:{setAppInfo({commit:e},t){e("SET_CURRENT_COMMIT",t.currentCommit),e("SET_LATEST_COMMIT",t.latestCommit),e("SET_UPDATE_AVAILABLE",t.updateAvailable),e("SET_DEEMIX_VERSION",t.deemixVersion)},setPreviewVolume({commit:e},t){e("SET_PREVIEW_VOLUME",t),localStorage.setItem("previewVolume",t.toString())},setSlimDownloads({commit:e},t){e("SET_SLIM_DOWNLOADS",t),localStorage.setItem("slimDownloads",t.toString())},setSlimSidebar({commit:e},t){e("SET_SLIM_SIDEBAR",t),localStorage.setItem("slimSidebar",t.toString()),Array.from(document.getElementsByClassName("toastify")).forEach((e=>{e.style.transform=`translate(${t?"3rem":"14rem"}, 0)`}))}},mutations:{SET_CURRENT_COMMIT(e,t){e.currentCommit=t},SET_LATEST_COMMIT(e,t){e.latestCommit=t},SET_UPDATE_AVAILABLE(e,t){e.updateAvailable=t},SET_DEEMIX_VERSION(e,t){e.deemixVersion=t},SET_PREVIEW_VOLUME(e,t){e.previewVolume=t},SET_SLIM_DOWNLOADS(e,t){e.hasSlimDownloads=t},SET_SLIM_SIDEBAR(e,t){e.hasSlimSidebar=t}}};const Pa=()=>({arl:localStorage.getItem("arl")||"",accessToken:localStorage.getItem("accessToken")||"",status:null,user:{id:null,name:"",picture:""},spotifyUser:{id:localStorage.getItem("spotifyUser"),name:null,picture:null},clientMode:!1});var Da={state:()=>Pa(),getters:{getARL:e=>e.arl,getAccessToken:e=>e.accessToken,getUser:e=>e.user,getSpotifyUser:e=>e.spotifyUser,getClientMode:e=>e.clientMode,isLoggedIn:e=>!!e.arl,isLoggedWithSpotify:e=>!!e.spotifyUser.id},actions:{login({commit:e,dispatch:t},a){const{arl:i,user:s,status:n}=a;t("setARL",{arl:i}),e("SET_USER",s),e("SET_STATUS",n)},logout({commit:e}){localStorage.removeItem("arl"),localStorage.removeItem("accessToken"),e("RESET_LOGIN")},setARL({commit:e},t){let{saveOnLocalStorage:a}=t;const{arl:i}=t;a=void 0===a||a,e("SET_ARL",i),a&&localStorage.setItem("arl",i)},setAccessToken({commit:e},t){let{saveOnLocalStorage:a}=t;const{accessToken:i}=t;a=void 0===a||a,e("SET_ACCESS_TOKEN",i),a&&localStorage.setItem("accessToken",i)},removeARL({commit:e}){e("SET_ARL",""),localStorage.removeItem("arl")},removeAccessToken({commit:e}){e("SET_ACCESS_TOKEN",""),localStorage.removeItem("accessToken")},setUser({commit:e},t){e("SET_USER",t)},setClientMode({commit:e},t){e("SET_CLIENT_MODE",t)}},mutations:{SET_ARL(e,t){e.arl=t},SET_ACCESS_TOKEN(e,t){e.accessToken=t},SET_STATUS(e,t){e.status=t},SET_USER(e,t){e.user=t},SET_CLIENT_MODE(e,t){e.clientMode=t},RESET_LOGIN(e){const t=e.clientMode;Object.assign(e,Pa()),e.clientMode=t}}};var Na={state:()=>({artist:"",bitrate:"",cover:"",downloaded:0,errors:[],failed:0,id:"",progress:0,silent:!0,size:0,title:"",type:"",uuid:""}),getters:{getErrors:e=>e},actions:{setErrors({commit:e},t){e("SET_ERRORS",t)}},mutations:{SET_ERRORS(e,t){for(const a in e)e.hasOwnProperty(a)&&(e[a]=t[a])}}};c.use(C);var La=new C.Store({modules:{appInfo:xa,login:Da,errors:Na},strict:!1});const Ia=p([]),Ra=p([]),$a=p([]),Fa=p([]),ja=p([]),Ea=p(!1);function Ua({isInitial:e=!1}){e||(Ea.value=!0),W("getUserFavorites").then(Ba).catch(console.error),La.getters.isLoggedWithSpotify&&W("getUserSpotifyPlaylists",{spotifyUser:La.getters.getSpotifyUser.id}).then((e=>{$a.value=e})).catch(console.error)}function Ba(e){const{tracks:t,albums:a,artists:i,playlists:s}=e;Ea.value=!1,Ia.value=i,Ra.value=a,Fa.value=s,ja.value=t}var qa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(" "+e._s(e.$t("favorites.title"))+" "),a("div",{ref:"reloadButton",staticClass:"inline-block clickable",attrs:{"aria-label":"reload",role:"button"},on:{click:e.refreshFavorites}},[a("i",{staticClass:"material-icons",class:{spin:e.isRefreshingFavorites}},[e._v("sync")])])]),a("BaseTabs",e._l(e.tabs,(function(t){return a("BaseTab",{key:t,class:{active:e.activeTab===t},on:{click:function(a){e.activeTab=t}}},[e._v(" "+e._s(e.$tc("globals.listTabs."+t,2))+" ")])})),1),e.activeTabEmpty?e._e():a("button",{staticClass:"btn btn-primary",staticStyle:{"margin-bottom":"2rem"},on:{click:e.downloadAllOfType}},[e._v(" "+e._s(e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.activeTab+"N",e.getTabLength())}))+" ")]),a("div",{directives:[{name:"show",rawName:"v-show",value:"playlist"===e.activeTab,expression:"activeTab === 'playlist'"}]},[0===e.playlists.length?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noPlaylists")))])]):e._e(),e.playlists.length>0||e.spotifyPlaylists.length>0?a("div",{staticClass:"release-grid"},[e._l(e.playlists,(function(t){return a("div",{key:t.id,staticClass:"release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{to:{name:"Playlist",params:{id:t.id}},tag:"div"}},[a("CoverContainer",{attrs:{cover:t.picture_medium,link:t.link,"is-rounded":""},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}}),a("p",{staticClass:"primary-text"},[e._v(e._s(t.title))])],1),a("p",{staticClass:"secondary-text"},[e._v(" "+e._s(e.$t("globals.by",{artist:t.creator.name})+" - "+e.$tc("globals.listTabs.trackN",t.nb_tracks))+" ")])],1)})),e._l(e.spotifyPlaylists,(function(t){return a("div",{key:t.id,staticClass:"release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{to:{name:"Spotify Playlist",params:{id:t.id}},tag:"div"}},[a("CoverContainer",{attrs:{cover:t.picture_medium,link:t.link,"is-rounded":""},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}}),a("p",{staticClass:"primary-text"},[e._v(e._s(t.title))])],1),a("p",{staticClass:"secondary-text"},[e._v(" "+e._s(e.$t("globals.by",{artist:t.creator.name})+" - "+e.$tc("globals.listTabs.trackN",t.nb_tracks))+" ")])],1)}))],2):e._e()]),a("div",{directives:[{name:"show",rawName:"v-show",value:"album"===e.activeTab,expression:"activeTab === 'album'"}]},[0===e.albums.length?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noAlbums")))])]):e._e(),e.albums.length>0?a("div",{staticClass:"release-grid"},e._l(e.albums,(function(t){return a("router-link",{key:t.id,staticClass:"release clickable",attrs:{to:{name:"Album",params:{id:t.id}},tag:"div"}},[a("CoverContainer",{attrs:{cover:t.cover_medium,link:t.link,"is-rounded":""},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}}),a("p",{staticClass:"primary-text"},[e._v(e._s(t.title))]),a("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:t.artist.name})))])],1)})),1):e._e()]),a("div",{directives:[{name:"show",rawName:"v-show",value:"artist"===e.activeTab,expression:"activeTab === 'artist'"}]},[0==e.artists.length?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noArtists")))])]):e._e(),e.artists.length>0?a("div",{staticClass:"release-grid"},e._l(e.artists,(function(t){return a("router-link",{key:t.id,staticClass:"release clickable",attrs:{to:{name:"Artist",params:{id:t.id}},tag:"div"}},[a("CoverContainer",{attrs:{cover:t.picture_medium,link:t.link,"is-circle":""},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}}),a("p",{staticClass:"primary-text"},[e._v(e._s(t.name))])],1)})),1):e._e()]),a("div",{directives:[{name:"show",rawName:"v-show",value:"track"===e.activeTab,expression:"activeTab === 'track'"}]},[0==e.tracks.length?a("div",[a("h1",[e._v(e._s(e.$t("favorites.noTracks")))])]):e._e(),e.tracks.length>0?a("table",{staticClass:"table"},e._l(e.tracks,(function(t){return a("tr",{staticClass:"track_row"},[a("td",{staticClass:"p-3 text-center cursor-default",class:{first:1===t.position}},[e._v(" "+e._s(t.position)+" ")]),a("td",[a("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":t.preview},on:{click:e.playPausePreview}},[t.preview?a("PreviewControls"):e._e(),a("img",{staticClass:"rounded coverart",attrs:{src:t.album.cover_small}})],1)]),a("td",{staticClass:"table__cell--large"},[e._v(" "+e._s(t.title+(t.title_version&&-1==t.title.indexOf(t.title_version)?" "+t.title_version:""))+" ")]),a("router-link",{staticClass:"table__cell table__cell--medium table__cell--center clickable",attrs:{to:{name:"Artist",params:{id:t.artist.id}},tag:"td"}},[e._v(" "+e._s(t.artist.name)+" ")]),a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{to:{name:"Album",params:{id:t.album.id}},tag:"td"}},[e._v(" "+e._s(t.album.title)+" ")]),a("td",{staticClass:"table__cell--small"},[e._v(" "+e._s(e.convertDuration(t.duration))+" ")]),a("td",{staticClass:"cursor-pointer group",attrs:{"data-link":t.link,"aria-label":"download",role:"button"},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[a("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(" get_app ")])])])],1)})),0):e._e()])],1)},Ma=[];const Oa=g({components:{PreviewControls:oa,CoverContainer:_a,BaseTabs:Vt,BaseTab:Gt},setup(e,t){const a=b({activeTab:"playlist",tabs:["playlist","album","artist","track"]}),{favoriteArtists:i,favoriteAlbums:s,favoriteSpotifyPlaylists:n,favoritePlaylists:r,favoriteTracks:c,isRefreshingFavorites:u,refreshFavorites:d}={favoriteArtists:Ia,favoriteAlbums:Ra,favoriteSpotifyPlaylists:$a,favoritePlaylists:Fa,favoriteTracks:ja,isRefreshingFavorites:Ea,refreshFavorites:Ua};return d({isInitial:!0}),m(u,((e,a)=>{a&&!e&>(t.root.$t("toasts.refreshFavs"),"done",!0)})),l(o({},v(a)),{tracks:c,albums:s,artists:i,playlists:r,spotifyPlaylists:n,refreshFavorites:d,isRefreshingFavorites:u})},computed:{activeTabEmpty(){const e=this.getActiveRelease();return 0===(null==e?void 0:e.length)}},methods:{playPausePreview:ke,convertDuration:ie,downloadAllOfType(){try{const e=this.getActiveRelease();if("track"===this.activeTab){te(this.getLovedTracksPlaylist().link)}else te(e.map((e=>e.link)).join(";"))}catch(e){console.error(e.message)}},addToQueue(e){te(e.currentTarget.dataset.link)},getActiveRelease(e=this.activeTab){let t;switch(e){case"playlist":t=this.playlists;break;case"album":t=this.albums;break;case"artist":t=this.artists;break;case"track":t=this.tracks}return t},getTabLength(e=this.activeTab){var t;return(null==(t=this[`${e}s`])?void 0:t.length)||0},getLovedTracksPlaylist(){const e=this.playlists.filter((e=>e.is_loved_track));if(0!==e.length)return e[0];throw new Error("No loved tracks playlist!")}}}),Ga={};var Va=Y(Oa,qa,Ma,!1,Wa,null,null,null);function Wa(e){for(let t in Ga)this[t]=Ga[t]}var Ka=function(){return Va.exports}();let Qa={},Ha=!1;var Ya=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"home_tab"}},[a("h1",{staticClass:"mb-8 text-5xl"},[e._v(e._s(e.$t("globals.welcome")))]),e.isLoggedIn?e._e():a("section",{ref:"notLogged",staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("p",{staticClass:"mb-4",attrs:{id:"home_not_logged_text"}},[e._v(e._s(e.$t("home.needTologin")))]),a("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Settings"}}},[e._v(" "+e._s(e.$t("home.openSettings"))+" ")])],1),e.playlists.length?a("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularPlaylists")))]),a("div",{staticClass:"release-grid"},e._l(e.playlists,(function(t){return a("router-link",{key:t.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Playlist",params:{id:t.id}},tabindex:"0"},nativeOn:{keyup:function(a){return!a.type.indexOf("key")&&e._k(a.keyCode,"enter",13,a.key,"Enter")?null:e.$router.push({name:"Playlist",params:{id:t.id}})}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:t.picture_medium,link:t.link},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}}),a("p",{staticClass:"primary-text"},[e._v(e._s(t.title))]),a("p",{staticClass:"secondary-text"},[e._v(" "+e._s(e.$t("globals.by",{artist:t.user.name})+" - "+e.$tc("globals.listTabs.trackN",t.nb_tracks))+" ")])],1)})),1)]):e._e(),e.albums.length?a("section",{staticClass:"py-6 border-0 border-t border-solid border-grayscale-500"},[a("h2",{staticClass:"mb-6 text-3xl"},[e._v(e._s(e.$t("home.sections.popularAlbums")))]),a("div",{staticClass:"release-grid"},e._l(e.albums,(function(t){return a("router-link",{key:t.id,staticClass:"release clickable",attrs:{tag:"div",to:{name:"Album",params:{id:t.id}},"data-id":t.id,tabindex:"0"},nativeOn:{keyup:function(a){return!a.type.indexOf("key")&&e._k(a.keyCode,"enter",13,a.key,"Enter")?null:e.$router.push({name:"Album",params:{id:t.id}})}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:t.cover_medium,link:t.link},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}}),a("p",{staticClass:"primary-text"},[e._v(e._s(t.title))]),a("p",{staticClass:"secondary-text"},[e._v(e._s(""+e.$t("globals.by",{artist:t.artist.name})))])],1)})),1)]):e._e()])},Ja=[];const Za={components:{CoverContainer:_a},data:()=>({playlists:[],albums:[]}),computed:o({},d(["isLoggedIn"])),async created(){const e=await async function(){if(Ha)return Qa;{const e=await W("getHome");return Qa=e,Ha=!0,e}}();this.initHome(e)},methods:{addToQueue(e){te(e.currentTarget.dataset.link)},initHome(e){const{playlists:{data:t},albums:{data:a}}=e;this.playlists=t,this.albums=a}}},Xa={};var ei=Y(Za,Ya,Ja,!1,ti,null,null,null);function ti(e){for(let t in Xa)this[t]=Xa[t]}var ai=function(){return ei.exports}();const ii={AF:"Afghanistan",AX:"Åland Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia, Plurinational State of",BQ:"Bonaire, Sint Eustatius and Saba",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, the Democratic Republic of the",CK:"Cook Islands",CR:"Costa Rica",CI:"Côte d'Ivoire",HR:"Croatia",CU:"Cuba",CW:"Curaçao",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran, Islamic Republic of",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea, Democratic People's Republic of",KR:"Korea, Republic of",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Lao People's Democratic Republic",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia, the Former Yugoslav Republic of",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia, Federated States of",MD:"Moldova, Republic of",MC:"Monaco",MN:"Mongolia",ME:"Montenegro",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine, State of",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Réunion",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",BL:"Saint Barthélemy",SH:"Saint Helena, Ascension and Tristan da Cunha",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",MF:"Saint Martin (French part)",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SX:"Sint Maarten (Dutch part)",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",SS:"South Sudan",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania, United Republic of",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela, Bolivarian Republic of",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe"};const si={};var ni=Y({data:()=>({link:"",title:"",subtitle:"",image:"",data:{},type:"",id:"0",countries:[]}),mounted(){ge.$on("analyze_track",this.showTrack),ge.$on("analyze_album",this.showAlbum),H.on("analyze_notSupported",this.notSupported)},methods:{convertDuration:ie,reset(){this.title="Loading...",this.subtitle="",this.image="",this.data={},this.type="",this.link="",this.countries=[]},showTrack(e){this.reset();const{title:t,title_version:a,album:{cover_xl:i},link:s,available_countries:n,id:r}=e;this.title=t+(a&&!t.includes(a)?" "+a:""),this.image=i,this.type="track",this.link=s,this.id=r,n.forEach((e=>{const t=[],a=[...e].map((e=>e.charCodeAt()+127397));t.push(String.fromCodePoint(...a)),t.push(ii[e]),this.countries.push(t)})),this.data=e},showAlbum(e){this.reset();const{title:t,cover_xl:a,link:i,id:s}=e;this.title=t,this.image=a,this.type="album",this.link=i,this.data=e,this.id=s},notSupported(){this.link="error"},addToQueue(e){te(e.currentTarget.dataset.link)}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"image-header",attrs:{id:"analyzer_tab"}},[a("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.linkAnalyzer")))]),""===e.link?a("div",[a("p",[e._v(" "+e._s(e.$t("linkAnalyzer.info"))+" ")]),a("p",[e._v(" "+e._s(e.$t("linkAnalyzer.useful"))+" ")])]):"error"===e.link?a("div",[a("h2",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupported")))]),a("p",[e._v(e._s(e.$t("linkAnalyzer.linkNotSupportedYet")))])]):a("div",[a("header",{staticClass:"flex items-center",style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[a("div",[a("h1",{staticClass:"m-0"},[e._v(e._s(e.title))]),"track"===e.type?a("h2",{staticClass:"m-0 mb-3 text-lg"},[a("i18n",{attrs:{path:"globals.by",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(" "+e._s(e.data.artist.name)+" ")])],1),e._v(" • "),a("i18n",{attrs:{path:"globals.in",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"album",to:{name:"Album",params:{id:e.data.album.id}}}},[e._v(" "+e._s(e.data.album.title)+" ")])],1)],1):"album"===e.type?a("h2",{staticClass:"m-0 mb-3 text-lg"},[a("i18n",{attrs:{path:"globals.by",tag:"span"}},[a("router-link",{staticClass:"clickable",attrs:{tag:"span",place:"artist",to:{name:"Artist",params:{id:e.data.artist.id}}}},[e._v(" "+e._s(e.data.artist.name)+" ")])],1),e._v(" "+e._s(" • "+e.$tc("globals.listTabs.trackN",e.data.nb_tracks))+" ")],1):e._e()]),a("div",{staticClass:"grid w-16 h-16 ml-auto rounded-full cursor-pointer bg-primary text-grayscale-870 place-items-center",attrs:{role:"button","aria-label":"download","data-link":e.link},on:{contextmenu:function(t){return t.preventDefault(),e.openQualityModal.apply(null,arguments)},click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}},[a("i",{staticClass:"text-4xl material-icons",attrs:{title:e.$t("globals.download_hint")}},[e._v("get_app")])])]),a("table",{staticClass:"table"},[e.data.id?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.id")))]),a("td",[e._v(e._s(e.data.id))])]):e._e(),e.data.isrc?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.isrc")))]),a("td",[e._v(e._s(e.data.isrc))])]):e._e(),e.data.upc?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.upc")))]),a("td",[e._v(e._s(e.data.upc))])]):e._e(),e.data.duration?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.duration")))]),a("td",[e._v(e._s(e.convertDuration(e.data.duration)))])]):e._e(),e.data.disk_number?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.diskNumber")))]),a("td",[e._v(e._s(e.data.disk_number))])]):e._e(),e.data.track_position?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.trackNumber")))]),a("td",[e._v(e._s(e.data.track_position))])]):e._e(),e.data.release_date?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.releaseDate")))]),a("td",[e._v(e._s(e.data.release_date))])]):e._e(),e.data.bpm?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.bpm")))]),a("td",[e._v(e._s(e.data.bpm))])]):e._e(),e.data.label?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.label")))]),a("td",[e._v(e._s(e.data.label))])]):e._e(),e.data.record_type?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.recordType")))]),a("td",[e._v(e._s(e.$tc("globals.listTabs."+e.data.record_type,1)))])]):e._e(),e.data.genres&&e.data.genres.data.length?a("tr",[a("td",[e._v(e._s(e.$t("linkAnalyzer.table.genres")))]),a("td",[e._v(e._s(e.data.genres.data.map((function(e){return e.name})).join("; ")))])]):e._e()]),"album"===e.type?a("div",[a("router-link",{staticClass:"btn btn-primary",attrs:{tag:"button",name:"button",to:{name:"Album",params:{id:e.id}}}},[e._v(" "+e._s(e.$t("linkAnalyzer.table.tracklist"))+" ")])],1):e._e(),e.countries.length?a("div",e._l(e.countries,(function(t,i){return a("p",{key:i},[e._v(e._s(t[0])+" - "+e._s(t[1]))])})),0):e._e()])])}),[],!1,ri,null,null,null);function ri(e){for(let t in si)this[t]=si[t]}var oi=function(){return ni.exports}();const li=p([]),ci=localStorage.getItem("areLogsActive"),ui=p(!!ci&&"true"===ci),di=()=>{localStorage.setItem("areLogsActive",ui.value)};H.addEventListener("message",(e=>{if(!ui.value)return;const t=JSON.parse(e.data);li.value.push(Object.freeze(t))}));const pi=()=>({messages:li,areLogsActive:ui,saveLogsSettings:di});const mi={};var gi=Y({name:"Logs",setup(){const{messages:e}=pi();return{logMessages:h((()=>e.value.slice(0,50).reverse()))}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"logs-container"},[a("h1",{staticClass:"mb-8 text-5xl capitalize"},[e._v(e._s(e.$t("sidebar.logs")))]),a("table",{staticClass:"w-full text-center border-collapse"},[a("tr",[a("th"),a("th",{staticClass:"pr-5 h-12"},[e._v(e._s(e.$t("logs.event")))]),a("th",[e._v(e._s(e.$t("logs.data")))])]),e._l(e.logMessages,(function(t,i){return a("tr",{key:i,staticClass:"border-t border-solid border-foreground"},[a("td",{staticClass:"count"}),a("td",{staticClass:"pr-5 w-1/3"},[e._v(e._s(t.key))]),a("td",{staticClass:"w-2/3"},[e._v(e._s(t.data||"Empty"))])])}))],2)])}),[],!1,bi,"3a256480",null,null);function bi(e){for(let t in mi)this[t]=mi[t]}var hi=function(){return gi.exports}();const vi=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();const yi={};var ki=Y({components:{CoverContainer:_a},computed:{fansNumber(){let e;try{e=this.$n(this.$attrs.info.nb_fan)}catch(t){e=this.$n(this.$attrs.info.nb_fan,{locale:"en"})}return"artist"===this.$attrs.info.type?this.$t("search.fans",{n:e}):this.$t("globals.by",{artist:this.$attrs.info.artist})+" - "+this.$tc("globals.listTabs.trackN",this.$attrs.info.nb_song)}},methods:{upperCaseFirstLowerCaseRest:vi}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"flex flex-col items-center justify-center"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:e.upperCaseFirstLowerCaseRest(e.$attrs.info.type),params:{id:e.$attrs.info.id}}}},[a("CoverContainer",{staticClass:"w-40 h-40",attrs:{"is-rounded":"artist"!==e.$attrs.info.type,"is-circle":"artist"===e.$attrs.info.type,cover:e.$attrs.info.picture,link:e.$attrs.info.link},on:{click:function(t){return t.stopPropagation(),e.$emit("add-to-queue",t)}}}),a("p",{staticClass:"mt-4 mb-1 text-xl text-center transition-colors duration-200 ease-in-out hover:text-primary"},[e._v(" "+e._s(e.$attrs.info.title)+" ")])],1),a("p",{staticClass:"mb-3 text-center secondary-text"},[e._v(" "+e._s(e.fansNumber)+" ")]),a("span",{staticClass:"p-1 px-2 text-xs text-center capitalize bg-primary rounded-xl"},[e._v(" "+e._s(e.$tc("globals.listTabs."+e.$attrs.info.type,1))+" ")])],1)}),[],!1,fi,null,null,null);function fi(e){for(let t in yi)this[t]=yi[t]}var wi=function(){return ki.exports}();function Ai(e){let t=oe(e,"explicit_lyrics","EXPLICIT_LYRICS");return"string"==typeof t&&(t="0"!==t),{trackTitle:oe(e,"title","SNG_TITLE"),trackTitleVersion:oe(e,"title_version","VERSION"),trackPreview:oe(e,"preview","MEDIA.0.HREF"),trackDuration:oe(e,"duration","DURATION"),trackLink:oe(e,"link")||`https://www.deezer.com/track/${e.SNG_ID}`,isTrackExplicit:t,artistID:oe(e,"artist.id","ART_ID"),artistName:oe(e,"artist.name","ART_NAME"),albumID:oe(e,"album.id","ALB_ID"),albumTitle:oe(e,"album.title","ALB_TITLE"),albumPicture:oe(e,"album.cover_small")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/56x56-000000-80-0-0.jpg`}}function _i(e){let t=oe(e,"explicit_lyrics","EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS");return"number"==typeof t&&(t=1===t),{albumID:oe(e,"id","ALB_ID"),albumTitle:oe(e,"title","ALB_TITLE"),albumCoverMedium:oe(e,"cover_medium")||`https://e-cdns-images.dzcdn.net/images/cover/${e.ALB_PICTURE}/156x156-000000-80-0-0.jpg`,albumLink:oe(e,"link")||`https://deezer.com/album/${e.ALB_ID}`,albumTracks:oe(e,"nb_tracks","NUMBER_TRACK"),isAlbumExplicit:t,artistName:oe(e,"artist.name","ART_NAME")}}function Ci(e){return{artistID:oe(e,"id","ART_ID"),artistName:oe(e,"name","ART_NAME"),artistPictureMedium:oe(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/artist/${e.ART_PICTURE}/156x156-000000-80-0-0.jpg`,artistLink:oe(e,"link")||`https://deezer.com/artist/${e.ART_ID}`,artistAlbumsNumber:oe(e,"nb_album","NB_FAN")}}function Si(e){return{playlistID:oe(e,"id","PLAYLIST_ID"),playlistTitle:oe(e,"title","TITLE"),playlistPictureMedium:oe(e,"picture_medium")||`https://e-cdns-images.dzcdn.net/images/${e.PICTURE_TYPE}/${e.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`,playlistLink:oe(e,"link")||`https://deezer.com/playlist/${e.PLAYLIST_ID}`,playlistTracksNumber:oe(e,"nb_tracks","NB_SONG"),artistName:oe(e,"user.name")}}const Ti={components:{BaseLoadingPlaceholder:ee,PreviewControls:oa},props:{viewInfo:{validator(e){const t=Object.is(e,null),a="[object Object]"===Object.prototype.toString.call(e);return t||a},required:!0},itemsToShow:{type:Number,default:6},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}},methods:{convertDuration:ie,formatTitle:function(e){const t=e.trackTitleVersion&&!e.trackTitle.includes(e.trackTitleVersion);return`${e.trackTitle}${t?` ${e.trackTitleVersion}`:""}`},playPausePreview:ke}},zi={};var xi=Y(Ti,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[0===e.viewInfo.data.length?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsTrack")))])]):a("table",{staticClass:"table w-full table--tracks"},[e.wantHeaders?a("thead",[a("tr",{staticClass:"capitalize"},[a("th",{staticClass:"h-12 pb-3",attrs:{colspan:"2"}},[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),a("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),a("th",{staticClass:"h-12 pb-3"},[e._v(e._s(e.$tc("globals.listTabs.album",1)))]),a("th",{staticClass:"h-12 pb-3"},[a("i",{staticClass:"material-icons"},[e._v("timer")])]),a("th",{staticClass:"h-12 pb-3",staticStyle:{width:"3.5rem"}})])]):e._e(),a("tbody",e._l(e.viewInfo.data.slice(0,e.itemsToShow),(function(t){return a("tr",{key:t.trackLink},[a("td",{staticClass:"table__icon table__icon--big"},[a("span",{staticClass:"relative inline-block rounded cursor-pointer",attrs:{"data-preview":t.trackPreview},on:{click:function(t){return e.playPausePreview(t)}}},[t.trackPreview?a("PreviewControls"):e._e(),a("img",{staticClass:"rounded coverart",attrs:{src:t.albumPicture}})],1)]),a("td",{staticClass:"table__cell table__cell--large"},[a("div",{staticClass:"break-words table__cell-content table__cell-content--vertical-center"},[t.isTrackExplicit?a("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(" "+e._s(e.formatTitle(t))+" ")])]),a("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Artist",params:{id:t.artistID}}}},[a("span",{staticClass:"cursor-pointer hover:underline"},[e._v(" "+e._s(t.artistName)+" ")])]),a("router-link",{staticClass:"break-words table__cell table__cell--medium table__cell--center",attrs:{tag:"td",to:{name:"Album",params:{id:t.albumID}}}},[a("span",{staticClass:"cursor-pointer hover:underline"},[e._v(" "+e._s(t.albumTitle)+" ")])]),a("td",{staticClass:"table__cell table__cell--small table__cell--center"},[e._v(" "+e._s(e.convertDuration(t.trackDuration))+" ")]),a("td",{staticClass:"cursor-pointer table__cell--center group",attrs:{"data-link":t.trackLink,"aria-label":"download"},on:{click:function(t){return t.stopPropagation(),e.$emit("add-to-queue",t)}}},[a("i",{staticClass:"transition-colors duration-150 ease-in-out material-icons group-hover:text-primary",attrs:{title:e.$t("globals.download_hint")}},[e._v(" get_app ")])])],1)})),0)])]],2)}),[],!1,Pi,null,null,null);function Pi(e){for(let t in zi)this[t]=zi[t]}var Di=function(){return xi.exports}();const Ni={components:{BaseLoadingPlaceholder:ee,CoverContainer:_a},props:{viewInfo:{validator(e){const t=Object.is(e,null),a="[object Object]"===Object.prototype.toString.call(e);return t||a},required:!0},itemsToShow:{type:Number,default:6},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}},Li={};var Ii=Y(Ni,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[0===e.viewInfo.data.length?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsAlbum")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),(function(t){return a("div",{key:t.albumID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Album",params:{id:t.albumID}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:t.albumCoverMedium,link:t.albumLink},on:{click:function(t){return t.stopPropagation(),e.$emit("add-to-queue",t)}}}),a("span",{staticClass:"primary-text"},[t.isAlbumExplicit?a("i",{staticClass:"material-icons title-icon",staticStyle:{"font-size":"1.0625rem !important"}},[e._v(" explicit ")]):e._e(),e._v(" "+e._s(t.albumTitle)+" ")])],1),a("p",{staticClass:"secondary-text"},[e._v(" "+e._s(e.$t("globals.by",{artist:t.artistName})+" - "+e.$tc("globals.listTabs.trackN",t.albumTracks))+" ")])],1)})),0)]],2)}),[],!1,Ri,null,null,null);function Ri(e){for(let t in Li)this[t]=Li[t]}var $i=function(){return Ii.exports}();const Fi={components:{BaseLoadingPlaceholder:ee,CoverContainer:_a},props:{viewInfo:{validator(e){const t=Object.is(e,null),a="[object Object]"===Object.prototype.toString.call(e);return t||a},required:!0},itemsToShow:{type:Number,default:6},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}},ji={};var Ei=Y(Fi,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[0===e.viewInfo.data.length?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsArtist")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),(function(t){return a("div",{key:t.artistID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Artist",params:{id:t.artistID}}}},[a("CoverContainer",{attrs:{"is-circle":"",cover:t.artistPictureMedium,link:t.artistLink},on:{click:function(t){return t.stopPropagation(),e.$emit("add-to-queue",t)}}}),a("span",{staticClass:"primary-text"},[e._v(" "+e._s(t.artistName)+" ")])],1)],1)})),0)]],2)}),[],!1,Ui,null,null,null);function Ui(e){for(let t in ji)this[t]=ji[t]}var Bi=function(){return Ei.exports}();const qi={components:{BaseLoadingPlaceholder:ee,CoverContainer:_a},props:{viewInfo:{validator(e){const t=Object.is(e,null),a="[object Object]"===Object.prototype.toString.call(e);return t||a},required:!0},itemsToShow:{type:Number,default:6},wantHeaders:{type:Boolean,required:!1,default:!1}},computed:{isLoading(){return!this.viewInfo||!this.viewInfo.hasLoaded}}},Mi={};var Oi=Y(qi,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.isLoading?a("BaseLoadingPlaceholder"):[0===e.viewInfo.data.length?a("div",[a("h1",[e._v(e._s(e.$t("search.noResultsPlaylist")))])]):a("div",{staticClass:"release-grid"},e._l(e.viewInfo.data.slice(0,e.itemsToShow),(function(t){return a("div",{key:t.playlistID,staticClass:"w-40 release"},[a("router-link",{staticClass:"cursor-pointer",attrs:{tag:"div",to:{name:"Playlist",params:{id:t.playlistID}}}},[a("CoverContainer",{attrs:{"is-rounded":"",cover:t.playlistPictureMedium,link:t.playlistLink},on:{click:function(t){return t.stopPropagation(),e.$emit("add-to-queue",t)}}}),a("span",{staticClass:"primary-text"},[e._v(" "+e._s(t.playlistTitle)+" ")])],1),a("p",{staticClass:"secondary-text"},[e._v(" "+e._s(e.$t("globals.by",{artist:t.artistName})+" - "+e.$tc("globals.listTabs.trackN",t.playlistTracksNumber))+" ")])],1)})),0)]],2)}),[],!1,Gi,null,null,null);function Gi(e){for(let t in Mi)this[t]=Mi[t]}var Vi=function(){return Oi.exports}();const Wi={};var Ki=Y({components:{TopResult:wi,ResultsTracks:Di,ResultsAlbums:$i,ResultsArtists:Bi,ResultsPlaylists:Vi},props:{viewInfo:{type:Object,required:!0}},computed:{thereAreResults(){if(!!!this.viewInfo)return!1;return!this.viewInfo.ORDER.every((e=>"TOP_RESULT"===e?0===this.viewInfo[e].length:0===this.viewInfo[e].data.length))}},methods:{convertDuration:ie,upperCaseFirstLowerCaseRest:vi,standardizeData:Ht,formatSingleTrack:Ai,formatAlbums:_i,formatArtist:Ci,formatPlaylist:Si,checkSectionResults(e){return"TOP_RESULT"===e?!!this.viewInfo.TOP_RESULT[0]:!!this.viewInfo[e].data[0]}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.thereAreResults?e._l(e.viewInfo.ORDER,(function(t){return a("section",{key:t,staticClass:"float-none py-5 border-t border-grayscale-500 first:border-t-0"},[e.checkSectionResults(t)?[a("h2",{staticClass:"mb-6 capitalize",class:{"text-4xl text-center":"TOP_RESULT"===t,"inline-block cursor-pointer text-3xl hover:text-primary transition-colors duration-200 ease-in-out":"TOP_RESULT"!==t},on:{click:function(a){return e.$emit("change-search-tab",t)}}},[e._v(" "+e._s(e.$tc("globals.listTabs."+t.toLowerCase(),2))+" ")]),"TOP_RESULT"===t?a("TopResult",{attrs:{info:e.viewInfo.TOP_RESULT[0]},on:{"add-to-queue":function(t){return e.$emit("add-to-queue",t)}}}):"TRACK"===t?a("ResultsTracks",{attrs:{"view-info":e.standardizeData(e.viewInfo.TRACK,e.formatSingleTrack)},on:{"add-to-queue":function(t){return e.$emit("add-to-queue",t)}}}):"ALBUM"===t?a("ResultsAlbums",{attrs:{"view-info":e.standardizeData(e.viewInfo.ALBUM,e.formatAlbums)},on:{"add-to-queue":function(t){return e.$emit("add-to-queue",t)}}}):"PLAYLIST"===t?a("ResultsPlaylists",{attrs:{"view-info":e.standardizeData(e.viewInfo.PLAYLIST,e.formatPlaylist)},on:{"add-to-queue":function(t){return e.$emit("add-to-queue",t)}}}):"ARTIST"===t?a("ResultsArtists",{attrs:{"view-info":e.standardizeData(e.viewInfo.ARTIST,e.formatArtist)},on:{"add-to-queue":function(t){return e.$emit("add-to-queue",t)}}}):e._e()]:e._e()],2)})):a("div",[a("h1",[e._v(e._s(e.$t("search.noResults")))])])],2)}),[],!1,Qi,null,null,null);function Qi(e){for(let t in Wi)this[t]=Wi[t]}var Hi=function(){return Ki.exports}();const Yi=p({});function Ji(e){W("mainSearch",{term:e}).then((e=>{Yi.value=e}))}const Zi=p({});function Xi({term:e,type:t,start:a=0,nb:i=30}){W("search",{term:e,type:t,start:a,nb:i}).then((e=>{Zi.value=e}))}var es=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"search_tab"}},[a("div",{directives:[{name:"show",rawName:"v-show",value:e.isQueryEmpty&&!e.isSearching,expression:"isQueryEmpty && !isSearching"}]},[a("h2",[e._v(e._s(e.$t("search.startSearching")))]),a("p",[e._v(e._s(e.$t("search.description")))])]),a("BaseLoadingPlaceholder",{attrs:{text:"Searching...",hidden:!e.isSearching}}),a("div",{directives:[{name:"show",rawName:"v-show",value:!e.isQueryEmpty&&!e.isSearching,expression:"!isQueryEmpty && !isSearching"}]},[a("BaseTabs",e._l(e.tabs,(function(t){return a("BaseTab",{key:t.name,class:{active:e.currentTab.name===t.name},on:{click:function(a){return e.changeSearchTab(t.searchType)}}},[e._v(" "+e._s(t.name)+" ")])})),1),a("keep-alive",[a(e.currentTab.component,{tag:"component",attrs:{"view-info":e.getViewInfo(),"want-headers":""},on:{"add-to-queue":e.addToQueue,"change-search-tab":e.changeSearchTab}})],1)],1)],1)},ts=[];const as={data:[],next:0,total:0,hasLoaded:!1},is=p(null),ss=g({components:{BaseLoadingPlaceholder:ee,BaseTabs:Vt,BaseTab:Gt},props:{performScrolledSearch:{type:Boolean,required:!1}},setup(e,t){const a=b({currentTab:{name:"",searchType:"",component:{},viewInfo:"",formatFunc:()=>{}},results:{query:"",allTab:{ORDER:[],TOP_RESULT:[],ALBUM:{hasLoaded:!1},ARTIST:{hasLoaded:!1},TRACK:{hasLoaded:!1},PLAYLIST:{hasLoaded:!1}},trackTab:o({},as),albumTab:o({},as),artistTab:o({},as),playlistTab:o({},as)},tabs:[{name:t.root.$i18n.t("globals.listTabs.all"),searchType:"all",component:Hi,viewInfo:"allTab"},{name:t.root.$i18n.tc("globals.listTabs.track",2),searchType:"track",component:Di,viewInfo:"trackTab",formatFunc:Ai},{name:t.root.$i18n.tc("globals.listTabs.album",2),searchType:"album",component:$i,viewInfo:"albumTab",formatFunc:_i},{name:t.root.$i18n.tc("globals.listTabs.artist",2),searchType:"artist",component:Bi,viewInfo:"artistTab",formatFunc:Ci},{name:t.root.$i18n.tc("globals.listTabs.playlist",2),searchType:"playlist",component:Vi,viewInfo:"playlistTab",formatFunc:Si}]}),{searchResult:i,performMainSearch:s}={searchResult:Yi,performMainSearch:Ji},{result:n,performSearch:r}={result:Zi,performSearch:Xi},c=h((()=>t.root.$route.query.term)),u=h((()=>""===a.results.query)),d=p(!1),g=h((()=>0!==Object.keys(i.value).length)),y=h((()=>i.value.QUERY!==c.value));function k(e){d.value=!1,a.results.query=e.QUERY,a.results.allTab=e,a.results.allTab.TRACK.hasLoaded=!0,a.results.allTab.ALBUM.hasLoaded=!0,a.results.allTab.ARTIST.hasLoaded=!0,a.results.allTab.PLAYLIST.hasLoaded=!0,is.value&&"all"!==is.value.searchType?(a.currentTab=is.value,r({term:e.QUERY,type:a.currentTab.searchType})):a.currentTab=a.tabs.find((e=>"all"===e.searchType))}return g.value&&!y.value&&w((()=>{k(i.value)})),!c.value||g.value&&!y.value||(s(c.value),d.value=!0),m(i,k),m(n,(e=>{const{next:t,total:i,type:s,data:n}=e,r=`${s}Tab`;let o=i;if(t&&(o=parseInt(t.match(/index=(\d*)/)[1])),a.results[r].total!==i&&(a.results[r].total=i),a.results[r].next!==o){a.results[r].next=o;const e=a.results[r].data.concat(n),t=S(e,((e,t)=>e.id===t.id));a.results[r].data=t}a.results[r].hasLoaded=!0})),a.currentTab=a.tabs.find((e=>"all"===e.searchType)),l(o({},v(a)),{isSearching:d,isQueryEmpty:u,searchResult:i,performMainSearch:s,performSearch:r})},computed:{loadedTabs(){const e=[];for(const t in this.results)if(this.results.hasOwnProperty(t)&&"query"!==t){this.results[t].hasLoaded&&e.push(t.replace(/Tab/g,""))}return e}},watch:{performScrolledSearch(e){e&&this.scrolledSearch(e)},currentTab(e){this.isTabLoaded(e)||this.performSearch({term:this.results.query,type:e.searchType,start:this.results[`${e.searchType}Tab`].next})}},methods:{numberWithDots:se,convertDuration:ie,addToQueue(e){te(e.currentTarget.dataset.link)},getViewInfo(){return"all"===this.currentTab.searchType?this.results.allTab:Ht(this.results[this.currentTab.viewInfo],this.currentTab.formatFunc)},changeSearchTab(e){e=e.toLowerCase();const t=this.tabs.find((t=>t.searchType===e));t?(window.scrollTo(0,0),this.currentTab=t,is.value=t):console.error(`No tab ${e} found`)},scrolledSearch(){if("all"===this.currentTab.searchType)return;const e=`${this.currentTab.searchType}Tab`;this.results[e].next1?a("select",{directives:[{name:"model",rawName:"v-model",value:e.accountNum,expression:"accountNum"}],attrs:{id:"family_account"},on:{change:[function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.accountNum=t.target.multiple?a:a[0]},e.changeAccount]}},e._l(e.accounts,(function(t,i){return a("option",{key:t,domProps:{value:i.toString()}},[e._v(" "+e._s(t.name)+" ")])})),0):e._e()],1):e._e(),a("div",{staticClass:"settings-group"},[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.login.title")))]),a("div",{staticClass:"my-5 space-y-5"},[a("div",{staticClass:"flex items-center"},[a("input",{ref:"loginInput",attrs:{id:"login_input_arl",autocomplete:"off",placeholder:"ARL",type:"password"},domProps:{value:e.arl}}),a("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.copyARLtoClipboard}},[a("i",{staticClass:"material-icons"},[e._v("assignment")])])]),a("RouterLink",{staticClass:"block",attrs:{to:{name:"ARL"}}},[e._v(" "+e._s(e.$t("settings.login.arl.question"))+" ")]),a("button",{staticClass:"btn btn-primary",staticStyle:{width:"100%"},on:{click:e.loginButton}},[e._v(" "+e._s(e.$t("settings.login.arl.update"))+" ")])],1)]),e.isLoggedIn?e._e():a("div",{staticClass:"settings-group"},[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("person")]),e._v(e._s(e.$t("settings.loginWithCredentials.title"))+" ")]),a("form",{ref:"loginWithCredentialsForm",staticClass:"my-5 space-y-5",on:{submit:function(t){return t.preventDefault(),e.loginWithCredentials.apply(null,arguments)}}},[e._m(0),e._m(1),a("button",{staticClass:"btn btn-primary",attrs:{type:"submit"}},[e._v(e._s(e.$t("settings.loginWithCredentials.login")))])])]),a("div",{staticClass:"settings-group"},[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("language")]),e._v(e._s(e.$t("settings.languages")))]),a("ul",{staticClass:"my-5"},e._l(e.locales,(function(t){return a("li",{key:t,staticClass:"inline-flex items-center locale-flag",class:{"locale-flag--current":e.currentLocale===t},attrs:{title:t},on:{click:function(a){return e.changeLocale(t)}}},[a("img",{attrs:{src:e.flags[t]}})])})),0)]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("description")]),e._v(" "+e._s(e.$t("settings.logs.title"))+" ")])]},proxy:!0}])},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.areLogsActive,expression:"areLogsActive"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.areLogsActive)?e._i(e.areLogsActive,null)>-1:e.areLogsActive},on:{change:function(t){var a=e.areLogsActive,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&(e.areLogsActive=a.concat([null])):n>-1&&(e.areLogsActive=a.slice(0,n).concat(a.slice(n+1)))}else e.areLogsActive=s}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.logs.areLogsActive")))])])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("web")]),e._v(" "+e._s(e.$t("settings.appearance.title"))+" ")])]},proxy:!0}])},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimDownloads,expression:"modelSlimDownloads"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimDownloads)?e._i(e.modelSlimDownloads,null)>-1:e.modelSlimDownloads},on:{change:function(t){var a=e.modelSlimDownloads,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&(e.modelSlimDownloads=a.concat([null])):n>-1&&(e.modelSlimDownloads=a.slice(0,n).concat(a.slice(n+1)))}else e.modelSlimDownloads=s}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimDownloadTab")))])]),a("label",{staticClass:"mb-4 with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.modelSlimSidebar,expression:"modelSlimSidebar"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.modelSlimSidebar)?e._i(e.modelSlimSidebar,null)>-1:e.modelSlimSidebar},on:{change:function(t){var a=e.modelSlimSidebar,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&(e.modelSlimSidebar=a.concat([null])):n>-1&&(e.modelSlimSidebar=a.slice(0,n).concat(a.slice(n+1)))}else e.modelSlimSidebar=s}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.appearance.slimSidebar")))])])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("folder")]),e._v(e._s(e.$t("settings.downloadPath.title"))+" ")])]},proxy:!0}])},[a("div",{staticClass:"flex items-center"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.downloadLocation,expression:"settings.downloadLocation"}],attrs:{autocomplete:"off",type:"text"},domProps:{value:e.settings.downloadLocation},on:{input:function(t){t.target.composing||e.$set(e.settings,"downloadLocation",t.target.value)}}}),e.clientMode?a("button",{staticClass:"ml-2 btn btn-primary btn-only-icon",on:{click:e.selectDownloadFolder}},[a("i",{staticClass:"material-icons"},[e._v("folder")])]):e._e()])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("font_download")]),e._v(e._s(e.$t("settings.templates.title"))+" ")])]},proxy:!0}])},[a("p",[e._v(e._s(e.$t("settings.templates.tracknameTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tracknameTemplate,expression:"settings.tracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.tracknameTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"tracknameTemplate",t.target.value)}}}),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("settings.templates.tracknameAvailableVariables"))+" ")]},proxy:!0}])}),a("p",[e._v(e._s(e.$t("settings.templates.albumTracknameTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumTracknameTemplate,expression:"settings.albumTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumTracknameTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"albumTracknameTemplate",t.target.value)}}}),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("settings.templates.albumTracknameAvailableVariables"))+" ")]},proxy:!0}])}),a("p",[e._v(e._s(e.$t("settings.templates.playlistTracknameTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistTracknameTemplate,expression:"settings.playlistTracknameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistTracknameTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"playlistTracknameTemplate",t.target.value)}}}),a("TemplateVariablesList",{attrs:{"template-variables":e.trackTemplateVariables},on:{"variable-click":e.onTemplateVariableClick},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.$t("settings.templates.playlistTracknameAvailableVariables"))+" ")]},proxy:!0}])})],1),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("create_new_folder")]),e._v(e._s(e.$t("settings.folders.title"))+" ")])]},proxy:!0}])},[a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createPlaylistFolder,expression:"settings.createPlaylistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createPlaylistFolder)?e._i(e.settings.createPlaylistFolder,null)>-1:e.settings.createPlaylistFolder},on:{change:function(t){var a=e.settings.createPlaylistFolder,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"createPlaylistFolder",a.concat([null])):n>-1&&e.$set(e.settings,"createPlaylistFolder",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"createPlaylistFolder",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createPlaylistFolder")))])]),e.settings.createPlaylistFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.playlistNameTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistNameTemplate,expression:"settings.playlistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistNameTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"playlistNameTemplate",t.target.value)}}})]):e._e()]),a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createArtistFolder,expression:"settings.createArtistFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createArtistFolder)?e._i(e.settings.createArtistFolder,null)>-1:e.settings.createArtistFolder},on:{change:function(t){var a=e.settings.createArtistFolder,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"createArtistFolder",a.concat([null])):n>-1&&e.$set(e.settings,"createArtistFolder",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"createArtistFolder",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createArtistFolder")))])]),e.settings.createArtistFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.artistNameTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistNameTemplate,expression:"settings.artistNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistNameTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"artistNameTemplate",t.target.value)}}})]):e._e()]),a("div",{staticClass:"settings-container__third"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createAlbumFolder,expression:"settings.createAlbumFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createAlbumFolder)?e._i(e.settings.createAlbumFolder,null)>-1:e.settings.createAlbumFolder},on:{change:function(t){var a=e.settings.createAlbumFolder,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"createAlbumFolder",a.concat([null])):n>-1&&e.$set(e.settings,"createAlbumFolder",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"createAlbumFolder",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createAlbumFolder")))])]),e.settings.createAlbumFolder?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.folders.albumNameTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumNameTemplate,expression:"settings.albumNameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.albumNameTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"albumNameTemplate",t.target.value)}}})]):e._e()])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createCDFolder,expression:"settings.createCDFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createCDFolder)?e._i(e.settings.createCDFolder,null)>-1:e.settings.createCDFolder},on:{change:function(t){var a=e.settings.createCDFolder,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"createCDFolder",a.concat([null])):n>-1&&e.$set(e.settings,"createCDFolder",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"createCDFolder",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createCDFolder")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createStructurePlaylist,expression:"settings.createStructurePlaylist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createStructurePlaylist)?e._i(e.settings.createStructurePlaylist,null)>-1:e.settings.createStructurePlaylist},on:{change:function(t){var a=e.settings.createStructurePlaylist,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"createStructurePlaylist",a.concat([null])):n>-1&&e.$set(e.settings,"createStructurePlaylist",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"createStructurePlaylist",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createStructurePlaylist")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createSingleFolder,expression:"settings.createSingleFolder"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createSingleFolder)?e._i(e.settings.createSingleFolder,null)>-1:e.settings.createSingleFolder},on:{change:function(t){var a=e.settings.createSingleFolder,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"createSingleFolder",a.concat([null])):n>-1&&e.$set(e.settings,"createSingleFolder",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"createSingleFolder",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.folders.createSingleFolder")))])])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("title")]),e._v(e._s(e.$t("settings.trackTitles.title"))+" ")])]},proxy:!0}])},[a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.padTracks,expression:"settings.padTracks"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.padTracks)?e._i(e.settings.padTracks,null)>-1:e.settings.padTracks},on:{change:function(t){var a=e.settings.padTracks,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"padTracks",a.concat([null])):n>-1&&e.$set(e.settings,"padTracks",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"padTracks",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.trackTitles.padTracks")))])])]),a("div",{staticClass:"settings-container__third"},[a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.paddingSize")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.paddingSize,expression:"settings.paddingSize"}],attrs:{max:"10",type:"number"},domProps:{value:e.settings.paddingSize},on:{input:function(t){t.target.composing||e.$set(e.settings,"paddingSize",t.target.value)}}})])]),a("div",{staticClass:"settings-container__third"},[a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.trackTitles.illegalCharacterReplacer")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.illegalCharacterReplacer,expression:"settings.illegalCharacterReplacer"}],attrs:{type:"text"},domProps:{value:e.settings.illegalCharacterReplacer},on:{input:function(t){t.target.composing||e.$set(e.settings,"illegalCharacterReplacer",t.target.value)}}})])])])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("album")]),e._v(e._s(e.$t("settings.covers.title")))])]},proxy:!0}])},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtwork,expression:"settings.saveArtwork"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtwork)?e._i(e.settings.saveArtwork,null)>-1:e.settings.saveArtwork},on:{change:function(t){var a=e.settings.saveArtwork,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"saveArtwork",a.concat([null])):n>-1&&e.$set(e.settings,"saveArtwork",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"saveArtwork",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtwork")))])]),e.settings.saveArtwork?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.coverImageTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.coverImageTemplate,expression:"settings.coverImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.coverImageTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"coverImageTemplate",t.target.value)}}})]):e._e(),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.saveArtworkArtist,expression:"settings.saveArtworkArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.saveArtworkArtist)?e._i(e.settings.saveArtworkArtist,null)>-1:e.settings.saveArtworkArtist},on:{change:function(t){var a=e.settings.saveArtworkArtist,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"saveArtworkArtist",a.concat([null])):n>-1&&e.$set(e.settings,"saveArtworkArtist",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"saveArtworkArtist",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.saveArtworkArtist")))])]),e.settings.saveArtworkArtist?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.artistImageTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistImageTemplate,expression:"settings.artistImageTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.artistImageTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"artistImageTemplate",t.target.value)}}})]):e._e(),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkSize")))]),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.localArtworkSize,expression:"settings.localArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.localArtworkSize},on:{input:function(t){t.target.composing||e.$set(e.settings,"localArtworkSize",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}}),e.settings.localArtworkSize>1200?a("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(" ⚠️ "+e._s(e.$t("settings.covers.imageSizeWarning"))+" ")]):e._e()]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkSize")))]),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.embeddedArtworkSize,expression:"settings.embeddedArtworkSize",modifiers:{number:!0}}],attrs:{max:"10000",min:"100",step:"100",type:"number"},domProps:{value:e.settings.embeddedArtworkSize},on:{input:function(t){t.target.composing||e.$set(e.settings,"embeddedArtworkSize",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}}),e.settings.embeddedArtworkSize>1200?a("p",{staticClass:"input-group-text",staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(" ⚠️ "+e._s(e.$t("settings.covers.imageSizeWarning"))+" ")]):e._e()]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.title")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.localArtworkFormat,expression:"settings.localArtworkFormat"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings,"localArtworkFormat",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"jpg"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.jpg")))]),a("option",{attrs:{value:"png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.png")))]),a("option",{attrs:{value:"jpg,png"}},[e._v(e._s(e.$t("settings.covers.localArtworkFormat.both")))])])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.embeddedArtworkPNG,expression:"settings.embeddedArtworkPNG"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.embeddedArtworkPNG)?e._i(e.settings.embeddedArtworkPNG,null)>-1:e.settings.embeddedArtworkPNG},on:{change:function(t){var a=e.settings.embeddedArtworkPNG,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"embeddedArtworkPNG",a.concat([null])):n>-1&&e.$set(e.settings,"embeddedArtworkPNG",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"embeddedArtworkPNG",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.embeddedArtworkPNG")))])]),e.settings.embeddedArtworkPNG?a("p",{staticStyle:{opacity:"0.75",color:"#ffcc22"}},[e._v(" ⚠️ "+e._s(e.$t("settings.covers.embeddedPNGWarning"))+" ")]):e._e(),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.coverDescriptionUTF8,expression:"settings.tags.coverDescriptionUTF8"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.coverDescriptionUTF8)?e._i(e.settings.tags.coverDescriptionUTF8,null)>-1:e.settings.tags.coverDescriptionUTF8},on:{change:function(t){var a=e.settings.tags.coverDescriptionUTF8,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"coverDescriptionUTF8",a.concat([null])):n>-1&&e.$set(e.settings.tags,"coverDescriptionUTF8",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"coverDescriptionUTF8",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.covers.coverDescriptionUTF8")))])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.covers.jpegImageQuality")))]),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.jpegImageQuality,expression:"settings.jpegImageQuality",modifiers:{number:!0}}],attrs:{max:"100",min:"1",type:"number"},domProps:{value:e.settings.jpegImageQuality},on:{input:function(t){t.target.composing||e.$set(e.settings,"jpegImageQuality",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}})])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons",staticStyle:{width:"1em",height:"1em"}},[e._v("bookmarks")]),e._v(e._s(e.$t("settings.tags.head"))+" ")])]},proxy:!0}])},[a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__half"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.title,expression:"settings.tags.title"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.title)?e._i(e.settings.tags.title,null)>-1:e.settings.tags.title},on:{change:function(t){var a=e.settings.tags.title,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"title",a.concat([null])):n>-1&&e.$set(e.settings.tags,"title",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"title",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.title")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.artist,expression:"settings.tags.artist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.artist)?e._i(e.settings.tags.artist,null)>-1:e.settings.tags.artist},on:{change:function(t){var a=e.settings.tags.artist,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"artist",a.concat([null])):n>-1&&e.$set(e.settings.tags,"artist",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"artist",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.artist")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.album,expression:"settings.tags.album"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.album)?e._i(e.settings.tags.album,null)>-1:e.settings.tags.album},on:{change:function(t){var a=e.settings.tags.album,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"album",a.concat([null])):n>-1&&e.$set(e.settings.tags,"album",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"album",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.album")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.cover,expression:"settings.tags.cover"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.cover)?e._i(e.settings.tags.cover,null)>-1:e.settings.tags.cover},on:{change:function(t){var a=e.settings.tags.cover,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"cover",a.concat([null])):n>-1&&e.$set(e.settings.tags,"cover",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"cover",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.cover")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackNumber,expression:"settings.tags.trackNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackNumber)?e._i(e.settings.tags.trackNumber,null)>-1:e.settings.tags.trackNumber},on:{change:function(t){var a=e.settings.tags.trackNumber,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"trackNumber",a.concat([null])):n>-1&&e.$set(e.settings.tags,"trackNumber",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"trackNumber",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackNumber")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.trackTotal,expression:"settings.tags.trackTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.trackTotal)?e._i(e.settings.tags.trackTotal,null)>-1:e.settings.tags.trackTotal},on:{change:function(t){var a=e.settings.tags.trackTotal,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"trackTotal",a.concat([null])):n>-1&&e.$set(e.settings.tags,"trackTotal",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"trackTotal",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.trackTotal")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discNumber,expression:"settings.tags.discNumber"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discNumber)?e._i(e.settings.tags.discNumber,null)>-1:e.settings.tags.discNumber},on:{change:function(t){var a=e.settings.tags.discNumber,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"discNumber",a.concat([null])):n>-1&&e.$set(e.settings.tags,"discNumber",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"discNumber",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discNumber")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.discTotal,expression:"settings.tags.discTotal"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.discTotal)?e._i(e.settings.tags.discTotal,null)>-1:e.settings.tags.discTotal},on:{change:function(t){var a=e.settings.tags.discTotal,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"discTotal",a.concat([null])):n>-1&&e.$set(e.settings.tags,"discTotal",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"discTotal",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.discTotal")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.albumArtist,expression:"settings.tags.albumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.albumArtist)?e._i(e.settings.tags.albumArtist,null)>-1:e.settings.tags.albumArtist},on:{change:function(t){var a=e.settings.tags.albumArtist,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"albumArtist",a.concat([null])):n>-1&&e.$set(e.settings.tags,"albumArtist",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"albumArtist",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.albumArtist")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.genre,expression:"settings.tags.genre"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.genre)?e._i(e.settings.tags.genre,null)>-1:e.settings.tags.genre},on:{change:function(t){var a=e.settings.tags.genre,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"genre",a.concat([null])):n>-1&&e.$set(e.settings.tags,"genre",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"genre",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.genre")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.year,expression:"settings.tags.year"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.year)?e._i(e.settings.tags.year,null)>-1:e.settings.tags.year},on:{change:function(t){var a=e.settings.tags.year,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"year",a.concat([null])):n>-1&&e.$set(e.settings.tags,"year",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"year",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.year")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.date,expression:"settings.tags.date"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.date)?e._i(e.settings.tags.date,null)>-1:e.settings.tags.date},on:{change:function(t){var a=e.settings.tags.date,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"date",a.concat([null])):n>-1&&e.$set(e.settings.tags,"date",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"date",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.date")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.explicit,expression:"settings.tags.explicit"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.explicit)?e._i(e.settings.tags.explicit,null)>-1:e.settings.tags.explicit},on:{change:function(t){var a=e.settings.tags.explicit,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"explicit",a.concat([null])):n>-1&&e.$set(e.settings.tags,"explicit",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"explicit",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.explicit")))])])]),a("div",{staticClass:"settings-container__half"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.isrc,expression:"settings.tags.isrc"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.isrc)?e._i(e.settings.tags.isrc,null)>-1:e.settings.tags.isrc},on:{change:function(t){var a=e.settings.tags.isrc,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"isrc",a.concat([null])):n>-1&&e.$set(e.settings.tags,"isrc",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"isrc",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.isrc")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.length,expression:"settings.tags.length"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.length)?e._i(e.settings.tags.length,null)>-1:e.settings.tags.length},on:{change:function(t){var a=e.settings.tags.length,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"length",a.concat([null])):n>-1&&e.$set(e.settings.tags,"length",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"length",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.length")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.barcode,expression:"settings.tags.barcode"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.barcode)?e._i(e.settings.tags.barcode,null)>-1:e.settings.tags.barcode},on:{change:function(t){var a=e.settings.tags.barcode,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"barcode",a.concat([null])):n>-1&&e.$set(e.settings.tags,"barcode",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"barcode",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.barcode")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.bpm,expression:"settings.tags.bpm"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.bpm)?e._i(e.settings.tags.bpm,null)>-1:e.settings.tags.bpm},on:{change:function(t){var a=e.settings.tags.bpm,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"bpm",a.concat([null])):n>-1&&e.$set(e.settings.tags,"bpm",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"bpm",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.bpm")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.replayGain,expression:"settings.tags.replayGain"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.replayGain)?e._i(e.settings.tags.replayGain,null)>-1:e.settings.tags.replayGain},on:{change:function(t){var a=e.settings.tags.replayGain,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"replayGain",a.concat([null])):n>-1&&e.$set(e.settings.tags,"replayGain",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"replayGain",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.replayGain")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.label,expression:"settings.tags.label"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.label)?e._i(e.settings.tags.label,null)>-1:e.settings.tags.label},on:{change:function(t){var a=e.settings.tags.label,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"label",a.concat([null])):n>-1&&e.$set(e.settings.tags,"label",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"label",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.label")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.lyrics,expression:"settings.tags.lyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.lyrics)?e._i(e.settings.tags.lyrics,null)>-1:e.settings.tags.lyrics},on:{change:function(t){var a=e.settings.tags.lyrics,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"lyrics",a.concat([null])):n>-1&&e.$set(e.settings.tags,"lyrics",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"lyrics",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.lyrics")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.syncedLyrics,expression:"settings.tags.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.syncedLyrics)?e._i(e.settings.tags.syncedLyrics,null)>-1:e.settings.tags.syncedLyrics},on:{change:function(t){var a=e.settings.tags.syncedLyrics,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"syncedLyrics",a.concat([null])):n>-1&&e.$set(e.settings.tags,"syncedLyrics",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"syncedLyrics",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.syncedLyrics")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.copyright,expression:"settings.tags.copyright"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.copyright)?e._i(e.settings.tags.copyright,null)>-1:e.settings.tags.copyright},on:{change:function(t){var a=e.settings.tags.copyright,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"copyright",a.concat([null])):n>-1&&e.$set(e.settings.tags,"copyright",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"copyright",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.copyright")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.composer,expression:"settings.tags.composer"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.composer)?e._i(e.settings.tags.composer,null)>-1:e.settings.tags.composer},on:{change:function(t){var a=e.settings.tags.composer,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"composer",a.concat([null])):n>-1&&e.$set(e.settings.tags,"composer",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"composer",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.composer")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.involvedPeople,expression:"settings.tags.involvedPeople"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.involvedPeople)?e._i(e.settings.tags.involvedPeople,null)>-1:e.settings.tags.involvedPeople},on:{change:function(t){var a=e.settings.tags.involvedPeople,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"involvedPeople",a.concat([null])):n>-1&&e.$set(e.settings.tags,"involvedPeople",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"involvedPeople",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.involvedPeople")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.source,expression:"settings.tags.source"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.source)?e._i(e.settings.tags.source,null)>-1:e.settings.tags.source},on:{change:function(t){var a=e.settings.tags.source,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"source",a.concat([null])):n>-1&&e.$set(e.settings.tags,"source",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"source",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.tags.source")))])])])])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("get_app")]),e._v(e._s(e.$t("settings.downloads.title"))+" ")])]},proxy:!0}])},[a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.queueConcurrency")))]),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.settings.queueConcurrency,expression:"settings.queueConcurrency",modifiers:{number:!0}}],attrs:{min:"1",type:"number"},domProps:{value:e.settings.queueConcurrency},on:{input:function(t){t.target.composing||e.$set(e.settings,"queueConcurrency",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}})]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.maxBitrate.title")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.maxBitrate,expression:"settings.maxBitrate"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings,"maxBitrate",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"9"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.9")))]),a("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.3")))]),a("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.downloads.maxBitrate.1")))])])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.overwriteFile.title")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.overwriteFile,expression:"settings.overwriteFile"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings,"overwriteFile",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"y"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.y")))]),a("option",{attrs:{value:"n"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.n")))]),a("option",{attrs:{value:"e"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.e")))]),a("option",{attrs:{value:"b"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.b")))]),a("option",{attrs:{value:"t"}},[e._v(e._s(e.$t("settings.downloads.overwriteFile.t")))])])]),a("div",{staticClass:"space-x-5 settings-container"},[a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackBitrate,expression:"settings.fallbackBitrate"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackBitrate)?e._i(e.settings.fallbackBitrate,null)>-1:e.settings.fallbackBitrate},on:{change:function(t){var a=e.settings.fallbackBitrate,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"fallbackBitrate",a.concat([null])):n>-1&&e.$set(e.settings,"fallbackBitrate",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"fallbackBitrate",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackBitrate")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.fallbackSearch,expression:"settings.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.fallbackSearch)?e._i(e.settings.fallbackSearch,null)>-1:e.settings.fallbackSearch},on:{change:function(t){var a=e.settings.fallbackSearch,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"fallbackSearch",a.concat([null])):n>-1&&e.$set(e.settings,"fallbackSearch",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"fallbackSearch",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])]),a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logErrors,expression:"settings.logErrors"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logErrors)?e._i(e.settings.logErrors,null)>-1:e.settings.logErrors},on:{change:function(t){var a=e.settings.logErrors,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"logErrors",a.concat([null])):n>-1&&e.$set(e.settings,"logErrors",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"logErrors",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logErrors")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.logSearched,expression:"settings.logSearched"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.logSearched)?e._i(e.settings.logSearched,null)>-1:e.settings.logSearched},on:{change:function(t){var a=e.settings.logSearched,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"logSearched",a.concat([null])):n>-1&&e.$set(e.settings,"logSearched",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"logSearched",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.logSearched")))])])]),a("div",{staticClass:"settings-container__third settings-container__third--only-checkbox"},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.syncedLyrics,expression:"settings.syncedLyrics"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.syncedLyrics)?e._i(e.settings.syncedLyrics,null)>-1:e.settings.syncedLyrics},on:{change:function(t){var a=e.settings.syncedLyrics,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"syncedLyrics",a.concat([null])):n>-1&&e.$set(e.settings,"syncedLyrics",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"syncedLyrics",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.syncedLyrics")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.createM3U8File,expression:"settings.createM3U8File"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.createM3U8File)?e._i(e.settings.createM3U8File,null)>-1:e.settings.createM3U8File},on:{change:function(t){var a=e.settings.createM3U8File,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"createM3U8File",a.concat([null])):n>-1&&e.$set(e.settings,"createM3U8File",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"createM3U8File",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.createM3U8File")))])])])]),e.settings.createM3U8File?a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.downloads.playlistFilenameTemplate")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.playlistFilenameTemplate,expression:"settings.playlistFilenameTemplate"}],attrs:{type:"text"},domProps:{value:e.settings.playlistFilenameTemplate},on:{input:function(t){t.target.composing||e.$set(e.settings,"playlistFilenameTemplate",t.target.value)}}})]):e._e()]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("i",{staticClass:"material-icons"},[e._v("list")]),e._v(e._s(e.$t("settings.other.title")))])]},proxy:!0}])},[a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.savePlaylistAsCompilation,expression:"settings.tags.savePlaylistAsCompilation"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.savePlaylistAsCompilation)?e._i(e.settings.tags.savePlaylistAsCompilation,null)>-1:e.settings.tags.savePlaylistAsCompilation},on:{change:function(t){var a=e.settings.tags.savePlaylistAsCompilation,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"savePlaylistAsCompilation",a.concat([null])):n>-1&&e.$set(e.settings.tags,"savePlaylistAsCompilation",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"savePlaylistAsCompilation",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.savePlaylistAsCompilation")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.useNullSeparator,expression:"settings.tags.useNullSeparator"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.useNullSeparator)?e._i(e.settings.tags.useNullSeparator,null)>-1:e.settings.tags.useNullSeparator},on:{change:function(t){var a=e.settings.tags.useNullSeparator,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"useNullSeparator",a.concat([null])):n>-1&&e.$set(e.settings.tags,"useNullSeparator",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"useNullSeparator",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.useNullSeparator")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.saveID3v1,expression:"settings.tags.saveID3v1"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.saveID3v1)?e._i(e.settings.tags.saveID3v1,null)>-1:e.settings.tags.saveID3v1},on:{change:function(t){var a=e.settings.tags.saveID3v1,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"saveID3v1",a.concat([null])):n>-1&&e.$set(e.settings.tags,"saveID3v1",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"saveID3v1",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.saveID3v1")))])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.title")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.multiArtistSeparator,expression:"settings.tags.multiArtistSeparator"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings.tags,"multiArtistSeparator",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.nothing")))]),a("option",{attrs:{value:"default"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.default")))]),a("option",{attrs:{value:"andFeat"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.andFeat")))]),a("option",{attrs:{value:" & "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" & "})))]),a("option",{attrs:{value:","}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:","})))]),a("option",{attrs:{value:", "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:", "})))]),a("option",{attrs:{value:"/"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"/"})))]),a("option",{attrs:{value:" / "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:" / "})))]),a("option",{attrs:{value:";"}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:";"})))]),a("option",{attrs:{value:"; "}},[e._v(e._s(e.$t("settings.other.multiArtistSeparator.using",{separator:"; "})))])])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.tags.singleAlbumArtist,expression:"settings.tags.singleAlbumArtist"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.tags.singleAlbumArtist)?e._i(e.settings.tags.singleAlbumArtist,null)>-1:e.settings.tags.singleAlbumArtist},on:{change:function(t){var a=e.settings.tags.singleAlbumArtist,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings.tags,"singleAlbumArtist",a.concat([null])):n>-1&&e.$set(e.settings.tags,"singleAlbumArtist",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings.tags,"singleAlbumArtist",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.singleAlbumArtist")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.albumVariousArtists,expression:"settings.albumVariousArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.albumVariousArtists)?e._i(e.settings.albumVariousArtists,null)>-1:e.settings.albumVariousArtists},on:{change:function(t){var a=e.settings.albumVariousArtists,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"albumVariousArtists",a.concat([null])):n>-1&&e.$set(e.settings,"albumVariousArtists",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"albumVariousArtists",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.albumVariousArtists")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeAlbumVersion,expression:"settings.removeAlbumVersion"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeAlbumVersion)?e._i(e.settings.removeAlbumVersion,null)>-1:e.settings.removeAlbumVersion},on:{change:function(t){var a=e.settings.removeAlbumVersion,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"removeAlbumVersion",a.concat([null])):n>-1&&e.$set(e.settings,"removeAlbumVersion",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"removeAlbumVersion",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeAlbumVersion")))])]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.removeDuplicateArtists,expression:"settings.removeDuplicateArtists"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.settings.removeDuplicateArtists)?e._i(e.settings.removeDuplicateArtists,null)>-1:e.settings.removeDuplicateArtists},on:{change:function(t){var a=e.settings.removeDuplicateArtists,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.settings,"removeDuplicateArtists",a.concat([null])):n>-1&&e.$set(e.settings,"removeDuplicateArtists",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.settings,"removeDuplicateArtists",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.other.removeDuplicateArtists")))])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.dateFormat.title")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.dateFormat,expression:"settings.dateFormat"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings,"dateFormat",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"Y-M-D"}},[e._v(" "+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day"))+" ")]),a("option",{attrs:{value:"Y-D-M"}},[e._v(" "+e._s(e.$t("settings.other.dateFormat.year")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month"))+" ")]),a("option",{attrs:{value:"D-M-Y"}},[e._v(" "+e._s(e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.year"))+" ")]),a("option",{attrs:{value:"M-D-Y"}},[e._v(" "+e._s(e.$t("settings.other.dateFormat.month")+"-"+e.$t("settings.other.dateFormat.day")+"-"+e.$t("settings.other.dateFormat.year"))+" ")]),a("option",{attrs:{value:"Y"}},[e._v(e._s(e.$t("settings.other.dateFormat.year")))])])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.featuredToTitle.title")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.featuredToTitle,expression:"settings.featuredToTitle"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings,"featuredToTitle",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"0"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.0")))]),a("option",{attrs:{value:"1"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.1")))]),a("option",{attrs:{value:"3"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.3")))]),a("option",{attrs:{value:"2"}},[e._v(e._s(e.$t("settings.other.featuredToTitle.2")))])])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.titleCasing")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.titleCasing,expression:"settings.titleCasing"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings,"titleCasing",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),a("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),a("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),a("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),a("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.artistCasing")))]),a("select",{directives:[{name:"model",rawName:"v-model",value:e.settings.artistCasing,expression:"settings.artistCasing"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){return"_value"in e?e._value:e.value}));e.$set(e.settings,"artistCasing",t.target.multiple?a:a[0])}}},[a("option",{attrs:{value:"nothing"}},[e._v(e._s(e.$t("settings.other.casing.nothing")))]),a("option",{attrs:{value:"lower"}},[e._v(e._s(e.$t("settings.other.casing.lower")))]),a("option",{attrs:{value:"upper"}},[e._v(e._s(e.$t("settings.other.casing.upper")))]),a("option",{attrs:{value:"start"}},[e._v(e._s(e.$t("settings.other.casing.start")))]),a("option",{attrs:{value:"sentence"}},[e._v(e._s(e.$t("settings.other.casing.sentence")))])])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.previewVolume")))]),a("input",{directives:[{name:"model",rawName:"v-model.number",value:e.modelVolume,expression:"modelVolume",modifiers:{number:!0}}],staticClass:"slider",attrs:{max:"100",min:"0",step:"1",type:"range"},domProps:{value:e.modelVolume},on:{__r:function(t){e.modelVolume=e._n(t.target.value)},blur:function(t){return e.$forceUpdate()}}}),a("span",[e._v(e._s(e.previewVolume)+"%")])]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.other.executeCommand.title")))]),a("p",{staticClass:"secondary-text"},[e._v(e._s(e.$t("settings.other.executeCommand.description")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.settings.executeCommand,expression:"settings.executeCommand"}],attrs:{type:"text"},domProps:{value:e.settings.executeCommand},on:{input:function(t){t.target.composing||e.$set(e.settings,"executeCommand",t.target.value)}}})])]),a("BaseAccordion",{staticClass:"settings-group",scopedSlots:e._u([{key:"title",fn:function(){return[a("h3",{staticClass:"settings-group__header"},[a("svg",{staticClass:"mr-4 w-6 h-6",staticStyle:{fill:"#1db954"},attrs:{"enable-background":"new 0 0 24 24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{d:"m12 24c6.624 0 12-5.376 12-12s-5.376-12-12-12-12 5.376-12 12 5.376 12 12 12zm4.872-6.344v.001c-.807 0-3.356-2.828-10.52-1.36-.189.049-.436.126-.576.126-.915 0-1.09-1.369-.106-1.578 3.963-.875 8.013-.798 11.467 1.268.824.526.474 1.543-.265 1.543zm1.303-3.173c-.113-.03-.08.069-.597-.203-3.025-1.79-7.533-2.512-11.545-1.423-.232.063-.358.126-.576.126-1.071 0-1.355-1.611-.188-1.94 4.716-1.325 9.775-.552 13.297 1.543.392.232.547.533.547.953-.005.522-.411.944-.938.944zm-13.627-7.485c4.523-1.324 11.368-.906 15.624 1.578 1.091.629.662 2.22-.498 2.22l-.001-.001c-.252 0-.407-.063-.625-.189-3.443-2.056-9.604-2.549-13.59-1.436-.175.048-.393.125-.625.125-.639 0-1.127-.499-1.127-1.142 0-.657.407-1.029.842-1.155z"}})]),e._v(" "+e._s(e.$t("settings.spotify.title"))+" ")])]},proxy:!0}])},[a("RouterLink",{attrs:{to:{name:"Spotify Features"}}},[e._v(" "+e._s(e.$t("settings.spotify.question"))+" ")]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientID")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientId,expression:"spotifyFeatures.clientId"}],attrs:{type:"text"},domProps:{value:e.spotifyFeatures.clientId},on:{input:function(t){t.target.composing||e.$set(e.spotifyFeatures,"clientId",t.target.value)}}})]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.clientSecret")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.clientSecret,expression:"spotifyFeatures.clientSecret"}],attrs:{type:"password"},domProps:{value:e.spotifyFeatures.clientSecret},on:{input:function(t){t.target.composing||e.$set(e.spotifyFeatures,"clientSecret",t.target.value)}}})]),a("div",{staticClass:"input-group"},[a("p",{staticClass:"input-group-text"},[e._v(e._s(e.$t("settings.spotify.username")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyUser,expression:"spotifyUser"}],attrs:{type:"text"},domProps:{value:e.spotifyUser},on:{input:function(t){t.target.composing||(e.spotifyUser=t.target.value)}}})]),a("label",{staticClass:"with-checkbox"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.spotifyFeatures.fallbackSearch,expression:"spotifyFeatures.fallbackSearch"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.spotifyFeatures.fallbackSearch)?e._i(e.spotifyFeatures.fallbackSearch,null)>-1:e.spotifyFeatures.fallbackSearch},on:{change:function(t){var a=e.spotifyFeatures.fallbackSearch,i=t.target,s=!!i.checked;if(Array.isArray(a)){var n=e._i(a,null);i.checked?n<0&&e.$set(e.spotifyFeatures,"fallbackSearch",a.concat([null])):n>-1&&e.$set(e.spotifyFeatures,"fallbackSearch",a.slice(0,n).concat(a.slice(n+1)))}else e.$set(e.spotifyFeatures,"fallbackSearch",s)}}}),a("span",{staticClass:"checkbox-text"},[e._v(e._s(e.$t("settings.downloads.fallbackSearch")))])])],1),a("footer",{staticClass:"bg-background-main"},[a("button",{staticClass:"mr-2 btn btn-primary",on:{click:e.resetToDefault}},[e._v(e._s(e.$t("settings.reset")))]),a("button",{staticClass:"btn btn-primary",on:{click:e.saveSettings}},[e._v(e._s(e.$t("settings.save")))])])],1)},fs=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("label",[a("span",[e._v("E-mail")]),a("input",{attrs:{type:"text",name:"email"}})])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("label",[a("span",[e._v("Password")]),a("input",{attrs:{type:"password",name:"password"}})])}];const ws={components:{BaseAccordion:bs,TemplateVariablesList:function(){return vs.exports}()},setup(){const{areLogsActive:e,saveLogsSettings:t}=pi();return{areLogsActive:e,saveLogsSettings:t}},data(){return{flags:us,currentLocale:this.$i18n.locale,locales:this.$i18n.availableLocales,settings:{tags:{}},lastSettings:{},spotifyFeatures:{},lastCredentials:{},defaultSettings:{},lastUser:"",spotifyUser:"",accountNum:0,accounts:[],trackTemplateVariables:cs}},computed:l(o({},d({arl:"getARL",accessToken:"getAccessToken",user:"getUser",isLoggedIn:"isLoggedIn",clientMode:"getClientMode",previewVolume:"getPreviewVolume",hasSlimDownloads:"getSlimDownloads",hasSlimSidebar:"getSlimSidebar"})),{needToWait(){return 0===Object.keys(this.getSettings).length},modelVolume:{get(){return this.previewVolume},set:M((function(e){this.setPreviewVolume(e)}),20)},modelSlimDownloads:{get(){return this.hasSlimDownloads},set(e){this.setSlimDownloads(e)}},modelSlimSidebar:{get(){return this.hasSlimSidebar},set(e){this.setSlimSidebar(e)}},pictureHref(){return`https://e-cdns-images.dzcdn.net/images/user/${this.user.picture}/125x125-000000-80-0-0.jpg`}}),async mounted(){const{settingsData:e,defaultSettingsData:t,spotifyCredentials:a}=await async function(){const e=await W("getSettings"),{settings:t,defaultSettings:a,spotifySettings:i}=e;return Ca=t,Sa=a,Ta=i||{},{settingsData:Ca,defaultSettingsData:Sa,spotifyCredentials:Ta}}();this.defaultSettings=t,this.initSettings(e,a);const i=localStorage.getItem("accountNum");i&&(this.accountNum=i);const s=localStorage.getItem("spotifyUser");s&&(this.lastUser=s,this.spotifyUser=s,H.emit("update_userSpotifyPlaylists",s)),H.on("updateSettings",this.updateSettings),H.on("familyAccounts",this.initAccounts),this.clientMode&&(window.api.receive("downloadFolderSelected",this.downloadFolderSelected),window.api.receive("applogin_arl",this.loggedInViaDeezer)),this.$on("hook:destroyed",(()=>{H.off("updateSettings"),H.off("familyAccounts")}))},methods:l(o({},k({dispatchARL:"setARL",dispatchAccessTocken:"setAccessToken",dispatchUser:"setUser",removeARL:"removeARL",setPreviewVolume:"setPreviewVolume",setSlimDownloads:"setSlimDownloads",setSlimSidebar:"setSlimSidebar",dispatchLogout:"logout",dispatchLogin:"login"})),{onTemplateVariableClick(e){re(e),gt(`Copied ${e} to clipboard!`)},revertSettings(){this.settings=JSON.parse(JSON.stringify(this.lastSettings))},revertCredentials(){this.spotifyCredentials=JSON.parse(JSON.stringify(this.lastCredentials)),this.spotifyUser=(" "+this.lastUser).slice(1)},copyARLtoClipboard(){const e=this.$refs.loginInput;e.setAttribute("type","text"),e.select(),e.setSelectionRange(0,99999),document.execCommand("copy"),e.setAttribute("type","password"),gt(this.$t("settings.toasts.ARLcopied"),"assignment")},changeLocale(e){this.$i18n.locale=e,this.currentLocale=e,localStorage.setItem("locale",e)},saveSettings(){this.saveLogsSettings(),this.lastSettings=JSON.parse(JSON.stringify(this.settings)),this.lastCredentials=JSON.parse(JSON.stringify(this.spotifyFeatures));let e=!1;this.lastUser!=this.spotifyUser&&(this.lastUser=(" "+this.spotifyUser).slice(1),localStorage.setItem("spotifyUser",this.lastUser),e=!0),H.emit("saveSettings",{settings:this.lastSettings,spotifySettings:this.lastCredentials,spotifyUser:!!e&&this.lastUser})},selectDownloadFolder(){window.api.send("selectDownloadFolder",this.settings.downloadLocation)},downloadFolderSelected(e){this.$set(this.settings,"downloadLocation",e)},loadSettings(e){this.lastSettings=JSON.parse(JSON.stringify(e)),this.settings=JSON.parse(JSON.stringify(e))},loadCredentials(e){this.lastCredentials=JSON.parse(JSON.stringify(e)),this.spotifyFeatures=JSON.parse(JSON.stringify(e))},loggedInViaDeezer(e){this.dispatchARL({arl:e})},async login(e,t=!1){gt(this.$t("toasts.loggingIn"),"loading",!1,"login-toast");const a=await W("login-arl",{arl:e,force:t,child:this.accountNum},"POST"),{status:i,user:s}=a;switch(i){case 1:case 3:gt(this.$t("toasts.loggedIn"),"done",!0,"login-toast"),this.dispatchLogin(a);break;case 2:gt(this.$t("toasts.alreadyLogged"),"done",!0,"login-toast"),this.dispatchUser(s);break;case 0:gt(this.$t("toasts.loginFailed"),"close",!0,"login-toast"),this.removeARL();break;case-1:gt(this.$t("toasts.deezerNotAvailable"),"close",!0,"login-toast")}},loginButton(){const e=this.$refs.loginInput.value.trim();e&&e!==this.arl&&this.login(e,!0)},async loginWithCredentials(){const e=(t=this.$refs.loginWithCredentialsForm,e=>({[e]:t.elements.namedItem(e).value}));var t;const{email:a}=e("email"),{password:i}=e("password"),{accessToken:s,arl:n}=await K("loginWithCredentials",{email:a,password:i,accessToken:this.accessToken});s!==this.accessToken&&this.dispatchAccessTocken({accessToken:s}),n&&this.login(n)},appLogin(){window.api.send("applogin")},async changeAccount(){const[e,t]=await W("changeAccount",this.accountNum);this.accountChanged(e,t)},accountChanged(e,t){this.$refs.username.innerText=e.name,this.$refs.userpicture.src=`https://e-cdns-images.dzcdn.net/images/user/${e.picture}/125x125-000000-80-0-0.jpg`,this.accountNum=t,localStorage.setItem("accountNum",this.accountNum)},initAccounts(e){this.accounts=e},async logout(){const e=await K("logout");console.log(e),e.logged_out&&(gt(this.$t("toasts.loggedOut"),"done",!0,"login-toast"),this.dispatchLogout())},initSettings(e,t){this.loadSettings(e),this.loadCredentials(t),gt(this.$t("settings.toasts.init"),"settings")},updateSettings(e){const{settings:t,spotifySettings:a}=e;this.loadSettings(t),this.loadCredentials(a),gt(this.$t("settings.toasts.update"),"settings")},resetToDefault(){confirm(this.$t("settings.resetMessage"))&&(this.settings=JSON.parse(JSON.stringify(this.defaultSettings)),gt(this.$t("settings.toasts.reset"),"settings"))}})},As={};var _s=Y(ws,ks,fs,!1,Cs,"0756ad50",null,null);function Cs(e){for(let t in As)this[t]=As[t]}var Ss=function(){return _s.exports}();const Ts={};var zs=Y({data:()=>({title:"",metadata:"",release_date:"",label:"",explicit:!1,image:"",type:"empty",link:"",body:[]}),mounted(){ge.$on("showAlbum",this.showAlbum),ge.$on("showPlaylist",this.showPlaylist),ge.$on("showSpotifyPlaylist",this.showSpotifyPlaylist)},methods:{playPausePreview:ke,reset(){this.title="Loading...",this.image="",this.metadata="",this.label="",this.release_date="",this.explicit=!1,this.type="empty",this.body=[]},addToQueue(e){te(e.currentTarget.dataset.link)},toggleAll(e){this.body.forEach((t=>{"track"===t.type&&(t.selected=e.currentTarget.checked)}))},selectedLinks(){const e=[];return this.body&&this.body.forEach((t=>{"track"===t.type&&t.selected&&e.push("spotifyPlaylist"===this.type?t.uri:t.link)})),e.join(";")},convertDuration:le.convertDuration,showAlbum(e){this.reset();const{id:t,title:a,explicit_lyrics:i,label:s,artist:{name:n},tracks:r,tracks:{length:o},release_date:l,cover_xl:c}=e;this.type="album",this.link=`https://www.deezer.com/album/${t}`,this.title=a,this.explicit=i,this.label=s,this.metadata=`${n} • ${this.$tc("globals.listTabs.trackN",o)}`,this.release_date=l.substring(0,10),this.image=c,O(r)?this.body=null:this.body=r},showPlaylist(e){this.reset();const{id:t,title:a,picture_xl:i,creation_date:s,creator:{name:n},tracks:r,tracks:{length:o}}=e;this.type="playlist",this.link=`https://www.deezer.com/playlist/${t}`,this.title=a,this.image=i,this.release_date=s.substring(0,10),this.metadata=`${this.$t("globals.by",{artist:n})} • ${this.$tc("globals.listTabs.trackN",o)}`,O(r)?this.body=null:this.body=r},showSpotifyPlaylist(e){this.reset();const{uri:t,name:a,images:i,images:{length:s},owner:{display_name:n},tracks:r,tracks:{length:o}}=e;this.type="spotifyPlaylist",this.link=t,this.title=a,this.image=s?i[0].url:"https://e-cdns-images.dzcdn.net/images/cover/d41d8cd98f00b204e9800998ecf8427e/1000x1000-000000-80-0-0.jpg",this.release_date="",this.metadata=`${this.$t("globals.by",{artist:n})} • ${this.$tc("globals.listTabs.trackN",o)}`,O(r)?this.body=null:this.body=r},selectRow(e,t){t.selected=!t.selected}}},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{ref:"root",staticClass:"relative fixed-footer bg-background-main image-header"},[a("header",{style:{"background-image":"linear-gradient(to bottom, transparent 0%, var(--main-background) 100%), url('"+e.image+"')"}},[a("h1",{staticClass:"flex items-center m-0 text-5xl"},[e._v(" "+e._s(e.title)+" "),e.explicit?a("i",{staticClass:"material-icons title-icon title-icon--right"},[e._v("explicit")]):e._e()]),a("h2",{staticClass:"m-0 mb-3 text-lg"},[e.metadata?a("p",[e._v(e._s(e.metadata))]):e._e(),e.release_date?a("p",[e._v(e._s(e.release_date))]):e._e()])]),a("table",{staticClass:"table table--tracklist"},[a("thead",[a("tr",[e._m(0),a("th",[e._v("#")]),a("th",[e._v(e._s(e.$tc("globals.listTabs.title",1)))]),a("th",[e._v(e._s(e.$tc("globals.listTabs.artist",1)))]),"playlist"===e.type?a("th",[e._v(e._s(e.$tc("globals.listTabs.album",1)))]):e._e(),e._m(1),a("th",{staticClass:"table__icon table__cell--center clickable"},[a("input",{staticClass:"selectAll",attrs:{type:"checkbox"},on:{click:e.toggleAll}})])])]),a("tbody",["spotifyPlaylist"!==e.type?[e._l(e.body,(function(t,i){return["track"===t.type?a("tr",{on:{click:function(a){return e.selectRow(i,t)}}},[a("td",{staticClass:"table__cell--x-small table__cell--center"},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[a("i",e._g({staticClass:"material-icons",class:{preview_playlist_controls:t.preview,"cursor-pointer":t.preview,disabled:!t.preview},attrs:{"data-preview":t.preview,title:e.$t("globals.play_hint")}},{click:!!t.preview&&e.playPausePreview}),[e._v(" play_arrow ")])])]),a("td",{staticClass:"table__cell--small table__cell--center track_position"},[e._v(" "+e._s("album"===e.type?t.track_position:e.body.indexOf(t)+1)+" ")]),a("td",{staticClass:"table__cell--large table__cell--with-icon"},[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center"},[t.explicit_lyrics?a("i",{staticClass:"material-icons title-icon"},[e._v(" explicit ")]):e._e(),e._v(" "+e._s(t.title+(t.title_version&&-1==t.title.indexOf(t.title_version)?" "+t.title_version:""))+" ")])]),a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{to:{name:"Artist",params:{id:t.artist.id}},tag:"td"}},[e._v(" "+e._s(t.artist.name)+" ")]),"playlist"===e.type?a("router-link",{staticClass:"table__cell--medium table__cell--center clickable",attrs:{to:{name:"Album",params:{id:t.album.id}},tag:"td"}},[e._v(" "+e._s(t.album.title)+" ")]):e._e(),a("td",{staticClass:"table__cell--center",class:{"table__cell--small":"album"===e.type,"table__cell--x-small":"playlist"===e.type}},[e._v(" "+e._s(e.convertDuration(t.duration))+" ")]),a("td",{staticClass:"table__icon table__cell--center"},[a("input",{directives:[{name:"model",rawName:"v-model",value:t.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.selected)?e._i(t.selected,null)>-1:t.selected},on:{change:function(a){var i=t.selected,s=a.target,n=!!s.checked;if(Array.isArray(i)){var r=e._i(i,null);s.checked?r<0&&e.$set(t,"selected",i.concat([null])):r>-1&&e.$set(t,"selected",i.slice(0,r).concat(i.slice(r+1)))}else e.$set(t,"selected",n)}}})])],1):"disc_separator"==t.type?a("tr",{staticClass:"table__row-no-highlight",staticStyle:{opacity:"0.54"}},[e._m(2,!0),a("td",{staticClass:"table__cell--center"},[e._v(" "+e._s(t.number)+" ")]),a("td",{attrs:{colspan:"4"}})]):e._e()]}))]:e._l(e.body,(function(t,i){return a("tr",[a("td",[t.preview_url?a("i",{staticClass:"material-icons",class:{preview_playlist_controls:t.preview_url,"cursor-pointer":t.preview_url},attrs:{"data-preview":t.preview_url,title:e.$t("globals.play_hint")},on:{click:e.playPausePreview}},[e._v(" play_arrow ")]):a("i",{staticClass:"material-icons disabled"},[e._v("play_arrow")])]),a("td",[e._v(e._s(i+1))]),a("td",{staticClass:"flex items-center"},[t.explicit?a("i",{staticClass:"material-icons title-icon"},[e._v("explicit")]):e._e(),e._v(" "+e._s(t.name)+" ")]),a("td",[e._v(e._s(t.artists[0].name))]),a("td",[e._v(e._s(t.album.name))]),a("td",[e._v(e._s(e.convertDuration(Math.floor(t.duration_ms/1e3))))]),a("td",[a("input",{directives:[{name:"model",rawName:"v-model",value:t.selected,expression:"track.selected"}],staticClass:"clickable",attrs:{type:"checkbox"},domProps:{checked:Array.isArray(t.selected)?e._i(t.selected,null)>-1:t.selected},on:{change:function(a){var i=t.selected,s=a.target,n=!!s.checked;if(Array.isArray(i)){var r=e._i(i,null);s.checked?r<0&&e.$set(t,"selected",i.concat([null])):r>-1&&e.$set(t,"selected",i.slice(0,r).concat(i.slice(r+1)))}else e.$set(t,"selected",n)}}})])])}))],2)]),e.label?a("span",{staticStyle:{opacity:"0.4","margin-top":"8px",display:"inline-block","font-size":"13px"}},[e._v(e._s(e.label))]):e._e(),a("footer",{staticClass:"bg-background-main"},[a("button",{staticClass:"mr-2 btn btn-primary",attrs:{"data-link":e.link},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}},[e._v(" "+e._s(""+e.$t("globals.download",{thing:e.$tc("globals.listTabs."+e.type,1)}))+" ")]),a("button",{staticClass:"flex items-center btn btn-primary",attrs:{"data-link":e.selectedLinks()},on:{click:function(t){return t.stopPropagation(),e.addToQueue.apply(null,arguments)}}},[e._v(" "+e._s(e.$t("tracklist.downloadSelection"))),a("i",{staticClass:"ml-2 material-icons"},[e._v("file_download")])])])])}),[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("th",[a("i",{staticClass:"material-icons"},[e._v("music_note")])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("th",[a("i",{staticClass:"material-icons"},[e._v("timer")])])},function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("td",[a("div",{staticClass:"table__cell-content table__cell-content--vertical-center",staticStyle:{opacity:"0.54"}},[a("i",{staticClass:"material-icons"},[e._v("album")])])])}],!1,xs,null,null,null);function xs(e){for(let t in Ts)this[t]=Ts[t]}var Ps=function(){return zs.exports}();c.use(G);const Ds=new G({mode:"history",routes:[{path:window.location.pathname,name:"Home",component:ai,meta:{notKeepAlive:!0}},{path:"/tracklist/:type/:id",name:"Tracklist",component:Ps},{path:"/artist/:id",name:"Artist",component:aa,meta:{notKeepAlive:!0}},{path:"/album/:id",name:"Album",component:Ps},{path:"/playlist/:id",name:"Playlist",component:Ps},{path:"/spotify-playlist/:id",name:"Spotify Playlist",component:Ps},{path:"/charts",name:"Charts",component:da,meta:{notKeepAlive:!0}},{path:"/favorites",name:"Favorites",component:Ka,meta:{notKeepAlive:!0}},{path:"/errors",name:"Errors",component:ya},{path:"/logs",name:"Logs",component:hi},{path:"/link-analyzer",name:"Link Analyzer",component:oi},{path:"/about",name:"About",component:$t},{path:"/info-arl",name:"ARL",component:Ut},{path:"/info-spotify",name:"Spotify Features",component:Ot},{path:"/settings",name:"Settings",component:Ss},{path:"/search",name:"Search",component:ls,meta:{notKeepAlive:!0}},{path:"*",component:ai}],scrollBehavior:()=>({x:0,y:0})});function Ns(e){const{status:t,user:a}=e;switch(t){case 1:case 3:gt(zt.t("toasts.loggedIn"),"done",!0,"login-toast"),La.dispatch("login",e);break;case 2:gt(zt.t("toasts.alreadyLogged"),"done",!0,"login-toast"),La.dispatch("setUser",a);break;case 0:gt(zt.t("toasts.loginFailed"),"close",!0,"login-toast"),La.dispatch("removeARL");break;case-1:gt(zt.t("toasts.deezerNotAvailable"),"close",!0,"login-toast")}}Ds.beforeEach(((e,t,a)=>{switch(e.name){case"Tracklist":console.warn("This should never happen.");break;case"Album":W("getTracklist",{type:"album",id:e.params.id}).then((e=>{ge.$emit("showAlbum",e)}));break;case"Playlist":W("getTracklist",{type:"playlist",id:e.params.id}).then((e=>{ge.$emit("showPlaylist",e)}));break;case"Spotify Playlist":W("getTracklist",{type:"spotifyplaylist",id:e.params.id}).then((e=>{ge.$emit("showSpotifyPlaylist",e)}));break}a()})),document.addEventListener("DOMContentLoaded",(async function(){new c({store:La,router:Ds,i18n:zt,render:e=>e(Ct)}).$mount("#app");const e=await(await fetch("http://localhost:6595/connect",{credentials:"include"})).json();e.deezerAvailable||document.getElementById("deezer_not_available").classList.remove("hide"),La.dispatch("setAppInfo",e.update).catch(console.error);let t=localStorage.getItem("arl");const a=localStorage.getItem("accessToken");if(e.autologin){console.info("Autologin");const e=localStorage.getItem("accountNum");async function i(e,t){let a;return gt(zt.t("toasts.loggingIn"),"loading",!1,"login-toast"),e=e.trim(),a=0!==t?await W("login-arl",{arl:e,force:!0,child:t||0},"POST"):await W("login-arl",{arl:e},"POST"),a}if(t){let s=await i(t,e);if(0===s.status&&a){const{arl:n}=await K("loginWithCredentials",{accessToken:a});n&&n!==t&&(t=n,La.dispatch("setARL",{arl:t})),s=await i(n,e)}Ns(s)}}else Ns({status:3,user:e.currentUser,arl:t})})),window.api&&(La.dispatch("setClientMode",!0),document.addEventListener("keyup",(e=>{e.altKey&&"ArrowLeft"===e.key&&Ds.back(),e.altKey&&"ArrowRight"===e.key&&Ds.forward()}))),document.addEventListener("paste",(e=>{if("input"===e.target.localName)return;let t=e.clipboardData.getData("Text");if(ae(t))"Link Analyzer"===Ds.currentRoute.name?H.emit("analyzeLink",t):(t.includes("\n")&&(t=t.replace(/\n/g,";")),te(t));else{const e=document.querySelector("#searchbar");e.select(),e.setSelectionRange(0,99999)}})),H.on("message",(function(e){console.log(e)})),H.on("restoringQueue",(function(){gt(zt.t("toasts.restoringQueue"),"loading",!1,"restoring_queue")})),H.on("cancellingCurrentItem",(function(e){gt(zt.t("toasts.cancellingCurrentItem"),"loading",!1,"cancelling_"+e)})),H.on("currentItemCancelled",(function(e){gt(zt.t("toasts.currentItemCancelled"),"done",!0,"cancelling_"+e)})),H.on("startAddingArtist",(function(e){gt(zt.t("toasts.startAddingArtist",{artist:e.name}),"loading",!1,"artist_"+e.id)})),H.on("finishAddingArtist",(function(e){gt(zt.t("toasts.finishAddingArtist",{artist:e.name}),"done",!0,"artist_"+e.id)})),H.on("startConvertingSpotifyPlaylist",(function(e){gt(zt.t("toasts.startConvertingSpotifyPlaylist"),"loading",!1,"spotifyplaylist_"+e)})),H.on("finishConvertingSpotifyPlaylist",(function(e){gt(zt.t("toasts.finishConvertingSpotifyPlaylist"),"done",!0,"spotifyplaylist_"+e)})),H.on("errorMessage",(function(e){gt(e,"error")})),H.on("queueError",(function(e){e.errid?gt(e.link+" - "+zt.t(`errors.ids.${e.errid}`),"error"):gt(e.link+" - "+e.error,"error")})),H.on("alreadyInQueue",(function(e){gt(zt.t("toasts.alreadyInQueue",{item:e.title}),"playlist_add_check")})),H.on("loginNeededToDownload",(function(){gt(zt.t("toasts.loginNeededToDownload"),"report")})),H.on("startGeneratingItems",(function(e){gt(zt.t("toasts.startGeneratingItems",{n:e.total}),"loading",!1,"batch_"+e.uuid)})),H.on("finishGeneratingItems",(function(e){gt(zt.t("toasts.finishGeneratingItems",{n:e.total}),"done",!0,"batch_"+e.uuid)})); diff --git a/webui-new/public/index.html b/webui-new/public/index.html deleted file mode 100644 index 2591eea..0000000 --- a/webui-new/public/index.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - deemix - - - - - - - - - - - - -
- - - - diff --git a/webui-new/public/it.2d46fd7f.svg b/webui-new/public/it.2d46fd7f.svg deleted file mode 100644 index 5cb92aa..0000000 --- a/webui-new/public/it.2d46fd7f.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/webui-new/public/kr.3162c67e.svg b/webui-new/public/kr.3162c67e.svg deleted file mode 100644 index 39508cb..0000000 --- a/webui-new/public/kr.3162c67e.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/paypal.530bc1c7.svg b/webui-new/public/paypal.530bc1c7.svg deleted file mode 100644 index d698dfa..0000000 --- a/webui-new/public/paypal.530bc1c7.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/ph.fd167a43.svg b/webui-new/public/ph.fd167a43.svg deleted file mode 100644 index a0c37d8..0000000 --- a/webui-new/public/ph.fd167a43.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/webui-new/public/pl.bd8c588c.svg b/webui-new/public/pl.bd8c588c.svg deleted file mode 100644 index c00513a..0000000 --- a/webui-new/public/pl.bd8c588c.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/webui-new/public/pt.62137f64.svg b/webui-new/public/pt.62137f64.svg deleted file mode 100644 index fa9621f..0000000 --- a/webui-new/public/pt.62137f64.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/public/ru.5b51b57f.svg b/webui-new/public/ru.5b51b57f.svg deleted file mode 100644 index f56fddb..0000000 --- a/webui-new/public/ru.5b51b57f.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/webui-new/public/tr.033a416e.svg b/webui-new/public/tr.033a416e.svg deleted file mode 100644 index f1910ee..0000000 --- a/webui-new/public/tr.033a416e.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/webui-new/public/tw.44b7d1f3.svg b/webui-new/public/tw.44b7d1f3.svg deleted file mode 100644 index b614e44..0000000 --- a/webui-new/public/tw.44b7d1f3.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/webui-new/public/vendor.70b63c9f.js b/webui-new/public/vendor.70b63c9f.js deleted file mode 100644 index 876dc4b..0000000 --- a/webui-new/public/vendor.70b63c9f.js +++ /dev/null @@ -1,44 +0,0 @@ -/*! - * Vue.js v2.6.14 - * (c) 2014-2021 Evan You - * Released under the MIT License. - */ -var t=Object.freeze({});function e(t){return null==t}function n(t){return null!=t}function r(t){return!0===t}function o(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function i(t){return null!==t&&"object"==typeof t}var a=Object.prototype.toString;function s(t){return"[object Object]"===a.call(t)}function c(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function u(t){return n(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function l(t){return null==t?"":Array.isArray(t)||s(t)&&t.toString===a?JSON.stringify(t,null,2):String(t)}function f(t){var e=parseFloat(t);return isNaN(e)?t:e}function p(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var v=Object.prototype.hasOwnProperty;function m(t,e){return v.call(t,e)}function y(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var g=/-(\w)/g,_=y((function(t){return t.replace(g,(function(t,e){return e?e.toUpperCase():""}))})),b=y((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),w=/\B([A-Z])/g,k=y((function(t){return t.replace(w,"-$1").toLowerCase()}));var $=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function C(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function O(t,e){for(var n in e)t[n]=e[n];return t}function x(t){for(var e={},n=0;n0,q=H&&H.indexOf("edge/")>0;H&&H.indexOf("android");var G=H&&/iphone|ipad|ipod|ios/.test(H)||"ios"===W;H&&/chrome\/\d+/.test(H),H&&/phantomjs/.test(H);var K,J=H&&H.match(/firefox\/(\d+)/),X={}.watch,Q=!1;if(V)try{var Y={};Object.defineProperty(Y,"passive",{get:function(){Q=!0}}),window.addEventListener("test-passive",null,Y)}catch(wp){}var Z=function(){return void 0===K&&(K=!V&&!z&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),K},tt=V&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function et(t){return"function"==typeof t&&/native code/.test(t.toString())}var nt,rt="undefined"!=typeof Symbol&&et(Symbol)&&"undefined"!=typeof Reflect&&et(Reflect.ownKeys);nt="undefined"!=typeof Set&&et(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ot=j,it=0,at=function(){this.id=it++,this.subs=[]};at.prototype.addSub=function(t){this.subs.push(t)},at.prototype.removeSub=function(t){d(this.subs,t)},at.prototype.depend=function(){at.target&&at.target.addDep(this)},at.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e-1)if(i&&!m(o,"default"))a=!1;else if(""===a||a===k(t)){var c=Dt(String,o.type);(c<0||s0&&(ce((s=ue(s,(i||"")+"_"+a))[0])&&ce(u)&&(l[c]=ht(u.text+s[0].text),s.shift()),l.push.apply(l,s)):o(s)?ce(u)?l[c]=ht(u.text+s):""!==s&&l.push(ht(s)):ce(s)&&ce(u)?l[c]=ht(u.text+s.text):(r(t._isVList)&&n(s.tag)&&e(s.key)&&n(i)&&(s.key="__vlist"+i+"_"+a+"__"),l.push(s)));return l}function le(t,e){if(t){for(var n=Object.create(null),r=rt?Reflect.ownKeys(t):Object.keys(t),o=0;o0,a=e?!!e.$stable:!i,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(a&&r&&r!==t&&s===r.$key&&!i&&!r.$hasNormal)return r;for(var c in o={},e)e[c]&&"$"!==c[0]&&(o[c]=ve(n,c,e[c]))}else o={};for(var u in n)u in o||(o[u]=me(n,u));return e&&Object.isExtensible(e)&&(e._normalized=o),N(o,"$stable",a),N(o,"$key",s),N(o,"$hasNormal",i),o}function ve(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({}),e=(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:se(t))&&t[0];return t&&(!e||1===t.length&&e.isComment&&!he(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function me(t,e){return function(){return t[e]}}function ye(t,e){var r,o,a,s,c;if(Array.isArray(t)||"string"==typeof t)for(r=new Array(t.length),o=0,a=t.length;odocument.createEvent("Event").timeStamp&&(un=function(){return ln.now()})}function fn(){var t,e;for(cn=un(),an=!0,en.sort((function(t,e){return t.id-e.id})),sn=0;snsn&&en[n].id>t.id;)n--;en.splice(n+1,0,t)}else en.push(t);on||(on=!0,Yt(fn))}}(this)},hn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||i(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';Vt(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},hn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},hn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},hn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||d(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var dn={enumerable:!0,configurable:!0,get:j,set:j};function vn(t,e,n){dn.get=function(){return this[e][n]},dn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,dn)}function mn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];t.$parent&&_t(!1);var i=function(i){o.push(i);var a=Lt(i,e,n,t);kt(r,i,a),i in t||vn(t,"_props",i)};for(var a in e)i(a);_t(!0)}(t,e.props),e.methods&&function(t,e){for(var n in t.$options.props,e)t[n]="function"!=typeof e[n]?j:$(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;s(e=t._data="function"==typeof e?function(t,e){ct();try{return t.call(e,e)}catch(wp){return Rt(wp,e,"data()"),{}}finally{ut()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props;t.$options.methods;var o=n.length;for(;o--;){var i=n[o];r&&m(r,i)||P(i)||vn(t,"_data",i)}wt(e,!0)}(t):wt(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=Z();for(var o in e){var i=e[o],a="function"==typeof i?i:i.get;r||(n[o]=new hn(t,a||j,j,yn)),o in t||gn(t,o,i)}}(t,e.computed),e.watch&&e.watch!==X&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o-1:"string"==typeof t?t.split(",").indexOf(e)>-1:(n=t,"[object RegExp]"===a.call(n)&&t.test(e));var n}function An(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&En(n,i,r,o)}}}function En(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,d(n,e)}Cn.prototype._init=function(e){var n=this;n._uid=kn++,n._isVue=!0,e&&e._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(n,e):n.$options=Mt($n(n.constructor),e||{},n),n._renderProxy=n,n._self=n,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(n),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Ke(t,e)}(n),function(e){e._vnode=null,e._staticTrees=null;var n=e.$options,r=e.$vnode=n._parentVnode,o=r&&r.context;e.$slots=fe(n._renderChildren,o),e.$scopedSlots=t,e._c=function(t,n,r,o){return Re(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return Re(e,t,n,r,o,!0)};var i=r&&r.data;kt(e,"$attrs",i&&i.attrs||t,null,!0),kt(e,"$listeners",n._parentListeners||t,null,!0)}(n),tn(n,"beforeCreate"),function(t){var e=le(t.$options.inject,t);e&&(_t(!1),Object.keys(e).forEach((function(n){kt(t,n,e[n])})),_t(!0))}(n),mn(n),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(n),tn(n,"created"),n.$options.el&&n.$mount(n.$options.el)},function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=$t,t.prototype.$delete=Ct,t.prototype.$watch=function(t,e,n){var r=this;if(s(e))return wn(r,t,e,n);(n=n||{}).user=!0;var o=new hn(r,t,e,n);if(n.immediate){var i='callback for immediate watcher "'+o.expression+'"';ct(),Vt(e,r,[o.value],r,i),ut()}return function(){o.teardown()}}}(Cn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var o=0,i=t.length;o1?C(n):n;for(var r=C(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;iparseInt(this.max)&&En(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)En(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){An(t,(function(t){return jn(e,t)}))})),this.$watch("exclude",(function(e){An(t,(function(t){return!jn(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Be(t),n=e&&e.componentOptions;if(n){var r=xn(n),o=this.include,i=this.exclude;if(o&&(!r||!jn(o,r))||i&&r&&jn(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,d(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return I}};Object.defineProperty(t,"config",e),t.util={warn:ot,extend:O,mergeOptions:Mt,defineReactive:kt},t.set=$t,t.delete=Ct,t.nextTick=Yt,t.observable=function(t){return wt(t),t},t.options=Object.create(null),F.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,O(t.options.components,Tn),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=C(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Mt(this.options,t),this}}(t),On(t),function(t){F.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&s(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Cn),Object.defineProperty(Cn.prototype,"$isServer",{get:Z}),Object.defineProperty(Cn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Cn,"FunctionalRenderContext",{value:Me}),Cn.version="2.6.14";var Mn=p("style,class"),Fn=p("input,textarea,option,select,progress"),Ln=p("contenteditable,draggable,spellcheck"),In=p("events,caret,typing,plaintext-only"),Pn=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Nn="http://www.w3.org/1999/xlink",Dn=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Rn=function(t){return Dn(t)?t.slice(6,t.length):""},Vn=function(t){return null==t||!1===t};function zn(t){for(var e=t.data,r=t,o=t;n(o.componentInstance);)(o=o.componentInstance._vnode)&&o.data&&(e=Wn(o.data,e));for(;n(r=r.parent);)r&&r.data&&(e=Wn(e,r.data));return function(t,e){if(n(t)||n(e))return Hn(t,Bn(e));return""}(e.staticClass,e.class)}function Wn(t,e){return{staticClass:Hn(t.staticClass,e.staticClass),class:n(t.class)?[t.class,e.class]:e.class}}function Hn(t,e){return t?e?t+" "+e:t:e||""}function Bn(t){return Array.isArray(t)?function(t){for(var e,r="",o=0,i=t.length;o-1?hr(t,e,n):Pn(e)?Vn(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Ln(e)?t.setAttribute(e,function(t,e){return Vn(e)||"false"===e?"false":"contenteditable"===t&&In(e)?e:"true"}(e,n)):Dn(e)?Vn(n)?t.removeAttributeNS(Nn,Rn(e)):t.setAttributeNS(Nn,e,n):hr(t,e,n)}function hr(t,e,n){if(Vn(n))t.removeAttribute(e);else{if(B&&!U&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var dr={create:fr,update:fr};function vr(t,r){var o=r.elm,i=r.data,a=t.data;if(!(e(i.staticClass)&&e(i.class)&&(e(a)||e(a.staticClass)&&e(a.class)))){var s=zn(r),c=o._transitionClasses;n(c)&&(s=Hn(s,Bn(c))),s!==o._prevClass&&(o.setAttribute("class",s),o._prevClass=s)}}var mr,yr={create:vr,update:vr};function gr(t,e,n){var r=mr;return function o(){var i=e.apply(null,arguments);null!==i&&wr(t,o,n,r)}}var _r=Bt&&!(J&&Number(J[1])<=53);function br(t,e,n,r){if(_r){var o=cn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}mr.addEventListener(t,e,Q?{capture:n,passive:r}:n)}function wr(t,e,n,r){(r||mr).removeEventListener(t,e._wrapper||e,n)}function kr(t,r){if(!e(t.data.on)||!e(r.data.on)){var o=r.data.on||{},i=t.data.on||{};mr=r.elm,function(t){if(n(t.__r)){var e=B?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}n(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(o),oe(o,i,br,wr,gr,r.context),mr=void 0}}var $r,Cr={create:kr,update:kr};function Or(t,r){if(!e(t.data.domProps)||!e(r.data.domProps)){var o,i,a=r.elm,s=t.data.domProps||{},c=r.data.domProps||{};for(o in n(c.__ob__)&&(c=r.data.domProps=O({},c)),s)o in c||(a[o]="");for(o in c){if(i=c[o],"textContent"===o||"innerHTML"===o){if(r.children&&(r.children.length=0),i===s[o])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===o&&"PROGRESS"!==a.tagName){a._value=i;var u=e(i)?"":String(i);xr(a,u)&&(a.value=u)}else if("innerHTML"===o&&Gn(a.tagName)&&e(a.innerHTML)){($r=$r||document.createElement("div")).innerHTML=""+i+"";for(var l=$r.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(i!==s[o])try{a[o]=i}catch(wp){}}}}function xr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(wp){}return n&&t.value!==e}(t,e)||function(t,e){var r=t.value,o=t._vModifiers;if(n(o)){if(o.number)return f(r)!==f(e);if(o.trim)return r.trim()!==e.trim()}return r!==e}(t,e))}var jr={create:Or,update:Or},Ar=y((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Er(t){var e=Sr(t.style);return t.staticStyle?O(t.staticStyle,e):e}function Sr(t){return Array.isArray(t)?x(t):"string"==typeof t?Ar(t):t}var Tr,Mr=/^--/,Fr=/\s*!important$/,Lr=function(t,e,n){if(Mr.test(e))t.style.setProperty(e,n);else if(Fr.test(n))t.style.setProperty(k(e),n.replace(Fr,""),"important");else{var r=Pr(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(Rr).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function zr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Rr).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Wr(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&O(e,Hr(t.name||"v")),O(e,t),e}return"string"==typeof t?Hr(t):void 0}}var Hr=y((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Br=V&&!U,Ur="transition",qr="transitionend",Gr="animation",Kr="animationend";Br&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ur="WebkitTransition",qr="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Gr="WebkitAnimation",Kr="webkitAnimationEnd"));var Jr=V?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Xr(t){Jr((function(){Jr(t)}))}function Qr(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Vr(t,e))}function Yr(t,e){t._transitionClasses&&d(t._transitionClasses,e),zr(t,e)}function Zr(t,e,n){var r=eo(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?qr:Kr,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c0&&(n="transition",l=a,f=i.length):"animation"===e?u>0&&(n="animation",l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?"transition":"animation":null)?"transition"===n?i.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:"transition"===n&&to.test(r[Ur+"Property"])}}function no(t,e){for(;t.length1}function co(t,e){!0!==e.data.show&&oo(e)}var uo=function(t){var i,a,s={},c=t.modules,u=t.nodeOps;for(i=0;id?_(t,e(o[y+1])?null:o[y+1].elm,o,h,y,i):h>y&&w(r,p,d)}(p,v,y,i,l):n(y)?(n(t.text)&&u.setTextContent(p,""),_(p,null,y,0,y.length-1,i)):n(v)?w(v,0,v.length-1):n(t.text)&&u.setTextContent(p,""):t.text!==o.text&&u.setTextContent(p,o.text),n(d)&&n(h=d.hook)&&n(h=h.postpatch)&&h(t,o)}}}function O(t,e,o){if(r(o)&&n(t.parent))t.parent.data.pendingInsert=e;else for(var i=0;i-1,a.selected!==i&&(a.selected=i);else if(S(vo(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function ho(t,e){return e.every((function(e){return!S(e,t)}))}function vo(t){return"_value"in t?t._value:t.value}function mo(t){t.target.composing=!0}function yo(t){t.target.composing&&(t.target.composing=!1,go(t.target,"input"))}function go(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function _o(t){return!t.componentInstance||t.data&&t.data.transition?t:_o(t.componentInstance._vnode)}var bo={model:lo,show:{bind:function(t,e,n){var r=e.value,o=(n=_o(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,oo(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=_o(n)).data&&n.data.transition?(n.data.show=!0,r?oo(n,(function(){t.style.display=t.__vOriginalDisplay})):io(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},wo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ko(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ko(Be(e.children)):t}function $o(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[_(i)]=o[i];return e}function Co(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Oo=function(t){return t.tag||he(t)},xo=function(t){return"show"===t.name},jo={name:"transition",props:wo,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Oo)).length){var r=this.mode,i=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var a=ko(i);if(!a)return i;if(this._leaving)return Co(t,i);var s="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?s+"comment":s+a.tag:o(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=$o(this),u=this._vnode,l=ko(u);if(a.data.directives&&a.data.directives.some(xo)&&(a.data.show=!0),l&&l.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(a,l)&&!he(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=O({},c);if("out-in"===r)return this._leaving=!0,ie(f,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Co(t,i);if("in-out"===r){if(he(a))return u;var p,h=function(){p()};ie(c,"afterEnter",h),ie(c,"enterCancelled",h),ie(f,"delayLeave",(function(t){p=t}))}}return i}}},Ao=O({tag:String,moveClass:String},wo);function Eo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function So(t){t.data.newPos=t.elm.getBoundingClientRect()}function To(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}delete Ao.mode;var Mo={Transition:jo,TransitionGroup:{props:Ao,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Xe(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=$o(this),s=0;s-1?Jn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Jn[t]=/HTMLUnknownElement/.test(e.toString())},O(Cn.options.directives,bo),O(Cn.options.components,Mo),Cn.prototype.__patch__=V?uo:j,Cn.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=pt),tn(t,"beforeMount"),r=function(){t._update(t._render(),n)},new hn(t,r,j,{before:function(){t._isMounted&&!t._isDestroyed&&tn(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,tn(t,"mounted")),t}(this,t=t&&V?function(t){if("string"==typeof t){return document.querySelector(t)||document.createElement("div")}return t}(t):void 0,e)},V&&setTimeout((function(){I.devtools&&tt&&tt.emit("init",Cn)}),0);function Fo(t){return"function"==typeof t&&/native code/.test(t.toString())}var Lo="undefined"!=typeof Symbol&&Fo(Symbol)&&"undefined"!=typeof Reflect&&Fo(Reflect.ownKeys),Io=function(t){return t};function Po(t,e,n){var r=n.get,o=n.set;Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:r||Io,set:o||Io})}function No(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function Do(t,e){return Object.hasOwnProperty.call(t,e)}function Ro(t){return Array.isArray(t)}var Vo=Object.prototype.toString,zo=function(t){return Vo.call(t)};function Wo(t){return null!==t&&"object"==typeof t}function Ho(t){return"[object Object]"===function(t){return Object.prototype.toString.call(t)}(t)}function Bo(t){return"function"==typeof t}var Uo=void 0;try{var qo=require("vue");qo&&Jo(qo)?Uo=qo:qo&&"default"in qo&&Jo(qo.default)&&(Uo=qo.default)}catch(kp){}var Go=null,Ko=null;function Jo(t){return t&&"function"==typeof t&&"Vue"===t.name}function Xo(){return Go}function Qo(t){Ko=t}function Yo(){return Ko?ei(Ko):null}var Zo,ti=new WeakMap;function ei(t){if(ti.has(t))return ti.get(t);var e={proxy:t,update:t.$forceUpdate,uid:t._uid,emit:t.$emit.bind(t),parent:null,root:null};return["data","props","attrs","refs","vnode","slots"].forEach((function(n){Po(e,n,{get:function(){return t["$"+n]}})})),Po(e,"isMounted",{get:function(){return t._isMounted}}),Po(e,"isUnmounted",{get:function(){return t._isDestroyed}}),Po(e,"isDeactivated",{get:function(){return t._inactive}}),Po(e,"emitted",{get:function(){return t._events}}),ti.set(t,e),t.$parent&&(e.parent=ei(t.$parent)),t.$root&&(e.root=ei(t.$root)),e}function ni(t,e){void 0===e&&(e={});var n=t.config.silent;t.config.silent=!0;var r=new t(e);return t.config.silent=n,r}function ri(t,e){return function(){for(var n=[],r=0;r=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ai(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(s){o={error:s}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function si(t,e){for(var n=0,r=e.length,o=t.length;n-1&&e.splice(n,1)}}function ca(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;la(t,n,[],t._modules.root,!0),ua(t,n,e)}function ua(t,e,n){var r=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var o=t._wrappedGetters,i={};Yi(o,(function(e,n){i[n]=function(t,e){return function(){return t(e)}}(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var a=na.config.silent;na.config.silent=!0,t._vm=new na({data:{$$state:e},computed:i}),na.config.silent=a,t.strict&&function(t){t._vm.$watch((function(){return this._data.$$state}),(function(){}),{deep:!0,sync:!0})}(t),r&&(n&&t._withCommit((function(){r._data.$$state=null})),na.nextTick((function(){return r.$destroy()})))}function la(t,e,n,r,o){var i=!n.length,a=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=r),!i&&!o){var s=fa(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){na.set(s,c,r.state)}))}var u=r.context=function(t,e,n){var r=""===e,o={dispatch:r?t.dispatch:function(n,r,o){var i=pa(n,r,o),a=i.payload,s=i.options,c=i.type;return s&&s.root||(c=e+c),t.dispatch(c,a)},commit:r?t.commit:function(n,r,o){var i=pa(n,r,o),a=i.payload,s=i.options,c=i.type;s&&s.root||(c=e+c),t.commit(c,a,s)}};return Object.defineProperties(o,{getters:{get:r?function(){return t.getters}:function(){return function(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(o){if(o.slice(0,r)===e){var i=o.slice(r);Object.defineProperty(n,i,{get:function(){return t.getters[o]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}(t,e)}},state:{get:function(){return fa(t.state,n)}}}),o}(t,a,n);r.forEachMutation((function(e,n){!function(t,e,n,r){(t._mutations[e]||(t._mutations[e]=[])).push((function(e){n.call(t,r.state,e)}))}(t,a+n,e,u)})),r.forEachAction((function(e,n){var r=e.root?n:a+n,o=e.handler||e;!function(t,e,n,r){(t._actions[e]||(t._actions[e]=[])).push((function(e){var o,i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return(o=i)&&"function"==typeof o.then||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}(t,r,o,u)})),r.forEachGetter((function(e,n){!function(t,e,n,r){if(t._wrappedGetters[e])return;t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)}}(t,a+n,e,u)})),r.forEachChild((function(r,i){la(t,e,n.concat(i),r,o)}))}function fa(t,e){return e.reduce((function(t,e){return t[e]}),t)}function pa(t,e,n){return Zi(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function ha(t){na&&t===na||function(t){if(Number(t.version.split(".")[0])>=2)t.mixin({beforeCreate:n});else{var e=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[n].concat(t.init):n,e.call(this,t)}}function n(){var t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}(na=t)}aa.state.get=function(){return this._vm._data.$$state},aa.state.set=function(t){},ia.prototype.commit=function(t,e,n){var r=this,o=pa(t,e,n),i=o.type,a=o.payload,s={type:i,payload:a},c=this._mutations[i];c&&(this._withCommit((function(){c.forEach((function(t){t(a)}))})),this._subscribers.slice().forEach((function(t){return t(s,r.state)})))},ia.prototype.dispatch=function(t,e){var n=this,r=pa(t,e),o=r.type,i=r.payload,a={type:o,payload:i},s=this._actions[o];if(s){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(a,n.state)}))}catch(wp){}var c=s.length>1?Promise.all(s.map((function(t){return t(i)}))):s[0](i);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(a,n.state)}))}catch(wp){}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(a,n.state,t)}))}catch(wp){}e(t)}))}))}},ia.prototype.subscribe=function(t,e){return sa(t,this._subscribers,e)},ia.prototype.subscribeAction=function(t,e){return sa("function"==typeof t?{before:t}:t,this._actionSubscribers,e)},ia.prototype.watch=function(t,e,n){var r=this;return this._watcherVM.$watch((function(){return t(r.state,r.getters)}),e,n)},ia.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},ia.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"==typeof t&&(t=[t]),this._modules.register(t,e),la(this,this.state,t,this._modules.get(t),n.preserveState),ua(this,this.state)},ia.prototype.unregisterModule=function(t){var e=this;"string"==typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=fa(e.state,t.slice(0,-1));na.delete(n,t[t.length-1])})),ca(this)},ia.prototype.hasModule=function(t){return"string"==typeof t&&(t=[t]),this._modules.isRegistered(t)},ia.prototype.hotUpdate=function(t){this._modules.update(t),ca(this,!0)},ia.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(ia.prototype,aa);var da=_a((function(t,e){var n={};return ga(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=ba(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"==typeof o?o.call(this,e,n):e[o]},n[r].vuex=!0})),n})),va=_a((function(t,e){var n={};return ga(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var r=this.$store.commit;if(t){var i=ba(this.$store,"mapMutations",t);if(!i)return;r=i.context.commit}return"function"==typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n})),ma=_a((function(t,e){var n={};return ga(e).forEach((function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){if(!t||ba(this.$store,"mapGetters",t))return this.$store.getters[o]},n[r].vuex=!0})),n})),ya=_a((function(t,e){var n={};return ga(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var i=ba(this.$store,"mapActions",t);if(!i)return;r=i.context.dispatch}return"function"==typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n}));function ga(t){return function(t){return Array.isArray(t)||Zi(t)}(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function _a(t){return function(e,n){return"string"!=typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function ba(t,e,n){return t._modulesNamespaceMap[n]}function wa(t,e,n){var r=n?t.groupCollapsed:t.group;try{r.call(t,e)}catch(wp){t.log(e)}}function ka(t){try{t.groupEnd()}catch(wp){t.log("—— log end ——")}}function $a(){var t=new Date;return" @ "+Ca(t.getHours(),2)+":"+Ca(t.getMinutes(),2)+":"+Ca(t.getSeconds(),2)+"."+Ca(t.getMilliseconds(),3)}function Ca(t,e){return n="0",r=e-t.toString().length,new Array(r+1).join(n)+t;var n,r}var Oa,xa,ja,Aa={Store:ia,install:ha,version:"3.6.2",mapState:da,mapMutations:va,mapGetters:ma,mapActions:ya,createNamespacedHelpers:function(t){return{mapState:da.bind(null,t),mapGetters:ma.bind(null,t),mapMutations:va.bind(null,t),mapActions:ya.bind(null,t)}},createLogger:function(t){void 0===t&&(t={});var e=t.collapsed;void 0===e&&(e=!0);var n=t.filter;void 0===n&&(n=function(t,e,n){return!0});var r=t.transformer;void 0===r&&(r=function(t){return t});var o=t.mutationTransformer;void 0===o&&(o=function(t){return t});var i=t.actionFilter;void 0===i&&(i=function(t,e){return!0});var a=t.actionTransformer;void 0===a&&(a=function(t){return t});var s=t.logMutations;void 0===s&&(s=!0);var c=t.logActions;void 0===c&&(c=!0);var u=t.logger;return void 0===u&&(u=console),function(t){var l=Qi(t.state);void 0!==u&&(s&&t.subscribe((function(t,i){var a=Qi(i);if(n(t,l,a)){var s=$a(),c=o(t),f="mutation "+t.type+s;wa(u,f,e),u.log("%c prev state","color: #9E9E9E; font-weight: bold",r(l)),u.log("%c mutation","color: #03A9F4; font-weight: bold",c),u.log("%c next state","color: #4CAF50; font-weight: bold",r(a)),ka(u)}l=a})),c&&t.subscribeAction((function(t,n){if(i(t,n)){var r=$a(),o=a(t),s="action "+t.type+r;wa(u,s,e),u.log("%c action","color: #03A9F4; font-weight: bold",o),ka(u)}})))}}},Ea="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Sa={exports:{}};xa=Ea,ja=function(t){var e=function(t){return new e.lib.init(t)};function n(t,e){return e.offset[t]?isNaN(e.offset[t])?e.offset[t]:e.offset[t]+"px":"0px"}function r(t,e){return!(!t||"string"!=typeof e||!(t.className&&t.className.trim().split(/\s+/gi).indexOf(e)>-1))}return e.defaults={oldestFirst:!0,text:"Toastify is awesome!",node:void 0,duration:3e3,selector:void 0,callback:function(){},destination:void 0,newWindow:!1,close:!1,gravity:"toastify-top",positionLeft:!1,position:"",backgroundColor:"",avatar:"",className:"",stopOnFocus:!0,onClick:function(){},offset:{x:0,y:0},escapeMarkup:!0,style:{background:""}},e.lib=e.prototype={toastify:"1.11.1",constructor:e,init:function(t){return t||(t={}),this.options={},this.toastElement=null,this.options.text=t.text||e.defaults.text,this.options.node=t.node||e.defaults.node,this.options.duration=0===t.duration?0:t.duration||e.defaults.duration,this.options.selector=t.selector||e.defaults.selector,this.options.callback=t.callback||e.defaults.callback,this.options.destination=t.destination||e.defaults.destination,this.options.newWindow=t.newWindow||e.defaults.newWindow,this.options.close=t.close||e.defaults.close,this.options.gravity="bottom"===t.gravity?"toastify-bottom":e.defaults.gravity,this.options.positionLeft=t.positionLeft||e.defaults.positionLeft,this.options.position=t.position||e.defaults.position,this.options.backgroundColor=t.backgroundColor||e.defaults.backgroundColor,this.options.avatar=t.avatar||e.defaults.avatar,this.options.className=t.className||e.defaults.className,this.options.stopOnFocus=void 0===t.stopOnFocus?e.defaults.stopOnFocus:t.stopOnFocus,this.options.onClick=t.onClick||e.defaults.onClick,this.options.offset=t.offset||e.defaults.offset,this.options.escapeMarkup=void 0!==t.escapeMarkup?t.escapeMarkup:e.defaults.escapeMarkup,this.options.style=t.style||e.defaults.style,this.options.style.background=e.defaults.backgroundColor||t.backgroundColor,this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var t=document.createElement("div");for(var e in t.className="toastify on "+this.options.className,this.options.position?t.className+=" toastify-"+this.options.position:!0===this.options.positionLeft?(t.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):t.className+=" toastify-right",t.className+=" "+this.options.gravity,this.options.backgroundColor&&console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.'),this.options.style)t.style[e]=this.options.style[e];if(this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)t.appendChild(this.options.node);else if(this.options.escapeMarkup?t.innerText=this.options.text:t.innerHTML=this.options.text,""!==this.options.avatar){var r=document.createElement("img");r.src=this.options.avatar,r.className="toastify-avatar","left"==this.options.position||!0===this.options.positionLeft?t.appendChild(r):t.insertAdjacentElement("afterbegin",r)}if(!0===this.options.close){var o=document.createElement("span");o.innerHTML="✖",o.className="toast-close",o.addEventListener("click",function(t){t.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var i=window.innerWidth>0?window.innerWidth:screen.width;("left"==this.options.position||!0===this.options.positionLeft)&&i>360?t.insertAdjacentElement("afterbegin",o):t.appendChild(o)}if(this.options.stopOnFocus&&this.options.duration>0){var a=this;t.addEventListener("mouseover",(function(e){window.clearTimeout(t.timeOutValue)})),t.addEventListener("mouseleave",(function(){t.timeOutValue=window.setTimeout((function(){a.removeElement(t)}),a.options.duration)}))}if(void 0!==this.options.destination&&t.addEventListener("click",function(t){t.stopPropagation(),!0===this.options.newWindow?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),"function"==typeof this.options.onClick&&void 0===this.options.destination&&t.addEventListener("click",function(t){t.stopPropagation(),this.options.onClick()}.bind(this)),"object"==typeof this.options.offset){var s=n("x",this.options),c=n("y",this.options),u="left"==this.options.position?s:"-"+s,l="toastify-top"==this.options.gravity?c:"-"+c;t.style.transform="translate("+u+","+l+")"}return t},showToast:function(){var t;if(this.toastElement=this.buildToast(),!(t="string"==typeof this.options.selector?document.getElementById(this.options.selector):this.options.selector instanceof HTMLElement||this.options.selector instanceof ShadowRoot?this.options.selector:document.body))throw"Root element is not defined";var n=e.defaults.oldestFirst?t.firstChild:t.lastChild;return t.insertBefore(this.toastElement,n),e.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(t){t.className=t.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),t.parentNode&&t.parentNode.removeChild(t),this.options.callback.call(t),e.reposition()}.bind(this),400)}},e.reposition=function(){for(var t,e={top:15,bottom:15},n={top:15,bottom:15},o={top:15,bottom:15},i=document.getElementsByClassName("toastify"),a=0;a0?window.innerWidth:screen.width)<=360?(i[a].style[t]=o[t]+"px",o[t]+=s+15):!0===r(i[a],"toastify-left")?(i[a].style[t]=e[t]+"px",e[t]+=s+15):(i[a].style[t]=n[t]+"px",n[t]+=s+15)}return this},e.lib.init.prototype=e.lib,e},( -/*! - * Toastify js 1.11.1 - * https://github.com/apvarun/toastify-js - * @license MIT licensed - * - * Copyright (C) 2018 Varun A P - */ -Oa=Sa).exports?Oa.exports=ja():xa.Toastify=ja();var Ta=Sa.exports,Ma=["compactDisplay","currency","currencyDisplay","currencySign","localeMatcher","notation","numberingSystem","signDisplay","style","unit","unitDisplay","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits"]; -/*! - * vue-i18n v8.25.0 - * (c) 2021 kazuya kawaguchi - * Released under the MIT License. - */function Fa(t,e){"undefined"!=typeof console&&(console.warn("[vue-i18n] "+t),e&&console.warn(e.stack))}var La=Array.isArray;function Ia(t){return null!==t&&"object"==typeof t}function Pa(t){return"string"==typeof t}var Na=Object.prototype.toString;function Da(t){return"[object Object]"===Na.call(t)}function Ra(t){return null==t}function Va(t){return"function"==typeof t}function za(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var n=null,r=null;return 1===t.length?Ia(t[0])||La(t[0])?r=t[0]:"string"==typeof t[0]&&(n=t[0]):2===t.length&&("string"==typeof t[0]&&(n=t[0]),(Ia(t[1])||La(t[1]))&&(r=t[1])),{locale:n,params:r}}function Wa(t){return JSON.parse(JSON.stringify(t))}function Ha(t,e){return!!~t.indexOf(e)}var Ba=Object.prototype.hasOwnProperty;function Ua(t,e){return Ba.call(t,e)}function qa(t){for(var e=arguments,n=Object(t),r=1;r/g,">").replace(/"/g,""").replace(/'/g,"'"))})),t}var Ja={beforeCreate:function(){var t=this.$options;if(t.i18n=t.i18n||(t.__i18n?{}:null),t.i18n){if(t.i18n instanceof Cs){if(t.__i18n)try{var e=t.i18n&&t.i18n.messages?t.i18n.messages:{};t.__i18n.forEach((function(t){e=qa(e,JSON.parse(t))})),Object.keys(e).forEach((function(n){t.i18n.mergeLocaleMessage(n,e[n])}))}catch(wp){}this._i18n=t.i18n,this._i18nWatcher=this._i18n.watchI18nData()}else if(Da(t.i18n)){var n=this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Cs?this.$root.$i18n:null;if(n&&(t.i18n.root=this.$root,t.i18n.formatter=n.formatter,t.i18n.fallbackLocale=n.fallbackLocale,t.i18n.formatFallbackMessages=n.formatFallbackMessages,t.i18n.silentTranslationWarn=n.silentTranslationWarn,t.i18n.silentFallbackWarn=n.silentFallbackWarn,t.i18n.pluralizationRules=n.pluralizationRules,t.i18n.preserveDirectiveContent=n.preserveDirectiveContent),t.__i18n)try{var r=t.i18n&&t.i18n.messages?t.i18n.messages:{};t.__i18n.forEach((function(t){r=qa(r,JSON.parse(t))})),t.i18n.messages=r}catch(wp){}var o=t.i18n.sharedMessages;o&&Da(o)&&(t.i18n.messages=qa(t.i18n.messages,o)),this._i18n=new Cs(t.i18n),this._i18nWatcher=this._i18n.watchI18nData(),(void 0===t.i18n.sync||t.i18n.sync)&&(this._localeWatcher=this.$i18n.watchLocale()),n&&n.onComponentInstanceCreated(this._i18n)}}else this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Cs?this._i18n=this.$root.$i18n:t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof Cs&&(this._i18n=t.parent.$i18n)},beforeMount:function(){var t=this.$options;t.i18n=t.i18n||(t.__i18n?{}:null),t.i18n?(t.i18n instanceof Cs||Da(t.i18n))&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0):(this.$root&&this.$root.$i18n&&this.$root.$i18n instanceof Cs||t.parent&&t.parent.$i18n&&t.parent.$i18n instanceof Cs)&&(this._i18n.subscribeDataChanging(this),this._subscribing=!0)},mounted:function(){this!==this.$root&&this.$options.__INTLIFY_META__&&this.$el&&this.$el.setAttribute("data-intlify",this.$options.__INTLIFY_META__)},beforeDestroy:function(){if(this._i18n){var t=this;this.$nextTick((function(){t._subscribing&&(t._i18n.unsubscribeDataChanging(t),delete t._subscribing),t._i18nWatcher&&(t._i18nWatcher(),t._i18n.destroyVM(),delete t._i18nWatcher),t._localeWatcher&&(t._localeWatcher(),delete t._localeWatcher)}))}}},Xa={name:"i18n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},path:{type:String,required:!0},locale:{type:String},places:{type:[Array,Object]}},render:function(t,e){var n=e.data,r=e.parent,o=e.props,i=e.slots,a=r.$i18n;if(a){var s=o.path,c=o.locale,u=o.places,l=i(),f=a.i(s,c,function(t){var e;for(e in t)if("default"!==e)return!1;return Boolean(e)}(l)||u?function(t,e){var n=e?function(t){return Array.isArray(t)?t.reduce(Ya,{}):Object.assign({},t)}(e):{};if(!t)return n;var r=(t=t.filter((function(t){return t.tag||""!==t.text.trim()}))).every(Za);return t.reduce(r?Qa:Ya,n)}(l.default,u):l),p=o.tag&&!0!==o.tag||!1===o.tag?o.tag:"span";return p?t(p,n,f):f}}};function Qa(t,e){return e.data&&e.data.attrs&&e.data.attrs.place&&(t[e.data.attrs.place]=e),t}function Ya(t,e,n){return t[n]=e,t}function Za(t){return Boolean(t.data&&t.data.attrs&&t.data.attrs.place)}var ts,es={name:"i18n-n",functional:!0,props:{tag:{type:[String,Boolean,Object],default:"span"},value:{type:Number,required:!0},format:{type:[String,Object]},locale:{type:String}},render:function(t,e){var n=e.props,r=e.parent,o=e.data,i=r.$i18n;if(!i)return null;var a=null,s=null;Pa(n.format)?a=n.format:Ia(n.format)&&(n.format.key&&(a=n.format.key),s=Object.keys(n.format).reduce((function(t,e){var r;return Ha(Ma,e)?Object.assign({},t,((r={})[e]=n.format[e],r)):t}),null));var c=n.locale||i.locale,u=i._ntp(n.value,c,a,s),l=u.map((function(t,e){var n,r=o.scopedSlots&&o.scopedSlots[t.type];return r?r(((n={})[t.type]=t.value,n.index=e,n.parts=u,n)):t.value})),f=n.tag&&!0!==n.tag||!1===n.tag?n.tag:"span";return f?t(f,{attrs:o.attrs,class:o.class,staticClass:o.staticClass},l):l}};function ns(t,e,n){is(t,n)&&as(t,e,n)}function rs(t,e,n,r){if(is(t,n)){var o=n.context.$i18n;(function(t,e){var n=e.context;return t._locale===n.$i18n.locale})(t,n)&&Ga(e.value,e.oldValue)&&Ga(t._localeMessage,o.getLocaleMessage(o.locale))||as(t,e,n)}}function os(t,e,n,r){if(n.context){var o=n.context.$i18n||{};e.modifiers.preserve||o.preserveDirectiveContent||(t.textContent=""),t._vt=void 0,delete t._vt,t._locale=void 0,delete t._locale,t._localeMessage=void 0,delete t._localeMessage}else Fa("Vue instance does not exists in VNode context")}function is(t,e){var n=e.context;return n?!!n.$i18n||(Fa("VueI18n instance does not exists in Vue instance"),!1):(Fa("Vue instance does not exists in VNode context"),!1)}function as(t,e,n){var r,o,i=function(t){var e,n,r,o;Pa(t)?e=t:Da(t)&&(e=t.path,n=t.locale,r=t.args,o=t.choice);return{path:e,locale:n,args:r,choice:o}}(e.value),a=i.path,s=i.locale,c=i.args,u=i.choice;if(a||s||c)if(a){var l=n.context;t._vt=t.textContent=null!=u?(r=l.$i18n).tc.apply(r,[a,u].concat(ss(s,c))):(o=l.$i18n).t.apply(o,[a].concat(ss(s,c))),t._locale=l.$i18n.locale,t._localeMessage=l.$i18n.getLocaleMessage(l.$i18n.locale)}else Fa("`path` is required in v-t directive");else Fa("value type not supported")}function ss(t,e){var n=[];return t&&n.push(t),e&&(Array.isArray(e)||Da(e))&&n.push(e),n}function cs(t){cs.installed=!0,(ts=t).version&&Number(ts.version.split(".")[0]),function(t){t.prototype.hasOwnProperty("$i18n")||Object.defineProperty(t.prototype,"$i18n",{get:function(){return this._i18n}}),t.prototype.$t=function(t){for(var e=[],n=arguments.length-1;n-- >0;)e[n]=arguments[n+1];var r=this.$i18n;return r._t.apply(r,[t,r.locale,r._getMessages(),this].concat(e))},t.prototype.$tc=function(t,e){for(var n=[],r=arguments.length-2;r-- >0;)n[r]=arguments[r+2];var o=this.$i18n;return o._tc.apply(o,[t,o.locale,o._getMessages(),this,e].concat(n))},t.prototype.$te=function(t,e){var n=this.$i18n;return n._te(t,n.locale,n._getMessages(),e)},t.prototype.$d=function(t){for(var e,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(e=this.$i18n).d.apply(e,[t].concat(n))},t.prototype.$n=function(t){for(var e,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(e=this.$i18n).n.apply(e,[t].concat(n))}}(ts),ts.mixin(Ja),ts.directive("t",{bind:ns,update:rs,unbind:os}),ts.component(Xa.name,Xa),ts.component(es.name,es),ts.config.optionMergeStrategies.i18n=function(t,e){return void 0===e?t:e}}var us=function(){this._caches=Object.create(null)};us.prototype.interpolate=function(t,e){if(!e)return[t];var n=this._caches[t];return n||(n=function(t){var e=[],n=0,r="";for(;n0)f--,l=4,p[0]();else{if(f=0,void 0===n)return!1;if(!1===(n=vs(n)))return!1;p[1]()}};null!==l;)if(u++,"\\"!==(e=t[u])||!h()){if(o=ds(e),8===(i=(s=ps[l])[o]||s.else||8))return;if(l=i[0],(a=p[i[1]])&&(r=void 0===(r=i[2])?e:r,!1===a()))return;if(7===l)return c}}(t))&&(this._cache[t]=e),e||[]},ms.prototype.getPathValue=function(t,e){if(!Ia(t))return null;var n=this.parsePath(e);if(0===n.length)return null;for(var r=n.length,o=t,i=0;i/,_s=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,bs=/^@(?:\.([a-z]+))?:/,ws=/[()]/g,ks={upper:function(t){return t.toLocaleUpperCase()},lower:function(t){return t.toLocaleLowerCase()},capitalize:function(t){return""+t.charAt(0).toLocaleUpperCase()+t.substr(1)}},$s=new us,Cs=function(t){var e=this;void 0===t&&(t={}),!ts&&"undefined"!=typeof window&&window.Vue&&cs(window.Vue);var n=t.locale||"en-US",r=!1!==t.fallbackLocale&&(t.fallbackLocale||"en-US"),o=t.messages||{},i=t.dateTimeFormats||{},a=t.numberFormats||{};this._vm=null,this._formatter=t.formatter||$s,this._modifiers=t.modifiers||{},this._missing=t.missing||null,this._root=t.root||null,this._sync=void 0===t.sync||!!t.sync,this._fallbackRoot=void 0===t.fallbackRoot||!!t.fallbackRoot,this._formatFallbackMessages=void 0!==t.formatFallbackMessages&&!!t.formatFallbackMessages,this._silentTranslationWarn=void 0!==t.silentTranslationWarn&&t.silentTranslationWarn,this._silentFallbackWarn=void 0!==t.silentFallbackWarn&&!!t.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new ms,this._dataListeners=new Set,this._componentInstanceCreatedListener=t.componentInstanceCreatedListener||null,this._preserveDirectiveContent=void 0!==t.preserveDirectiveContent&&!!t.preserveDirectiveContent,this.pluralizationRules=t.pluralizationRules||{},this._warnHtmlInMessage=t.warnHtmlInMessage||"off",this._postTranslation=t.postTranslation||null,this._escapeParameterHtml=t.escapeParameterHtml||!1,this.getChoiceIndex=function(t,n){var r=Object.getPrototypeOf(e);if(r&&r.getChoiceIndex)return r.getChoiceIndex.call(e,t,n);var o,i;return e.locale in e.pluralizationRules?e.pluralizationRules[e.locale].apply(e,[t,n]):(o=t,i=n,o=Math.abs(o),2===i?o?o>1?1:0:1:o?Math.min(o,2):0)},this._exist=function(t,n){return!(!t||!n)&&(!Ra(e._path.getPathValue(t,n))||!!t[n])},"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(o).forEach((function(t){e._checkLocaleMessage(t,e._warnHtmlInMessage,o[t])})),this._initVM({locale:n,fallbackLocale:r,messages:o,dateTimeFormats:i,numberFormats:a})},Os={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},formatFallbackMessages:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0},postTranslation:{configurable:!0}}; -/*! - * vue-router v3.5.2 - * (c) 2021 Evan You - * @license MIT - */ -function xs(t,e){for(var n in e)t[n]=e[n];return t}Cs.prototype._checkLocaleMessage=function(t,e,n){var r=function(t,e,n,o){if(Da(n))Object.keys(n).forEach((function(i){var a=n[i];Da(a)?(o.push(i),o.push("."),r(t,e,a,o),o.pop(),o.pop()):(o.push(i),r(t,e,a,o),o.pop())}));else if(La(n))n.forEach((function(n,i){Da(n)?(o.push("["+i+"]"),o.push("."),r(t,e,n,o),o.pop(),o.pop()):(o.push("["+i+"]"),r(t,e,n,o),o.pop())}));else if(Pa(n)){if(gs.test(n)){var i="Detected HTML in message '"+n+"' of keypath '"+o.join("")+"' at '"+e+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";"warn"===t?Fa(i):"error"===t&&function(t,e){"undefined"!=typeof console&&(console.error("[vue-i18n] "+t),e&&console.error(e.stack))}(i)}}};r(e,t,n,[])},Cs.prototype._initVM=function(t){var e=ts.config.silent;ts.config.silent=!0,this._vm=new ts({data:t}),ts.config.silent=e},Cs.prototype.destroyVM=function(){this._vm.$destroy()},Cs.prototype.subscribeDataChanging=function(t){this._dataListeners.add(t)},Cs.prototype.unsubscribeDataChanging=function(t){!function(t,e){if(t.delete(e));}(this._dataListeners,t)},Cs.prototype.watchI18nData=function(){var t=this;return this._vm.$watch("$data",(function(){for(var e,n,r=(e=t._dataListeners,n=[],e.forEach((function(t){return n.push(t)})),n),o=r.length;o--;)ts.nextTick((function(){r[o]&&r[o].$forceUpdate()}))}),{deep:!0})},Cs.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var t=this._vm;return this._root.$i18n.vm.$watch("locale",(function(e){t.$set(t,"locale",e),t.$forceUpdate()}),{immediate:!0})},Cs.prototype.onComponentInstanceCreated=function(t){this._componentInstanceCreatedListener&&this._componentInstanceCreatedListener(t,this)},Os.vm.get=function(){return this._vm},Os.messages.get=function(){return Wa(this._getMessages())},Os.dateTimeFormats.get=function(){return Wa(this._getDateTimeFormats())},Os.numberFormats.get=function(){return Wa(this._getNumberFormats())},Os.availableLocales.get=function(){return Object.keys(this.messages).sort()},Os.locale.get=function(){return this._vm.locale},Os.locale.set=function(t){this._vm.$set(this._vm,"locale",t)},Os.fallbackLocale.get=function(){return this._vm.fallbackLocale},Os.fallbackLocale.set=function(t){this._localeChainCache={},this._vm.$set(this._vm,"fallbackLocale",t)},Os.formatFallbackMessages.get=function(){return this._formatFallbackMessages},Os.formatFallbackMessages.set=function(t){this._formatFallbackMessages=t},Os.missing.get=function(){return this._missing},Os.missing.set=function(t){this._missing=t},Os.formatter.get=function(){return this._formatter},Os.formatter.set=function(t){this._formatter=t},Os.silentTranslationWarn.get=function(){return this._silentTranslationWarn},Os.silentTranslationWarn.set=function(t){this._silentTranslationWarn=t},Os.silentFallbackWarn.get=function(){return this._silentFallbackWarn},Os.silentFallbackWarn.set=function(t){this._silentFallbackWarn=t},Os.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},Os.preserveDirectiveContent.set=function(t){this._preserveDirectiveContent=t},Os.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},Os.warnHtmlInMessage.set=function(t){var e=this,n=this._warnHtmlInMessage;if(this._warnHtmlInMessage=t,n!==t&&("warn"===t||"error"===t)){var r=this._getMessages();Object.keys(r).forEach((function(t){e._checkLocaleMessage(t,e._warnHtmlInMessage,r[t])}))}},Os.postTranslation.get=function(){return this._postTranslation},Os.postTranslation.set=function(t){this._postTranslation=t},Cs.prototype._getMessages=function(){return this._vm.messages},Cs.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},Cs.prototype._getNumberFormats=function(){return this._vm.numberFormats},Cs.prototype._warnDefault=function(t,e,n,r,o,i){if(!Ra(n))return n;if(this._missing){var a=this._missing.apply(null,[t,e,r,o]);if(Pa(a))return a}if(this._formatFallbackMessages){var s=za.apply(void 0,o);return this._render(e,i,s.params,e)}return e},Cs.prototype._isFallbackRoot=function(t){return!t&&!Ra(this._root)&&this._fallbackRoot},Cs.prototype._isSilentFallbackWarn=function(t){return this._silentFallbackWarn instanceof RegExp?this._silentFallbackWarn.test(t):this._silentFallbackWarn},Cs.prototype._isSilentFallback=function(t,e){return this._isSilentFallbackWarn(e)&&(this._isFallbackRoot()||t!==this.fallbackLocale)},Cs.prototype._isSilentTranslationWarn=function(t){return this._silentTranslationWarn instanceof RegExp?this._silentTranslationWarn.test(t):this._silentTranslationWarn},Cs.prototype._interpolate=function(t,e,n,r,o,i,a){if(!e)return null;var s,c=this._path.getPathValue(e,n);if(La(c)||Da(c))return c;if(Ra(c)){if(!Da(e))return null;if(!Pa(s=e[n])&&!Va(s))return null}else{if(!Pa(c)&&!Va(c))return null;s=c}return Pa(s)&&(s.indexOf("@:")>=0||s.indexOf("@.")>=0)&&(s=this._link(t,e,s,r,"raw",i,a)),this._render(s,o,i,n)},Cs.prototype._link=function(t,e,n,r,o,i,a){var s=n,c=s.match(_s);for(var u in c)if(c.hasOwnProperty(u)){var l=c[u],f=l.match(bs),p=f[0],h=f[1],d=l.replace(p,"").replace(ws,"");if(Ha(a,d))return s;a.push(d);var v=this._interpolate(t,e,d,r,"raw"===o?"string":o,"raw"===o?void 0:i,a);if(this._isFallbackRoot(v)){if(!this._root)throw Error("unexpected error");var m=this._root.$i18n;v=m._translate(m._getMessages(),m.locale,m.fallbackLocale,d,r,o,i)}v=this._warnDefault(t,d,v,r,La(i)?i:[i],o),this._modifiers.hasOwnProperty(h)?v=this._modifiers[h](v):ks.hasOwnProperty(h)&&(v=ks[h](v)),a.pop(),s=v?s.replace(l,v):s}return s},Cs.prototype._createMessageContext=function(t,e,n,r){var o=this,i=La(t)?t:[],a=Ia(t)?t:{},s=this._getMessages(),c=this.locale;return{list:function(t){return i[t]},named:function(t){return a[t]},values:t,formatter:e,path:n,messages:s,locale:c,linked:function(t){return o._interpolate(c,s[c]||{},t,null,r,void 0,[t])}}},Cs.prototype._render=function(t,e,n,r){if(Va(t))return t(this._createMessageContext(n,this._formatter||$s,r,e));var o=this._formatter.interpolate(t,n,r);return o||(o=$s.interpolate(t,n,r)),"string"!==e||Pa(o)?o:o.join("")},Cs.prototype._appendItemToChain=function(t,e,n){var r=!1;return Ha(t,e)||(r=!0,e&&(r="!"!==e[e.length-1],e=e.replace(/!/g,""),t.push(e),n&&n[e]&&(r=n[e]))),r},Cs.prototype._appendLocaleToChain=function(t,e,n){var r,o=e.split("-");do{var i=o.join("-");r=this._appendItemToChain(t,i,n),o.splice(-1,1)}while(o.length&&!0===r);return r},Cs.prototype._appendBlockToChain=function(t,e,n){for(var r=!0,o=0;o0;)i[a]=arguments[a+4];if(!t)return"";var s=za.apply(void 0,i);this._escapeParameterHtml&&(s.params=Ka(s.params));var c=s.locale||e,u=this._translate(n,c,this.fallbackLocale,t,r,"string",s.params);if(this._isFallbackRoot(u)){if(!this._root)throw Error("unexpected error");return(o=this._root).$t.apply(o,[t].concat(i))}return u=this._warnDefault(c,t,u,r,i,"string"),this._postTranslation&&null!=u&&(u=this._postTranslation(u,t)),u},Cs.prototype.t=function(t){for(var e,n=[],r=arguments.length-1;r-- >0;)n[r]=arguments[r+1];return(e=this)._t.apply(e,[t,this.locale,this._getMessages(),null].concat(n))},Cs.prototype._i=function(t,e,n,r,o){var i=this._translate(n,e,this.fallbackLocale,t,r,"raw",o);if(this._isFallbackRoot(i)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(t,e,o)}return this._warnDefault(e,t,i,r,[o],"raw")},Cs.prototype.i=function(t,e,n){return t?(Pa(e)||(e=this.locale),this._i(t,e,this._getMessages(),null,n)):""},Cs.prototype._tc=function(t,e,n,r,o){for(var i,a=[],s=arguments.length-5;s-- >0;)a[s]=arguments[s+5];if(!t)return"";void 0===o&&(o=1);var c={count:o,n:o},u=za.apply(void 0,a);return u.params=Object.assign(c,u.params),a=null===u.locale?[u.params]:[u.locale,u.params],this.fetchChoice((i=this)._t.apply(i,[t,e,n,r].concat(a)),o)},Cs.prototype.fetchChoice=function(t,e){if(!t||!Pa(t))return null;var n=t.split("|");return n[e=this.getChoiceIndex(e,n.length)]?n[e].trim():t},Cs.prototype.tc=function(t,e){for(var n,r=[],o=arguments.length-2;o-- >0;)r[o]=arguments[o+2];return(n=this)._tc.apply(n,[t,this.locale,this._getMessages(),null,e].concat(r))},Cs.prototype._te=function(t,e,n){for(var r=[],o=arguments.length-3;o-- >0;)r[o]=arguments[o+3];var i=za.apply(void 0,r).locale||e;return this._exist(n[i],t)},Cs.prototype.te=function(t,e){return this._te(t,this.locale,this._getMessages(),e)},Cs.prototype.getLocaleMessage=function(t){return Wa(this._vm.messages[t]||{})},Cs.prototype.setLocaleMessage=function(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,e)},Cs.prototype.mergeLocaleMessage=function(t,e){"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||this._checkLocaleMessage(t,this._warnHtmlInMessage,e),this._vm.$set(this._vm.messages,t,qa(void 0!==this._vm.messages[t]&&Object.keys(this._vm.messages[t]).length?Object.assign({},this._vm.messages[t]):{},e))},Cs.prototype.getDateTimeFormat=function(t){return Wa(this._vm.dateTimeFormats[t]||{})},Cs.prototype.setDateTimeFormat=function(t,e){this._vm.$set(this._vm.dateTimeFormats,t,e),this._clearDateTimeFormat(t,e)},Cs.prototype.mergeDateTimeFormat=function(t,e){this._vm.$set(this._vm.dateTimeFormats,t,qa(this._vm.dateTimeFormats[t]||{},e)),this._clearDateTimeFormat(t,e)},Cs.prototype._clearDateTimeFormat=function(t,e){for(var n in e){var r=t+"__"+n;this._dateTimeFormatters.hasOwnProperty(r)&&delete this._dateTimeFormatters[r]}},Cs.prototype._localizeDateTime=function(t,e,n,r,o){for(var i=e,a=r[i],s=this._getLocaleChain(e,n),c=0;c0;)e[n]=arguments[n+1];var r=this.locale,o=null;return 1===e.length?Pa(e[0])?o=e[0]:Ia(e[0])&&(e[0].locale&&(r=e[0].locale),e[0].key&&(o=e[0].key)):2===e.length&&(Pa(e[0])&&(o=e[0]),Pa(e[1])&&(r=e[1])),this._d(t,r,o)},Cs.prototype.getNumberFormat=function(t){return Wa(this._vm.numberFormats[t]||{})},Cs.prototype.setNumberFormat=function(t,e){this._vm.$set(this._vm.numberFormats,t,e),this._clearNumberFormat(t,e)},Cs.prototype.mergeNumberFormat=function(t,e){this._vm.$set(this._vm.numberFormats,t,qa(this._vm.numberFormats[t]||{},e)),this._clearNumberFormat(t,e)},Cs.prototype._clearNumberFormat=function(t,e){for(var n in e){var r=t+"__"+n;this._numberFormatters.hasOwnProperty(r)&&delete this._numberFormatters[r]}},Cs.prototype._getNumberFormatter=function(t,e,n,r,o,i){for(var a=e,s=r[a],c=this._getLocaleChain(e,n),u=0;u0;)e[n]=arguments[n+1];var r=this.locale,o=null,i=null;return 1===e.length?Pa(e[0])?o=e[0]:Ia(e[0])&&(e[0].locale&&(r=e[0].locale),e[0].key&&(o=e[0].key),i=Object.keys(e[0]).reduce((function(t,n){var r;return Ha(Ma,n)?Object.assign({},t,((r={})[n]=e[0][n],r)):t}),null)):2===e.length&&(Pa(e[0])&&(o=e[0]),Pa(e[1])&&(r=e[1])),this._n(t,r,o,i)},Cs.prototype._ntp=function(t,e,n,r){if(!Cs.availabilities.numberFormat)return[];if(!n)return(r?new Intl.NumberFormat(e,r):new Intl.NumberFormat(e)).formatToParts(t);var o=this._getNumberFormatter(t,e,this.fallbackLocale,this._getNumberFormats(),n,r),i=o&&o.formatToParts(t);if(this._isFallbackRoot(i)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(t,e,n,r)}return i||[]},Object.defineProperties(Cs.prototype,Os),Object.defineProperty(Cs,"availabilities",{get:function(){if(!ys){var t="undefined"!=typeof Intl;ys={dateTimeFormat:t&&void 0!==Intl.DateTimeFormat,numberFormat:t&&void 0!==Intl.NumberFormat}}return ys}}),Cs.install=cs,Cs.version="8.25.0";var js=/[!'()*]/g,As=function(t){return"%"+t.charCodeAt(0).toString(16)},Es=/%2C/g,Ss=function(t){return encodeURIComponent(t).replace(js,As).replace(Es,",")};function Ts(t){try{return decodeURIComponent(t)}catch(e){}return t}var Ms=function(t){return null==t||"object"==typeof t?t:String(t)};function Fs(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),r=Ts(n.shift()),o=n.length>0?Ts(n.join("=")):null;void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]})),e):e}function Ls(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return Ss(e);if(Array.isArray(n)){var r=[];return n.forEach((function(t){void 0!==t&&(null===t?r.push(Ss(e)):r.push(Ss(e)+"="+Ss(t)))})),r.join("&")}return Ss(e)+"="+Ss(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var Is=/\/?$/;function Ps(t,e,n,r){var o=r&&r.options.stringifyQuery,i=e.query||{};try{i=Ns(i)}catch(wp){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:Vs(e,o),matched:t?Rs(t):[]};return n&&(a.redirectedFrom=Vs(n,o)),Object.freeze(a)}function Ns(t){if(Array.isArray(t))return t.map(Ns);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=Ns(t[n]);return e}return t}var Ds=Ps(null,{path:"/"});function Rs(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function Vs(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var o=t.hash;return void 0===o&&(o=""),(n||"/")+(e||Ls)(r)+o}function zs(t,e,n){return e===Ds?t===e:!!e&&(t.path&&e.path?t.path.replace(Is,"")===e.path.replace(Is,"")&&(n||t.hash===e.hash&&Ws(t.query,e.query)):!(!t.name||!e.name)&&(t.name===e.name&&(n||t.hash===e.hash&&Ws(t.query,e.query)&&Ws(t.params,e.params))))}function Ws(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t).sort(),r=Object.keys(e).sort();return n.length===r.length&&n.every((function(n,o){var i=t[n];if(r[o]!==n)return!1;var a=e[n];return null==i||null==a?i===a:"object"==typeof i&&"object"==typeof a?Ws(i,a):String(i)===String(a)}))}function Hs(t){for(var e=0;e=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(o.path||""),u=e&&e.path||"/",l=c.path?qs(c.path,u,n||o.append):u,f=function(t,e,n){void 0===e&&(e={});var r,o=n||Fs;try{r=o(t||"")}catch(wp){r={}}for(var i in e){var a=e[i];r[i]=Array.isArray(a)?a.map(Ms):Ms(a)}return r}(c.query,o.query,r&&r.options.parseQuery),p=o.hash||c.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:l,query:f,hash:p}}var hc,dc=function(){},vc={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,c={},u=n.options.linkActiveClass,l=n.options.linkExactActiveClass,f=null==u?"router-link-active":u,p=null==l?"router-link-exact-active":l,h=null==this.activeClass?f:this.activeClass,d=null==this.exactActiveClass?p:this.exactActiveClass,v=a.redirectedFrom?Ps(null,pc(a.redirectedFrom),null,n):a;c[d]=zs(r,v,this.exactPath),c[h]=this.exact||this.exactPath?c[d]:function(t,e){return 0===t.path.replace(Is,"/").indexOf(e.path.replace(Is,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(r,v);var m=c[d]?this.ariaCurrentValue:null,y=function(t){mc(t)&&(e.replace?n.replace(i,dc):n.push(i,dc))},g={click:mc};Array.isArray(this.event)?this.event.forEach((function(t){g[t]=y})):g[this.event]=y;var _={class:c},b=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:y,isActive:c[h],isExactActive:c[d]});if(b){if(1===b.length)return b[0];if(b.length>1||!b.length)return 0===b.length?t():t("span",{},b)}if("a"===this.tag)_.on=g,_.attrs={href:s,"aria-current":m};else{var w=yc(this.$slots.default);if(w){w.isStatic=!1;var k=w.data=xs({},w.data);for(var $ in k.on=k.on||{},k.on){var C=k.on[$];$ in g&&(k.on[$]=Array.isArray(C)?C:[C])}for(var O in g)O in k.on?k.on[O].push(g[O]):k.on[O]=y;var x=w.data.attrs=xs({},w.data.attrs);x.href=s,x["aria-current"]=m}else _.on=g}return t(this.tag,_,this.$slots.default)}};function mc(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function yc(t){if(t)for(var e,n=0;n-1&&(s.params[p]=n.params[p]);return s.path=fc(l.path,s.params),c(l,s,a)}if(s.path){s.params={};for(var h=0;h=t.length?n():t[o]?e(t[o],(function(){r(o+1)})):r(o+1)};r(0)}var Bc={redirected:2,aborted:4,cancelled:8,duplicated:16};function Uc(t,e){return Gc(t,e,Bc.redirected,'Redirected when going from "'+t.fullPath+'" to "'+function(t){if("string"==typeof t)return t;if("path"in t)return t.path;var e={};return Kc.forEach((function(n){n in t&&(e[n]=t[n])})),JSON.stringify(e,null,2)}(e)+'" via a navigation guard.')}function qc(t,e){return Gc(t,e,Bc.cancelled,'Navigation cancelled from "'+t.fullPath+'" to "'+e.fullPath+'" with a new navigation.')}function Gc(t,e,n,r){var o=new Error(r);return o._isRouter=!0,o.from=t,o.to=e,o.type=n,o}var Kc=["params","query","hash"];function Jc(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function Xc(t,e){return Jc(t)&&t._isRouter&&(null==e||t.type===e)}function Qc(t){return function(e,n,r){var o=!1,i=0,a=null;Yc(t,(function(t,e,n,s){if("function"==typeof t&&void 0===t.cid){o=!0,i++;var c,u=eu((function(e){var o;((o=e).__esModule||tu&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:hc.extend(e),n.components[s]=e,--i<=0&&r()})),l=eu((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=Jc(t)?t:new Error(e),r(a))}));try{c=t(u,l)}catch(wp){l(wp)}if(c)if("function"==typeof c.then)c.then(u,l);else{var f=c.component;f&&"function"==typeof f.then&&f.then(u,l)}}})),o||r()}}function Yc(t,e){return Zc(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Zc(t){return Array.prototype.concat.apply([],t)}var tu="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function eu(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var nu=function(t,e){this.router=t,this.base=function(t){if(!t)if(gc){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=Ds,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function ru(t,e,n,r){var o=Yc(t,(function(t,r,o,i){var a=function(t,e){"function"!=typeof t&&(t=hc.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,r,o,i)})):n(a,r,o,i)}));return Zc(r?o.reverse():o)}function ou(t,e){if(e)return function(){return t.apply(e,arguments)}}nu.prototype.listen=function(t){this.cb=t},nu.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},nu.prototype.onError=function(t){this.errorCbs.push(t)},nu.prototype.transitionTo=function(t,e,n){var r,o=this;try{r=this.router.match(t,this.current)}catch(wp){throw this.errorCbs.forEach((function(e){e(wp)})),wp}var i=this.current;this.confirmTransition(r,(function(){o.updateRoute(r),e&&e(r),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(r,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(r)})))}),(function(t){n&&n(t),t&&!o.ready&&(Xc(t,Bc.redirected)&&i===Ds||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},nu.prototype.confirmTransition=function(t,e,n){var r=this,o=this.current;this.pending=t;var i,a,s=function(t){!Xc(t)&&Jc(t)&&(r.errorCbs.length?r.errorCbs.forEach((function(e){e(t)})):console.error(t)),n&&n(t)},c=t.matched.length-1,u=o.matched.length-1;if(zs(t,o)&&c===u&&t.matched[c]===o.matched[u])return this.ensureURL(),s(((a=Gc(i=o,t,Bc.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var l=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,r=Vc&&n;r&&this.listeners.push(Sc());var o=function(){var n=t.current,o=au(t.base);t.current===Ds&&o===t._startLocation||t.transitionTo(o,(function(t){r&&Tc(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){zc(Gs(r.base+t.fullPath)),Tc(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){Wc(Gs(r.base+t.fullPath)),Tc(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(au(this.base)!==this.current.fullPath){var e=Gs(this.base+this.current.fullPath);t?zc(e):Wc(e)}},e.prototype.getCurrentLocation=function(){return au(this.base)},e}(nu);function au(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf(Gs(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var su=function(t){function e(e,n,r){t.call(this,e,n),r&&function(t){var e=au(t);if(!/^\/#/.test(e))return window.location.replace(Gs(t+"/#"+e)),!0}(this.base)||cu()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=Vc&&e;n&&this.listeners.push(Sc());var r=function(){var e=t.current;cu()&&t.transitionTo(uu(),(function(r){n&&Tc(t.router,r,e,!0),Vc||pu(r.fullPath)}))},o=Vc?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){fu(t.fullPath),Tc(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){pu(t.fullPath),Tc(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;uu()!==e&&(t?fu(e):pu(e))},e.prototype.getCurrentLocation=function(){return uu()},e}(nu);function cu(){var t=uu();return"/"===t.charAt(0)||(pu("/"+t),!1)}function uu(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function lu(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function fu(t){Vc?zc(lu(t)):window.location.hash=t}function pu(t){Vc?Wc(lu(t)):window.location.replace(lu(t))}var hu=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){Xc(t,Bc.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(nu),du=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=kc(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Vc&&!1!==t.fallback,this.fallback&&(e="hash"),gc||(e="abstract"),this.mode=e,e){case"history":this.history=new iu(this,t.base);break;case"hash":this.history=new su(this,t.base,this.fallback);break;case"abstract":this.history=new hu(this,t.base)}},vu={currentRoute:{configurable:!0}};function mu(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}du.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},vu.currentRoute.get=function(){return this.history&&this.history.current},du.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof iu||n instanceof su){var r=function(t){n.setupListeners(),function(t){var r=n.current,o=e.options.scrollBehavior;Vc&&o&&"fullPath"in t&&Tc(e,t,r,!1)}(t)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},du.prototype.beforeEach=function(t){return mu(this.beforeHooks,t)},du.prototype.beforeResolve=function(t){return mu(this.resolveHooks,t)},du.prototype.afterEach=function(t){return mu(this.afterHooks,t)},du.prototype.onReady=function(t,e){this.history.onReady(t,e)},du.prototype.onError=function(t){this.history.onError(t)},du.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},du.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},du.prototype.go=function(t){this.history.go(t)},du.prototype.back=function(){this.go(-1)},du.prototype.forward=function(){this.go(1)},du.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},du.prototype.resolve=function(t,e,n){var r=pc(t,e=e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(t,e,n){var r="hash"===n?"#"+e:e;return t?Gs(t+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},du.prototype.getRoutes=function(){return this.matcher.getRoutes()},du.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==Ds&&this.history.transitionTo(this.history.getCurrentLocation())},du.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==Ds&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(du.prototype,vu),du.install=function t(e){if(!t.installed||hc!==e){t.installed=!0,hc=e;var n=function(t){return void 0!==t},r=function(t,e){var r=t.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",Bs),e.component("RouterLink",vc);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},du.version="3.5.2",du.isNavigationFailure=Xc,du.NavigationFailureType=Bc,du.START_LOCATION=Ds,gc&&window.Vue&&window.Vue.use(du);var yu="object"==typeof global&&global&&global.Object===Object&&global,gu="object"==typeof self&&self&&self.Object===Object&&self,_u=yu||gu||Function("return this")(),bu=_u.Symbol,wu=Object.prototype,ku=wu.hasOwnProperty,$u=wu.toString,Cu=bu?bu.toStringTag:void 0;var Ou=Object.prototype.toString;var xu=bu?bu.toStringTag:void 0;function ju(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":xu&&xu in Object(t)?function(t){var e=ku.call(t,Cu),n=t[Cu];try{t[Cu]=void 0;var r=!0}catch(wp){}var o=$u.call(t);return r&&(e?t[Cu]=n:delete t[Cu]),o}(t):function(t){return Ou.call(t)}(t)}function Au(t){return null!=t&&"object"==typeof t}function Eu(t){return"symbol"==typeof t||Au(t)&&"[object Symbol]"==ju(t)}function Su(t,e){for(var n=-1,r=null==t?0:t.length,o=Array(r);++n-1}var cl=/^(?:0|[1-9]\d*)$/;function ul(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&cl.test(t))&&t>-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991}function pl(t){return null!=t&&fl(t.length)&&!Uu(t)}var hl=Object.prototype;function dl(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||hl)}function vl(t){return Au(t)&&"[object Arguments]"==ju(t)}var ml=Object.prototype,yl=ml.hasOwnProperty,gl=ml.propertyIsEnumerable,_l=vl(function(){return arguments}())?vl:function(t){return Au(t)&&yl.call(t,"callee")&&!gl.call(t,"callee")};var bl="object"==typeof exports&&exports&&!exports.nodeType&&exports,wl=bl&&"object"==typeof module&&module&&!module.nodeType&&module,kl=wl&&wl.exports===bl?_u.Buffer:void 0,$l=(kl?kl.isBuffer:void 0)||function(){return!1},Cl={};function Ol(t){return function(e){return t(e)}}Cl["[object Float32Array]"]=Cl["[object Float64Array]"]=Cl["[object Int8Array]"]=Cl["[object Int16Array]"]=Cl["[object Int32Array]"]=Cl["[object Uint8Array]"]=Cl["[object Uint8ClampedArray]"]=Cl["[object Uint16Array]"]=Cl["[object Uint32Array]"]=!0,Cl["[object Arguments]"]=Cl["[object Array]"]=Cl["[object ArrayBuffer]"]=Cl["[object Boolean]"]=Cl["[object DataView]"]=Cl["[object Date]"]=Cl["[object Error]"]=Cl["[object Function]"]=Cl["[object Map]"]=Cl["[object Number]"]=Cl["[object Object]"]=Cl["[object RegExp]"]=Cl["[object Set]"]=Cl["[object String]"]=Cl["[object WeakMap]"]=!1;var xl="object"==typeof exports&&exports&&!exports.nodeType&&exports,jl=xl&&"object"==typeof module&&module&&!module.nodeType&&module,Al=jl&&jl.exports===xl&&yu.process,El=function(){try{var t=jl&&jl.require&&jl.require("util").types;return t||Al&&Al.binding&&Al.binding("util")}catch(wp){}}(),Sl=El&&El.isTypedArray,Tl=Sl?Ol(Sl):function(t){return Au(t)&&fl(t.length)&&!!Cl[ju(t)]},Ml=Object.prototype.hasOwnProperty;function Fl(t,e){var n=Tu(t),r=!n&&_l(t),o=!n&&!r&&$l(t),i=!n&&!r&&!o&&Tl(t),a=n||r||o||i,s=a?function(t,e){for(var n=-1,r=Array(t);++n-1},Jl.prototype.set=function(t,e){var n=this.__data__,r=Gl(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var Xl=ol(_u,"Map");function Ql(t,e){var n,r,o=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof e?"string":"hash"]:o.map}function Yl(t){var e=-1,n=null==t?0:t.length;for(this.clear();++es))return!1;var u=i.get(t),l=i.get(e);if(u&&l)return u==e&&l==t;var f=-1,p=!0,h=2&n?new $f:void 0;for(i.set(t,e),i.set(e,t);++f=e||n<0||f&&t-u>=i}function m(){var t=Gf();if(v(t))return y(t);s=setTimeout(m,function(t){var n=e-(t-c);return f?Jf(n,i-(t-u)):n}(t))}function y(t){return s=void 0,p&&r?h(t):(r=o=void 0,a)}function g(){var t=Gf(),n=v(t);if(r=arguments,o=this,c=t,n){if(void 0===s)return d(c);if(f)return clearTimeout(s),s=setTimeout(m,e),h(c)}return void 0===s&&(s=setTimeout(m,e)),a}return e=Hu(e)||0,Du(n)&&(l=!!n.leading,i=(f="maxWait"in n)?Kf(Hu(n.maxWait)||0,e):i,p="trailing"in n?!!n.trailing:p),g.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=c=o=s=void 0},g.flush=function(){return void 0===s?a:y(Gf())},g}function Qf(t,e,n){for(var r=-1,o=null==t?0:t.length;++re||i&&a&&c&&!s&&!u||r&&a&&c||!n&&c||!o)return 1;if(!r&&!i&&!u&&t=s?c:c*("desc"==n[r]?-1:1)}return t.index-e.index}(t,e,n)}))}function np(t,e,n,r){return null==t?[]:(Tu(e)||(e=null==e?[]:[e]),Tu(n=r?void 0:n)||(n=null==n?[]:[n]),ep(t,e,n))}var rp=df&&1/Af(new df([,-0]))[1]==1/0?function(t){return new df(t)}:function(){};function op(t,e){return e="function"==typeof e?e:void 0,t&&t.length?function(t,e,n){var r=-1,o=sl,i=t.length,a=!0,s=[],c=s;if(n)a=!1,o=Qf;else if(i>=200){var u=e?null:rp(t);if(u)return Af(u);a=!1,o=Of,c=new $f}else c=e?[]:s;t:for(;++r - - - - - - - - - - diff --git a/webui-new/src/App.vue b/webui-new/src/App.vue deleted file mode 100644 index b8ae3c1..0000000 --- a/webui-new/src/App.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/webui-new/src/app.js b/webui-new/src/app.js deleted file mode 100644 index a10211c..0000000 --- a/webui-new/src/app.js +++ /dev/null @@ -1,225 +0,0 @@ -import Vue from 'vue' - -import '@/plugins/composition-api.js' - -import '@/styles/vendor/material-icons.css' -import '@/styles/vendor/OpenSans.css' - -import '@/styles/css/tailwind.css' - -import '@/styles/css/normalize.css' -import '@/styles/css/base.css' -import '@/styles/css/components.css' -import '@/styles/css/helpers.css' -import '@/styles/css/typography.css' - -import '@/styles/scss/tables.scss' - -import App from '@/App.vue' -import i18n from '@/plugins/i18n' -import router from '@/router' -import store from '@/store' - -import { socket } from '@/utils/socket' -import { fetchData, postToServer, SERVER_ENDPOINT } from '@/utils/api' -import { toast } from '@/utils/toasts' -import { isValidURL } from '@/utils/utils' -import { sendAddToQueue } from '@/utils/downloads' - -/* ===== App initialization ===== */ -async function startApp() { - new Vue({ - store, - router, - i18n, - render: h => h(App) - }).$mount('#app') - - const connectResponse = await (await fetch(`${SERVER_ENDPOINT}/connect`, { credentials: 'include' })).json() - if (!connectResponse.deezerAvailable) document.getElementById('deezer_not_available').classList.remove('hide') - - store.dispatch('setAppInfo', connectResponse.update).catch(console.error) - - let arl = localStorage.getItem('arl') - const accessToken = localStorage.getItem('accessToken') - - if (connectResponse.autologin) { - console.info('Autologin') - const accountNum = localStorage.getItem('accountNum') - - async function login(arl, accountNum) { - toast(i18n.t('toasts.loggingIn'), 'loading', false, 'login-toast') - arl = arl.trim() - let result - - if (accountNum !== 0) { - result = await fetchData('login-arl', { arl, force: true, child: accountNum || 0 }, 'POST') - } else { - result = await fetchData('login-arl', { arl }, 'POST') - } - - return result - } - - if (arl) { - let result = await login(arl, accountNum) - if (result.status === 0 && accessToken) { - const { arl: newArl } = await postToServer('loginWithCredentials', { accessToken }) - if (newArl && newArl !== arl) { - arl = newArl - store.dispatch('setARL', { arl }) - } - result = await login(newArl, accountNum) - } - loggedIn(result) - } - } else { - loggedIn({ status: 3, user: connectResponse.currentUser, arl }) - } -} - -function initClient() { - store.dispatch('setClientMode', true) - setClientModeKeyBindings() -} - -document.addEventListener('DOMContentLoaded', startApp) -if (window.api) { - initClient() -} - -/* ===== Global shortcuts ===== */ - -document.addEventListener('paste', pasteEvent => { - if (pasteEvent.target.localName === 'input') return - - let pastedText = pasteEvent.clipboardData.getData('Text') - - if (isValidURL(pastedText)) { - if (router.currentRoute.name === 'Link Analyzer') { - socket.emit('analyzeLink', pastedText) - } else { - if (pastedText.includes('\n')) pastedText = pastedText.replace(/\n/g, ';') - sendAddToQueue(pastedText) - } - } else { - const searchbar = document.querySelector('#searchbar') - searchbar.select() - searchbar.setSelectionRange(0, 99999) - } -}) - -/** - * Sets up key bindings that already work in the browser (server mode) - */ -function setClientModeKeyBindings() { - document.addEventListener('keyup', keyEvent => { - // ALT + left - if (keyEvent.altKey && keyEvent.key === 'ArrowLeft') { - router.back() - } - - // ALT + right - if (keyEvent.altKey && keyEvent.key === 'ArrowRight') { - router.forward() - } - }) -} - -/* ===== Socketio listeners ===== */ - -// Debug messages for socketio -socket.on('message', function (msg) { - console.log(msg) -}) - -function loggedIn(data) { - const { status, user } = data - - switch (status) { - case 1: - case 3: - // Login ok - toast(i18n.t('toasts.loggedIn'), 'done', true, 'login-toast') - - store.dispatch('login', data) - break - case 2: - // Already logged in - toast(i18n.t('toasts.alreadyLogged'), 'done', true, 'login-toast') - - store.dispatch('setUser', user) - break - case 0: - // Login failed - toast(i18n.t('toasts.loginFailed'), 'close', true, 'login-toast') - - store.dispatch('removeARL') - break - case -1: - toast(i18n.t('toasts.deezerNotAvailable'), 'close', true, 'login-toast') - - // TODO - // $('#open_login_prompt').show() - // document.getElementById('logged_in_info').classList.add('hide') - // $('#settings_username').text('Not Logged') - // $('#settings_picture').attr('src', `https://e-cdns-images.dzcdn.net/images/user/125x125-000000-80-0-0.jpg`) - // document.getElementById('home_not_logged_in').classList.remove('hide') - } -} - -socket.on('restoringQueue', function () { - toast(i18n.t('toasts.restoringQueue'), 'loading', false, 'restoring_queue') -}) - -socket.on('cancellingCurrentItem', function (uuid) { - toast(i18n.t('toasts.cancellingCurrentItem'), 'loading', false, 'cancelling_' + uuid) -}) - -socket.on('currentItemCancelled', function (uuid) { - toast(i18n.t('toasts.currentItemCancelled'), 'done', true, 'cancelling_' + uuid) -}) - -socket.on('startAddingArtist', function (data) { - toast(i18n.t('toasts.startAddingArtist', { artist: data.name }), 'loading', false, 'artist_' + data.id) -}) - -socket.on('finishAddingArtist', function (data) { - toast(i18n.t('toasts.finishAddingArtist', { artist: data.name }), 'done', true, 'artist_' + data.id) -}) - -socket.on('startConvertingSpotifyPlaylist', function (id) { - toast(i18n.t('toasts.startConvertingSpotifyPlaylist'), 'loading', false, 'spotifyplaylist_' + id) -}) - -socket.on('finishConvertingSpotifyPlaylist', function (id) { - toast(i18n.t('toasts.finishConvertingSpotifyPlaylist'), 'done', true, 'spotifyplaylist_' + id) -}) - -socket.on('errorMessage', function (error) { - toast(error, 'error') -}) - -socket.on('queueError', function (queueItem) { - if (queueItem.errid) { - toast(queueItem.link + ' - ' + i18n.t(`errors.ids.${queueItem.errid}`), 'error') - } else { - toast(queueItem.link + ' - ' + queueItem.error, 'error') - } -}) - -socket.on('alreadyInQueue', function (data) { - toast(i18n.t('toasts.alreadyInQueue', { item: data.title }), 'playlist_add_check') -}) - -socket.on('loginNeededToDownload', function () { - toast(i18n.t('toasts.loginNeededToDownload'), 'report') -}) - -socket.on('startGeneratingItems', function (data) { - toast(i18n.t('toasts.startGeneratingItems', { n: data.total }), 'loading', false, 'batch_' + data.uuid) -}) - -socket.on('finishGeneratingItems', function (data) { - toast(i18n.t('toasts.finishGeneratingItems', { n: data.total }), 'done', true, 'batch_' + data.uuid) -}) diff --git a/webui-new/src/assets/ar.svg b/webui-new/src/assets/ar.svg deleted file mode 100644 index 3767090..0000000 --- a/webui-new/src/assets/ar.svg +++ /dev/null @@ -1,914 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/src/assets/deemix-icon.svg b/webui-new/src/assets/deemix-icon.svg deleted file mode 100644 index d45054e..0000000 --- a/webui-new/src/assets/deemix-icon.svg +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/src/assets/ethereum.svg b/webui-new/src/assets/ethereum.svg deleted file mode 100644 index 6e54599..0000000 --- a/webui-new/src/assets/ethereum.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webui-new/src/assets/paypal.svg b/webui-new/src/assets/paypal.svg deleted file mode 100644 index d698dfa..0000000 --- a/webui-new/src/assets/paypal.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webui-new/src/components/TheContent.vue b/webui-new/src/components/TheContent.vue deleted file mode 100644 index 1fd25d6..0000000 --- a/webui-new/src/components/TheContent.vue +++ /dev/null @@ -1,106 +0,0 @@ - - - - - diff --git a/webui-new/src/components/TheSearchBar.vue b/webui-new/src/components/TheSearchBar.vue deleted file mode 100644 index 4e8f593..0000000 --- a/webui-new/src/components/TheSearchBar.vue +++ /dev/null @@ -1,208 +0,0 @@ - - - - - diff --git a/webui-new/src/components/TheSidebar.vue b/webui-new/src/components/TheSidebar.vue deleted file mode 100644 index 7023ee3..0000000 --- a/webui-new/src/components/TheSidebar.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - - - diff --git a/webui-new/src/components/downloads/QueueItem.vue b/webui-new/src/components/downloads/QueueItem.vue deleted file mode 100644 index 9d11e1c..0000000 --- a/webui-new/src/components/downloads/QueueItem.vue +++ /dev/null @@ -1,325 +0,0 @@ - - - - - diff --git a/webui-new/src/components/downloads/TheDownloadBar.vue b/webui-new/src/components/downloads/TheDownloadBar.vue deleted file mode 100644 index 372dcd4..0000000 --- a/webui-new/src/components/downloads/TheDownloadBar.vue +++ /dev/null @@ -1,437 +0,0 @@ - - - - - diff --git a/webui-new/src/components/globals/BackButton.vue b/webui-new/src/components/globals/BackButton.vue deleted file mode 100644 index f3dfb9f..0000000 --- a/webui-new/src/components/globals/BackButton.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/webui-new/src/components/globals/BaseAccordion.vue b/webui-new/src/components/globals/BaseAccordion.vue deleted file mode 100644 index 01d2868..0000000 --- a/webui-new/src/components/globals/BaseAccordion.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - - - diff --git a/webui-new/src/components/globals/BaseLoadingPlaceholder.vue b/webui-new/src/components/globals/BaseLoadingPlaceholder.vue deleted file mode 100644 index 3f7ef31..0000000 --- a/webui-new/src/components/globals/BaseLoadingPlaceholder.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/webui-new/src/components/globals/BaseTabs.js b/webui-new/src/components/globals/BaseTabs.js deleted file mode 100644 index 981d7c9..0000000 --- a/webui-new/src/components/globals/BaseTabs.js +++ /dev/null @@ -1,34 +0,0 @@ -/* eslint-disable vue/one-component-per-file */ -import { defineComponent } from '@vue/composition-api' - -// https://vuejs.org/v2/guide/render-function.html -// https://vuejs.org/v2/guide/render-function.html#createElement-Arguments -export const BaseTab = defineComponent({ - name: 'BaseTab', - functional: true, - render(h, ctx) { - return h( - 'li', - { - class: [ctx.data.class, 'section-tabs__tab', 'uppercase-first-letter'], - on: ctx.data.on - }, - ctx.slots().default - ) - } -}) - -export const BaseTabs = defineComponent({ - name: 'BaseTabs', - functional: true, - render(h, ctx) { - return h( - 'ul', - { - class: [ctx.data.class, 'my-8', 'section-tabs'], - on: ctx.data.on - }, - ctx.slots().default - ) - } -}) diff --git a/webui-new/src/components/globals/ConfirmModal.vue b/webui-new/src/components/globals/ConfirmModal.vue deleted file mode 100644 index fae1151..0000000 --- a/webui-new/src/components/globals/ConfirmModal.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - - - diff --git a/webui-new/src/components/globals/CoverContainer.vue b/webui-new/src/components/globals/CoverContainer.vue deleted file mode 100644 index 8f9e5a9..0000000 --- a/webui-new/src/components/globals/CoverContainer.vue +++ /dev/null @@ -1,89 +0,0 @@ - - - - - diff --git a/webui-new/src/components/globals/DeezerWarning.vue b/webui-new/src/components/globals/DeezerWarning.vue deleted file mode 100644 index f423b4e..0000000 --- a/webui-new/src/components/globals/DeezerWarning.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/webui-new/src/components/globals/PreviewControls.vue b/webui-new/src/components/globals/PreviewControls.vue deleted file mode 100644 index 6b7c50f..0000000 --- a/webui-new/src/components/globals/PreviewControls.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/webui-new/src/components/globals/TheContextMenu.vue b/webui-new/src/components/globals/TheContextMenu.vue deleted file mode 100644 index f0cd9ac..0000000 --- a/webui-new/src/components/globals/TheContextMenu.vue +++ /dev/null @@ -1,306 +0,0 @@ - - - - - diff --git a/webui-new/src/components/globals/TheQualityModal.vue b/webui-new/src/components/globals/TheQualityModal.vue deleted file mode 100644 index 5292098..0000000 --- a/webui-new/src/components/globals/TheQualityModal.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - diff --git a/webui-new/src/components/globals/TheTrackPreview.vue b/webui-new/src/components/globals/TheTrackPreview.vue deleted file mode 100644 index cc6d996..0000000 --- a/webui-new/src/components/globals/TheTrackPreview.vue +++ /dev/null @@ -1,163 +0,0 @@ - - - diff --git a/webui-new/src/components/pages/About.vue b/webui-new/src/components/pages/About.vue deleted file mode 100644 index d434e73..0000000 --- a/webui-new/src/components/pages/About.vue +++ /dev/null @@ -1,280 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/Artist.vue b/webui-new/src/components/pages/Artist.vue deleted file mode 100644 index 895b51c..0000000 --- a/webui-new/src/components/pages/Artist.vue +++ /dev/null @@ -1,190 +0,0 @@ - - - diff --git a/webui-new/src/components/pages/Charts.vue b/webui-new/src/components/pages/Charts.vue deleted file mode 100644 index d3722af..0000000 --- a/webui-new/src/components/pages/Charts.vue +++ /dev/null @@ -1,193 +0,0 @@ - - - diff --git a/webui-new/src/components/pages/Errors.vue b/webui-new/src/components/pages/Errors.vue deleted file mode 100644 index 867b540..0000000 --- a/webui-new/src/components/pages/Errors.vue +++ /dev/null @@ -1,38 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/Favorites.vue b/webui-new/src/components/pages/Favorites.vue deleted file mode 100644 index a8b25e5..0000000 --- a/webui-new/src/components/pages/Favorites.vue +++ /dev/null @@ -1,294 +0,0 @@ - - - diff --git a/webui-new/src/components/pages/Home.vue b/webui-new/src/components/pages/Home.vue deleted file mode 100644 index f2b530e..0000000 --- a/webui-new/src/components/pages/Home.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/InfoArl.vue b/webui-new/src/components/pages/InfoArl.vue deleted file mode 100644 index 72634bd..0000000 --- a/webui-new/src/components/pages/InfoArl.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/webui-new/src/components/pages/InfoSpotifyFeatures.vue b/webui-new/src/components/pages/InfoSpotifyFeatures.vue deleted file mode 100644 index a5f973d..0000000 --- a/webui-new/src/components/pages/InfoSpotifyFeatures.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/LinkAnalyzer.vue b/webui-new/src/components/pages/LinkAnalyzer.vue deleted file mode 100644 index 5001754..0000000 --- a/webui-new/src/components/pages/LinkAnalyzer.vue +++ /dev/null @@ -1,221 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/Logs.vue b/webui-new/src/components/pages/Logs.vue deleted file mode 100644 index 31bb9c8..0000000 --- a/webui-new/src/components/pages/Logs.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/Search.vue b/webui-new/src/components/pages/Search.vue deleted file mode 100644 index 6d2f637..0000000 --- a/webui-new/src/components/pages/Search.vue +++ /dev/null @@ -1,309 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/Settings.vue b/webui-new/src/components/pages/Settings.vue deleted file mode 100644 index 5d39d20..0000000 --- a/webui-new/src/components/pages/Settings.vue +++ /dev/null @@ -1,1123 +0,0 @@ - - - - - diff --git a/webui-new/src/components/pages/Tracklist.vue b/webui-new/src/components/pages/Tracklist.vue deleted file mode 100644 index f560ae6..0000000 --- a/webui-new/src/components/pages/Tracklist.vue +++ /dev/null @@ -1,307 +0,0 @@ - - - diff --git a/webui-new/src/components/search/ResultsAlbums.vue b/webui-new/src/components/search/ResultsAlbums.vue deleted file mode 100644 index e09a6ca..0000000 --- a/webui-new/src/components/search/ResultsAlbums.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - diff --git a/webui-new/src/components/search/ResultsAll.vue b/webui-new/src/components/search/ResultsAll.vue deleted file mode 100644 index 578575e..0000000 --- a/webui-new/src/components/search/ResultsAll.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - diff --git a/webui-new/src/components/search/ResultsArtists.vue b/webui-new/src/components/search/ResultsArtists.vue deleted file mode 100644 index 56733a4..0000000 --- a/webui-new/src/components/search/ResultsArtists.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - diff --git a/webui-new/src/components/search/ResultsPlaylists.vue b/webui-new/src/components/search/ResultsPlaylists.vue deleted file mode 100644 index 88a5c23..0000000 --- a/webui-new/src/components/search/ResultsPlaylists.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/webui-new/src/components/search/ResultsTracks.vue b/webui-new/src/components/search/ResultsTracks.vue deleted file mode 100644 index 56a607d..0000000 --- a/webui-new/src/components/search/ResultsTracks.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - diff --git a/webui-new/src/components/search/TopResult.vue b/webui-new/src/components/search/TopResult.vue deleted file mode 100644 index 7b537ac..0000000 --- a/webui-new/src/components/search/TopResult.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/webui-new/src/components/settings/TemplateVariablesList.vue b/webui-new/src/components/settings/TemplateVariablesList.vue deleted file mode 100644 index 1ac81ee..0000000 --- a/webui-new/src/components/settings/TemplateVariablesList.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/webui-new/src/data/artist.js b/webui-new/src/data/artist.js deleted file mode 100644 index ee3ca1f..0000000 --- a/webui-new/src/data/artist.js +++ /dev/null @@ -1,43 +0,0 @@ -import { getPropertyWithFallback } from '@/utils/utils' -import { fetchData } from '@/utils/api' - -export function formatArtistData(artistData) { - return { - artistName: getPropertyWithFallback(artistData, 'name'), - artistPictureXL: getPropertyWithFallback(artistData, 'picture_xl'), - artistReleases: formatArtistReleases(getPropertyWithFallback(artistData, 'releases')) - } -} - -function formatArtistReleases(artistReleases) { - const formattedReleases = {} - - for (const releaseType in artistReleases) { - if (artistReleases.hasOwnProperty(releaseType)) { - const releases = artistReleases[releaseType] - formattedReleases[releaseType] = [] - - for (const release of releases) { - formattedReleases[releaseType].push({ - releaseID: getPropertyWithFallback(release, 'id'), - releaseCover: getPropertyWithFallback(release, 'cover_small'), - releaseTitle: getPropertyWithFallback(release, 'title'), - releaseDate: getPropertyWithFallback(release, 'release_date'), - releaseTracksNumber: getPropertyWithFallback(release, 'nb_tracks'), - releaseLink: getPropertyWithFallback(release, 'link'), - releaseType: getPropertyWithFallback(release, 'record_type'), - isReleaseExplicit: getPropertyWithFallback(release, 'explicit_lyrics') - }) - } - } - } - - return formattedReleases -} - -export function getArtistData(artistID) { - return fetchData('getTracklist', { - type: 'artist', - id: artistID - }) -} diff --git a/webui-new/src/data/charts.js b/webui-new/src/data/charts.js deleted file mode 100644 index 62ff84b..0000000 --- a/webui-new/src/data/charts.js +++ /dev/null @@ -1,9 +0,0 @@ -import { fetchData } from '@/utils/api' - -export function getChartsData() { - return fetchData('getCharts') -} - -export function getChartTracks(chartId) { - return fetchData('getChartTracks', { id: chartId }) -} diff --git a/webui-new/src/data/file-templates.js b/webui-new/src/data/file-templates.js deleted file mode 100644 index 4a17deb..0000000 --- a/webui-new/src/data/file-templates.js +++ /dev/null @@ -1,62 +0,0 @@ -// TODO: Use JSON - -export const trackTemplateVariables = [ - '%title%', - '%artist%', - '%artists%', - '%allartists%', - '%mainartists%', - '%featartists%', - '%album%', - '%albumartist%', - '%tracknumber%', - '%tracktotal%', - '%discnumber%', - '%disctotal%', - '%genre%', - '%year%', - '%date%', - '%bpm%', - '%label%', - '%isrc%', - '%upc%', - '%explicit%', - '%track_id%', - '%album_id%', - '%artist_id%', - '%playlist_id%', - '%position%' -] - -export const albumFolderTemplateVariables = [ - '%album_id%', - '%genre%', - '%album%', - '%artist%', - '%artist_id%', - '%root_artist%', - '%root_artist_id%', - '%tracktotal%', - '%disctotal%', - '%type%', - '%upc%', - '%explicit%', - '%label%', - '%year%', - '%date%', - '%bitrate%' -] - -export const artistFolderTemplateVariables = ['%artist%', '%artist_id%', '%root_artist%', '%root_artist_id%'] - -export const playlistFolderTemplateVariables = [ - '%playlist%', - '%playlist_id%', - '%owner%', - '%owner_id%', - '%year%', - '%date%', - '%explicit%' -] - -export const playlistFilenameTemplateVariables = ['%title%', '%artist%', '%size%', '%type%', '%id%', '%bitrate%'] diff --git a/webui-new/src/data/home.js b/webui-new/src/data/home.js deleted file mode 100644 index fe9e33b..0000000 --- a/webui-new/src/data/home.js +++ /dev/null @@ -1,17 +0,0 @@ -import { fetchData } from '@/utils/api' - -let homeData = {} -let cached = false - -export async function getHomeData() { - if (cached) { - return homeData - } else { - const data = await fetchData('getHome') - - homeData = data - cached = true - - return data - } -} diff --git a/webui-new/src/data/qualities.js b/webui-new/src/data/qualities.js deleted file mode 100644 index 322e09d..0000000 --- a/webui-new/src/data/qualities.js +++ /dev/null @@ -1,32 +0,0 @@ -export const downloadQualities = [ - { - objName: 'flac', - label: 'FLAC', - value: 9 - }, - { - objName: '320kbps', - label: 'MP3 320kbps', - value: 3 - }, - { - objName: '128kbps', - label: 'MP3 128kbps', - value: 1 - }, - { - objName: 'realityAudioHQ', - label: '360 Reality Audio [HQ]', - value: 15 - }, - { - objName: 'realityAudioMQ', - label: '360 Reality Audio [MQ]', - value: 14 - }, - { - objName: 'realityAudioLQ', - label: '360 Reality Audio [LQ]', - value: 13 - } -] diff --git a/webui-new/src/data/search.js b/webui-new/src/data/search.js deleted file mode 100644 index 883937b..0000000 --- a/webui-new/src/data/search.js +++ /dev/null @@ -1,111 +0,0 @@ -import { getPropertyWithFallback } from '@/utils/utils' - -/** - * @typedef {object} FormattedSearchResult - * @property {FormattedData} data - * @property {boolean} hasLoaded - */ - -/** - * @typedef {object} FormattedData - */ - -/** - * @typedef {function} Formatter - * @returns {FormattedData} formattedData - */ - -/** - * @param {FormattedData} track - */ -export function formatSingleTrack(track) { - let isTrackExplicit = getPropertyWithFallback(track, 'explicit_lyrics', 'EXPLICIT_LYRICS') - - if (typeof isTrackExplicit === 'string') { - isTrackExplicit = isTrackExplicit !== '0' - } - - return { - /* Track */ - trackTitle: getPropertyWithFallback(track, 'title', 'SNG_TITLE'), - trackTitleVersion: getPropertyWithFallback(track, 'title_version', 'VERSION'), - trackPreview: getPropertyWithFallback(track, 'preview', 'MEDIA.0.HREF'), - trackDuration: getPropertyWithFallback(track, 'duration', 'DURATION'), - trackLink: getPropertyWithFallback(track, 'link') || `https://www.deezer.com/track/${track.SNG_ID}`, - isTrackExplicit, - - /* Artist */ - artistID: getPropertyWithFallback(track, 'artist.id', 'ART_ID'), - artistName: getPropertyWithFallback(track, 'artist.name', 'ART_NAME'), - - /* Album */ - albumID: getPropertyWithFallback(track, 'album.id', 'ALB_ID'), - albumTitle: getPropertyWithFallback(track, 'album.title', 'ALB_TITLE'), - albumPicture: - getPropertyWithFallback(track, 'album.cover_small') || - `https://e-cdns-images.dzcdn.net/images/cover/${track.ALB_PICTURE}/56x56-000000-80-0-0.jpg` - } -} - -export function formatAlbums(album) { - let isAlbumExplicit = getPropertyWithFallback( - album, - 'explicit_lyrics', - 'EXPLICIT_ALBUM_CONTENT.EXPLICIT_LYRICS_STATUS' - ) - - if (typeof isAlbumExplicit === 'number') { - isAlbumExplicit = isAlbumExplicit === 1 - } - - return { - /* Album */ - albumID: getPropertyWithFallback(album, 'id', 'ALB_ID'), - albumTitle: getPropertyWithFallback(album, 'title', 'ALB_TITLE'), - albumCoverMedium: - getPropertyWithFallback(album, 'cover_medium') || - `https://e-cdns-images.dzcdn.net/images/cover/${album.ALB_PICTURE}/156x156-000000-80-0-0.jpg`, - albumLink: getPropertyWithFallback(album, 'link') || `https://deezer.com/album/${album.ALB_ID}`, - albumTracks: getPropertyWithFallback(album, 'nb_tracks', 'NUMBER_TRACK'), - isAlbumExplicit, - - /* Artist */ - artistName: getPropertyWithFallback(album, 'artist.name', 'ART_NAME') - } -} - -export function formatArtist(artist) { - return { - /* Artist */ - artistID: getPropertyWithFallback(artist, 'id', 'ART_ID'), - artistName: getPropertyWithFallback(artist, 'name', 'ART_NAME'), - artistPictureMedium: - getPropertyWithFallback(artist, 'picture_medium') || - `https://e-cdns-images.dzcdn.net/images/artist/${artist.ART_PICTURE}/156x156-000000-80-0-0.jpg`, - artistLink: getPropertyWithFallback(artist, 'link') || `https://deezer.com/artist/${artist.ART_ID}`, - // TODO Fix - artistAlbumsNumber: getPropertyWithFallback(artist, 'nb_album', 'NB_FAN') - } -} - -export function formatPlaylist(playlist) { - return { - /* Playlist */ - playlistID: getPropertyWithFallback(playlist, 'id', 'PLAYLIST_ID'), - playlistTitle: getPropertyWithFallback(playlist, 'title', 'TITLE'), - playlistPictureMedium: - getPropertyWithFallback(playlist, 'picture_medium') || - `https://e-cdns-images.dzcdn.net/images/${playlist.PICTURE_TYPE}/${playlist.PLAYLIST_PICTURE}/156x156-000000-80-0-0.jpg`, - playlistLink: getPropertyWithFallback(playlist, 'link') || `https://deezer.com/playlist/${playlist.PLAYLIST_ID}`, - playlistTracksNumber: getPropertyWithFallback(playlist, 'nb_tracks', 'NB_SONG'), - - /* Artist */ - artistName: getPropertyWithFallback(playlist, 'user.name') - } -} - -export function formatTitle(track) { - const hasTitleVersion = track.trackTitleVersion && !track.trackTitle.includes(track.trackTitleVersion) - - return `${track.trackTitle}${hasTitleVersion ? ` ${track.trackTitleVersion}` : ''}` -} diff --git a/webui-new/src/data/settings.js b/webui-new/src/data/settings.js deleted file mode 100644 index 07ec4c2..0000000 --- a/webui-new/src/data/settings.js +++ /dev/null @@ -1,43 +0,0 @@ -import { fetchData } from '@/utils/api' - -let settingsData = {} -let defaultSettingsData = {} -let spotifyCredentials = {} - -export async function getSettingsData() { - const data = await fetchData('getSettings') - const { settings, defaultSettings, spotifySettings } = data - settingsData = settings - defaultSettingsData = defaultSettings - spotifyCredentials = spotifySettings || {} - - return { settingsData, defaultSettingsData, spotifyCredentials } -} - -/** - * @returns {number} - */ -export function getInitialPreviewVolume() { - let volume = parseInt(localStorage.getItem('previewVolume')) - - if (isNaN(volume)) { - volume = 80 // Default - localStorage.setItem('previewVolume', volume.toString()) - } - - return volume -} - -/** - * @returns {boolean} - */ -export function checkInitialSlimDownloads() { - return localStorage.getItem('slimDownloads') === 'true' -} - -/** - * @returns {boolean} - */ -export function checkInitialSlimSidebar() { - return localStorage.getItem('slimSidebar') === 'true' -} diff --git a/webui-new/src/data/sidebar.js b/webui-new/src/data/sidebar.js deleted file mode 100644 index f95b3c6..0000000 --- a/webui-new/src/data/sidebar.js +++ /dev/null @@ -1,58 +0,0 @@ -export const links = [ - { - name: 'home', - ariaLabel: 'home', - routerName: 'Home', - icon: 'home', - label: 'sidebar.home' - }, - { - name: 'search', - ariaLabel: 'search', - routerName: 'Search', - icon: 'search', - label: 'sidebar.search' - }, - { - name: 'charts', - ariaLabel: 'charts', - routerName: 'Charts', - icon: 'show_chart', - label: 'sidebar.charts' - }, - { - name: 'favorites', - ariaLabel: 'favorites', - routerName: 'Favorites', - icon: 'star', - label: 'sidebar.favorites' - }, - { - name: 'analyzer', - ariaLabel: 'link analyzer', - routerName: 'Link Analyzer', - icon: 'link', - label: 'sidebar.linkAnalyzer' - }, - { - name: 'settings', - ariaLabel: 'settings', - routerName: 'Settings', - icon: 'settings', - label: 'sidebar.settings' - }, - { - name: 'logs', - ariaLabel: 'logs', - routerName: 'Logs', - icon: 'description', - label: 'sidebar.logs' - }, - { - name: 'about', - ariaLabel: 'info', - routerName: 'About', - icon: 'info', - label: 'sidebar.about' - } -] diff --git a/webui-new/src/data/standardize.js b/webui-new/src/data/standardize.js deleted file mode 100644 index 3dd7076..0000000 --- a/webui-new/src/data/standardize.js +++ /dev/null @@ -1,19 +0,0 @@ -export function standardizeData(rawObj, formatFunc) { - if (!rawObj.hasLoaded) { - return null - } else { - const { data: rawData } = rawObj - const formattedData = [] - - for (const dataElement of rawData) { - const formatted = formatFunc(dataElement) - - formattedData.push(formatted) - } - - return { - data: formattedData, - hasLoaded: rawObj.hasLoaded - } - } -} diff --git a/webui-new/src/jsconfig.json b/webui-new/src/jsconfig.json deleted file mode 100644 index fb488da..0000000 --- a/webui-new/src/jsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "checkJs": true, - "baseUrl": ".", - "paths": { - "@/*": ["./*"], - "@components/*": ["./components/*"] - } - }, - "exclude": ["assets/**/*", "styles/**/*"] -} diff --git a/webui-new/src/lang/ar.js b/webui-new/src/lang/ar.js deleted file mode 100644 index 2b370f3..0000000 --- a/webui-new/src/lang/ar.js +++ /dev/null @@ -1,337 +0,0 @@ -const ar = { - globals: { - welcome: 'مرحبأ بك في ديمكس', - back: 'رجوع', - loading: 'جار التحميل', - download: 'تحميل {thing}', - by: 'بواسطة {artist}', - in: 'في {album}', - download_hint: 'تحميل', - play_hint: 'تشغيل', - toggle_download_tab_hint: 'عرض/اخفاء', - clean_queue_hint: 'تم المسح', - cancel_queue_hint: 'الغاء الكل', - listTabs: { - empty: '', - all: 'الكل', - top_result: 'افضل النتائج', - album: 'البوم | البومات', - artist: 'فنان | فنانون', - single: 'اغنية | اغنية', - title: 'عنوان | عناوين', - track: 'مقطع | مقاطع', - trackN: '0 مقاطع | {n} مقطع | {n} مقطع', - releaseN: '0 اصدار | {n} اصدار | {n} اصدار', - playlist: 'قائمة تشغيل | قوائم تشغيل', - compile: 'مجموعة | مجموعات', - ep: 'ep | eps', - spotifyPlaylist: 'قائمة تشغيل سبوتفاي | قوائم تشغيل سبوتفاي', - releaseDate: 'تاريخ الاصدار', - error: 'خطأ' - } - }, - about: { - titles: { - usefulLinks: 'روابط مهمة', - bugReports: 'ابلاغ عن مشكلة', - contributing: 'مساهمة', - donations: 'التبرع', - license: 'الرخصة' - }, - subtitles: { - bugReports: 'هل هناك شيء لا يعمل في ديمكس؟ أخبرنا', - contributing: 'تريد المساهمة في هذا المشروع؟ يمكنك القيام بذلك بعدة طرق', - donations: 'تريد المساهمة مادياً؟ يمكنك التبرع' - }, - usesLibrary: - 'هذا البرنامج يستخدم مكتبة ديمكس والتي يمكنك استخدامها لإنشاء واجهة مستخدم خاصة بك لديمكس.', - thanks: `شكرا لـ rtonno, و uhwot و lollilol لمساعدتي في هذا المشروع و لـ BasCurtiz لصنع الايقونة.`, - officialWebsite: 'الموقع الرسمي', - officialRepo: 'مستودع المكتبة الرسمي', - officialWebuiRepo: 'مستودع واجهة الويب الرسمي', - officialSubreddit: 'السب ريدت الرسمي', - newsChannel: 'قناة الاخبار', - beforeReporting: `قبل ان تبلغ عن خطأ، تأكد من أنك تشغل أحدث إصدار من التطبيق وأن ما تريد الإبلاغ عنه هو في الواقع خطأ وليس مشكلة من جهتك.`, - beSure: `تأكد من أن الخطأ يمكن إعادة إنتاجه على أجهزة أخرى و ايضاً لا تبلغ علة خطأ تم التبليغ عنه سابقاً.`, - duplicateReports: 'سيتم إغلاق تقارير الأخطاء المكررة ، لذلك ترقب ذلك.', - dontOpenIssues: `DO NOT open issues for asking questions, there is a subreddit for that.`, - acceptFeatures: `أقبل اقتراحات الميزات أيضًا ، ولكن لا أشياء معقدة ، فقط اشياء يمكنني تنفيذها مباشرة في التطبيق وليس في المكتبة.`, - otherLanguages: `إذا كنت تجيد لغة برمجة أخرى ، يمكنك محاولة تحويل ديمكس إلى لغات برمجة أخرى!`, - understandingCode: `أنت بحاجة إلى مساعدة في فهم الكود؟ فقط اتصل بـ RemixDev على تيليكرام او ريديت.`, - itsFree: `يجب ان تتذكر ان هذا هو مشروع مجاني و عليك دعم الفنانين المفضلين لك قبل ان تدعم مطورين البرنامج.`, - notObligated: `لا تشعر بالالتزام بالتبرع ، لكني أقدر ذلك على أي حال!` - }, - charts: { - title: 'قائمة الجداول', - changeCountry: 'تغيير الدولة', - download: 'تحميل قائمة الجدول' - }, - errors: { - title: 'خطأ في {name}', - ids: { - invalidURL: 'الرابط غير صحيح', - unsupportedURL: 'الرابط غير متاح حتى الانً', - ISRCnotOnDeezer: 'رمز المقطع غير متوفر في ديزر', - notYourPrivatePlaylist: 'لا يمكنك تحميل قوائم التشغيل الخاصة و المخفية.', - spotifyDisabled: 'لم يتم اعداد ميزات سبوتفاي بالطرقة الصحيحة .', - trackNotOnDeezer: 'المقطع لا يوجد في ديزر!', - albumNotOnDeezer: 'الالبوم لا يوجد في ديزر!', - notOnDeezer: 'المقطع لا يوجد في ديزر!', - notEncoded: 'لم يتم تشفير المقطع حتى الانً!', - notEncodedNoAlternative: 'لم يتم تشفير المقطع حتى الآن ولم يتم العثور على بديل!', - wrongBitrate: 'لم يتم العثور على المقطع في الدقة المطلوبة.', - wrongBitrateNoAlternative: 'لم يتم العثور على المقطع في الدقة المطلوبة و لا توجد دقة بديلة!', - no360RA: 'المقطع غير متوفر في Reality Audio 360.', - notAvailable: 'المقطع غير متوفر في سيرفرات ديزر!', - notAvailableNoAlternative: 'المقطع غير متوفر في سيرفرات ديزر و لا يوجد بديل حتى الان!' - } - }, - favorites: { - title: 'المفضلات', - noPlaylists: 'لا يوجد قوائم تشغيل', - noAlbums: 'لم لا توجد البومات مفضلة', - noArtists: 'لا يوجد فنانين مفضلين', - noTracks: 'لا توجد مقاطع مفضلة' - }, - home: { - needTologin: 'يجب عليك التسجيل في حساب ديزر قبل بدء التحميل.', - openSettings: 'فتح الاعدادات', - sections: { - popularPlaylists: 'قوائم تشغيل مشهورة', - popularAlbums: 'اكثر الالبومات سماعأ' - } - }, - linkAnalyzer: { - info: 'يمكنك استخدام هذا القسم للعثور على مزيد من المعلومات حول الرابط الذي تحاول تنزيله.', - useful: ' كمثال هذا مفيد إذا كنت تحاول تنزيل بعض المقاطع الغير المتاحة في بلدك وتريد معرفة مكان توفرها .', - linkNotSupported: 'هذا الرابط غير معتمد حتى الآن', - linkNotSupportedYet: 'يبدو أن هذا الرابط غير معتمد حتى الآن ، حاول تحليل رابط آخر.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'المدة الزمنية', - diskNumber: 'رقم القرص', - trackNumber: 'رقم المقطع', - releaseDate: 'تاريخ الاصدار', - bpm: 'BPM', - label: 'Label', - recordType: 'نوع التسجيل', - genres: 'النوع الفني', - tracklist: 'قائمة المقاطع' - } - }, - search: { - startSearching: 'ابدأ البحث!', - description: 'يمكنك البحث عن مقطع ، ألبوم كامل ، فنان ، قائمة تشغيل .... كل شيء! يمكنك أيضًا لصق رابط ديزر', - fans: '{n} متابعون', - noResults: 'لا يوجد نتائج', - noResultsTrack: 'لم يتم العثور على مقاطع', - noResultsAlbum: 'لم يتم العثور على البومات', - noResultsArtist: 'لم يتم العثور على فنانين', - noResultsPlaylist: 'لم يتم العثور على قوائم تشغيل' - }, - searchbar: 'ابحث عن أي شيء تريده (أو الصق رابط)', - downloads: 'التحميلات', - toasts: { - addedToQueue: '{item} تمت إلأضافة إلى قائمة الانتظار', - alreadyInQueue: '{item} حالياً في قائمة الانتظار!', - finishDownload: '{item} انتهى تحميل.', - allDownloaded: 'اكتملت جميع التنزيلات!', - refreshFavs: 'اكتمل التحديث!', - loggingIn: 'جار تسجيل الدخول...', - loggedIn: 'تم تسجيل الدخول', - alreadyLogged: 'تم تسجيل الدخول بالفعل', - loginFailed: 'تعذر تسجيل الدخول', - loggedOut: 'تم تسجيل الخروج', - cancellingCurrentItem: 'جار الغاء العنصر الحالي.', - currentItemCancelled: 'تم الغاء العنصر الحالي.', - startAddingArtist: 'جار اضافة {artist} البوم الى قائمة الانتضار', - finishAddingArtist: 'تم اضافة {artist} البوم الى قائمة الانتضار', - startConvertingSpotifyPlaylist: 'جار تحويل مقاطع سبوتفاي الى مقاطع ديزر', - finishConvertingSpotifyPlaylist: 'تم تحويل قائمة تشغيل سبوتفاي', - loginNeededToDownload: 'يجب عليك تسجيل الدخول لتحميل المقاطع!' - }, - settings: { - title: 'الاعدادات', - languages: 'اللغات', - login: { - title: 'تسجيل الدخول', - loggedIn: 'تم تسجيل الدخول كـ {username}', - arl: { - question: 'كيفية الحصول علة ARL', - update: 'ارفع ال ARL' - }, - logout: 'تسجيل الخروج' - }, - appearance: { - title: 'المظهر', - slimDownloadTab: 'لوحة التحميل الرفيعة' - }, - downloadPath: { - title: 'مسار التحميل' - }, - templates: { - title: 'القوالب', - tracknameTemplate: 'قالب اسم المقطع', - albumTracknameTemplate: 'قالب مقطع الالبوم', - playlistTracknameTemplate: 'قالب مقطع قائمة التشغيل' - }, - folders: { - title: 'الملفات', - createPlaylistFolder: 'اصنع ملف لقائمة التشغيل', - playlistNameTemplate: 'قالب ملف قائمة التشغيل', - createArtistFolder: 'اصنع ملف للفنان', - artistNameTemplate: 'قالب ملف الفنان', - createAlbumFolder: 'اصنع ملف للالبوم', - albumNameTemplate: 'قالب ملف الالبوم', - createCDFolder: 'اصنع ملف للاقراص', - createStructurePlaylist: 'اصنع هيكل مجلدات لقوائم التشغيل', - createSingleFolder: 'اصنع هيكل مجلدات لالبومات ذات الاغنية الواحدة' - }, - trackTitles: { - title: 'عنوان المقطع', - padTracks: 'Pad tracks', - paddingSize: 'Overwrite padding size', - illegalCharacterReplacer: 'محول الكتابات الغير مسموح بها' - }, - downloads: { - title: 'التحميلات', - queueConcurrency: 'التنزيلات المتزامنة', - maxBitrate: { - title: 'الدقة المفضلة', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'هل يمكنني استبدال الملفات?', - y: 'نعم, استبدال الملفات', - n: 'لا, لا تبدل الملفات', - t: 'استبدل العلامات فقط', - b: 'لا ، احتفظ بالملفين وأضف رقمًا إلى الملف المكرر' - }, - fallbackBitrate: 'تراجع الدقة', - fallbackSearch: 'تراجع البحث', - logErrors: 'إنشاء ملفات سجل للأخطاء', - logSearched: 'إنشاء ملفات سجل للمقاطع التي تم البحث عنها', - createM3U8File: 'انشاء ملف لقوائم التشغيل', - syncedLyrics: 'انشاء ملف لكلمات الاغنية', - playlistFilenameTemplate: 'قالب اسم ملف قائمة التشغيل', - saveDownloadQueue: 'حفظ قائمة انتظار التنزيل عند إغلاق التطبيق' - }, - covers: { - title: 'غلاف الالبوم', - saveArtwork: 'احفظ الغلاف', - coverImageTemplate: 'تغطية قالب الاسم', - saveArtworkArtist: 'احفظ صورة الفنان', - artistImageTemplate: 'قالب صورة الفنان', - localArtworkSize: 'حجم الصورة', - embeddedArtworkSize: 'حجم الصورة المدمجة', - localArtworkFormat: { - title: 'بأي صيغة تريد حفظ الصورة?', - jpg: 'jpeg صورة', - png: 'png صورة', - both: 'الاثنين png و jpeg' - }, - jpegImageQuality: 'JPEG دقة صورة' - }, - tags: { - head: 'العلامات التي يتم حفظها', - title: 'العنوان', - artist: 'الفنان', - album: 'الالبوم', - cover: 'الغلاف', - trackNumber: 'رقم المقطع', - trackTotal: 'مجموع المقاطع', - discNumber: 'رقم القرص', - discTotal: 'مجموع الاقراص', - albumArtist: 'فنان الالبوم', - genre: 'Genre', - year: 'السنة', - date: 'التاريخ', - explicit: 'كلمات اغنية صريحة للكبار', - isrc: 'ISRC', - length: 'طول المقطع', - barcode: 'Album Barcode (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Album Label', - lyrics: 'كلمات غير متزامنة', - copyright: 'حقوق النشر', - composer: 'ملحن', - involvedPeople: 'الناس المشتركون' - }, - other: { - title: 'غير', - savePlaylistAsCompilation: 'حفظ قوائم التشغيل كمجموعة', - useNullSeparator: 'استخدم فاصل فارغ', - saveID3v1: 'احفظ ملف ID3v1', - multiArtistSeparator: { - title: 'كيف تريد فصل الفنانين?', - nothing: 'احفظ الفنان الرئيسي فقط', - default: 'استخدام المواصفات القياسية', - andFeat: 'استخدام& و feat.', - using: 'استخدام "{separator}"' - }, - singleAlbumArtist: 'احفظ فقط فنان الألبوم الرئيسي', - albumVariousArtists: 'احتفظ بـ "فنانين متنوعين" في ألبوم الفنانين', - removeAlbumVersion: 'إزالة "إصدار الألبوم" من عنوان المسار', - removeDuplicateArtists: 'إزالة مجموعات الفنانين', - dateFormat: { - title: 'صيغة التاريخ لملفات flac', - year: 'س س س س', - month: 'ش ش', - day: 'ي ي' - }, - featuredToTitle: { - title: 'ماذا علي أن أفعل مع الفنانين الغير رئيسيين ?', - 0: 'لا شيء', - 1: 'حذفه من العنوان', - 3: 'حذفه من عنوان الاغنية و الالبوم', - 2: 'وضعه في العنوان' - }, - titleCasing: 'نوع كتابة العناون', - artistCasing: 'نوع كتابة الفنان', - casing: { - nothing: 'بدون تغيير', - lower: 'احرف صغيرة', - upper: 'احرف كبيرة', - start: 'حرف كبير في بداية كل كلمة', - sentence: 'مثل جملة' - }, - previewVolume: 'معاينة الحجم', - executeCommand: { - title: 'الأمر للتنفيذ بعد التنزيل', - description: 'اتركه فارغًا بدون إجراء' - } - }, - spotify: { - title: 'مميزات سبوتفاي', - clientID: 'معرف عميل سبوتفاي', - clientSecret: 'الكود السري لعميل سبوتفاي', - username: 'اسم مستخدم سبوتفاي' - }, - reset: 'إعادة تعيين إلى الافتراضي', - save: 'حفظ', - toasts: { - init: 'تم تحميل الإعدادات!', - update: 'تم تحديث الاعدادات!', - ARLcopied: 'تم نسخ ARL إلى الحافظة' - } - }, - sidebar: { - home: 'الرئيسية', - search: 'بحث', - charts: 'قائمة الجداول', - favorites: 'المفضلة', - linkAnalyzer: 'محلل الروابط', - settings: 'الاعدادات', - about: 'حول' - }, - tracklist: { - downloadSelection: 'تحميل الاختيار' - } -} - -export default ar diff --git a/webui-new/src/lang/de.js b/webui-new/src/lang/de.js deleted file mode 100644 index 9fa5592..0000000 --- a/webui-new/src/lang/de.js +++ /dev/null @@ -1,370 +0,0 @@ -const de = { - globals: { - welcome: 'Willkommen bei deemix', - back: 'zurück', - loading: 'lädt', - download: 'Download {thing}', - by: 'von {artist}', - in: 'in {album}', - download_hint: 'Download', - play_hint: 'Play', - toggle_download_tab_hint: 'Erweitern/Minimieren', - clean_queue_hint: 'Entferne vollständige', - cancel_queue_hint: 'Alle abbrechen', - listTabs: { - empty: '', - all: 'alle', - top_result: 'Top Ergebnis', - album: 'Album | Alben', - artist: 'Künstler | Künstler', - single: 'Single | Singles', - title: 'Titel | Titel', - track: 'Track | Tracks', - trackN: '0 Tracks | {n} Track | {n} Tracks', - releaseN: '0 Releases | {n} Release | {n} Releases', - playlist: 'Playlist | Playlists', - compile: 'Sammlung | Sammlungen', - ep: 'EP | EPs', - spotifyPlaylist: 'Spotify Playlist | Spotify Playlists', - releaseDate: 'Veröffentlichungsdatum', - error: 'Fehler' - } - }, - about: { - titles: { - usefulLinks: 'Nützliche Links', - bugReports: 'Fehlermeldung', - contributing: 'Mitwirkende', - donations: 'Spenden', - license: 'Lizenz' - }, - subtitles: { - bugReports: 'Funktioniert etwas in Deemix nicht? Sag uns bescheid!', - contributing: 'Du möchtest bei dem Projekt helfen? Das kannst du auf verschiedene Arten machen!', - donations: 'Du möchtest deemix finanziell unterstützen? Dann lasse eine kleine Spende da!' - }, - usesLibrary: - 'Dieses Programm nutzt die deemix Bibliothek, die du dazu nutzen kannst deine eigene deemix UI zu erstellen.', - thanks: - 'Ein Dankeschön geht an rtonno, uhwot and lollilol für die Hilfe bei diesem Projekt und an BasCurtiz für die Erstellung des Logos.', - upToDate: { - text: 'Bleib auf dem Laufenden mit den Updates indem du dem {newsChannel} auf Telegram folgst.', - newsChannel: 'News Channel' - }, - officialWebsite: 'Offizielle Website', - officialRepo: 'Offizielle Library Repository', - officialWebuiRepo: 'Offizielle WebUI Repository', - officialSubreddit: 'Offizieller Subreddit', - newsChannel: 'News Channel', - questions: { - text: - 'Bei Fragen oder Problemen mit der App, suche als erstes nach einer Lösung im {subreddit}. Wenn du da nichts findest, kannst du einen Beitrag mit deinen Problem auf dem Subreddit verfassen.', - subreddit: 'Subreddit' - }, - beforeReporting: - 'Bevor du einen Bug meldest, stelle sicher, dass du die neueste Version der App hast und dass das, was du melden möchtest, tatsächlich ein Bug ist und nicht nur bei dir falsch ist.', - beSure: - 'Stelle sicher, dass der Bug auf anderen Computern auch vorhanden ist MELDEN NICHT einen Bug, wenn er schon gemeldet worden ist.', - duplicateReports: 'Doppelte Fehlerberichte werden geschlossen, achte darauf.', - dontOpenIssues: - 'ERSTELLE KEINE Fehlermeldungen um Fragen zu stellen, es gibt einen Subreddit dafür.', - newUI: { - text: - 'Wenn du Python fließend beherrschst, kannst du versuchen, mit hilfe der base library eine neue Benutzeroberfläche für die App zu erstellen oder Fehler in der Bibliothek mit einem Pull-Request in der {repo} zu beheben.', - repo: 'deemix Repo' - }, - acceptFeatures: - 'Ich akzeptiere auch Funktionen, aber keine komplexen Dinge, da sie direkt in der App und nicht in der Bibliothek implementiert werden können.', - otherLanguages: - 'Wenn du eine andere Programmiersprache fließend beherrschst, kannst du versuchen, deemix in andere Programmiersprachen zu portieren!', - understandingCode: 'Du benötigst Hilfe beim verstehen des Codes? Frag einfach RemixDev auf Telegram oder Reddit.', - contributeWebUI: { - text: 'Wenn du Vue.js (JavaScript) oder HTML und CSS kennst, könntest du etwas zum {webui} beitragen.', - webui: 'WebUI' - }, - itsFree: - 'Du solltest im Kopf behalten das dies ein kostenloses Projekt ist und Du solltest die Künstler unterstützen, die du magst bevor du die Entwickler unterstützt.', - notObligated: 'Fühle dich nicht gezwungen zu spenden, danke, dass du deemix verwendest!', - lincensedUnder: { - text: 'Diese Arbeit ist lizensiert unter der {gpl3}.', - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Charts', - changeCountry: 'Land wechseln', - download: 'Download Chart' - }, - errors: { - title: 'Errors für {name}', - ids: { - invalidURL: 'URL nicht erkannt', - unsupportedURL: 'URL noch nicht unterstützt', - ISRCnotOnDeezer: 'Track ISRC ist auf deezer nicht verfügbar', - notYourPrivatePlaylist: 'Du kannst keine privaten Playlisten anderer herunterladen.', - spotifyDisabled: 'Spotify-Funktionen sind nicht richtig eingerichtet', - trackNotOnDeezer: 'Track ist nicht verfügbar auf Deezer!', - albumNotOnDeezer: 'Album auf Deezer nicht gefunden!', - notOnDeezer: 'Track auf Deezer nicht verfügbar!', - notEncoded: 'Track noch nicht codiert!', - notEncodedNoAlternative: 'Track noch nicht codiert und keine Alternative gefunden!', - wrongBitrate: 'Track mit gewünschter Bitrate nicht gefunden.', - wrongBitrateNoAlternative: 'Track mit gewünschter Bitrate nicht gefunden und keine Alternative gefunden!', - no360RA: 'Track ist nicht verfügbar in Reality Audio 360.', - notAvailable: 'Track ist noch nicht verfügbar auf den Servern von Deezer!', - notAvailableNoAlternative: - 'Track ist noch nicht verfügbar auf den Servern von Deezer und keine Alternativen gefunden!!' - } - }, - favorites: { - title: 'Favoriten', - noPlaylists: 'Keine Playlist gefunden', - noAlbums: 'Keine favorisierten Alben gefunden', - noArtists: 'Keine favorisierten Künstler gefunden', - noTracks: 'Keine favorisierten Tracks gefunden' - }, - home: { - needTologin: 'Du musst dich in deinem Deezer-Account anmelden bevor du mit dem Download starten kannst.', - openSettings: 'Einstellungen öffnen', - sections: { - popularPlaylists: 'Beliebte Playlists', - popularAlbums: 'Meistgestreamte Alben' - } - }, - linkAnalyzer: { - info: - 'Diesen Abschnitt kannst du nutzen, um weitere Informationen über den gewünschten Link zu erhalten, den du herunterladen möchtest.', - useful: - 'Dies ist z.B. nützlich, wenn du versuchst einige Titel herunterzuladen, welche in deinem Land nicht verfügbar sind, und du wissen möchtest, wo sie verfügbar sind.', - linkNotSupported: 'Dieser Link wird noch nicht unterstützt', - linkNotSupportedYet: - 'Es scheint so, als ob dieser Link noch nicht unterstützt wird. Versuche einen anderen Link zu analysieren.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Dauer', - diskNumber: 'CD Nummer', - trackNumber: 'Track Nummer', - releaseDate: 'Veröffentlichungsdatum', - bpm: 'BPM', - label: 'Label', - recordType: 'Art der Aufnahme', - genres: 'Genres', - tracklist: 'Trackliste' - } - }, - search: { - startSearching: 'Suche starten!', - description: - 'Du kannst einen Titel, ein ganzes Album, einen Künstler, eine Playlist suchen ... alles! Du kannst auch einen Deezer-Link einfügen', - fans: '{n} Fans', - noResults: 'Keine Ergebnisse', - noResultsTrack: 'Keine Tracks gefunden', - noResultsAlbum: 'Keine Alben gefunden', - noResultsArtist: 'Keinen Künstler gefunden', - noResultsPlaylist: 'Keine Playlist gefunden' - }, - searchbar: 'Suche nach allem, was dir gefällt (oder füge einfach einen Link ein)', - downloads: 'Downloads', - toasts: { - addedToQueue: '{item} zur Warteschlange hinzugefügt', - alreadyInQueue: '{item} ist bereits in der Warteschlange!', - finishDownload: '{item} vollständig heruntergeladen.', - allDownloaded: 'Alle Downloads abgeschlossen!', - refreshFavs: 'Abgeschlossene Downloads neu laden!', - loggingIn: 'Einloggen', - loggedIn: 'Eingeloggt', - alreadyLogged: 'Bereits eingeloggt', - loginFailed: 'Login fehlgeschlagen', - loggedOut: 'Ausgeloggt', - cancellingCurrentItem: 'Aktuelle Auswahl abbrechen.', - currentItemCancelled: 'Aktuelle Auswahl wurde abgebrochen', - startAddingArtist: '{artist} Alben werden hinzugefügt', - finishAddingArtist: '{artist} Alben wurden hinzugefügt', - startConvertingSpotifyPlaylist: 'Konvertierern von Spotify-Tracks zu Deezer-Tracks', - finishConvertingSpotifyPlaylist: 'Spotify Playlist convertiert' - }, - settings: { - title: 'Einstellungen', - languages: 'Sprachen', - login: { - title: 'Login', - loggedIn: 'Du bist eingeloggt als {username}', - arl: { - question: 'Wie bekomme ich meine eigene ARL?', - update: 'Update ARL' - }, - logout: 'Logout' - }, - appearance: { - title: 'Design', - slimDownloadTab: 'schmaler Download-Tab' - }, - downloadPath: { - title: 'Download Pfad' - }, - templates: { - title: 'Vorlagen', - tracknameTemplate: 'Vorlage für den Tracknamen', - albumTracknameTemplate: 'Vorlage für Tracks in einem Album', - playlistTracknameTemplate: 'Vorlage für Tracks in einer Playlist' - }, - folders: { - title: 'Folders', - createPlaylistFolder: 'Ordner für Playlist erstellen', - playlistNameTemplate: 'Vorlage für Playlist-Ordner', - createArtistFolder: 'Ordner für Künstler erstellen', - artistNameTemplate: 'Vorlage für Künstler-Ordner', - createAlbumFolder: 'Ordner für Album erstellen', - albumNameTemplate: 'Vorlage für Album-Ordner', - createCDFolder: 'Ordner für CDs erstellen', - createStructurePlaylist: 'Erstellen von Künstler-, Alben- und CD-Ordnern auch für Playlists', - createSingleFolder: 'Ordner für einzelne Titel erstellen' - }, - trackTitles: { - title: 'Songtitel', - padTracks: 'Einheitliche Länge der Titelnummern (voranstehende Nullen werden ergänzt)', - paddingSize: 'Innenabstand überschreiben', - illegalCharacterReplacer: 'Unzulässige Zeichen ersetzen' - }, - downloads: { - title: 'Downloads', - queueConcurrency: 'Gleichzeitige Downloads', - maxBitrate: { - title: 'Bevorzugte Bitrate', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Soll ich die Dateien überchreiben?', - y: 'Ja überschreibe die Dateien', - n: 'Nein überschreibe die Dateien nicht', - t: 'Überschreibe nur die Tags', - b: 'Nein, behalte beide Dateien und füge der Kopie eine Nummer hinzu' - }, - fallbackBitrate: 'Falls gewünschte Bitrate nicht verfügbar, auf niedrigere Bitrate zurückgreifen', - fallbackSearch: 'Zur Suche zurückkehren, wenn der Song nicht verfügbar ist', - logErrors: 'Protokolldatei für Fehler im Download-Ordner erstellen', - logSearched: 'Protokolldatei für gesuchte Titel erstellen', - createM3U8File: 'Erstelle Playlist-Datei (M3U8)', - syncedLyrics: 'Erstelle synchrone Lyrics-Datei (.lyr)', - playlistFilenameTemplate: 'Vorlage für den Namen der Playlist', - saveDownloadQueue: 'Download-Warteschlange beim Schließen der App speichern' - }, - covers: { - title: 'Album Cover', - saveArtwork: 'Cover speichern', - coverImageTemplate: 'Vorlage für den Covernamen', - saveArtworkArtist: 'Speichere das Künstlerbild', - artistImageTemplate: 'Vorlage des Künstlerbildes', - localArtworkSize: 'Lokale Grafikgröße', - embeddedArtworkSize: 'Eingebettete Grafikgröße', - localArtworkFormat: { - title: 'Welches Datei-Format soll das Cover haben?', - jpg: 'Ein jpg Bild', - png: 'Ein png Bild', - both: 'Beides (jpg + png)' - }, - jpegImageQuality: 'JPEG Qualität' - }, - tags: { - head: 'Welche Tags sollen gespeichert werden?', - title: 'Titel', - artist: 'Künstler', - album: 'Album', - cover: 'Cover', - trackNumber: 'Titelnummer', - trackTotal: 'Titelanzahl', - discNumber: 'CD Nummer', - discTotal: 'CDs insgesamt', - albumArtist: 'Album Künstler', - genre: 'Genre', - year: 'Jahr', - date: 'Datum', - explicit: 'Explizite Lyrics', - isrc: 'ISRC', - length: 'Titel Länge', - barcode: 'Album Barcode (UPC)', - bpm: 'BPM', - replayGain: 'Wiedergabe Lautstärke', - label: 'Album Plattenlabel', - lyrics: 'Nicht synchronisierte Texte', - copyright: 'Copyright', - composer: 'Komponist', - involvedPeople: 'Mitwirkende Personen' - }, - other: { - title: 'Sonstige', - savePlaylistAsCompilation: 'Speichere Playlist als Zusammenstellung', - useNullSeparator: 'Verwende Nulltrennzeichen', - saveID3v1: 'Speichere ID3v1 ebenfalls', - multiArtistSeparator: { - title: 'Wie möchtest du die Künstler trennen?', - nothing: 'Speichere nur den Hauptkünstler', - default: 'Verwende Standard Spezifikationen', - andFeat: 'Verwende & und feat.', - using: 'Verwende "{separator}"' - }, - singleAlbumArtist: 'Nur den Hauptkünstler speichern', - albumVariousArtists: 'Verschiedene Künstler" im Album Künstler Tag behalten', - removeAlbumVersion: 'Entferne die "Album Version" vom Songtitel', - removeDuplicateArtists: 'Kombinationen von Künstlern entfernen', - dateFormat: { - title: 'Datumsformatierung für FLAC Dateien', - year: 'JJJJ', - month: 'MM', - day: 'TT' - }, - featuredToTitle: { - title: 'Was soll ich mit featured Artists machen?', - 0: 'Nichts', - 1: 'Vom Titel entfernen', - 3: 'Vom Titel und Albumtitel entfernen', - 2: 'Zu dem Titel hinzufügen' - }, - titleCasing: 'Titel-Schreibweise', - artistCasing: 'Künstler-Schreibweise', - casing: { - nothing: 'Unbearbeitet lassen', - lower: 'klein', - upper: 'GROSS', - start: 'Wortanfang Gross', - sentence: 'Satzanfang gross' - }, - previewVolume: 'Vorschau der Lautstärke', - executeCommand: { - title: 'Befehl, der nach dem Download ausgeführt werden soll', - description: 'Leer lassen ohne Aktion' - } - }, - spotify: { - title: 'Spotify Features', - clientID: 'Spotify Client ID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify Benutzername' - }, - reset: 'Auf Standardwerte zurücksetzen', - save: 'Speichern', - toasts: { - init: 'Einstellungen geladen!', - update: 'Einstellungen aktualisiert!', - ARLcopied: 'ARL wurde in die Zwischenablage kopiert' - } - }, - sidebar: { - home: 'Home', - search: 'Suche', - charts: 'Charts', - favorites: 'Favoriten', - linkAnalyzer: 'Link Analyse', - settings: 'Einstellungen', - about: 'Info' - }, - tracklist: { - downloadSelection: 'Downloads' - } -} - -export default de diff --git a/webui-new/src/lang/en.js b/webui-new/src/lang/en.js deleted file mode 100644 index 4ec01c1..0000000 --- a/webui-new/src/lang/en.js +++ /dev/null @@ -1,418 +0,0 @@ -const en = { - globals: { - welcome: 'Welcome to deemix', - back: 'back', - loading: 'loading', - download: 'Download {thing}', - by: 'by {artist}', - in: 'in {album}', - download_hint: 'Download', - play_hint: 'Play', - toggle_download_tab_hint: 'Expand/Collapse', - clean_queue_hint: 'Clear Finished', - cancel_queue_hint: 'Cancel All', - open_downloads_folder: 'Open Downloads Folder', - cut: 'cut', - copy: 'copy', - copyLink: 'copy link', - copyImageLink: 'copy image link', - copyDeezerLink: 'copy deezer link', - paste: 'paste', - listTabs: { - empty: '', - all: 'all', - top_result: 'top result', - album: 'album | albums', - artist: 'artist | artists', - single: 'single | singles', - title: 'title | titles', - track: 'track | tracks', - releaseN: '0 releases | {n} release | {n} releases', - playlist: 'playlist | playlists', - compile: 'compilation | compilations', - ep: 'ep | eps', - bundle: 'bundle | bundles', - more: 'More albums', - featured: 'Featured in', - spotifyPlaylist: 'spotify playlist | spotify playlists', - releaseDate: 'release date', - error: 'error', - trackN: '0 tracks | {n} track | {n} tracks', - albumN: '0 albums | {n} album | {n} albums', - artistN: '0 artists | {n} artist | {n} artists', - playlistN: '0 playlists | {n} playlist | {n} playlists' - } - }, - about: { - appStatus: { - online: 'app online', - offline: 'app offline' - }, - updates: { - currentVersion: 'Current Version', - currentWebuiVersion: 'Current WebUI Version', - versionNotAvailable: 'N/A', - updateAvailable: `You're not running the latest version available: {version}`, - deemixVersion: 'deemix lib version' - }, - titles: { - usefulLinks: 'Useful Links', - bugReports: 'Bug Reports', - contributing: 'Contributing', - donations: 'Donations', - license: 'License' - }, - subtitles: { - bugReports: "Is there something that isn't working in deemix? Tell us!", - contributing: 'You want to contribute to this project? You can do it in different ways!', - donations: 'You want to contribute monetarily? You could make a donation!' - }, - usesLibrary: 'This app uses the deemix library, which you can use to make your own UI for deemix.', - thanks: `Thanks to rtonno, uhwot and lollilol for helping me with this project and to BasCurtiz for making the icon.`, - upToDate: { - text: `Stay up to date with the updates by following the {newsChannel} on Telegram.`, - newsChannel: 'news channel' - }, - officialWebsite: 'Official Website', - officialRepo: 'Official Library Repository', - officialWebuiRepo: 'Official WebUI Repository', - officialSubreddit: 'Official Subreddit', - newsChannel: 'News Channel', - questions: { - text: `If you have questions or problems with the app, search for a solution on the {subreddit} first. Then, if you don't find anything you can make a post with your issue on the subreddit.`, - subreddit: 'subreddit' - }, - beforeReporting: `Before reporting a bug make sure you're running the latest version of the app and that what you want to report is actually a bug and not something that's wrong only on your end.`, - beSure: `Make sure the bug is reproducible on other machines and also DO NOT report a bug if it's already been reported.`, - duplicateReports: 'Duplicate bug reports will be closed, so keep an eye out on that.', - dontOpenIssues: `DO NOT open issues for asking questions, there is a subreddit for that.`, - newUI: { - text: `If you're fluent in python you could try to make a new UI for the app using the base library, or fix bugs in the library with a pull request on the {repo}.`, - repo: 'repo' - }, - acceptFeatures: `I accept features as well, but no complex things, as they can be implementend directly in the app and not the library.`, - otherLanguages: `If you're fluent in another programming language you could try to port deemix into other programming languages!`, - understandingCode: `You need help understanding the code? Just hit RemixDev up on Telegram or Reddit.`, - contributeWebUI: { - text: `If you know Vue.js (JavaScript), HTML or CSS you could contribute to the {webui}.`, - webui: 'WebUI' - }, - itsFree: `You should remember that this is a free project and you should support the artists you love before supporting the developers.`, - notObligated: `Don't feel obligated to donate, I appreciate you anyway!`, - lincensedUnder: { - text: `This work is licensed under the {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Charts', - changeCountry: 'Change Country', - download: 'Download Chart' - }, - errors: { - title: 'Errors for {name}', - ids: { - invalidURL: 'URL not recognized', - unsupportedURL: 'URL not supported yet', - ISRCnotOnDeezer: 'Track ISRC is not available on Deezer', - notYourPrivatePlaylist: "You can't download others private playlists.", - spotifyDisabled: 'Spotify Features is not setted up correctly.', - trackNotOnDeezer: 'Track not found on Deezer!', - albumNotOnDeezer: 'Album not found on Deezer!', - notOnDeezer: 'Track not available on Deezer!', - notEncoded: 'Track not yet encoded!', - notEncodedNoAlternative: 'Track not yet encoded and no alternative found!', - wrongBitrate: 'Track not found at desired bitrate.', - wrongBitrateNoAlternative: 'Track not found at desired bitrate and no alternative found!', - no360RA: 'Track is not available in Reality Audio 360.', - notAvailable: "Track not available on Deezer's servers!", - notAvailableNoAlternative: "Track not available on Deezer's servers and no alternative found!", - noSpaceLeft: 'No space left on the device!', - albumDoesntExists: "Track's album doesn't exist, failed to gather info" - } - }, - favorites: { - title: 'Favorites', - noPlaylists: 'No Playlists found', - noAlbums: 'No Favorite Albums found', - noArtists: 'No Favorite Artists found', - noTracks: 'No Favorite Tracks found' - }, - home: { - needTologin: 'You need to log into your Deezer account before you can start downloading.', - openSettings: 'Open Settings', - sections: { - popularPlaylists: 'Popular playlists', - popularAlbums: 'Most streamed albums' - } - }, - linkAnalyzer: { - info: 'You can use this section to find more information about the link you are trying to download.', - useful: - "This is useful if you're trying to download some tracks that are not available in your country and want to know where they are available, for instance.", - linkNotSupported: 'This link is not yet supported', - linkNotSupportedYet: 'Seems like this link is not yet supported, try analyzing another one.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Duration', - diskNumber: 'Disk Number', - trackNumber: 'Track Number', - releaseDate: 'Release Date', - bpm: 'BPM', - label: 'Label', - recordType: 'Record Type', - genres: 'Genres', - tracklist: 'Tracklist' - } - }, - search: { - startSearching: 'Start searching!', - description: - 'You can search a track, a whole album, an artist, a playlist.... everything! You can also paste a Deezer link', - fans: '{n} fans', - noResults: 'No results', - noResultsTrack: 'No Tracks found', - noResultsAlbum: 'No Albums found', - noResultsArtist: 'No Artists found', - noResultsPlaylist: 'No Playlists found' - }, - searchbar: 'Search anything you want (or just paste a link)', - downloads: 'downloads', - toasts: { - restoringQueue: 'Restoring download queue...', - queueRestored: 'Download queue restored!', - addedToQueue: '{item} added to queue', - addedMoreToQueue: '{n} items added to queue', - alreadyInQueue: '{item} is already in queue!', - finishDownload: '{item} finished downloading.', - allDownloaded: 'All downloads completed!', - refreshFavs: 'Refresh completed!', - loggingIn: 'Logging in...', - loggedIn: 'Logged in', - alreadyLogged: 'Already logged in', - loginFailed: "Couldn't log in", - loggedOut: 'Logged out', - cancellingCurrentItem: 'Cancelling current item.', - currentItemCancelled: 'Current item cancelled.', - startAddingArtist: 'Adding {artist} albums to queue', - finishAddingArtist: 'Added {artist} albums to queue', - startConvertingSpotifyPlaylist: 'Converting spotify tracks to Deezer tracks', - finishConvertingSpotifyPlaylist: 'Spotify playlist converted', - loginNeededToDownload: 'You need to log in to download tracks!', - deezerNotAvailable: 'Deezer is not available in your country. You should use a VPN.', - startGeneratingItems: 'Processing {n} items...', - finishGeneratingItems: 'Generated {n} items.' - }, - settings: { - title: 'Settings', - languages: 'Languages', - login: { - title: 'Login', - loggedIn: 'You are logged in as {username}', - arl: { - question: 'How do I get my own ARL?', - update: 'Update ARL' - }, - logout: 'Logout', - login: 'Login via deezer.com' - }, - loginWithCredentials: { - title: 'Login with credentials', - login: 'Login' - }, - appearance: { - title: 'Appearance', - slimDownloadTab: 'Slim download tab', - slimSidebar: 'Slim Sidebar' - }, - downloadPath: { - title: 'Download Path' - }, - templates: { - title: 'Templates', - tracknameTemplate: 'Trackname template', - tracknameAvailableVariables: 'Available trackname variables', - albumTracknameTemplate: 'Album track template', - albumTracknameAvailableVariables: 'Available album track variables', - playlistTracknameTemplate: 'Playlist track template', - playlistTracknameAvailableVariables: 'Available playlist track variables' - }, - folders: { - title: 'Folders', - createPlaylistFolder: 'Create folder for playlists', - playlistNameTemplate: 'Playlist folder template', - createArtistFolder: 'Create folder for artist', - artistNameTemplate: 'Artist folder template', - createAlbumFolder: 'Create folder for album', - albumNameTemplate: 'Album folder template', - createCDFolder: 'Create folder for CDs', - createStructurePlaylist: 'Create folder structure for playlists', - createSingleFolder: 'Create folder structure for singles' - }, - trackTitles: { - title: 'Track titles', - padTracks: 'Pad tracks', - paddingSize: 'Overwrite padding size', - illegalCharacterReplacer: 'Illegal Character replacer' - }, - downloads: { - title: 'Downloads', - queueConcurrency: 'Concurrent Downloads', - maxBitrate: { - title: 'Preferred Bitrate', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Should I overwrite the files?', - y: 'Yes, overwrite the file', - n: "No, don't overwrite the file", - t: 'Overwrite only the tags', - b: 'No, keep both files and add a number to the duplicate', - e: "No, and don't look at the extensions" - }, - fallbackBitrate: 'Bitrate fallback', - fallbackSearch: 'Search fallback', - logErrors: 'Create log files for errors', - logSearched: 'Create log files for searched tracks', - createM3U8File: 'Create playlist file', - syncedLyrics: 'Create .lyr files (Sync Lyrics)', - playlistFilenameTemplate: 'Playlist filename template', - saveDownloadQueue: 'Save download queue when closing the app' - }, - covers: { - title: 'Album covers', - saveArtwork: 'Save Covers', - coverImageTemplate: 'Cover name template', - saveArtworkArtist: 'Save artist image', - artistImageTemplate: 'Artist image template', - localArtworkSize: 'Local artwork size', - embeddedArtworkSize: 'Embedded artwork size', - localArtworkFormat: { - title: 'What format do you want the local artwork to be?', - jpg: 'A jpeg image', - png: 'A png image', - both: 'Both a jpeg and a png' - }, - jpegImageQuality: 'JPEG image quality', - embeddedArtworkPNG: 'Save embedded artwork as PNG', - embeddedPNGWarning: 'PNGs are not officialy supported by Deezer and can be buggy', - imageSizeWarning: 'Anything above x1200 is not officialy used by Deezer, you may encounter issues', - coverDescriptionUTF8: 'Save cover description using UTF8 (iTunes Cover Fix)' - }, - tags: { - head: 'Which tags to save', - title: 'Title', - artist: 'Artist', - album: 'Album', - cover: 'Cover', - trackNumber: 'Track Number', - trackTotal: 'Track Total', - discNumber: 'Disc Number', - discTotal: 'Disc Total', - albumArtist: 'Album Artist', - genre: 'Genre', - year: 'Year', - date: 'Date', - explicit: 'Explicit Lyrics', - isrc: 'ISRC', - length: 'Track Length', - barcode: 'Album Barcode (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Album Label', - lyrics: 'Unsynchronized Lyrics', - syncedLyrics: 'Synchronized Lyrics', - copyright: 'Copyright', - composer: 'Composer', - involvedPeople: 'Involved People', - source: 'Source and song ID' - }, - other: { - title: 'Other', - savePlaylistAsCompilation: 'Save playlists as compilation', - useNullSeparator: 'Use null separator', - saveID3v1: 'Save ID3v1 as well', - multiArtistSeparator: { - title: 'How would you like to separate your artists?', - nothing: 'Save only the main artist', - default: 'Using standard specification', - andFeat: 'Using & and feat.', - using: 'Using "{separator}"' - }, - singleAlbumArtist: 'Save only the main album artist', - albumVariousArtists: 'Keep "Various Artists" in the Album Artists', - removeAlbumVersion: 'Remove "Album Version" from track title', - removeDuplicateArtists: 'Remove combinations of artists', - dateFormat: { - title: 'Date format for FLAC files', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'What should I do with featured artists?', - 0: 'Nothing', - 1: 'Remove it from the title', - 3: 'Remove it from the title and the album title', - 2: 'Move it to the title' - }, - titleCasing: 'Title casing', - artistCasing: 'Artist casing', - casing: { - nothing: 'Keep unchanged', - lower: 'lowercase', - upper: 'UPPERCASE', - start: 'Start Of Each Word', - sentence: 'Like a sentence' - }, - previewVolume: 'Preview Volume', - executeCommand: { - title: 'Command to execute after download', - description: 'Leave blank for no action' - } - }, - spotify: { - title: 'Spotify Features', - clientID: 'Spotify ClientID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify Username', - question: 'How do I enable Spotify Features?' - }, - reset: 'Reset to Default', - resetMessage: 'Are you sure you want to go back to default settings?', - save: 'Save', - toasts: { - init: 'Settings loaded!', - update: 'Settings updated!', - reset: 'Settings reset to default!', - ARLcopied: 'ARL copied to clipboard' - }, - logs: { - title: 'Logs', - areLogsActive: 'Active' - } - }, - sidebar: { - home: 'home', - search: 'search', - charts: 'charts', - favorites: 'favorites', - linkAnalyzer: 'link analyzer', - settings: 'settings', - logs: 'logs', - about: 'about' - }, - tracklist: { - downloadSelection: 'Download selection' - }, - logs: { - event: 'Event', - data: 'Data' - } -} - -export default en diff --git a/webui-new/src/lang/es.js b/webui-new/src/lang/es.js deleted file mode 100644 index 1009504..0000000 --- a/webui-new/src/lang/es.js +++ /dev/null @@ -1,394 +0,0 @@ -const es = { - globals: { - welcome: 'Bienvenido a deemix', - back: 'atrás', - loading: 'cargando', - download: 'Descarga {thing}', - by: 'por {artist}', - in: 'en {album}', - download_hint: 'Descargar', - play_hint: 'Reproducir', - toggle_download_tab_hint: 'Expandir/Colapsar', - clean_queue_hint: 'Limpieza terminada', - cancel_queue_hint: 'Cancelar todo', - open_downloads_folder: 'Abrir la carpeta de descargas', - cut: 'cortar', - copy: 'copiar', - copyLink: 'copiar vinculo', - copyImageLink: 'copiar el vínculo de la imagen', - copyDeezerLink: 'copiar el vínculo de Deezer', - paste: 'pegar', - listTabs: { - empty: '', - all: 'todo', - top_result: 'mejor resultado', - album: 'álbum | álbumes', - artist: 'artista | artistas', - single: 'single | singles', - title: 'título | títulos', - track: 'pista | pistas', - trackN: '0 pistas | {n} pista | {n} pistas', - releaseN: '0 entregas | {n} entrega | {n} entregas', - playlist: 'lista de reproducción | listas de reproducción', - compile: 'compilación | compilaciones', - ep: 'ep | eps', - more: 'Más álbumes', - featured: 'Aparece en', - spotifyPlaylist: 'lista de reproducción spotify | listas de reproducción spotify', - releaseDate: 'fecha de publicación', - error: 'error' - } - }, - about: { - updates: { - currentVersion: 'Versión actual', - versionNotAvailable: 'N/D', - updateAvailable: `No estás ejecutando la última versión disponible: {versión}`, - deemixVersion: 'versión de la biblioteca deemix' - }, - titles: { - usefulLinks: 'Enlaces útiles', - bugReports: 'Reportar fallos', - contributing: 'Contribuye', - donations: 'Donaciones', - license: 'Licencia' - }, - subtitles: { - bugReports: '¿Hay algo que no funcione en Deemix? ¡Díganoslo!', - contributing: '¿Quieres contribuir a este proyecto? ¡Puedes hacerlo de diferentes maneras!', - donations: '¿Quiere contribuir monetariamente? ¡Puedes hacer una donación!' - }, - usesLibrary: - 'Esta aplicación usa la biblioteca deemix, que puedes usar para hacer tu propia interfaz de usuario para deemix.', - thanks: `Gracias a rtonno, uhwot y lollilol por ayudarme con este proyecto, a BasCurtiz por hacer el icono.`, - upToDate: { - text: `Mantente al día con las actualizaciones siguiendo el {newsChannel} en Telegram.`, - newsChannel: 'canal de noticias' - }, - officialWebsite: 'Página web oficial', - officialRepo: 'Repositorio de la biblioteca oficial', - officialWebuiRepo: 'Repositorio oficial de WebUI', - officialSubreddit: 'Subreddit oficial', - newsChannel: 'Canal de noticias', - questions: { - text: `Si tienes preguntas o problemas con la aplicación, busca una solución en el {subreddit} primero. Luego, si no encuentras nada puedes hacer un post con tu problema en el subreddit.`, - subreddit: 'subreddit' - }, - beforeReporting: - 'Antes de informar de un error asegúrese de que está ejecutando la última versión de la aplicación y que lo que quiere informar es en realidad un error y no algo que está mal sólo en su extremo.', - beSure: - 'Asegúrate de que el fallo es reproducible en otras máquinas y también NO reporte un fallo si ya ha sido reportado.', - duplicateReports: 'Los informes de errores duplicados se cerrarán, así que manténgase al tanto de eso.', - dontOpenIssues: 'NO abra problemas para hacer preguntas, hay un subreddit para eso.', - newUI: { - text: `Si tienes fluidez en Python podrías intentar hacer una nueva interfaz de usuario para la aplicación usando la biblioteca base, o arreglar los errores de la biblioteca con una petición pull en el {repo}.`, - repo: 'repo' - }, - acceptFeatures: - 'También acepto características, pero no cosas complejas, ya que se pueden implementar directamente en la aplicación y no en la biblioteca.', - otherLanguages: - '¡Si dominas otro lenguaje de programación podrías intentar portar Deemix a otros lenguajes de programación!', - understandingCode: '¿Necesitas ayuda para entender el código? Sólo tienes que poner RemixDev en Telegram o Reddit.', - contributeWebUI: { - text: `Si conoces Vue.js (JavaScript), HTML o CSS podrías contribuir a la {webui}.`, - webui: 'WebUI' - }, - itsFree: - 'Debes recordar que este es un proyecto libre y debes apoyar a los artistas que amas antes de apoyar a los desarrolladores.', - notObligated: 'No te sientas obligado a donar, ¡te aprecio de todas formas!', - lincensedUnder: { - text: `Esta obra está autorizada bajo una {gpl3}.`, - gpl3: 'GNU Licencia Pública General 3.0' - } - }, - charts: { - title: 'Listas', - changeCountry: 'Cambiar país', - download: 'Descargar la lista' - }, - errors: { - title: 'Errores para {name}', - ids: { - invalidURL: 'No se reconoce la URL', - unsupportedURL: 'La URL aún no está soportada', - ISRCnotOnDeezer: 'La pista ISRC no está disponible en Deezer', - notYourPrivatePlaylist: 'No puedes descargar otras listas de reproducción privadas.', - spotifyDisabled: 'Las funciones de Spotify no está configurado correctamente.', - trackNotOnDeezer: '¡No se encontró la pista en Deezer!', - albumNotOnDeezer: '¡El álbum no se encuentra en Deezer!', - notOnDeezer: '¡Pista no disponible en Deezer!', - notEncoded: '¡Pista aún no codificada!', - notEncodedNoAlternative: '¡Pista aún no codificada y no se ha encontrado ninguna alternativa!', - wrongBitrate: 'La pista no se encuentra a la velocidad de bitrate deseada.', - wrongBitrateNoAlternative: - '¡Pista no encontrada a la tasa de bits deseada y no se ha encontrado ninguna alternativa!', - no360RA: 'La pista no está disponible en Reality Audio 360.', - notAvailable: '¡La pista no está disponible en los servidores de Deezer!', - notAvailableNoAlternative: - '¡La pista no está disponible en los servidores de Deezer y no se ha encontrado ninguna alternativa!', - noSpaceLeft: '¡No queda espacio en el dispositivo!' - } - }, - favorites: { - title: 'Favoritos', - noPlaylists: 'No se han encontrado listas de reproducción', - noAlbums: 'No se han encontrado álbumes favoritos', - noArtists: 'No se han encontrado artistas favoritos', - noTracks: 'No se han encontrado pistas favoritas' - }, - home: { - needTologin: 'Necesitas entrar en tu cuenta de Deezer antes de poder empezar a descargar.', - openSettings: 'Abrir la configuración', - sections: { - popularPlaylists: 'Listas de reproducción populares', - popularAlbums: 'Los álbumes más stremeados' - } - }, - linkAnalyzer: { - info: 'Puedes usar esta sección para encontrar más información sobre el enlace que estás tratando de descargar.', - useful: - 'Esto es útil si está tratando de descargar algunas pistas que no están disponibles en su país y quiere saber dónde están disponibles, por ejemplo.', - linkNotSupported: 'Este enlace aún no está soportado', - linkNotSupportedYet: 'Parece que este enlace aún no está soportado, intenta analizar otro.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Duración', - diskNumber: 'Número del disco', - trackNumber: 'Número de la pista', - releaseDate: 'Fecha de lanzamiento', - bpm: 'BPM', - label: 'Etiqueta', - recordType: 'Tipo de grabación', - genres: 'Géneros', - tracklist: 'Lista de pista' - } - }, - search: { - startSearching: '¡Comienza a buscar!', - description: - 'Puedes buscar un tema, un álbum entero, un artista, una lista de reproducción... ¡todo! También puedes pegar un enlace de Deezer', - fans: '{n} fans', - noResults: 'Ningun resultado', - noResultsTrack: 'No se encontraron pistas', - noResultsAlbum: 'No se encontraron álbumes', - noResultsArtist: 'No se encontraron artistas', - noResultsPlaylist: 'No se encontraron listas de reproducción' - }, - searchbar: 'Busca lo que quieras (o simplemente pega un enlace)', - downloads: 'descargas', - toasts: { - restoringQueue: 'Restaurando la cola de descarga...', - queueRestored: '¡Cola de descarga restaurada!', - addedToQueue: '{item} añadidos a la cola', - addedMoreToQueue: '{n} elementos añadidos a la cola', - alreadyInQueue: '¡{item} ya está en la cola!', - finishDownload: '{item} terminado de descargar.', - allDownloaded: '¡Todas las descargas se han completado!', - refreshFavs: '¡Actualización completada!', - loggingIn: 'Conectando...', - loggedIn: 'Conectado', - alreadyLogged: 'Ya está conectado', - loginFailed: 'No se puede conectar', - loggedOut: 'Desconectado', - cancellingCurrentItem: 'Cancelando el elemento actual.', - currentItemCancelled: 'El elemento actual se ha cancelado.', - startAddingArtist: 'Añadiendo los álbumes de {artist} a la cola', - finishAddingArtist: 'Se ha añadido los álbumes de {artist} a la cola', - startConvertingSpotifyPlaylist: 'Convertir las pistas de Spotify en pistas de Deezer', - finishConvertingSpotifyPlaylist: 'Lista de reproducción de Spotify convertida', - loginNeededToDownload: '¡Necesitas iniciar sesión para descargar títulos!', - deezerNotAvailable: 'Deezer no está disponible en su país. Deberías usar una VPN.' - }, - settings: { - title: 'Configuración', - languages: 'Idiomas', - login: { - title: 'Iniciar Sesión', - loggedIn: 'Usted está conectado como {nombre de usuario}', - arl: { - question: '¿Cómo consigo mi propio ARL?', - update: 'Actualiza la ARL' - }, - logout: 'Cerrar Sesión', - login: 'Inicia sesión a través de deezer.com' - }, - appearance: { - title: 'Apariencia', - slimDownloadTab: 'Pestaña de descargas fina' - }, - downloadPath: { - title: 'Ruta de descarga' - }, - templates: { - title: 'Plantillas', - tracknameTemplate: 'Plantilla de nombres de pista', - albumTracknameTemplate: 'Plantilla de pista del álbum', - playlistTracknameTemplate: 'Plantilla de pista de la lista de reproducción' - }, - folders: { - title: 'Carpetas', - createPlaylistFolder: 'Crear una carpeta para las listas de reproducción', - playlistNameTemplate: 'Plantilla de la carpeta de la lista de reproducción', - createArtistFolder: 'Crear carpeta para el artista', - artistNameTemplate: 'Plantilla de la carpeta del artista', - createAlbumFolder: 'Crear carpeta para el álbum', - albumNameTemplate: 'Plantilla de la carpeta del álbum', - createCDFolder: 'Crear una carpeta para los CDs', - createStructurePlaylist: 'Crear una estructura de carpetas para las listas de reproducción', - createSingleFolder: 'Crear una estructura de carpetas para individuales' - }, - trackTitles: { - title: 'Títulos de las pistas', - padTracks: 'Pad de pistas', - paddingSize: 'Sobrescribir el tamaño del pad', - illegalCharacterReplacer: 'Reemplazo del carácter ilegal' - }, - downloads: { - title: 'Descargas', - queueConcurrency: 'Descargas simultáneas', - maxBitrate: { - title: 'Tasa de bits preferida', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: '¿Desea que se sobreescriban los archivos?', - y: 'Sí, sobrescribir el archivo', - n: 'No, no sobrescribir el archivo', - t: 'Sobrescribir sólo las etiquetas', - b: 'No, mantener los dos archivos y agregar un número al archivo duplicado', - e: 'No, y no mirar las extensiones' - }, - fallbackBitrate: 'La solución alternativa de bitrate', - fallbackSearch: 'Búsqueda de la segunda opción', - logErrors: 'Crear archivos de registro de errores', - logSearched: 'Crear archivos de registro para las pistas buscadas', - createM3U8File: 'Crear archivo de la lista de reproducción', - syncedLyrics: 'Crear archivos .lyr (lyrics sincronizadas)', - playlistFilenameTemplate: 'Plantilla de nombres de archivos de la lista de reproducción', - saveDownloadQueue: 'Guardar la cola de descarga al cerrar la aplicación' - }, - covers: { - title: 'Portadas de álbumes', - saveArtwork: 'Guardar las portadas', - coverImageTemplate: 'Plantilla de nombres de portada', - saveArtworkArtist: 'Guardar imagen de artista', - artistImageTemplate: 'Plantilla de imagen de artista', - localArtworkSize: 'El tamaño de la portada local', - embeddedArtworkSize: 'El tamaño de la portada incorporada', - localArtworkFormat: { - title: '¿Qué formato quieres que tenga la portada local?', - jpg: 'Una imagen jpeg', - png: 'Una imagen png', - both: 'Ambos, jpeg y png' - }, - jpegImageQuality: 'Calidad de la imagen JPEG', - embeddedArtworkPNG: 'Guardar las imágenes incrustadas como PNG', - embeddedPNGWarning: 'Las PNG no están oficialmente soportadas por Deezer y puedes encontrar errores.', - imageSizeWarning: - 'Nada por encima de x1200 no es usado oficialmente por Deezer, puede que encuentres inconvenientes', - coverDescriptionUTF8: 'Guardar la descripción de la portada usando UTF8 (arregla la portada de iTunes)' - }, - tags: { - head: '¿Qué etiquetas guardar?', - title: 'Título', - artist: 'Artista', - album: 'Álbum', - cover: 'Portada', - trackNumber: 'Número de pista', - trackTotal: 'Total de pistas', - discNumber: 'Número del disco', - discTotal: 'Total del disco', - albumArtist: 'Artista del álbum', - genre: 'Género', - year: 'Año', - date: 'Fecha', - explicit: 'Letras explícitas', - isrc: 'ISRC', - length: 'Duración de la pista', - barcode: 'Código de barras del álbum (UPC)', - bpm: 'BPM', - replayGain: 'Ganancia de la reproducción', - label: 'Etiqueta del álbum', - lyrics: 'Lyrics no sincronizadas', - syncedLyrics: 'Lyrics sincronizadas', - copyright: 'Derechos de autor', - composer: 'Compositor', - involvedPeople: 'Personas involucradas' - }, - other: { - title: 'Otro', - savePlaylistAsCompilation: 'Guardar las listas de reproducción como una compilación', - useNullSeparator: 'Usar separador nulo', - saveID3v1: 'Guarda la ID3v1 también', - multiArtistSeparator: { - title: '¿Cómo le gustaría separar a sus artistas?', - nothing: 'Guardar sólo el artista principal', - default: 'Usar la especificación estándar', - andFeat: 'Usar & y feat.', - using: 'Usar "{separator}"' - }, - singleAlbumArtist: 'Guardar sólo el artista principal del álbum', - albumVariousArtists: 'Mantener "Various Artists" en los artistas del álbum', - removeAlbumVersion: 'Eliminar "Album Version" del título de la pista', - removeDuplicateArtists: 'Eliminar las combinaciones de artistas', - dateFormat: { - title: 'Formato de fecha para los archivos FLAC', - year: 'AAAA', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: '¿Qué debo hacer con los artistas destacados?', - 0: 'Nada', - 1: 'Quitarlo del título', - 3: 'Quitarlo del título y del título del álbum', - 2: 'Moverlo al título' - }, - titleCasing: 'Capitalizar título', - artistCasing: 'Capitalizar artista', - casing: { - nothing: 'Manténer sin cambios', - lower: 'minúsculas', - upper: 'MAYÚSCULAS', - start: 'Al Principio De Cada Palabra', - sentence: 'Como una frase' - }, - previewVolume: 'Volumen de previsualización', - executeCommand: { - title: 'Comando a ejecutar después de la descarga', - description: 'Dejar en blanco para no hacer nada' - } - }, - spotify: { - title: 'Funciones de Spotify', - clientID: 'ID del cliente de Spotify', - clientSecret: 'Cliente Secreto Spotify', - username: 'Nombre de usuario de Spotify' - }, - reset: 'Restablecer el valor por defecto', - save: 'Guardar', - toasts: { - init: '¡Configuraciones cargadas!', - update: '¡Ajustes actualizados!', - ARLcopied: 'ARL copiado al portapapeles' - } - }, - sidebar: { - home: 'inicio', - search: 'buscar', - charts: 'charts', - favorites: 'favoritos', - linkAnalyzer: 'analizar enlaces', - settings: 'ajustes', - about: 'acerca de' - }, - tracklist: { - downloadSelection: 'Descargar selección' - } -} - -export default es diff --git a/webui-new/src/lang/fr.js b/webui-new/src/lang/fr.js deleted file mode 100644 index 7120be2..0000000 --- a/webui-new/src/lang/fr.js +++ /dev/null @@ -1,432 +0,0 @@ -const fr = { - globals: { - welcome: 'Bienvenue dans deemix', - back: 'retour', - loading: 'chargement en cours', - download: 'Télécharger {thing}', - by: 'par {artist}', - in: 'dans {album}', - download_hint: 'Télécharger', - play_hint: 'Lire', - toggle_download_tab_hint: 'Développer/Réduire', - clean_queue_hint: 'Retirer Les Tâches Terminées', - cancel_queue_hint: 'Tout Annuler', - open_downloads_folder: 'Ouvrir Le Dossier De Téléchargements', - cut: 'couper', - copy: 'copier', - copyLink: 'copier le lien', - copyImageLink: "copier le lien de l'image", - copyDeezerLink: 'copier le lien deezer', - paste: 'coller', - listTabs: { - empty: '', - all: 'tout', - top_result: 'meilleur résultat', - album: 'album | albums', - artist: 'artiste | artistes', - single: 'single | singles', - title: 'titre | titres', - track: 'piste | pistes', - releaseN: '0 sortie | {n} sortie | {n} sorties', - playlist: 'playlist | playlists', - compile: 'compilation | compilations', - ep: 'ep | eps', - bundle: 'bundle | bundles', - more: "Plus d'albums", - featured: 'Apparaît dans', - spotifyPlaylist: 'playlist spotify | playlists spotify', - releaseDate: 'date de sortie', - error: 'erreur', - trackN: '0 piste | {n} piste | {n} pistes', - albumN: '0 album | {n} album | {n} albums', - artistN: '0 artiste | {n} artiste | {n} artistes', - playlistN: '0 playlist | {n} playlist | {n} playlists' - } - }, - about: { - appStatus: { - online: 'app en ligne', - offline: 'app hors ligne' - }, - updates: { - currentVersion: 'Version Actuelle', - currentWebuiVersion: 'Version Actuelle De La WebUI', - versionNotAvailable: 'N/A', - updateAvailable: "Vous n'utilisez pas la dernière version disponible : {version}", - deemixVersion: 'Version de la bibliothèque deemix' - }, - titles: { - usefulLinks: 'Liens Utiles', - bugReports: 'Rapports De Bug', - contributing: 'Contribution', - donations: 'Dons', - license: 'Licence' - }, - subtitles: { - bugReports: 'Quelque chose ne fonctionne pas dans deemix ? Contactez-nous !', - contributing: 'Vous souhaitez contribuer à ce projet ? Vous pouvez le faire de différentes manières !', - donations: 'Vous souhaitez contribuer financièrement ? Vous pouvez faire un don !' - }, - usesLibrary: - 'Cette application utilise la bibliothèque deemix, que vous pouvez exploiter afin de créer votre propre interface utilisateur pour deemix.', - thanks: - "Merci à rtonno, uhwot et lollilol de m'avoir aidé dans ce projet ainsi qu'à BasCurtiz pour la création de l'icône.", - upToDate: { - text: `Restez informé des mises à jour en suivant le {newsChannel} sur Telegram.`, - newsChannel: "canal d'informations" - }, - officialWebsite: 'Site Officiel', - officialRepo: 'Répertoire De Dépôt Officiel De La Bibliothèque', - officialWebuiRepo: 'Répertoire De Dépôt Officiel De La WebUI', - officialSubreddit: 'Subreddit Officiel', - newsChannel: "Canal d'Informations", - questions: { - text: `Si vous avez des questions ou des problèmes avec l'application, cherchez d'abord une solution dans le {subreddit}. Ensuite, si la solution ne s'y trouve pas, vous pouvez publier un message dans le subreddit en décrivant votre problème.`, - subreddit: 'subreddit' - }, - beforeReporting: - "Avant de signaler un bug, assurez-vous que vous utilisez la version la plus récente de l'application. Vérifiez que vous souhaitez nous rapporter un bug et non quelque chose qui ne fonctionne pas uniquement de votre côté.", - beSure: - "Assurez-vous que le bug soit reproductible sur d'autres appareils mais aussi de NE PAS signaler un bug si celui-ci a déjà été recensé.", - duplicateReports: "Les rapports de bug répétitifs seront supprimés, merci d'en prendre bonne note.", - dontOpenIssues: - "NE PAS rapporter de problème s'il ne s'agit que de simples questions. Un subreddit existe pour ces questions.", - newUI: { - text: `Si vous maîtrisez python, vous pouvez essayer de créer une nouvelle interface utilisateur pour l'application à l'aide de la bibliothèque de base, ou corriger des bugs dans la bibliothèque à l'aide d'une demande de fusion de branches (pull request) sur le {repo}.`, - repo: 'répertoire de dépôt' - }, - acceptFeatures: - "J'accepte également les nouvelles fonctionnalités, mais pas de choses complexes, dans la mesure où elles peuvent être implémentées directement dans l'application et non dans la bibliothèque.", - otherLanguages: - 'Si vous maîtrisez un autre langage de programmation, vous pouvez essayer de transposer deemix dans ce dernier !', - understandingCode: - "Vous avez besoin d'aide pour comprendre le code ? Il suffit de contacter RemixDev sur Telegram ou Reddit.", - contributeWebUI: { - text: `Si vous vous y connaissez en Vue.js (JavaScript), HTML ou CSS, vous pouvez contribuer à la {webui}.`, - webui: 'WebUI' - }, - itsFree: - "N'oubliez pas que ce projet est libre et qu'il est important de soutenir vos artistes préférés avant de supporter les développeurs.", - notObligated: 'Ne vous sentez pas obligé de faire un don, vous êtes tout de même apprécié !', - lincensedUnder: { - text: `Ce projet s'inscrit dans le cadre de la {gpl3}.`, - gpl3: 'Licence publique générale GNU, version 3' - } - }, - charts: { - title: 'Classements', - changeCountry: 'Changer De Pays', - download: 'Télécharger Le Classement' - }, - errors: { - title: 'Erreurs pour {name}', - ids: { - invalidURL: "Cette URL n'est pas reconnue", - unsupportedURL: "Cette URL n'est actuellement pas supportée", - ISRCnotOnDeezer: "L'ISRC de la piste est indisponible sur Deezer", - notYourPrivatePlaylist: "Vous n'êtes pas autorisé à télécharger les playlists privées de quelqu'un d'autre.", - spotifyDisabled: 'Les Fonctionnalités Spotify ne sont pas configurées correctement.', - trackNotOnDeezer: 'La piste est introuvable sur Deezer !', - albumNotOnDeezer: "L'album est introuvable sur Deezer !", - notOnDeezer: 'La piste est indisponible sur Deezer !', - notEncoded: "La piste n'a pas encore été encodée !", - notEncodedNoAlternative: "La piste n'a pas encore été encodée et aucune alternative n'a été trouvée !", - wrongBitrate: 'La piste est introuvable au débit souhaité.', - wrongBitrateNoAlternative: "La piste est introuvable au débit souhaité et aucune alternative n'a été trouvée !", - no360RA: 'La piste est indisponible au format Reality Audio 360.', - notAvailable: 'La piste est indisponible sur les serveurs de Deezer !', - notAvailableNoAlternative: - "La piste est indisponible sur les serveurs de Deezer et aucune alternative n'a été trouvée !", - noSpaceLeft: "L'espace disponible sur cet appareil est insuffisant !", - albumDoesntExists: "Aucun album n'existe pour cette piste, impossible de collecter les informations nécessaires" - } - }, - favorites: { - title: 'Favoris', - noPlaylists: "Aucune Playlist n'a été trouvée", - noAlbums: "Aucun Album Favori n'a été trouvé", - noArtists: "Aucun Artiste Favori n'a été trouvé", - noTracks: "Aucune Piste Favorite n'a été trouvée" - }, - home: { - needTologin: 'Vous devez vous connecter à votre compte Deezer avant de pouvoir démarrer un téléchargement.', - openSettings: 'Ouvrir Les Paramètres', - sections: { - popularPlaylists: 'Playlists les plus écoutées', - popularAlbums: 'Albums les plus écoutés' - } - }, - linkAnalyzer: { - info: - "Vous pouvez utiliser cette section pour obtenir davantage d'informations sur le lien que vous essayez de télécharger.", - useful: - "C'est utile si vous essayez, par exemple, de télécharger des pistes indisponibles dans votre pays et que vous souhaitez savoir où elles sont disponibles.", - linkNotSupported: "Ce lien n'est pas encore pris en charge", - linkNotSupportedYet: "Il semble que ce lien ne soit pas encore pris en charge, essayez d'en analyser un autre.", - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Durée', - diskNumber: 'Numéro De Disque', - trackNumber: 'Numéro De Piste', - releaseDate: 'Date De Sortie', - bpm: 'BPM', - label: 'Label', - recordType: "Type d'Enregistrement", - genres: 'Genres', - tracklist: 'Liste Des Pistes' - } - }, - search: { - startSearching: 'Démarrer une recherche !', - description: - 'Vous pouvez rechercher une piste, un album entier, un artiste, une playlist... tout ce que vous voulez ! Vous pouvez également coller un lien Deezer.', - fans: '{n} fans', - noResults: 'Aucun résultat', - noResultsTrack: "Aucune piste n'a été trouvée", - noResultsAlbum: "Aucun album n'a été trouvé", - noResultsArtist: "Aucun artiste n'a été trouvé", - noResultsPlaylist: "Aucune playlist n'a été trouvée" - }, - searchbar: 'Saisissez une requête (ou collez simplement un lien)', - downloads: 'téléchargements', - toasts: { - restoringQueue: "Restauration de la file d'attente de téléchargement...", - queueRestored: "La file d'attente de téléchargement a été restaurée !", - addedToQueue: "{item} ajouté à la file d'attente", - addedMoreToQueue: "{n} éléments ajoutés à la file d'attente", - alreadyInQueue: "{item} est déjà dans la file d'attente !", - finishDownload: '{item} a été téléchargé.', - allDownloaded: 'Tous les téléchargements sont terminés !', - refreshFavs: 'Actualisation terminée !', - loggingIn: 'Connexion en cours...', - loggedIn: 'Connecté', - alreadyLogged: 'Déjà connecté', - loginFailed: 'Connexion impossible', - loggedOut: 'Déconnecté', - cancellingCurrentItem: "Annulation de l'élément actuel.", - currentItemCancelled: 'Élément actuel annulé.', - startAddingArtist: "Ajout des albums de {artist} à la file d'attente", - finishAddingArtist: "Les albums de {artist} ont été ajoutés à la file d'attente", - startConvertingSpotifyPlaylist: 'Conversion de pistes Spotify en équivalents Deezer', - finishConvertingSpotifyPlaylist: 'Playlist Spotify convertie', - loginNeededToDownload: 'Vous devez vous connecter pour pouvoir télécharger des pistes !', - deezerNotAvailable: 'Deezer est indisponible dans votre pays. Vous devez utiliser un VPN.', - startGeneratingItems: 'Traitement de {n} éléments...', - finishGeneratingItems: '{n} éléments ont été générés.' - }, - settings: { - title: 'Paramètres', - languages: 'Langues', - login: { - title: 'Connexion', - loggedIn: 'Vous êtes connecté en tant que {username}', - arl: { - question: 'Comment obtenir mon ARL personnel ?', - update: "Actualiser l'ARL" - }, - logout: 'Déconnexion', - login: 'Connexion via deezer.com' - }, - loginWithCredentials: { - title: "Connexion avec vos informations d'identification", - login: 'Connexion' - }, - appearance: { - title: 'Apparence', - slimDownloadTab: 'Onglet de téléchargement compact', - slimSidebar: 'Barre latérale compacte' - }, - downloadPath: { - title: 'Emplacement De Téléchargement' - }, - templates: { - title: 'Modèles', - tracknameTemplate: 'Modèle pour le nom de piste', - tracknameAvailableVariables: 'Variables disponibles pour le nom de piste', - albumTracknameTemplate: "Modèle pour le nom de piste de l'album", - albumTracknameAvailableVariables: "Variables disponibles pour le nom de piste de l'album", - playlistTracknameTemplate: 'Modèle pour le nom de piste de la playlist', - playlistTracknameAvailableVariables: 'Variables disponibles pour le nom de piste de la playlist' - }, - folders: { - title: 'Dossiers', - createPlaylistFolder: 'Générer des dossiers par playlist', - playlistNameTemplate: 'Modèle pour le nom du dossier de playlist', - createArtistFolder: 'Générer des dossiers par artiste', - artistNameTemplate: "Modèle pour le nom du dossier d'artiste", - createAlbumFolder: 'Générer des dossiers par album', - albumNameTemplate: "Modèle pour le nom du dossier d'album", - createCDFolder: 'Générer des dossiers par CD', - createStructurePlaylist: 'Générer une structure de dossiers pour les playlists', - createSingleFolder: 'Générer une structure de dossiers pour les singles' - }, - trackTitles: { - title: 'Titres des pistes', - padTracks: - 'Longueur uniforme des numéros de piste (ajoute automatiquement des zéros devant le numéro initial de la piste)', - paddingSize: 'Nombre de zéros à ajouter en permanence devant le numéro initial de la piste', - illegalCharacterReplacer: 'Substitut aux caractères non autorisés (dans les noms de fichiers et de dossiers)' - }, - downloads: { - title: 'Téléchargements', - queueConcurrency: 'Téléchargements Simultanés', - maxBitrate: { - title: 'Débit Préféré', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Les fichiers doivent-ils être écrasés ?', - y: 'Oui, écraser le fichier', - n: 'Non, ne pas écraser le fichier', - t: 'Écraser uniquement les métadonnées', - b: 'Non, conserver les deux fichiers et ajouter un numéro au doublon', - e: "Non, et ne pas tenir compte de l'extension du fichier" - }, - fallbackBitrate: "Recourir à un débit plus faible si le débit préféré n'est pas disponible", - fallbackSearch: "Rechercher la piste si le lien original n'est pas disponible", - logErrors: "Créer un fichier journal d'erreurs", - logSearched: 'Créer un fichier journal des pistes recherchées', - createM3U8File: 'Créer un fichier de playlist', - syncedLyrics: 'Créer des fichiers .lyr (Paroles Synchronisées)', - playlistFilenameTemplate: 'Modèle du nom de fichier de la playlist', - saveDownloadQueue: "Enregistrer la file d'attente de téléchargement à la fermeture de l'application" - }, - covers: { - title: "Pochettes d'albums", - saveArtwork: 'Enregistrer Les Pochettes', - coverImageTemplate: 'Modèle pour le nom de la pochette', - saveArtworkArtist: "Enregistrer l'image de l'artiste", - artistImageTemplate: "Modèle pour le nom de l'image de l'artiste", - localArtworkSize: "Taille de l'illustration locale", - embeddedArtworkSize: "Taille de l'illustration incorporée aux fichiers audio", - localArtworkFormat: { - title: "Dans quel format souhaitez-vous l'illustration locale ?", - jpg: 'Une image jpeg', - png: 'Une image png', - both: 'À la fois jpeg et png' - }, - jpegImageQuality: "Qualité de l'image JPEG", - embeddedArtworkPNG: "Enregistrer l'illustration incorporée aux fichiers audio en tant que PNG", - embeddedPNGWarning: - 'Les images PNG ne sont pas officiellement utilisées par Deezer et pourraient causer des problèmes.', - imageSizeWarning: - "Toute valeur supérieure à x1200 n'est pas officiellement supportée par Deezer, vous pourriez donc rencontrer des problèmes.", - coverDescriptionUTF8: 'Enregistrer la description de la pochette au format UTF8 (iTunes Cover Fix)' - }, - tags: { - head: 'Métadonnées à sauvegarder', - title: 'Titre', - artist: 'Artiste', - album: 'Album', - cover: 'Pochette', - trackNumber: 'Numéro De Piste', - trackTotal: 'Nombre De Pistes', - discNumber: 'Numéro Du Disque', - discTotal: 'Nombre De Disques', - albumArtist: "Artiste De l'Album", - genre: 'Genre', - year: 'Année', - date: 'Date', - explicit: 'Paroles Explicites', - isrc: 'ISRC', - length: 'Longueur De La Piste', - barcode: "Code-Barres De l'Album (UPC)", - bpm: 'BPM', - replayGain: 'Gain En Relecture (Replay Gain)', - label: "Label De l'Album", - lyrics: 'Paroles Non-Synchronisées', - syncedLyrics: 'Paroles Synchronisées', - copyright: "Droits d'Auteur (Copyright)", - composer: 'Compositeur', - involvedPeople: 'Personnes Impliquées', - source: 'ID de la source et de la piste' - }, - other: { - title: 'Autre', - savePlaylistAsCompilation: 'Enregistrer les playlists en tant que compilation', - useNullSeparator: 'Utiliser le caractère NULL comme séparateur', - saveID3v1: 'Enregistrer également les métadonnées ID3v1', - multiArtistSeparator: { - title: 'Comment aimeriez-vous séparer les artistes ?', - nothing: "Enregistrer uniquement l'artiste principal", - default: 'En utilisant la spécification standard', - andFeat: 'En utilisant & et feat.', - using: 'En utilisant "{separator}"' - }, - singleAlbumArtist: "Enregistrer uniquement l'artiste principal de l'album", - albumVariousArtists: `Conserver "Various Artists" dans les Artistes de l'Album`, - removeAlbumVersion: `Supprimer "Album Version" du titre de la piste`, - removeDuplicateArtists: "Supprimer les combinaisons d'artistes", - dateFormat: { - title: 'Format de date pour les fichiers FLAC', - year: 'AAAA', - month: 'MM', - day: 'JJ' - }, - featuredToTitle: { - title: 'Que faire des artistes participants (featuring) ?', - 0: 'Ne rien faire', - 1: 'Les retirer du titre de la piste', - 3: "Les supprimer du titre de la piste et du titre de l'album", - 2: 'Les déplacer vers le titre de la piste' - }, - titleCasing: 'Casse pour le titre', - artistCasing: "Casse pour l'artiste", - casing: { - nothing: 'Conserver inchangé', - lower: 'minuscules', - upper: 'MAJUSCULES', - start: 'Majuscule Au Début De Chaque Mot', - sentence: 'Majuscule seulement au début de la phrase' - }, - previewVolume: 'Volume sonore des aperçus de pistes', - executeCommand: { - title: 'Commande à exécuter après le téléchargement', - description: "Laisser vide pour qu'aucune action n'ait lieu" - } - }, - spotify: { - title: 'Fonctionnalités Spotify', - clientID: 'clientID Spotify', - clientSecret: 'Client Secret Spotify', - username: "Nom d'utilisateur Spotify", - question: 'Comment activer les Fonctionnalités Spotify ?' - }, - reset: 'Rétablir les valeurs par défaut', - resetMessage: 'Souhaitez-vous vraiment rétablir les paramètres par défaut ?', - save: 'Sauvegarder', - toasts: { - init: 'Paramètres chargés !', - update: 'Paramètres mis à jour !', - reset: 'Paramètres réinitialisés à leur valeur par défaut !', - ARLcopied: 'ARL copié dans le presse-papier' - }, - logs: { - title: 'Journaux (Logs)', - areLogsActive: 'Actifs' - } - }, - sidebar: { - home: 'accueil', - search: 'recherche', - charts: 'classements', - favorites: 'favoris', - linkAnalyzer: 'analyseur de lien', - settings: 'paramètres', - logs: 'journaux (logs)', - about: 'à propos' - }, - tracklist: { - downloadSelection: 'Télécharger la sélection' - }, - logs: { - event: 'Événement', - data: 'Données' - } -} - -export default fr diff --git a/webui-new/src/lang/hr.js b/webui-new/src/lang/hr.js deleted file mode 100644 index 9ae6921..0000000 --- a/webui-new/src/lang/hr.js +++ /dev/null @@ -1,359 +0,0 @@ -const hr = { - globals: { - welcome: 'Dobrodošli u deemix', - back: 'nazad', - loading: 'učitavanje', - download: 'Preuzmi {thing}', - by: 'by {artist}', - in: 'u {album}', - download_hint: 'Preuzmi', - play_hint: 'Play', - toggle_download_tab_hint: 'Proširi/Smanji', - clean_queue_hint: 'Čišćenje završeno', - cancel_queue_hint: 'Zaustavi sve', - listTabs: { - empty: '', - all: 'sve', - top_result: 'Najbolji rezultat', - album: 'album | albumi', - artist: 'izvođač | izvođači', - single: 'singl | singlovi', - title: 'naslov | naslovi', - track: 'pjesma | pjesme', - trackN: '0 pjesmi | {n} pjesma | {n} pjesme', - releaseN: '0 izdanja | {n} izdanje | {n} izdanja', - playlist: 'playlista | playliste', - compile: 'kompilacija | kompilacije', - ep: 'ep | eps', - spotifyPlaylist: 'spotify playlista | spotify playliste', - releaseDate: 'datum izdavanja', - error: 'greška' - } - }, - about: { - titles: { - usefulLinks: 'Korisne poveznice', - bugReports: 'Prijave grešaka', - contributing: 'Doprinosi', - donations: 'Donacije', - license: 'Licenca' - }, - subtitles: { - bugReports: 'Postoji nešto što ne radi u deemixu? Reci nam!', - contributing: 'Želiš doprinijeti ovom projektu? Možeš i to čak u više načina!', - donations: 'Želiš doprijeniti odmah? Možeš donirati!' - }, - usesLibrary: - 'Ova aplikacija koristi deemix biblioteku, koju možeš koristiti i ti kako bi napravio svoj UI za demix.', - thanks: `Hvala rtonno, uhwot i lollilol što su mi pomogli s ovim projektom te BasCurtiz što su napravili ikonu.`, - upToDate: { - text: `Ostani u tijeku s nadogradnjama prateći {newsChannel} na Telegramu.`, - newsChannel: 'kanal s novostima' - }, - officialWebsite: 'Službena web stranica', - officialRepo: 'Službeni repozitorij biblioteke', - officialWebuiRepo: 'Službeni WebUI repozitorij', - officialSubreddit: 'Službeni subreddit', - newsChannel: 'Kanal s novostima', - questions: { - text: `Ukoliko imate pitanja o aplikaciji, prvo potražite riješenje na {subreddit}. Tada, ako ne pronađete ništa, možete objaviti svoj problem na subredditu.`, - subreddit: 'subreddit' - }, - beforeReporting: `Prije prijavljivanja greške provjerite imate li instaliranu zadnju verziju aplikacije i da to što želite prijaviti je ustvari pogreška, a ne nešto što samo vama ne radi.`, - beSure: `Provjerite može li se pogreška reproducirati i na drugim uređajima i također NEMOJTE prijavljivati grešku ako je već prijavljena.`, - duplicateReports: 'Duplicirane prijave o greški bit će zatvorene, tako da pripazite na to.', - dontOpenIssues: `NEMOJTE otvarati issue za postavljanje pitanja, za to postoji subreddit.`, - newUI: { - text: `Ako ste vješti u pythonu možete probati napraviti novi UI za aplikaciju koristeći osnovnu biblioteku ili ispraviti pogrešku u biblioteci sa pull zahtjevom na {repo}.`, - repo: 'repozitoriju' - }, - acceptFeatures: `Prihavaćam i značajke, ali bez kompleksnih stvari, jer one mogu biti implementirane direktno u aplikaciji, a ne u biblioteci.`, - otherLanguages: `Ako ste vješti u drugom programskom jezikumožete probati portati deemix u drugi programski jezik!`, - understandingCode: `Trebate pomoć s razumijevanjem koda? Samo potraži RemixDev na Telegramu ili Redditu.`, - contributeWebUI: { - text: `Ako znaš Vue.js (JavaScript), HTML ili CSS možete doprinijeti za {webui}.`, - webui: 'WebUI' - }, - itsFree: `Trebate zapamtiti da je ovo besplatni projekt i trebali biste podržati autore koje volite prije podržavanja developera.`, - notObligated: `Nemojte se osjećati obveznim darivati, svejedno vas cijenim!`, - lincensedUnder: { - text: `Ovaj rad licenciran je unutar {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Ljestvice', - changeCountry: 'Promijeni državu', - download: 'Preuzmi ljestvicu' - }, - errors: { - title: 'Greške za {name}', - ids: { - invalidURL: 'URL nije prepoznat', - unsupportedURL: 'URL još nije podržan', - ISRCnotOnDeezer: 'Zapis ISRC još nije podržan na Deezeru', - notYourPrivatePlaylist: 'Ne možete preuzeti tuđe privatne playliste.', - spotifyDisabled: 'Spotify značajke nisu podešene ispravno.', - trackNotOnDeezer: 'Pjesma nije pronađena na Deezeru!', - albumNotOnDeezer: 'Album nije pronađen na Deezeru!', - notOnDeezer: 'Pjesma nije dostupna na Deezeru!', - notEncoded: 'Pjesma još nije enkodirana!', - notEncodedNoAlternative: 'Pjesma još nije enkodirana i nije pronađena alternativa!', - wrongBitrate: 'Pjesma nije pronađena u željenom bitrateu.', - wrongBitrateNoAlternative: 'Pjesma nije pronađena u željenom bitrateu i nije pronađena alternativa!', - no360RA: 'Pjesma nije dostupna u Reality Audio 360.', - notAvailable: 'Pjesma nije dostupna na Deezerovim serverima!', - notAvailableNoAlternative: 'Pjesma nije dostupna na Deezerovim serverima i alternativa nije pronađena!' - } - }, - favorites: { - title: 'Favoriti', - noPlaylists: 'Nisu pronađene playliste', - noAlbums: 'Omiljeni albumi nisu pronađeni', - noArtists: 'Omiljeni glazbenici nisu pronađeni', - noTracks: 'Omiljene pjesme nisu pronađene' - }, - home: { - needTologin: 'Trebate se prijaviti sa svojim Deezer računom kako biste mogli početi preuzimati pjesme.', - openSettings: 'Otvori postavke', - sections: { - popularPlaylists: 'Popularne playliste', - popularAlbums: 'Najpreslušaniji album' - } - }, - linkAnalyzer: { - info: 'Ovu sekciju možete koristiti kako biste saznali više informacija o linku koji pokušavate preuzeti.', - useful: - 'Ovo je korisno ako pokušavate preuzeti pjesme koje još nisu dostupne u vašoj zemlji i želite, na primjer, znati gdje su dostupne.', - linkNotSupported: 'Ovaj link još nije podržan', - linkNotSupportedYet: 'Čini se da ovaj link još nije podržan, pokušaj analizirati neki drugi.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Trajanje', - diskNumber: 'Broj diska', - trackNumber: 'Broj pjesme', - releaseDate: 'Datum izadavanja', - bpm: 'BPM', - label: 'Izdavačka kuća', - recordType: 'Vrsta zapisa', - genres: 'Žanrovi', - tracklist: 'Popis pjesama' - } - }, - search: { - startSearching: 'Počni pretraživati!', - description: - 'Možete pretražiti pjesmu, cijeli album, izvođača, playlistu... sve! Također, možete i zalijepiti Deezer link', - fans: '{n} obožavatelja', - noResults: 'Nema rezultata', - noResultsTrack: 'Pjesme nisu pronađene', - noResultsAlbum: 'Albumi nisu pronađeni', - noResultsArtist: 'Izvođači nisu pronađeni', - noResultsPlaylist: 'Playliste nisu pronađene' - }, - searchbar: 'Pretraži bilo što (ili samo zalijepi link)', - downloads: 'preuzimanja', - toasts: { - addedToQueue: '{item} dodan u red', - alreadyInQueue: '{item} je već u redu!', - finishDownload: '{item} završeno preuzimanje.', - allDownloaded: 'Sva preuzimanja završena!', - refreshFavs: 'Osvježavanje završeno!', - loggingIn: 'Prijavljivanje...', - loggedIn: 'Prijavljeni', - alreadyLogged: 'Već prijavljeni', - loginFailed: 'Prijava nije bila moguća', - loggedOut: 'Odjavljeni', - cancellingCurrentItem: 'Otkazujem trenutnu stavku.', - currentItemCancelled: 'Trenutna stavka otkazana.', - startAddingArtist: 'Dodajem {artist} album u red', - finishAddingArtist: 'Dodan {artist} album u red', - startConvertingSpotifyPlaylist: 'Pretvaram Spotify pjesme u Deezer pjesme', - finishConvertingSpotifyPlaylist: 'Spotify playlista pretvorena', - loginNeededToDownload: 'Trebate se prijaviti kako bi preuzeli pjesme!' - }, - settings: { - title: 'Postavke', - languages: 'Jezici', - login: { - title: 'Prijava', - loggedIn: 'Prijavljeni ste kao {username}', - arl: { - question: 'Kako da dobijem svoj ARL?', - update: 'Ažuriraj ARL' - }, - logout: 'Odjavi se' - }, - appearance: { - title: 'Izgled', - slimDownloadTab: 'Tanka kartica za preuzimanje' - }, - downloadPath: { - title: 'Putanja za preuzimanja' - }, - templates: { - title: 'Predlošci', - tracknameTemplate: 'Naziv pjesme predložak', - albumTracknameTemplate: 'Pjesma albuma predložak', - playlistTracknameTemplate: 'Pjesma playliste predložak' - }, - folders: { - title: 'Mape', - createPlaylistFolder: 'Izradi mapu za playliste', - playlistNameTemplate: 'Mapa za playliste predložak', - createArtistFolder: 'Izradi mapu za izvođača', - artistNameTemplate: 'Izvođač mapa predložak', - createAlbumFolder: 'Izradi mapu za album', - albumNameTemplate: 'Album mapa predložak', - createCDFolder: 'Izradi mapu za CD', - createStructurePlaylist: 'Strkturiraj mape za playliste', - createSingleFolder: 'Strukturiraj mape za singlove' - }, - trackTitles: { - title: 'Naslovi pjesama', - padTracks: 'Pad tracks', - paddingSize: 'Prepiši veličinu paddinga', - illegalCharacterReplacer: 'Zamjena za nedozvoljeni znak' - }, - downloads: { - title: 'Preuzimanja', - queueConcurrency: 'Istovremena preuzimanja', - maxBitrate: { - title: 'Željeni bitrate', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Trebam li prepisati datoteke?', - y: 'Da, prepiši datoteke', - n: 'Ne, nemoj prepisati datoteke', - t: 'Prepiši samo oznake', - b: 'Ne, zadrži obje datoteke i dodaj broj duplikatu' - }, - fallbackBitrate: 'Bitrate fallback', - fallbackSearch: 'Pretraživanje fallback', - logErrors: 'Izradi zapisnik datoteku za greške', - logSearched: 'Izradi zapisnik datoteku za pretražene pjesme', - createM3U8File: 'Izradi playlist datoteku', - syncedLyrics: 'Izradi .lyr datoteke (sinkronizirani lyrics)', - playlistFilenameTemplate: 'Naziv playliste predložak', - saveDownloadQueue: 'Spremi red za preuzimanje prilikom zatvaranja aplikacije' - }, - covers: { - title: 'Omoti albuma', - saveArtwork: 'Spremi omote', - coverImageTemplate: 'Naziv omota predložak', - saveArtworkArtist: 'Spremi sliku izvođača', - artistImageTemplate: 'Slika izvođača predložak', - localArtworkSize: 'Veličina lokalnog omota', - embeddedArtworkSize: 'Veličina ugrađenog omota', - localArtworkFormat: { - title: 'U kojem formatu želite lokalni omot?', - jpg: 'Jpeg slika', - png: 'Png slika', - both: 'I jpeg i png' - }, - jpegImageQuality: 'JPEG kvaliteta slike' - }, - tags: { - head: 'Koja oznake spremam', - title: 'Naslovi', - artist: 'Izvođač', - album: 'Album', - cover: 'Omot', - trackNumber: 'Broj pjesme', - trackTotal: 'Ukupno pjesama', - discNumber: 'Broj diska', - discTotal: 'Ukupno diskova', - albumArtist: 'Izvođač albuma', - genre: 'Žanr', - year: 'Godina', - date: 'Datum', - explicit: 'Eksplicitni lyrics', - isrc: 'ISRC', - length: 'Dužina pjesme', - barcode: 'Album barkod (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Izdavačka kuća albuma', - lyrics: 'Nesinkronizirani lyrics', - copyright: 'Autorska prava', - composer: 'Skladatelj', - involvedPeople: 'Uključeni ljudi' - }, - other: { - title: 'Ostalo', - savePlaylistAsCompilation: 'Spremi playliste kao kompilacije', - useNullSeparator: 'Koristi null razdvojnik', - saveID3v1: 'Spremi i ID3v1 također', - multiArtistSeparator: { - title: 'Kako biste željeli razdvojiti izvođače?', - nothing: 'Spremi samo glavnog izvođača', - default: 'Koristeći standardnu specifikaciju', - andFeat: 'Koristeći & i feat.', - using: 'Koristeći "{separator}"' - }, - singleAlbumArtist: 'Spremi samo izvođača glavnog albuma', - albumVariousArtists: 'Zadrži "Various Artists" u Izvođačima albuma', - removeAlbumVersion: 'Izbriši "Album Version" iz naziva pjesme', - removeDuplicateArtists: 'Izbriši kombinacije izvođača', - dateFormat: { - title: 'Format datuma za FLAC datoteke', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'Što trebam napraviti s istaknutim izvođačima? (feat. i ft.)', - 0: 'Ništa', - 1: 'Izbriši ih iz naziva', - 3: 'Izbriši ih iz naziva i iz naziva albuma', - 2: 'Premjesti ih u naziv' - }, - titleCasing: 'Veličina slova naslova', - artistCasing: 'Veličina slova izvođača', - casing: { - nothing: 'Zadrži nepromijenjeno', - lower: 'sve malo', - upper: 'sve VELIKO', - start: 'Početak Svake Riječi', - sentence: 'Kao rečenica' - }, - previewVolume: 'Volumen pregleda', - executeCommand: { - title: 'Naredba za izvršenje nakon preuzimanja', - description: 'Ostavi prazno za bez akcije' - } - }, - spotify: { - title: 'Spotify značajke', - clientID: 'Spotify ClientID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify korisničko ime' - }, - reset: 'Resetiraj na zadano', - save: 'Spremi', - toasts: { - init: 'Postavke učitane!', - update: 'Postavke ažurirane!', - ARLcopied: 'ARL kopiran u međuspremnik' - } - }, - sidebar: { - home: 'početna', - search: 'pretraživanje', - charts: 'ljestvice', - favorites: 'favoriti', - linkAnalyzer: 'analizator linka', - settings: 'postavke', - about: 'o programu' - }, - tracklist: { - downloadSelection: 'Preuzmi selekciju' - } -} - -export default hr diff --git a/webui-new/src/lang/id.js b/webui-new/src/lang/id.js deleted file mode 100644 index bacce94..0000000 --- a/webui-new/src/lang/id.js +++ /dev/null @@ -1,357 +0,0 @@ -const id = { - globals: { - welcome: 'Selamat datang di deemix', - back: 'kembali', - loading: 'memuat', - download: 'Mengunduh {thing}', - by: 'oleh {artist}', - in: 'di {album}', - download_hint: 'Unduh', - play_hint: 'Putar', - toggle_download_tab_hint: 'Buka/Tutup', - clean_queue_hint: 'Berhasil Mengosongkan', - cancel_queue_hint: 'Batalkan Semua', - listTabs: { - empty: '', - all: 'semua', - top_result: 'hasil teratas', - album: 'album | album', - artist: 'artis | artis', - single: 'singel | singel', - title: 'judul | judul', - track: 'lagu | lagu', - trackN: '0 lagu | {n} lagu | {n} lagu', - releaseN: '0 rilis | {n} rilis | {n} rilis', - playlist: 'daftar putar | daftar putar', - compile: 'kompilasi | kompilasi', - ep: 'ep | ep', - spotifyPlaylist: 'daftar putar spotify | daftar putar spotify', - releaseDate: 'tanggal rilis', - error: 'galat' - } - }, - about: { - titles: { - usefulLinks: 'Tautan Berguna', - bugReports: 'Laporan Kesalahan', - contributing: 'Kontirbutor', - donations: 'Donasi', - license: 'Lisensi' - }, - subtitles: { - bugReports: 'Ada yang tidak bekerja dengan baik di deemix? Beri tahu kami!', - contributing: 'Mau kontribusi dalam proyek ini? Kamu bisa lakukan dengan banyak hal!', - donations: 'Mau kontribusi secara finansial? Kamu bisa beri donasi!' - }, - usesLibrary: - 'Aplikasi ini menggunakan pustaka deemix, yang bisa kamu gunakan untuk membuat UI deemix milikmu sendiri.', - thanks: `Terima kasih kepada rtonno, uhwot dan lollilol yang telah membantuku dalam proyek ini, serta kepada BasCurtiz yang telah membuat ikon.`, - upToDate: { - text: `Ikuti {newsChannel} di Telegram agar tidak ketinggalan berita terbaru.`, - newsChannel: 'kanal berita deemix' - }, - officialWebsite: 'Situs Web Resmi', - officialRepo: 'Repositori Pustaka Resmi', - officialWebuiRepo: 'Repositori WebUI Resmi', - officialSubreddit: 'Subreddit Resmi', - newsChannel: 'Kanal Berita', - questions: { - text: `Kalau kamu punya pertanyaan atau masalah dengan aplikasi ini, tolong cari solusinya di {subreddit} kami terlebih dahulu. Kalau memang tidak ada, silakan buat pos baru berisikan persoalan tersebut.`, - subreddit: 'subreddit' - }, - beforeReporting: `Sebelum melaporkan masalah, pastikan kamu sudah memakai versi aplikasi terbaru dan hal yang akan kamu laporkan memang bukan kesalahan dari pihak kamu sendiri.`, - beSure: `Pastikan masalah tersebut bisa diemulasikan di mesin lain, dan juga JANGAN laporkan masalah yang sudah dilaporkan sebelumnya.`, - duplicateReports: 'Laporan duplikat akan kami tutup, jadi perhatikan baik-baik.', - dontOpenIssues: `JANGAN buka issue baru untuk mengirimkan pertanyaan, silakan lakukan di subreddit.`, - newUI: { - text: `Kalau kamu mahir pada python, kamu bisa coba membuat UI baru untuk aplikasi ini menggunakan pustaka dasar, atau membenarkan masalah di pustaka kami dengan melakukan pull request pada {repo} kami.`, - repo: 'repo' - }, - acceptFeatures: `Kami juga menerima fitur baru, tapi jangan yang terlalu kompleks, karena hal itu lebih baik diimplementasikan langsung di aplikasi daripada di pustaka.`, - otherLanguages: `Kalau kamu mahir dengan bahasa pemrograman lain, kamu bisa coba mentransfer deemix ke bahasa tersebut!`, - understandingCode: `Butuh bantuan untuk memahami kode deemix? Kontak RemixDev di Telegram atau Reddit.`, - contributeWebUI: { - text: `Kalau kamu paham Vue.js (JavaScript), HTML, atau CSS, kamu bisa berkontribusi pada {webui}.`, - webui: 'WebUI' - }, - itsFree: `Perlu diingat bahwa ini adalah proyek gratis dan dukung artis idolamu terlebih dahulu sebelum mendukung kami sebagai pengembang aplikasi.`, - notObligated: `Jangan merasa terpaksa untuk menyumbang, kami tetap menghargai kamu!`, - lincensedUnder: { - text: `Pekerjaan ini ada di bawah lisensi {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Tangga Lagu', - changeCountry: 'Ubah Negara', - download: 'Unduh Tangga Lagu' - }, - errors: { - title: 'Galat untuk {name}', - ids: { - invalidURL: 'URL tidak dikenal', - unsupportedURL: 'URL belum didukung', - ISRCnotOnDeezer: 'Lagu ISRC tidak tersedia di deezer', - notYourPrivatePlaylist: 'Kamu tidak bisa mengunduh daftar putar privat orang lain.', - spotifyDisabled: 'Fitur Spotify tidak diatur dengan benar.', - trackNotOnDeezer: 'Lagu tidak ditemukan di deezer!', - albumNotOnDeezer: 'Album tidak ditemukan di deezer!', - notOnDeezer: 'Lagu tidak ada di Deezer!', - notEncoded: 'Lagu belum di-encode!', - notEncodedNoAlternative: 'Lagu belum di-encode dan tidak ada alternatif lain!', - wrongBitrate: 'Lagu tidak tersedia pada bitrate yang diinginkan.', - wrongBitrateNoAlternative: 'Lagu tidak tersedia pada bitrate yang diinginkan dan tidak ada alternatif lain!', - no360RA: 'Lagu tidak tersedia pada Reality Audio 360.', - notAvailable: 'Lagu tidak tersedia pada server deezer!', - notAvailableNoAlternative: 'Lagu tidak tersedia pada server deezer dan tidak ada alternatif lain!' - } - }, - favorites: { - title: 'Favorit', - noPlaylists: 'Daftar Putar kosong', - noAlbums: 'Album Favorit kosong', - noArtists: 'Artis Favorit kosong', - noTracks: 'Lagu Favorit kosong' - }, - home: { - needTologin: 'Kamu harus masuk ke akun Deezer kamu sebelum bisa memulai pengunduhan.', - openSettings: 'Buka Pengaturan', - sections: { - popularPlaylists: 'Daftar putar populer', - popularAlbums: 'Album paling banyak diputar' - } - }, - linkAnalyzer: { - info: 'Di sini, kamu bisa mencari informasi lebih lanjut tentang tautan yang ingin kamu unduh.', - useful: - 'Contohnya, ini dapat berguna jika kamu ingin mengunduh lagu yang tidak tersedia di negaramu dan ingin tahu di negara mana lagu itu tersedia.', - linkNotSupported: 'Tautan seperti ini belum didukung', - linkNotSupportedYet: 'Sepertinya tautan ini belum didukung, silakan coba analisa tautan lain.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Durasi', - diskNumber: 'Nomor Disk', - trackNumber: 'Nomor Lagu', - releaseDate: 'Tanggal Rilis', - bpm: 'BPM', - label: 'Label', - recordType: 'Tipe Rekaman', - genres: 'Genre', - tracklist: 'Daftar Lagu' - } - }, - search: { - startSearching: 'Mulai cari!', - description: - 'Kamu bisa mencari lagu, album, artis, daftar putar.... apa pun! Kamu juga bisa memberikan tautan Deezer', - fans: '{n} fan', - noResults: 'Tak ada hasil', - noResultsTrack: 'Lagu tidak ditemukan', - noResultsAlbum: 'Album tidak ditemukan', - noResultsArtist: 'Artis tidak ditemukan', - noResultsPlaylist: 'Daftar putar tidak ditemukan' - }, - searchbar: 'Cari apa pun yang kamu mau (atau berikan tautannya saja)', - downloads: 'unduhan', - toasts: { - addedToQueue: '{item} ditambah ke antrian', - alreadyInQueue: '{item} sudah ada di antrian!', - finishDownload: '{item} selesai diunduh.', - allDownloaded: 'Seluruh unduhan selesai!', - refreshFavs: 'Penyegaran selesai!', - loggingIn: 'Masuk', - loggedIn: 'Telah masuk', - alreadyLogged: 'Telah masuk', - loginFailed: 'Tidak bisa masuk', - loggedOut: 'Belum masuk', - cancellingCurrentItem: 'Membatalkan item.', - currentItemCancelled: 'Item telah dibatalan.', - startAddingArtist: 'Menambahkan {artist} album ke antrian', - finishAddingArtist: '{artist} album telah ditambahkan ke antrian', - startConvertingSpotifyPlaylist: 'Mengonversi lagu spotify ke deezer', - finishConvertingSpotifyPlaylist: 'Daftar putar Spotify selesai dikonversi' - }, - settings: { - title: 'Pengaturan', - languages: 'Bahasa', - login: { - title: 'Masuk', - loggedIn: 'Kamu telah masuk sebagai {username}', - arl: { - question: 'Bagaimana cara mendapat ARL?', - update: 'Perbarui ARL' - }, - logout: 'Keluar' - }, - appearance: { - title: 'Tampilan', - slimDownloadTab: 'Tab unduhan ramping' - }, - downloadPath: { - title: 'Direktori Unduhan' - }, - templates: { - title: 'Templat', - tracknameTemplate: 'Templat judul lagu', - albumTracknameTemplate: 'Templat judul album', - playlistTracknameTemplate: 'Templat judul daftar putar' - }, - folders: { - title: 'Folders', - createPlaylistFolder: 'Buat folder untuk daftar putar', - playlistNameTemplate: 'Templat folder daftar putar', - createArtistFolder: 'Buat folder untuk artis', - artistNameTemplate: 'Templat folder artis', - createAlbumFolder: 'Buat folder untuk album', - albumNameTemplate: 'Templat folder album', - createCDFolder: 'Buat folder untuk CD', - createStructurePlaylist: 'Buat struktur folder untuk daftar putar', - createSingleFolder: 'Buat struktur folder untuk singel' - }, - trackTitles: { - title: 'Judul lagu', - padTracks: 'Judul pad', - paddingSize: 'Timpa ukuran padding', - illegalCharacterReplacer: 'Pengubah Simbol Tak Terdukung' - }, - downloads: { - title: 'Unduhan', - queueConcurrency: 'Unduhan Bersamaan', - maxBitrate: { - title: 'Bitrate Prioritas', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Apakah file mau ditimpa?', - y: 'Ya, silakan', - n: 'Tidak, jangan ditimpa', - t: 'Timpa tag-nya saja' - }, - fallbackBitrate: 'Rendahkan bitrate', - fallbackSearch: 'Cari bitrate lebih rendah', - logErrors: 'Buat file log untuk galat', - logSearched: 'Buat file log untuk lagu yang dicari', - createM3U8File: 'Buat file daftar putar', - syncedLyrics: 'Buat file .lyr (Sinkronisasikan Lirik)', - playlistFilenameTemplate: 'Templat nama file untuk daftar putar', - saveDownloadQueue: 'Simpan antrian pengunduhan saat menutup aplikasi' - }, - covers: { - title: 'Sampul album', - saveArtwork: 'Simpan Sampul', - coverImageTemplate: 'Templat nama sampul', - saveArtworkArtist: 'Simpan gambar artis', - artistImageTemplate: 'Templat gambar artis', - localArtworkSize: 'Ukuran sampul lokal', - embeddedArtworkSize: 'Ukuran sampul tertanam', - localArtworkFormat: { - title: 'Format gambar apa yang kamu mau untuk sampul lokal?', - jpg: 'Gambar JPEG', - png: 'Gambar PNG', - both: 'Keduanya' - }, - jpegImageQuality: 'Kualitas gambar JPEG' - }, - tags: { - head: 'Tag apa saja yang disimpan?', - title: 'Judul', - artist: 'Artis', - album: 'Album', - cover: 'Sampul', - trackNumber: 'Nomor Lagu', - trackTotal: 'Jumlah Lagu', - discNumber: 'Nomor Disk', - discTotal: 'Jumlah Disk', - albumArtist: 'Artis pada Album', - genre: 'Genre', - year: 'Tahun', - date: 'Tanggal', - explicit: 'Lirik Eksplisit', - isrc: 'ISRC', - length: 'Durasi', - barcode: 'Barcode Album (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Label Album', - lyrics: 'Lirik Tak Tersinkronisasi', - copyright: 'Hak Cipta', - composer: 'Komposer', - involvedPeople: 'Orang-Orang Terlibat' - }, - other: { - title: 'Lainnya', - savePlaylistAsCompilation: 'Simpan daftar putar sebagai kompilasi', - useNullSeparator: 'Gunakan separator null', - saveID3v1: 'Simpan juga ID3v1', - multiArtistSeparator: { - title: 'Bagaimana kamu mau memisahkan nama artis?', - nothing: 'Simpan artis utamanya saja', - default: 'Gunakan spesifikasi standard', - andFeat: 'Gunakan & dan feat.', - using: 'Gunakan "{separator}"' - }, - singleAlbumArtist: 'Simpan artis utama saja', - albumVariousArtists: 'Simpan "Various Artists" sebagai artis', - removeAlbumVersion: 'Hapus "Versi Album" dari judul lagu', - removeDuplicateArtists: 'Hapus kombinasi artis', - dateFormat: { - title: 'Format tanggal untuk file FLAC', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'Apa yang harus dilakukan jika ada artis kedua?', - 0: 'Biarkan saja', - 1: 'Hapus dari judul lagu', - 3: 'Hapus dari judul lagu dan judul album', - 2: 'Pindahkan ke judul lagu' - }, - titleCasing: 'Kapitalisasi judul', - artistCasing: 'Kapitalisasi album', - casing: { - nothing: 'Biarkan seadanya', - lower: 'huruf kecil', - upper: 'HURUF KAPITAL', - start: 'Setiap Awal Kata', - sentence: 'Huruf pertama saja' - }, - previewVolume: 'Pratinjau volume', - executeCommand: { - title: 'Perintah yang dijalankan setelah pengunduhan', - description: 'Biarkan kosong jika tidak ada' - } - }, - spotify: { - title: 'Fitur Spotify', - clientID: 'clientID Spotify ', - clientSecret: 'Client Secret Spotify ', - username: 'Username Spotify' - }, - reset: 'Kembalikan ke Awal', - save: 'Simpan', - toasts: { - init: 'Pengaturan dimuat!', - update: 'Pengaturan diperbarui!', - ARLcopied: 'ARL tersalin ke papan klip' - } - }, - sidebar: { - home: 'utama', - search: 'cari', - charts: 'tangga lagu', - favorites: 'favorit', - linkAnalyzer: 'penganalisa tautan', - settings: 'pengaturan', - about: 'tentang' - }, - tracklist: { - downloadSelection: 'Seleksi unduhan' - } -} - -export default id diff --git a/webui-new/src/lang/index.js b/webui-new/src/lang/index.js deleted file mode 100644 index e8ea3d7..0000000 --- a/webui-new/src/lang/index.js +++ /dev/null @@ -1,37 +0,0 @@ -import it from '@/lang/it' -import en from '@/lang/en' -import es from '@/lang/es' -import de from '@/lang/de' -import fr from '@/lang/fr' -import id from '@/lang/id' -import pt from '@/lang/pt-pt' -import pt_br from '@/lang/pt-br' -import ru from '@/lang/ru' -import tr from '@/lang/tr' -import vn from '@/lang/vn' -import hr from '@/lang/hr' -import ar from '@/lang/ar' -import ko from '@/lang/ko' -import ph from '@/lang/ph' -import zh_tw from '@/lang/zh-tw' -import pl from '@/lang/pl' - -export const locales = { - it, - en, - es, - de, - fr, - id, - pt, - pt_br, - ru, - tr, - vn, - hr, - ar, - ko, - ph, - zh_tw, - pl -} diff --git a/webui-new/src/lang/it.js b/webui-new/src/lang/it.js deleted file mode 100644 index f21ece7..0000000 --- a/webui-new/src/lang/it.js +++ /dev/null @@ -1,421 +0,0 @@ -const it = { - globals: { - welcome: 'Benvenuto su deemix', - back: 'indietro', - loading: 'caricamento', - download: 'Scarica {thing}', - by: 'di {artist}', - in: 'in {album}', - download_hint: 'Scarica', - play_hint: 'Riproduci', - toggle_download_tab_hint: 'Espandi/Riduci', - clean_queue_hint: 'Pulisci Lista', - cancel_queue_hint: 'Cancella tutti i download', - open_downloads_folder: 'Apri la cartella di download', - cut: 'taglia', - copy: 'copia', - copyLink: 'copia link', - copyImageLink: 'copia link immagine', - copyDeezerLink: 'copia link deezer', - paste: 'incolla', - listTabs: { - all: 'tutto', - top_result: 'miglior risultato', - album: 'album', - artist: 'artista | artisti', - single: 'singolo | singoli', - title: 'titolo | titoli', - track: 'brano | brani', - releaseN: '0 dischi | {n} disco | {n} dischi', - playlist: 'playlist', - compile: 'compilation', - bundle: 'collezione | collezioni', - ep: 'ep', - more: 'Altri album', - featured: 'Compare in', - spotifyPlaylist: 'playlist spotify', - releaseDate: 'data di uscita', - error: 'errore', - empty: '', - trackN: '0 brani | {n} brano | {n} brani', - albumN: '{n} album', - artistN: '0 artisti | {n} artista | {n} artisti', - playlistN: '{n} playlist' - } - }, - about: { - appStatus: { - online: 'app online', - offline: 'app offline' - }, - updates: { - currentVersion: 'Versione attuale', - currentWebuiVersion: 'Versione WebUI attuale', - versionNotAvailable: 'N/A', - updateAvailable: `Non stai usando l'ultima versione disponibile: {version}`, - deemixVersion: 'Versione libreria deemix' - }, - titles: { - usefulLinks: 'Link Utili', - bugReports: 'Segnalazione di bug', - contributing: 'Contribuire al progetto', - donations: 'Donazioni', - license: 'Licenza' - }, - subtitles: { - bugReports: "C'è qualcosa di deemix che non funziona? Faccelo sapere!", - contributing: 'Vuoi contribuire a questo progetto? Puoi farlo in più modi!', - donations: 'Vuoi dare una mano economicamente? Puoi fare una donazione!' - }, - usesLibrary: - 'Questa app utilizza la libreria deemix, che puoi utilizzare per creare la tua Interfaccia Utente per deemix.', - thanks: `Un ringraziamento a rtonno, uhwot e lollilol per l'aiuto che mi stanno dando in questo progetto e a BasCurtiz per aver creato l'icona.`, - upToDate: { - text: `Rimani al passo con gli ultimi aggiornamenti seguendo il {newsChannel} su Telegram.`, - newsChannel: 'canale delle news' - }, - officialWebsite: 'Sito Ufficiale', - officialRepo: 'Repository Ufficiale della Libreria', - officialWebuiRepo: `Repository Ufficiale dell'Interfaccia Web`, - officialSubreddit: 'Subreddit Ufficiale', - newsChannel: 'Canale delle news', - questions: { - text: `Se dovessi avere domande o problemi con l'app, cerca prima una soluzione nel {subreddit}. Se non trovi nulla, puoi postare li il tuo problema.`, - subreddit: 'subreddit ufficiale' - }, - beforeReporting: `Prima di segnalare un problema controlla che quella che stai usando sia l'ultima versione dell'app e che ciò che vuoi segnalare sia effettivamente un problema e non qualcosa che non funziona solamente a te.`, - beSure: `Assicurati che il problema sia riproducibile su altri PC e NON segnalare un problema che è già stato segnalato.`, - duplicateReports: 'Le segnalazioni doppie verranno chiuse, tienilo presente.', - dontOpenIssues: `NON aprire issues per porre domande, per quello esiste un subreddit.`, - newUI: { - text: `Se te la cavi in python puoi provare a creare una nuova Interfaccia Utente per l'app usando la libreria base, oppure puoi correggere dei problemi nella libreria con una pull request nella {repo}.`, - repo: 'repo' - }, - acceptFeatures: `Accetto anche funzionalità, ma non cose complesse, dato che possono essere implementate direttamente nell'app invece che nella libreria.`, - otherLanguages: `Se te la cavi in altri linguaggi di programmazione, puoi provare a scrivere deemix in quei linguaggi!`, - understandingCode: `Serve aiuto per capire il codice? Scrivi a RemixDev su Telegram o Reddit`, - contributeWebUI: { - text: `Se te la cavi con Vue.js (JavaScript), HTML o CSS, puoi contribuire alla {webui}.`, - webui: 'WebUI' - }, - itsFree: `Ricordati che questo è un progetto gratuito e che dovresti supportare gli artisti che ami prima di supportare gli sviluppatori.`, - notObligated: `Non sentirti obbligato a donare, mi stai simpatico lo stesso!`, - lincensedUnder: { - text: `Questo progetto è sotto la licenza {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Classifiche', - changeCountry: 'Cambia Paese', - download: 'Scarica Classifica' - }, - errors: { - title: 'Errori riguardanti {name}', - ids: { - invalidURL: 'URL non riconosciuto', - unsupportedURL: 'URL non ancora supportato', - ISRCnotOnDeezer: 'Questo ISRC non è disponibile su Deezer', - notYourPrivatePlaylist: 'Non puoi scaricare le playlist private degli altri.', - spotifyDisabled: 'Spotify Features non è impostato correttamente.', - trackNotOnDeezer: 'Brano non trovato su Deezer!', - albumNotOnDeezer: 'Album non trovato su Deezer!', - notOnDeezer: 'Brano non disponibile su Deezer!', - notEncoded: 'Brano non ancora codificato!', - notEncodedNoAlternative: 'Brano non ancora codificato e nessuna alternativa trovata!', - wrongBitrate: 'Brano non trovato con il bitrate specificato.', - wrongBitrateNoAlternative: 'Brano non trovato con il bitrate specificato e nessuna alternativa trovata!', - no360RA: 'Brano non disponibile in Reality Audio 360.', - notAvailable: 'Brano non presente sui server di Deezer!', - notAvailableNoAlternative: 'Brano non presente sui server di Deezer e nessuna alternativa trovata!', - noSpaceLeft: 'Spazio su disco esaurito!', - albumDoesntExists: 'Il brano non ha nessun album, impossibile ottenere informazioni' - } - }, - favorites: { - title: 'Preferiti', - noPlaylists: 'Nessuna Playlist preferita trovata', - noAlbums: 'Nessun Album preferito trovato', - noArtists: 'Nessun Artista preferito trovato', - noTracks: 'Nessun Brano preferito trovato' - }, - home: { - needTologin: 'Devi accedere al tuo account Deezer, fino a quel momento non potrai scaricare nulla.', - openSettings: 'Apri le impostazioni', - sections: { - popularPlaylists: 'Playlist Popolari', - popularAlbums: 'Album più riprodotti' - } - }, - linkAnalyzer: { - info: - 'Puoi utilizzare questa sezione per avere più informazioni riguardanti il link che stai cercando di scaricare.', - useful: - 'Ciò può esserti utile se stai cercando di scaricare brani che non sono disponibili nel tuo Paese e vuoi sapere in quale Paese sono invece disponibili, per esempio.', - linkNotSupported: 'Questo link non è ancora supportato', - linkNotSupportedYet: 'Sembra che questo link non sia ancora supportato, prova ad analizzarne un altro.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Durata', - diskNumber: 'Numero Disco', - trackNumber: 'Numero Traccia', - releaseDate: 'Data di uscita', - bpm: 'BPM', - label: 'Etichetta', - recordType: 'Tipologia di registrazione', - genres: 'Generi', - tracklist: 'Lista tracce' - } - }, - search: { - startSearching: 'Inizia a cercare!', - description: - 'Puoi cercare un brano, un intero album, un artista, una playlist.... quello che vuoi! Puoi anche incollare un link di Deezer', - fans: '{n} fan', - noResults: 'Nessun risultato', - noResultsTrack: 'Nessun brano trovato', - noResultsAlbum: 'Nessun album trovato', - noResultsArtist: 'Nessun artista trovato', - noResultsPlaylist: 'Nessuna playlist trovata' - }, - searchbar: 'Cerca qualsiasi cosa (o incolla semplicemente un link)', - downloads: 'download', - toasts: { - restoringQueue: 'Ripristinando la coda di download...', - queueRestored: 'Coda di download ripristinata!', - addedToQueue: '{item} aggiunto alla coda', - addedMoreToQueue: '{n} oggetti aggiunti alla coda', - alreadyInQueue: '{item} è già nella coda!', - finishDownload: '{item} ha finito di scaricarsi.', - allDownloaded: 'Tutti i download completati!', - refreshFavs: 'Preferiti ricaricati!', - loggingIn: 'Effettuando il login...', - loggedIn: 'Login effettuato', - alreadyLogged: 'Sei già loggato', - loginFailed: 'Impossibile loggarsi', - loggedOut: 'Disconnesso', - cancellingCurrentItem: 'Cancellando download corrente.', - currentItemCancelled: 'Download corrente cancellato.', - startAddingArtist: 'Aggiungendo gli album di {artist} alla coda', - finishAddingArtist: 'Aggiunto gli album di {artist} alla coda', - startConvertingSpotifyPlaylist: 'Convertendo i brani da spotify a deezer', - finishConvertingSpotifyPlaylist: 'Playlist di spotify convertita', - loginNeededToDownload: 'Devi accedere prima di poter scaricare brani!', - deezerNotAvailable: 'Deezer non è disponibile nel tuo paese. Dovresti usare una VPN.', - startGeneratingItems: 'Elaborando {n} oggetti...', - finishGeneratingItems: '{n} oggetti generati.' - }, - settings: { - title: 'Impostazioni', - languages: 'Lingue', - login: { - title: 'Login', - loggedIn: 'Sei loggato come {username}', - arl: { - question: 'Come ottengo il mio ARL?', - update: 'Aggiorna ARL' - }, - logout: 'Disconnettiti', - login: 'Accedi tramite deezer.com' - }, - loginWithCredentials: { - title: 'Login con credentiali', - login: 'Login' - }, - appearance: { - title: 'Aspetto', - slimDownloadTab: 'Tab dei download slim', - slimSidebar: 'Sidebar slim' - }, - downloadPath: { - title: 'Cartella di download' - }, - templates: { - title: 'Template', - tracknameTemplate: 'Template nome brano', - tracknameAvailableVariables: 'Variabili nome brano disponibili', - albumTracknameTemplate: 'Template nome brano negli Album', - albumTracknameAvailableVariables: 'Variabili nome brano negli Album disponibili', - playlistTracknameTemplate: 'Template nome brano nelle Playlist', - playlistTracknameAvailableVariables: 'Variabili nome brano nelle Playlist disponibili' - }, - folders: { - title: 'Cartelle', - createPlaylistFolder: 'Crea cartelle per le Playlist', - playlistNameTemplate: 'Template nome della cartella Playlist', - createArtistFolder: 'Crea cartelle per gli Artisti', - artistNameTemplate: 'Template nome della cartella Artista', - createAlbumFolder: 'Crea cartelle per gli Album', - albumNameTemplate: 'Template nome della cartella Album', - createCDFolder: 'Crea cartelle per i CD', - createStructurePlaylist: 'Crea la struttura di cartelle per le Playlist', - createSingleFolder: 'Crea la struttura di cartelle per i brani singoli' - }, - trackTitles: { - title: 'Titoli brani', - padTracks: 'Aggiungi zeri ai numeri di traccia', - paddingSize: 'Sovrascrivi il numero di zeri da aggiungere', - illegalCharacterReplacer: 'Rimpiazza caratteri illegali con' - }, - downloads: { - title: 'Download', - queueConcurrency: 'Download simultanei', - maxBitrate: { - title: 'Bitrate preferito', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Dovrei sovrascrivere i file già scaricati?', - y: 'Si, sovrascrivi i file', - n: 'No, non sovrascrivere i file', - t: 'Sovrascrivi solo i tag', - b: 'No, mantieni entrambi i file e aggiungi un numero al duplicato', - e: 'No, e non tener conto della estensione del file' - }, - fallbackBitrate: 'Utilizza bitrate più bassi se il bitrate preferito non è disponibile', - fallbackSearch: 'Cerca il brano se il link originale non è disponibile', - logErrors: 'Crea file di log per gli errori', - logSearched: 'Crea file di log per le alternative cercate', - syncedLyrics: 'Crea i file .lyr (Testi Sincronizzati)', - createM3U8File: 'Crea i file playlist', - playlistFilenameTemplate: 'Template nome del file playlist', - saveDownloadQueue: "Salva la coda di download quando chiudi l'app" - }, - covers: { - title: 'Copertine', - saveArtwork: 'Salva copertina album', - coverImageTemplate: 'Template nome copertina album', - saveArtworkArtist: 'Salva copertina artista', - artistImageTemplate: 'Template nome copertina artista', - localArtworkSize: 'Dimensioni copertine locali', - embeddedArtworkSize: 'Dimensioni copertine incorporate', - localArtworkFormat: { - title: 'Come vuoi salvare le copertine locali?', - jpg: 'In jpeg', - png: 'In png', - both: 'Sia in jpeg che in png' - }, - jpegImageQuality: 'Qualità immagine JPEG', - embeddedArtworkPNG: 'Salva copertina incorporata come PNG', - embeddedPNGWarning: 'Le immagini PNG non sono usate ufficialmente da Deezer e potrebbero dare problemi', - imageSizeWarning: - 'Dimensioni maggiori di x1200 non sono usate ufficialmente da Deezer, potresti incontrare problemi', - coverDescriptionUTF8: 'Salva la descrizione della copertina in UTF8 (iTunes Cover Fix)' - }, - tags: { - head: 'Quali tag salvare', - title: 'Titolo', - artist: 'Artista', - album: 'Album', - cover: 'Copertina', - trackNumber: 'Numero Traccia', - trackTotal: 'Tracce Totali', - discNumber: 'Numero Disco', - discTotal: 'Dischi Totali', - albumArtist: "Artista dell'album", - genre: 'Genere', - year: 'Anno', - date: 'Data', - explicit: 'Testo Esplicito', - isrc: 'ISRC', - length: 'Durata Traccia', - barcode: "Barcode dell'album (UPC)", - bpm: 'BPM', - replayGain: 'Replay gain', - label: 'Casa Discografica', - lyrics: 'Testo non Sincronizzato', - syncedLyrics: 'Testo Sincronizzato', - copyright: 'Copyright', - composer: 'Compositori', - involvedPeople: 'Persone Coinvolte', - source: 'Sorgente e ID brano' - }, - other: { - title: 'Altro', - savePlaylistAsCompilation: 'Salva le playlist come Compilation', - useNullSeparator: 'Usa il carattere NULL come separatore', - saveID3v1: "Salva anche l'ID3v1", - multiArtistSeparator: { - title: 'Come vuoi separare gli artisti?', - nothing: "Salva solo l'artista principale", - default: 'Usando la specificazione standard', - andFeat: 'Usando & e feat.', - using: 'Usando "{separator}"' - }, - singleAlbumArtist: "Salva solo l'artista dell'album principale", - albumVariousArtists: 'Lascia "Artisti Vari" negli artisti dell\'album', - removeAlbumVersion: 'Rimuovi "Album Version" dal titolo del brano', - removeDuplicateArtists: 'Rimuovi le combinazioni di artisti', - dateFormat: { - title: 'Formato della data per i file FLAC', - year: 'AAAA', - month: 'MM', - day: 'GG' - }, - featuredToTitle: { - title: 'Cosa dovrei fare con i feat?', - 0: 'Niente', - 1: 'Rimuovili dal titolo', - 3: "Rimuovili dal titolo e dal nome dell'album", - 2: 'Spostali sul titolo' - }, - titleCasing: 'Formato testo dei titoli', - artistCasing: 'Formato testo degli artisti', - casing: { - nothing: 'Non cambiare', - upper: 'TUTTO MAIUSCOLO', - lower: 'tutto minuscolo', - start: 'Prima Lettera Maiuscola', - sentence: 'Come una frase' - }, - previewVolume: 'Volume Anteprime', - executeCommand: { - title: 'Comando da eseguire dopo il download', - description: 'Lascia vuoto per nessuna azione' - } - }, - spotify: { - title: 'Spotify Features', - clientID: 'Spotify clientID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify username', - question: 'Come attivo le Spotify Features?' - }, - reset: 'Reimposta Default', - resetMessage: 'Sei sicuro di voler tornare alle impostazioni di default?', - save: 'Salva', - toasts: { - init: 'Impostazioni caricate!', - update: 'Impostazioni aggiornate!', - reset: 'Impostazioni di default ripristinate!', - ARLcopied: 'ARL copiato negli appunti' - }, - logs: { - title: 'Log', - areLogsActive: 'Attivi' - } - }, - sidebar: { - home: 'home', - search: 'ricerca', - charts: 'classifiche', - favorites: 'preferiti', - linkAnalyzer: 'analizza link', - settings: 'impostazioni', - logs: 'log', - about: 'info' - }, - tracklist: { - downloadSelection: 'Scarica selezionati' - }, - logs: { - event: 'Evento', - data: 'Dati' - } -} - -export default it diff --git a/webui-new/src/lang/ko.js b/webui-new/src/lang/ko.js deleted file mode 100644 index a04a039..0000000 --- a/webui-new/src/lang/ko.js +++ /dev/null @@ -1,406 +0,0 @@ -const ko = { - globals: { - welcome: '잘왔다, deemix에', - back: '뒤로', - loading: '불러오는 중', - download: '{thing} 다운로드', - by: 'by {artist}', - in: 'in {album}', - download_hint: '다운로드', - play_hint: '재생', - toggle_download_tab_hint: '펼치기/접기', - clean_queue_hint: '비우기 완료', - cancel_queue_hint: '모두 취소', - open_downloads_folder: '다운로드 폴더 열기', - cut: '잘라내기', - copy: '복사', - copyLink: '링크 복사', - copyImageLink: '이미지 링크 복사', - copyDeezerLink: 'deezer 링크 복사', - paste: '붙여넣기', - listTabs: { - empty: '', - all: '전체', - top_result: '가장 일치하는 결과', - album: '앨범 | 앨범', - artist: '아티스트 | 아티스트', - single: '싱글 | 싱글', - title: '제목 | 제목', - track: '트랙 | 트랙', - releaseN: '0 발매 | {n} 발매 | {n} 발매', - playlist: '재생목록 | 재생목록', - compile: '편찬물 | 편찬물', - ep: 'ep | eps', - bundle: '번들 | 번들', - more: '더 많은 앨범', - featured: '특집', - spotifyPlaylist: '스포티파이 재생목록 | 스포티파이 재생목록', - releaseDate: '발매일자', - error: '오류', - trackN: '0 트랙 | {n} 트랙 | {n} 트랙', - albumN: '0 앨범 | {n} 앨범 | {n} 앨범', - artistN: '0 아티스트 | {n} 아티스트 | {n} 아티스트', - playlistN: '0 재생목록 | {n} 재생목록 | {n} 재생목록' - } - }, - about: { - appStatus: { - online: '프로그램 온라인', - offline: '프로그램 오프라인' - }, - updates: { - currentVersion: '현재 버전', - currentWebuiVersion: '현재 WebUI 버전', - versionNotAvailable: 'N/A', - updateAvailable: `최신버전으로 업데이트 할 수 있습니다: {version}`, - deemixVersion: 'deemix lib 버전' - }, - titles: { - usefulLinks: '유용한 링크', - bugReports: '버그 제보', - contributing: '기여자', - donations: '후원', - license: '이용정책' - }, - subtitles: { - bugReports: '무언가 안되는 것이 있다고요? 말해주세요!', - contributing: '이 프로젝트에 기여하고 싶다고요? 어렵지 않아요!', - donations: '금전적으로 지원하고 싶다고요? 후원하세요!' - }, - usesLibrary: - '이 프로그램은 deemix 라이브러리를 사용합니다, 해당 라이브러리로 자신만의 deemix를 만들 수 있습니다.', - thanks: `이 프로젝트를 도와준 rtonno, uhwot 그리고 lollilol님과 아이콘을 만들어준 BasCurtiz 그리고 scarvimane님에게 감사를.`, - upToDate: { - text: `새로운 업데이트 소식을 듣고 싶으면 텔레그램 {newsChannel}을 참고하세요.`, - newsChannel: '새소식 정보통' - }, - officialWebsite: '공식 웹사이트', - officialRepo: '공식 라이브러리 저장소', - officialWebuiRepo: '공식 WebUI 저장소', - officialSubreddit: '공식 서브레딧', - newsChannel: '새 소식 알리미', - questions: { - text: `프로그램에 대한 질문이나 문제에 관한 것은, 먼저 {subreddit}에서 답변을 검색해보세요. 그리고, 서브레딧에서 답변을 찾기 못한 경우에 다음 순서를 이용해주세요.`, - subreddit: '서브레딧' - }, - beforeReporting: `버그 제보를 하기 전에 먼저 최신 버전의 프로그램을 실행하고 있는지, 제보하고자 하는 것이 버그이지 오로지 당신의 목적을 이루기 위한 요구가 아님을 확인해주세요.`, - beSure: `해당 버그가 다른 장치에서도 재현이 가능한지 확인하고 이미 제보된 버그의 경우에는 중복해서 보고하지 마세요.`, - duplicateReports: '중복된 버그 제보의 경우는 해당 요청을 닫을 것이니, 두 눈 뜨고 지켜보세요.', - dontOpenIssues: `질문에 관한 것은 이슈를 열지 마세요, 서브레딧이 있습니다.`, - newUI: { - text: `만약 당신이 파이썬에 능통하고 기본적인 라이브러리를 이용하여 새로운 UI를 만들었거나, 라이브러리의 버그를 수정하였다면 {repo}에 풀 리퀘스트 해주세요.`, - repo: '저장소' - }, - acceptFeatures: `복잡하지 않은 기능 추가도 받습니다, 라이브러리가 아닌 앱에서 직접 구현할 수 있는 것으로요.`, - otherLanguages: `당신이 다른 프로그램 언어에 능통하면, 이 deemix 프로그램을 다른 프로그래밍 언어로 포팅할 수도 있습니다!`, - understandingCode: `코드를 이해하는 데 도움이 필요합니까? 위에 있는 RemixDev, 텔레그램, 서브레딧 링크를 누르세요.`, - contributeWebUI: { - text: `만약 당신이 Vue.js (JavaScript), HTML 또는 CSS 개발자라면 {webui}에 도움을 주세요.`, - webui: 'WebUI' - }, - itsFree: `사용하기 전에 이 프로그램이 무료 프로젝트이고 개발자를 지원하기 전에 예술가들을 먼저 지원해야 함을 기억하세요.`, - notObligated: `기부는 프로젝트를 지속할 수 있는 동력이 됩니다!`, - lincensedUnder: { - text: `이 작업이 요구하고 있는 라이센스는 아래와 같습니다 {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: '차트', - changeCountry: '국가 변경', - download: '차트 다운로드' - }, - errors: { - title: '오류 발생: {name}', - ids: { - unsupportedURL: 'URL 지원 누락', - invalidURL: 'URL 인식 실패', - ISRCnotOnDeezer: '트랙 코드 식별이 불가능합니다', - notYourPrivatePlaylist: '다른 사람의 비공개 재생 목록을 다운로드 할 수 없습니다.', - spotifyDisabled: '스포티파이 기능이 올바르게 설정되지 않았습니다.', - trackNotOnDeezer: 'Deezer에서 트랙을 찾을 수 없습니다!', - albumNotOnDeezer: 'Deezer에서 앨범을 찾을 수 없습니다!', - notOnDeezer: 'Deezer에서 트랙을 찾을 수 없습니다!', - notEncoded: '트랙이 아직 변환(encode)되지 않았습니다!', - notEncodedNoAlternative: '트랙이 아직 변환(encode)되지 않았을 뿐더러 대체할 것을 찾지 못했습니다!', - wrongBitrate: '요구하는 비트레이트의 트랙을 찾을 수 없습니다.', - wrongBitrateNoAlternative: '요구하는 비트레이트를 찾을 수 없을 뿐더러 대체할 것을 찾지 못했습니다!', - no360RA: '해당 트랙은 360 리얼리티 오디오에 존재하지 않습니다.', - notAvailable: '해당 트랙은 Deezer 서버에 존재하지 않습니다!', - notAvailableNoAlternative: '해당 트랙은 Deezer 서버에 존재하지 않을 뿐더러 대체할 것을 찾지 못했습니다!', - noSpaceLeft: '장치에 여유 공간이 없습니다!', - albumDoesntExists: '트랙의 앨범이 존재하지 않습니다, 정보 수집에 실패했습니다.' - } - }, - favorites: { - title: '즐겨듣는 음악', - noPlaylists: '즐겨듣는 재생목록이 없습니다', - noAlbums: '즐겨듣는 앨범이 없습니다', - noArtists: '즐겨듣는 아티스트가 없습니다', - noTracks: '즐겨듣는 트랙이 없습니다' - }, - home: { - needTologin: '다운로드를 시작하기 전에 Deezer 계정에 로그인을 해야합니다.', - openSettings: '설정 열기', - sections: { - popularPlaylists: '인기있는 재생목록', - popularAlbums: '가장 많이 재생된 앨범' - } - }, - linkAnalyzer: { - info: '이 항목에서는 다운로드를 시도할 링크에 대한 더 많은 정보를 찾을 수 있습니다.', - useful: '접속한 국가에서는 재생할 수 없는 특정 트랙을 다운로드 하기 위해서 가능한 국가를 찾는데 유용하게 쓰입니다.', - linkNotSupported: '해당 링크는 아직 지원하지 않습니다', - linkNotSupportedYet: '해당 링크는 아직 지원하지 않습니다, 다른 링크로 시도해보세요.', - - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: '길이', - diskNumber: '디스크 번호', - trackNumber: '트랙 번호', - releaseDate: '발매일자', - bpm: 'BPM', - label: '라벨', - recordType: '녹음 종류', - genres: '장르', - tracklist: '트랙목록' - } - }, - search: { - startSearching: '검색을 해보세요!', - description: '트랙, 아티스트, 재생목록, Deezer 링크 등으로 검색할 수 있습니다!', - - fans: '{n}명의 팬들', - noResults: '결과 없음', - noResultsTrack: '발견된 트랙 없음', - noResultsAlbum: '발견된 앨범 없음', - noResultsArtist: '발견된 아티스트 없음', - noResultsPlaylist: '발견된 재생목록 없음' - }, - searchbar: '원하는 것을 검색하세요 (링크를 붙여넣을 수도 있습니다)', - downloads: '다운로드들', - toasts: { - restoringQueue: '다운로드 대기 열 복원중...', - queueRestored: '다운로드 대기 열이 복원되었습니다!', - addedToQueue: '대기열에 {item}(이)가 추가되었습니다', - addedMoreToQueue: '대기열에 {n} 항목이 추가되었습니다', - alreadyInQueue: '{item}(이)가 이미 대기열에 존재합니다!', - finishDownload: '{item} 항목이 다운로드 완료되었습니다.', - allDownloaded: '모든 다운로드가 완료되었습니다!', - refreshFavs: '새로고침이 완료되었습니다!', - loggingIn: '로그인 하는 중...', - loggedIn: '로그인 되었습니다', - alreadyLogged: '이미 로그인되어 있습니다', - loginFailed: '로그인 할 수 없습니다', - loggedOut: '로그아웃 하였습니다', - cancellingCurrentItem: '현재 항목을 취소 중입니다.', - currentItemCancelled: '항목이 취소되었습니다.', - startAddingArtist: '{artist} 앨범을 대기열에 추가 중입니다', - finishAddingArtist: '{artist} 앨범이 대기열에 추가되었습니다', - startConvertingSpotifyPlaylist: '스포티파이 트랙을 Deezer 트랙으로 전환 중입니다', - finishConvertingSpotifyPlaylist: '스프토파이 재생 목록이 전환되었습니다', - loginNeededToDownload: '트랙을 다운로드하려면 로그인이 필요합니다!', - deezerNotAvailable: 'Deezer 사이트는 현재 귀하의 국가에서 사용이 불가능합니다. VPN을 사용하세요.', - startGeneratingItems: '{n}개의 항목 진행중...', - finishGeneratingItems: '{n}개의 항목 생성.' - }, - settings: { - title: '설정', - languages: '언어', - login: { - title: '로그인', - loggedIn: '{username}(으)로 로그인되었습니다', - arl: { - question: 'ARL을 어떻게 확인합니까?', - update: 'ARL 업데이트' - }, - logout: '로그아웃', - question: '스포티파이 기능들을 쓰려면 어떻게 해야합니까?' - }, - appearance: { - title: '외관', - slimDownloadTab: '얇은 다운로드 탭', - slimSidebar: '얇은 사이드바' - }, - downloadPath: { - title: '다운로드 경로' - }, - templates: { - title: '템플릿', - tracknameTemplate: '트랙이름 템플릿', - tracknameAvailableVariables: '사용가능한 트랙이름 변수 목록', - albumTracknameTemplate: '앨범 트랙 템플릿', - albumTracknameAvailableVariables: '사용가능한 앨범 트랙 변수 목록', - playlistTracknameTemplate: '재생목록 트랙 템플릿', - playlistTracknameAvailableVariables: '사용가능한 재생 목록 트랙 변수 목록' - }, - folders: { - title: '폴더', - createPlaylistFolder: '재생목록을 위한 폴더 생성', - playlistNameTemplate: '재생목록 폴더 템플릿', - createArtistFolder: '아티스트를 위한 폴더 생성', - artistNameTemplate: '아티스트 폴더 템플릿', - createAlbumFolder: '앨범을 위한 폴더 생성', - albumNameTemplate: '앨범 폴더 템플릿', - createCDFolder: 'CD를 위한 폴더 생성', - createStructurePlaylist: '재생목록을 위한 폴더 구조 생성', - createSingleFolder: '싱글 앨범을 위한 폴더 구조 생성' - }, - trackTitles: { - title: '트랙 제목', - padTracks: '트랙 채워넣기', - paddingSize: '채워넣을 크기', - illegalCharacterReplacer: '지원하지 않는 글자 대체' - }, - downloads: { - title: '다운로드', - queueConcurrency: '동시 다운로드', - maxBitrate: { - title: '선호하는 비트레이트', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: '파일을 덮어쓸까요?', - y: '네, 파일을 덮어쓰세요', - n: '아뇨, 파일을 덮어쓰지 마세요', - t: '태그만 덮어쓰세요', - b: '아뇨, 양쪽 다 놔두고 중복되는 파일에 번호를 추가하세요', - e: '아뇨, 확장명을 변경하세요' - }, - fallbackBitrate: '비트레이트 대비책', - fallbackSearch: '검색 대비책', - logErrors: '오류 발생시 로그 파일 생성', - logSearched: '검색한 트랙에 대한 로그 파일 생성', - createM3U8File: '재생목록 파일 생성', - syncedLyrics: '.lyr 파일 생성 (가사 동기화)', - playlistFilenameTemplate: '재생목록 파일이름 템플릿', - saveDownloadQueue: '프로그램을 닫을 때 다운로드 대기열 저장' - }, - covers: { - title: '앨범 커버', - saveArtwork: '커버 저장', - coverImageTemplate: '커버 이름 템플릿', - saveArtworkArtist: '아티스트 이미지 저장', - artistImageTemplate: '아티스트 이미지 템플릿', - localArtworkSize: '외부 저장 그림 크기', - embeddedArtworkSize: '내부 저장 그림 크기', - localArtworkFormat: { - title: '별도로 저장할 그림의 형식을 무엇으로 하시겠습니까?', - jpg: 'jpeg 이미지', - png: 'png 이미지', - both: 'jpeg와 png 둘 다' - }, - jpegImageQuality: 'JPEG 이미지 품질', - embeddedArtworkPNG: '포함된 그림의 형식을 PNG로 저장합니다', - embeddedPNGWarning: 'PNG는 Deezer에서 공식적으로 지원하지 않기 때문에 버그가 있을 수 있습니다', - imageSizeWarning: 'x1200 크기를 초과해서는 Deezer에서 공식적으로 사용되지 않기 때문에 문제가 생길 수 있습니다', - coverDescriptionUTF8: '커버 설명을 UTF8 포맷을 이용해 저장합니다 (iTunes 커버 오류 해결)' - }, - tags: { - head: '저장할 태그를 선택하세요', - title: '제목', - artist: '아티스트', - album: '앨범', - cover: '커버', - trackNumber: '트랙 번호', - trackTotal: '전체 트랙 크기', - discNumber: '디스크 번호', - discTotal: '전체 디스크 수', - albumArtist: '앨범 아티스트', - genre: '장르', - year: '연도', - date: '일자', - explicit: '노골적 가사', - isrc: 'ISRC', - length: '트랙 길이', - barcode: '앨범 바코드 (UPC)', - bpm: 'BPM', - replayGain: '리플레이 게인', - label: '앨범 라벨', - lyrics: '비동기 가사', - - copyright: '저작권', - composer: '작곡가', - involvedPeople: '관련있는 사람들', - source: '소스와 음악 ID' - }, - other: { - title: '기타', - savePlaylistAsCompilation: '재생목록을 편찬물로 저장', - useNullSeparator: 'null 구분자 사용', - saveID3v1: 'ID3v1 태그 형식으로 저장', - multiArtistSeparator: { - title: '아티스트를 어떻게 구분하시겠습니까?', - nothing: '주요 아티스트만 저장', - default: '표준 스펙을 사용', - andFeat: '& 기호와 feat 사용.', - using: '"{separator}" 사용' - }, - singleAlbumArtist: '주요 앨범 아티스트만 저장', - albumVariousArtists: '앨범 아티스트에 "Various Artists"(다양한 아티스트들) 유지', - removeAlbumVersion: '트랙 제목에 "Album Version"(앨범 버전) 제거', - removeDuplicateArtists: '아티스트들의 협업 제거', - dateFormat: { - title: 'FLAC 파일의 날짜 형식', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: '특집에 참여한 아티스트들에 할 수 있는 것이 무엇이 있나요?', - 0: '아무것도 하지 않음', - 1: '제목에서 제거', - 3: '앨범 제목과 트랙에서 제거', - 2: '제목으로 이동' - }, - titleCasing: '제목 케이싱', - artistCasing: '아티스트 케이싱', - casing: { - nothing: '변함없이 유지', - lower: '소문자로', - upper: '대문자로', - start: '각 단어 앞 글자를 대문자로', - sentence: '문장처럼' - }, - previewVolume: '미리듣기 볼륨', - executeCommand: { - title: '다운로드 후 실행할 명령어', - description: '빈칸으로 두면 아무 일도 없습니다' - } - }, - spotify: { - title: '스포티파이 기능', - clientID: 'Spotify ClientID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify 사용자이름', - question: '스포티파이 기능들을 사용하려면 어떻게 해야 합니까?' - }, - reset: '기본 설정으로 초기화', - resetMessage: '정말 기본 설정으로 돌아가시겠습니까?', - save: '저장', - toasts: { - init: '설정을 불러왔습니다!', - update: '새로운 설정으로 갱신되었습니다!', - reset: '설정이 원래대로 초기화 되었습니다!', - ARLcopied: 'ARL가 클립보드에 복사되었습니다' - } - }, - sidebar: { - home: '홈', - search: '검색', - charts: '차트', - favorites: '즐겨찾기', - linkAnalyzer: '링크 분석기', - settings: '설정', - about: '정보' - }, - tracklist: { - downloadSelection: '선택 다운로드' - } -} - -export default ko diff --git a/webui-new/src/lang/ph.js b/webui-new/src/lang/ph.js deleted file mode 100644 index 0637623..0000000 --- a/webui-new/src/lang/ph.js +++ /dev/null @@ -1,389 +0,0 @@ -const ph = { - globals: { - welcome: 'Welcome sa deemix', - back: 'bumalik', - loading: 'kumakarga', - download: 'I-download {thing}', - by: 'ayon sa {artist}', - in: 'sa {album}', - download_hint: 'I-download', - play_hint: 'I-play', - toggle_download_tab_hint: 'Palakihin/Paliitan', - clean_queue_hint: 'Natapos na ang Pag-alis', - cancel_queue_hint: 'Ikansel Lahat', - open_downloads_folder: 'Buksan ang Polder ng Download', - cut: 'i-cut', - copy: 'kopyahin', - copyLink: 'kopyahin ang link', - copyImageLink: 'kopyahin ang imahe sa link', - copyDeezerLink: 'kopyahin ang link ng deezer', - paste: 'idikit', - listTabs: { - empty: '', - all: 'lahat', - top_result: 'nangungunang resulta', - album: 'album | mga album', - artist: 'artist | mga artist', - single: 'single | mga single', - title: 'pamagat | mga pamagat', - track: 'track | mga track', - trackN: '0 mga track | {n} track | {n} mga track', - releaseN: '0 mga release | {n} release | {n} mga release', - playlist: 'playlist | mga playlist', - compile: 'pinagsama | mga pinagsama', - ep: 'ep | mga ep', - bundle: 'bundle | mga bundle', - more: 'Iba pang mga album', - featured: 'Ibinida sa', - spotifyPlaylist: 'playlist sa spotify | mga playlist sa spotify', - releaseDate: 'petsa ng paglabas', - error: 'error' - } - }, - about: { - updates: { - currentVersion: 'Kasalukuyang version', - versionNotAvailable: 'H/P', - updateAvailable: `Hindi mo ginagamit ang pinakabagong version: {version}`, - deemixVersion: 'deemix lib version' - }, - titles: { - usefulLinks: 'Nakatutulong na mga Link', - bugReports: 'Report sa Bug', - contributing: 'Pagtulong', - donations: 'Mga donasiyon', - license: 'Lisensiya' - }, - subtitles: { - bugReports: 'Meron bang hindi gumagana sa deemix? Ipaalam mo sa amin!', - contributing: 'Gusto mo bang tumulong sa proyektong ito? Pwede mong gawin iyan sa maraming paraan!', - donations: 'Gusto mo bang tumulong sa pamamagitan ng pera? Pwede kang magbigay ng donasiyon!' - }, - usesLibrary: - 'Ang app na ito ay gumagamit ng library galing sa deemix, na kung saan ay pwede mong gamitin para gumawa ng sarili mong UI ng deemix.', - thanks: `Salamat kay rtonno, uhwot at lollilol sa pagtulong sa akin para sa proyektong ito at kay BasCurtiz sa paggawa ng icon.`, - upToDate: { - text: `Huwag magpapahuli sa mga update patungkol dito sa pamamagitan ng pagsali sa {newsChannel} sa Telegram.`, - newsChannel: 'news channel' - }, - officialWebsite: 'Opisyal na Website', - officialRepo: 'Opisyal na Library Repository', - officialWebuiRepo: 'Opisyal na Repository ng WebUI', - officialSubreddit: 'Opisyal na Subreddit', - newsChannel: 'News Channel', - questions: { - text: `Kung may tanong ka o problema sa app, maghanap ka muna ng solusiyon sa {subreddit}. Ngayon, kung wala ka talagang mahanap ay pwede kang mag-post patungkol sa iyong isyu doon sa subreddit.`, - subreddit: 'subreddit' - }, - beforeReporting: `Bago ka magreport ng bug, siguraduhing pinakabagong version ang ginagamit mo at ang ire-report mo ay talagang bug at hindi dahil sa pagkakamali mo lang ng paggamit.`, - beSure: `Siguraduhing nangyayari rin ang bug sa iba't ibang plataporma at tsaka HUWAG mo nang i-report ang bug kung ito ay naipa-alam na ng iba.`, - duplicateReports: 'Isasara namin ang mga magkaparehong report sa bug, kaya alamin mo muna.', - dontOpenIssues: `HUWAG kayong magbubukas ng isyu kung magtatanong lang kayo, meron tayong subreddit para diyan.`, - newUI: { - text: `Kung ikaw ay maraming alam sa python, subukan mong gumawa ng bagong UI gamit ng base library, o kaya ayusin ang mga bug sa library sa pamamagitan ng pag-pull ng request sa {repo}.`, - repo: 'repo' - }, - acceptFeatures: `Tumatangggap din ako ng mga feature, basta hindi komplikado, dahil diretso ko itong nilalagay sa app at hindi sa library.`, - otherLanguages: `Kung ikaw ay maraming alam sa ibang programming language, maaari mo ring subukan i-port ang deemix sa iba't ibang programming language!`, - understandingCode: `Kailangan mo ba ng tulong para maintindihan ang code? Bisitahin si RemixDev sa Telegram o sa Reddit.`, - contributeWebUI: { - text: `Kung may alam ka sa Vue.js (JavaScript), HTML o kaya CSS, maaari kang sumali at tumulong dito sa {webui}.`, - webui: 'WebUI' - }, - itsFree: `Lagi mong tandaang ang proyektong ito ay libre at suportuhanmuna ang minamahal ninyong mga artist bago ang mga developer.`, - notObligated: `Huwag mong pilitin ang sarili para mag-donate, Naiintindihan ka namin!`, - lincensedUnder: { - text: `Ang aktibidad na ito ay lisensiyado sa {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Mga Chart', - changeCountry: 'Palitan ang Country', - download: 'I-download ang Chart' - }, - errors: { - title: 'Mga error sa {name}', - ids: { - invalidURL: 'Hindi makilala ang URL', - unsupportedURL: 'Hindi pa suportado ang URL', - ISRCnotOnDeezer: 'Ang Track ISRC ay hindi pwede sa Deezer', - notYourPrivatePlaylist: 'Hindi pwedeng i-download ang mga pribadong playlist ng iba.', - spotifyDisabled: 'Hindi mo nai-set nang tama ang Spotify Features.', - trackNotOnDeezer: 'Hindi mahanap ang track sa Deezer!', - albumNotOnDeezer: 'Hindi mahanap ang album sa Deezer!', - notOnDeezer: 'Hindi available ang track sa Deezer!', - notEncoded: 'Hindi pa nae-encode ang track!', - notEncodedNoAlternative: 'Hindi pa nae-encode ang track at walang mahanap na iba!', - wrongBitrate: 'Hindi mahanap ang track sa gusto mong bitrate.', - wrongBitrateNoAlternative: 'Hindi mahanap ang track sa gusto mong bitrate at walang mahanap na iba!', - no360RA: 'Hindi pwede ang track para sa Reality Audio 360.', - notAvailable: 'Walang available na track sa server ng Deezer!', - notAvailableNoAlternative: 'Walang available na track sa server ng Deezer at walang mahanap na iba!', - noSpaceLeft: 'Wala nang natitirang space sa iyong device!' - } - }, - favorites: { - title: 'Mga Paborito', - noPlaylists: 'Walang makitang mga Playlist', - noAlbums: 'Walang makitang mga Paboritong Album', - noArtists: 'Walang makitang mga Paboritong Artist', - noTracks: 'Walang makitang mga Paboritong Track' - }, - home: { - needTologin: 'Kailangan mong mag-log in sa iyong Deezer account bago ka makasimulang magdownload.', - openSettings: 'Buksan ang Mga Setting', - sections: { - popularPlaylists: 'Mga sikat na playlist', - popularAlbums: 'Pinakamaraming pinakikinggang mga album' - } - }, - linkAnalyzer: { - info: 'Pwede gamitin ang section na ito para sa iba pang impormasyon patungkol sa link na gusto mong i-download.', - useful: - 'Makatutulong ito kung meron kang gustong i-download na track na hindi available sa bansa mo at gusto mong malaman kung meron bang ganito kapag sa iba.', - linkNotSupported: 'Hindi pa suportado ang link', - linkNotSupportedYet: 'Mukhang hindi pa suportado itong link, iba na lang ang ilagay mo.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Haba', - diskNumber: 'Bilang ng Disk', - trackNumber: 'Bilang ng Track', - releaseDate: 'Petsa ng Release', - bpm: 'BPM', - label: 'Label', - recordType: 'Uri ng Rekord', - genres: 'Mga Genre', - tracklist: 'Listahan ng Track' - } - }, - search: { - startSearching: 'Simulang Maghanap!', - description: - 'Pwede kang maghanap ng track, buong album, artist, playlist.... kahit ano! Pwede ka ring mag-paste dito ng link na galing sa Deezer', - fans: '{n} mga fan', - noResults: 'Walang resulta', - noResultsTrack: 'Walang mahanap na mga Track', - noResultsAlbum: 'Walang mahanap na mga Album', - noResultsArtist: 'Walang mahanap na mga Artist', - noResultsPlaylist: 'Walang mahanap na mga Playlist' - }, - searchbar: 'Maghanap ka ng gusto mo (o mag-paste ka ng link)', - downloads: 'mga download', - toasts: { - restoringQueue: 'Binabalik ang download queue...', - queueRestored: 'Naibalik na ang download queue!', - addedToQueue: '{item} ay naidagdag sa queue', - addedMoreToQueue: '{n} naidagdag rin sa queue', - alreadyInQueue: '{item} ay meron na sa queue!', - finishDownload: '{item} ay natapos nang i-download.', - allDownloaded: 'Nadownload na lahat!', - refreshFavs: 'Narefresh na!', - loggingIn: 'Nagla-log in...', - loggedIn: 'Na-login na', - alreadyLogged: 'Nakalogin ka na', - loginFailed: 'Hindi maka-log in', - loggedOut: 'Na-logout na', - cancellingCurrentItem: 'Kinakansel ang item.', - currentItemCancelled: 'Nakansel na ang item.', - startAddingArtist: 'Idinadagdag si {artist} sa queue ng mga album', - finishAddingArtist: 'Naidagdag na si {artist} sa queue ng mga album', - startConvertingSpotifyPlaylist: 'Kino-convert ang mga track sa spotify papuntang Deezer', - finishConvertingSpotifyPlaylist: 'Naconvert na ang playlist sa Spotify', - loginNeededToDownload: 'Kailangan mong mag-login para madownload ang mga track!', - deezerNotAvailable: 'Hindi available ang Deezer sa iyong bansa. Kailangan mong gumamit ng VPN.' - }, - settings: { - title: 'Mga Setting', - languages: 'Mga Wika', - login: { - title: 'Login', - loggedIn: 'Ikaw ay naka-login sa pangalang {username}', - arl: { - question: 'Paano ako makakuha ng sariling ARL?', - update: 'I-update ang ARL' - }, - logout: 'Logout', - login: 'Mag-login gamit ng deezer.com' - }, - appearance: { - title: 'Hitsura', - slimDownloadTab: 'Pinaliit na download tab' - }, - downloadPath: { - title: 'Paglalagyan ng Download' - }, - templates: { - title: 'Mga Template', - tracknameTemplate: 'Template sa pangalan ng Track', - albumTracknameTemplate: 'Template sa track ng Album', - playlistTracknameTemplate: 'Template sa track ng Playlist' - }, - folders: { - title: 'Mga Folder', - createPlaylistFolder: 'Gumawa ng folder para sa mga playlist', - playlistNameTemplate: 'Template sa folder ng Playlist', - createArtistFolder: 'Gumawa ng folder para sa artist', - artistNameTemplate: 'Template sa folder ng Artist', - createAlbumFolder: 'Gumawa ng folder para sa album', - albumNameTemplate: 'Template sa folder ng Album', - createCDFolder: 'Gumawa ng folder para sa mga CD', - createStructurePlaylist: 'Gumawa ng istraktura ng folder para sa mga playlist', - createSingleFolder: 'Gumawa ng istraktura ng folder para sa mga single' - }, - trackTitles: { - title: 'Pamagat sa mga track', - padTracks: 'Mga track ng Pad', - paddingSize: 'Patungan ang laki ng padding', - illegalCharacterReplacer: 'Pamalit sa ilegal na Karakter' - }, - downloads: { - title: 'Mga Download', - queueConcurrency: 'Mga Kasabay na Download', - maxBitrate: { - title: 'Gustong Bitrate', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Papatungan ko ba ang file?', - y: 'Oo, patungan mo ang file', - n: 'Hindi, huwag mong patungan ang file', - t: 'Patungan mo lang ang mga tag', - b: 'Hindi, hayaan mo silang dalawa at lagyan mo lang ng numero sa kapareho niya', - e: 'Hindi, at huwag mong tignan ang mga extension' - }, - fallbackBitrate: 'Binabaang bitrate', - fallbackSearch: 'Maghanap para sa binabaan', - logErrors: 'Gumawa ng log file para sa mga error', - logSearched: 'Gumawa ng log file para sa mga hinanap na track', - createM3U8File: 'Gumawa ng file sa playlist', - syncedLyrics: 'Gumawa ng mga .lyr file (Mga Sync Lyric)', - playlistFilenameTemplate: 'Template sa pangalan ng Playlist file', - saveDownloadQueue: 'I-save ang download queue kapag isasara the app' - }, - covers: { - title: 'Mga cover ng album', - saveArtwork: 'I-save ang mga Cover', - coverImageTemplate: 'Template ng pangalan ng cover', - saveArtworkArtist: 'I-save ang imahe ng artist', - artistImageTemplate: 'Template ng imahe ng artist', - localArtworkSize: 'Laki ng lokal na artwork', - embeddedArtworkSize: 'Laki ng Nakadikit na artwork', - localArtworkFormat: { - title: 'Anong gusto mong format para sa mga lokal na artwork?', - jpg: 'jpeg na imahe', - png: 'png na imahe', - both: 'Parehong jpeg at png' - }, - jpegImageQuality: 'Kalidad ng JPEG na imahe', - embeddedArtworkPNG: 'I-save ang nakadikit na artwork bilang PNG', - embeddedPNGWarning: 'Ang mga PNG ay hindi opisyal na suportado ng Deezer at maaaring magkaroon ng bug', - imageSizeWarning: - 'Lahat ng mas mataas sa x1200 ay hindi opisyal na ginagamit sa Deezer, at posibleng magkaroon ng isyu', - coverDescriptionUTF8: 'I-save ang deskripsyon ng cover gamit ng UTF8 (iTunes Cover Fix)' - }, - tags: { - head: 'Aling tag ang ise-save', - title: 'Pamagat', - artist: 'Artist', - album: 'Album', - cover: 'Cover', - trackNumber: 'Bilang ng Track', - trackTotal: 'Kabuuang Track', - discNumber: 'Bilang ng Disk', - discTotal: 'Kabuuang Disk', - albumArtist: 'Album Artist', - genre: 'Genre', - year: 'Taon', - date: 'Petsa', - explicit: 'Mga Explicit na Lyric', - isrc: 'ISRC', - length: 'Haba ng Track', - barcode: 'Barcode ng Album (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Label ng Album', - lyrics: 'Unsynchronized na mga Lyric', - syncedLyrics: 'Synchronized na mga Lyric', - copyright: 'Karapatang Ari', - composer: 'Komposer', - involvedPeople: 'Mga Kasamang Tao' - }, - other: { - title: 'Iba pa', - savePlaylistAsCompilation: 'I-save ang mga playlist bilang compilation', - useNullSeparator: 'Gumamit ng panghiwalay sa null', - saveID3v1: 'I-save rin ang ID3v1', - multiArtistSeparator: { - title: 'Anong gusto mo para maihanay mga artist?', - nothing: 'I-save lang ang pangunahing artist', - default: 'Gamit ng standard na specification', - andFeat: 'Gamit ng & at feat.', - using: 'Gamit ng "{separator}"' - }, - singleAlbumArtist: 'I-save lang ang pangunahing album ng artist', - albumVariousArtists: 'Isama ang "Various Artists" sa mga Album Artist', - removeAlbumVersion: 'Tanggalin ang "Album Version" sa pamagat ng track', - removeDuplicateArtists: 'Tanggalin ang kombinasyon ng mga artist', - dateFormat: { - title: 'Format ng petsa para sa mga FLAC file', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'Anong gagawin ko sa mga itinampok na artist', - 0: 'Wala', - 1: 'Tanggalin mo sila sa Pamagat', - 3: 'Tanggalin mo sila sa Pamagat mismo at Pamagat ng Album', - 2: 'Ilipat mo sila sa pamagat' - }, - titleCasing: 'Pagleletra sa Pamagat', - artistCasing: 'Pagleletra sa Artist', - casing: { - nothing: 'Walang babaguhin', - lower: 'maliliit', - upper: 'MALALAKI', - start: 'Simula Ng Bawata Salita', - sentence: 'Kagaya ng pangungusap' - }, - previewVolume: 'Volume ng Preview', - executeCommand: { - title: 'Mga gagawin pagkatapos ng download', - description: 'Hayaan lang na blangko kung wala' - } - }, - spotify: { - title: 'Spotify Features', - clientID: 'Spotify ClientID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify Username', - question: 'Paano ma-enable ang Spotify Features?' - }, - reset: 'Ibalik sa Dati', - save: 'I-save', - toasts: { - init: 'Ikinarga ang mga Setting!', - update: 'In-update ang mga Setting!', - ARLcopied: 'Kinopya ang ARL sa clipboard' - } - }, - sidebar: { - home: 'tahanan', - search: 'maghanap', - charts: 'mga chart', - favorites: 'mga paborito', - linkAnalyzer: 'tagasuri ng link', - settings: 'mga setting', - about: 'tungkol sa' - }, - tracklist: { - downloadSelection: 'Pagpipili ng download' - } -} - -export default ph diff --git a/webui-new/src/lang/pl.js b/webui-new/src/lang/pl.js deleted file mode 100644 index 2f68b4d..0000000 --- a/webui-new/src/lang/pl.js +++ /dev/null @@ -1,384 +0,0 @@ -const pl = { - globals: { - welcome: 'Witaj w deemix', - back: 'wróć', - loading: 'ładowanie', - download: 'Pobierz {thing}', - by: 'od {artist}', - in: 'w {album}', - download_hint: 'Pobierz', - play_hint: 'Odtwórz', - toggle_download_tab_hint: 'Rozszerz/Zwiń', - clean_queue_hint: 'Wyczyść ukończone', - cancel_queue_hint: 'Anuluj wszystkie', - open_downloads_folder: 'Otwórz pobrane', - cut: 'wytnij', - copy: 'kopiuj', - copyLink: 'kopiuj link', - copyImageLink: 'kopiuj link obrazu', - copyDeezerLink: 'kopiuj link deezera', - paste: 'wklej', - listTabs: { - empty: '', - all: 'wszystkie', - top_result: 'najlepszy wynik', - album: 'album | albumy', - artist: 'artysta | artyści', - single: 'singiel | single', - title: 'tytuł | tytuły', - track: 'utwór | utwory', - trackN: '0 utworów | {n} utwór | {n} utworów', - releaseN: '0 wydań | {n} wydanie | {n} wydań', - playlist: 'playlista | playlisty', - compile: 'kompilacja | kompilacje', - ep: 'ep | ep', - bundle: 'zestaw | zestawy', - more: 'Więcej albumów', - featured: 'Występuje w', - spotifyPlaylist: 'playlista spotify | playlisty spotify', - releaseDate: 'data wydania', - error: 'błąd' - } - }, - about: { - updates: { - currentVersion: 'Obecna wersja', - versionNotAvailable: 'N/A', - updateAvailable: `Nie masz najnowszej dostępnej wersji: {version}`, - deemixVersion: 'Wersja biblioteki deemix' - }, - titles: { - usefulLinks: 'Przydatne linki', - bugReports: 'Zgłoszenia błędów', - contributing: 'Wkład', - donations: 'Dotacje', - license: 'Licencja' - }, - subtitles: { - bugReports: 'Czy deemix działa inaczej niż powinien? Powiedz nam!', - contributing: 'Chcesz pomóc w tym projekcie? Możesz to zrobić na wiele sposobów!', - donations: 'Chcesz pomóc finansowo? Możesz nas wesprzeć!' - }, - usesLibrary: - 'Ten program używa biblioteki deemix, której możesz użyć do stworzenia własnego interfejsu użytkownika', - thanks: `Podziękowania dla rtonno, uhwot i lollilol za pomoc w tym projekcie oraz dla BasCurtiz za stworzenie ikony.`, - upToDate: { - text: `Bądź na bieżąco z aktualizacjami dołączając do {newsChannel} na Telegramie.`, - newsChannel: 'kanału wiadomości' - }, - officialWebsite: 'Oficjalna strona', - officialRepo: 'Oficjalne repozytorium biblioteki', - officialWebuiRepo: 'Oficjalne repozytorium WebUI', - officialSubreddit: 'Oficjalny subreddit', - newsChannel: 'Kanał wiadomości', - questions: { - text: `Jeżeli masz pytania lub problemy związane z aplikacją, szukaj odpowiedzi na {subreddit}. Jeżeli niczego nie znajdziesz, stwórz post na subreddicie.`, - subreddit: 'subreddicie' - }, - beforeReporting: `Przed zgłaszaniem błędu upewnij się, że masz najnowszą wersje aplikacji i to, co chcesz zgłosić jest błędem, a nie usterką z twojej strony.`, - beSure: `Upewnij się, że błąd można odtworzyć na innych urządzeniach i NIE ZGŁASZAJ błędów, które zostały już zgłoszone`, - duplicateReports: 'Identyczne zgłoszenia błędów będą zamykane, więc zwróć na to uwagę.', - dontOpenIssues: `NIE OTWIERAJ zgłoszeń do zadawania pytań, od tego jest subreddit.`, - newUI: { - text: `Jeżeli dobrze znasz Pythona, możesz spróbować stworzyć nowy interfejs dla aplikacji używając bazowej biblioteki lub naprawiać błędy w bibliotece tworząc pull request w {repo}.`, - repo: 'repozytorium' - }, - acceptFeatures: `Przyjmuję nowe funkcje, ale nic złożonego, co mogłoby być zaimplementowane w aplikacji, a nie w bibliotece.`, - otherLanguages: `Jeżeli dobrze znasz inny język programowania, możesz spróbować przeportować deemix do innych języków!`, - understandingCode: `Potrzebujesz pomocy w zrozumieniu kodu? Zapytaj RemixDev na Telegramie lub Reddicie.`, - contributeWebUI: { - text: `Jeżeli znasz Vue.js (JavaScript), HTML lub CSS, możesz pomóc w {webui}.`, - webui: 'WebUI' - }, - itsFree: `Pamiętaj, że ten projekt jest darmowy i powinieneś wspierać artystów przed twórcami aplikacji.`, - notObligated: `Nie czuj potrzeby płacenia, i tak cię doceniam!`, - lincensedUnder: { - text: `Ten projekt jest chroniony licencją {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Wykresy', - changeCountry: 'Zmień kraj', - download: 'Pobierz wykres' - }, - errors: { - title: 'Błędy dla {name}', - ids: { - invalidURL: 'Nierozpoznany URL', - unsupportedURL: 'Niewspierany URL', - ISRCnotOnDeezer: 'ISRC nie jest dostępne na Deezerze', - notYourPrivatePlaylist: 'Nie możesz pobierać czyichś prywatnych playlist.', - spotifyDisabled: 'Funkcje Spotify nie są poprawnie ustawione', - trackNotOnDeezer: 'Nie znaleziono utworu na Deezerze!', - albumNotOnDeezer: 'Nie znaleziono albumu na Deezerze!', - notOnDeezer: 'Utwór nie jest dostępny na Deezerze!', - notEncoded: 'Utwór nie jest jeszcze zakodowany!', - notEncodedNoAlternative: 'Utwór nie jest jeszcze zakodowany i nie można znaleźć alternatywy!', - wrongBitrate: 'Nie znaleziono utworu w wybranym bitrate.', - wrongBitrateNoAlternative: 'Nie znaleziono utworu w wybranym bitrate i nie mozna znaleźć alternatywy!', - no360RA: 'Utwór nie jest dostępny w Reality Audio 360.', - notAvailable: 'Utwór nie jest dostępny na serwerach Deezera!', - notAvailableNoAlternative: 'Utwór nie jest dostępny na serwerach Deezera i nie można znaleźć alternatywy!' - } - }, - favorites: { - title: 'Ulubione', - noPlaylists: 'Nie znaleziono playlist', - noAlbums: 'Nie znaleziono ulubionych albumów', - noArtists: 'Nie znaleziono ulubionych artystów', - noTracks: 'Nie znaleziono ulubonych utworów' - }, - home: { - needTologin: 'Musisz się zalogwać do konta na Deezerze zanim zaczniesz pobierać.', - openSettings: 'Otwórz ustawienia', - sections: { - popularPlaylists: 'Popularne playlisty', - popularAlbums: 'Najpopularniejsze albumy' - } - }, - linkAnalyzer: { - info: 'Możesz użyć tej sekcji, aby znaleźć więcej informacji o linku, który chcesz pobrać.', - useful: - 'Jest to przydatne na przykład gdy chcesz pobrać jakieś utwory, które nie są dostępne w twoim kraju i chcesz wiedzieć gdzie są dostępne.', - linkNotSupported: 'Ten link nie jest jeszcze wspierany', - linkNotSupportedYet: 'Wygląda na to, że ten link nie jest jeszcze wspierany. Spróbuj przeanalizować inny.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Czas', - diskNumber: 'Numer płyty', - trackNumber: 'Numer utworu', - releaseDate: 'Data wydania', - bpm: 'BPM', - label: 'Wytwórnia', - recordType: 'Rodzaj wydania', - genres: 'Gatunki', - tracklist: 'Lista utworów' - } - }, - search: { - startSearching: 'Zacznij szukać!', - description: 'Możesz wyszukać utwór, album, artystę, playlistę... wszystko! Możesz też wkleić link do Deezera', - fans: '{n} fanów', - noResults: 'Brak wyników', - noResultsTrack: 'Nie znaleziono utworów', - noResultsAlbum: 'Nie znaleziono albumów', - noResultsArtist: 'Nie znaleziono artystów', - noResultsPlaylist: 'Nie znaleziono playlist' - }, - searchbar: 'Szukaj czego chcesz (lub wklej link)', - downloads: 'pobrane', - toasts: { - restoringQueue: 'Przywracanie kolejki pobierania...', - queueRestored: 'Przywrócono kolejkę pobierania!', - addedToQueue: 'Dodano {item} do kolejki', - addedMoreToQueue: 'Dodano {n} przedmiotów do kolejki', - alreadyInQueue: '{item} jest już w kolejce!', - finishDownload: 'Ukończono pobieranie {item}.', - allDownloaded: 'Pobrano wszystkie!', - refreshFavs: 'Ukończono odświeżanie!', - loggingIn: 'Logowanie...', - loggedIn: 'Zalogowano', - alreadyLogged: 'Już zalogowano', - loginFailed: 'Nie można zalogować', - loggedOut: 'Wylogowano', - cancellingCurrentItem: 'Anulowanie przedmiotu.', - currentItemCancelled: 'Anulowano przedmiot.', - startAddingArtist: 'Dodawanie {artist} albumów do kolejki', - finishAddingArtist: 'Dodano {artist} albumów do kolejki', - startConvertingSpotifyPlaylist: 'Konwertowanie utworów Spotify na Deezer', - finishConvertingSpotifyPlaylist: 'Przekonwertowano playlistę Spotify', - loginNeededToDownload: 'Musisz się zalogować, aby pobierać utwory!' - }, - settings: { - title: 'Ustawienia', - languages: 'Języki', - login: { - title: 'Logowanie', - loggedIn: 'Zalogowano jako {username}', - arl: { - question: 'Jak zdobyć swój własny ARL?', - update: 'Zakualizuj ARL' - }, - logout: 'Wyloguj', - login: 'Zaloguj przez deezer.com' - }, - appearance: { - title: 'Wygląd', - slimDownloadTab: 'Cienka karta pobranych' - }, - downloadPath: { - title: 'Ścieżka pobierania' - }, - templates: { - title: 'Szablony', - tracknameTemplate: 'Szablon utworu', - albumTracknameTemplate: 'Szablon utworu z albumu', - playlistTracknameTemplate: 'Szablon utworu z playlisy' - }, - folders: { - title: 'Foldery', - createPlaylistFolder: 'Utwórz foldery dla playlist', - playlistNameTemplate: 'Szablon folderu playlisty', - createArtistFolder: 'Utwórz foldery dla artystów', - artistNameTemplate: 'Szablon folderu artysty', - createAlbumFolder: 'Utwórz foldery dla albumów', - albumNameTemplate: 'Szablon folderu albumu', - createCDFolder: 'Utwórz foldery dla płyt', - createStructurePlaylist: 'Utwórz strukturę folderów dla playlist', - createSingleFolder: 'Utwórz strukturę folderów dla singli' - }, - trackTitles: { - title: 'Tytuły utworow', - padTracks: 'Wypchaj utwory', - paddingSize: 'Rozmiar wypchania', - illegalCharacterReplacer: 'Zamiennik niedozwolonych znaków' - }, - downloads: { - title: 'Pobrane', - queueConcurrency: 'Równoległe pobieranie', - maxBitrate: { - title: 'Bitrate', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Nadpisywać pliki?', - y: 'Tak', - n: 'Nie', - t: 'Tylko tagi', - b: 'Nie, dodaj numer do drugiego pliku', - e: 'Nie, nie patrz na rozszerzenia' - }, - fallbackBitrate: 'Rezerwowy bitrate', - fallbackSearch: 'Rezerwowe wyszukiwanie', - logErrors: 'Utwórz plik dziennika błędów', - logSearched: 'Utwórz plik dziennika wyszukiwanych utworów', - createM3U8File: 'Utwórz plik playlisty', - syncedLyrics: 'Utwórz plik .lyr (synchronizowany tekst)', - playlistFilenameTemplate: 'Szablon pliku playlisty', - saveDownloadQueue: 'Zapisz kolejkę pobierania przy zamykaniu aplikacji' - }, - covers: { - title: 'Okładki albumów', - saveArtwork: 'Zapisz okładki', - coverImageTemplate: 'Szablon nazwy okładki', - saveArtworkArtist: 'Zapisz zdjęcie artysty', - artistImageTemplate: 'Szablon zdjęcia artysty', - localArtworkSize: 'Rozmiar lokalnej okładki', - embeddedArtworkSize: 'Rozmiar osadzonej okładki', - localArtworkFormat: { - title: 'W jakim formacie ma zostać zapisana okładka?', - jpg: 'Plik JPEG', - png: 'Plik PNG', - both: 'Pliki JPEG i PNG' - }, - jpegImageQuality: 'Jakość JPEG', - embeddedArtworkPNG: 'Zapisz osadzoną okładkę jako PNG', - embeddedPNGWarning: 'PNG nie jest oficjalnie wspierane przez Deezer i może powodować błędy', - imageSizeWarning: 'Wszystko powyżej x1200 nie jest oficjalnie używane przez Deezera, więc mogą wystąpić problemy.' - }, - tags: { - head: 'Które tagi zapisać', - title: 'Tytuł', - artist: 'Artysta', - album: 'Album', - cover: 'Okładka', - trackNumber: 'Numer utworu', - trackTotal: 'Liczba utworów', - discNumber: 'Numer płyty', - discTotal: 'Liczba płyt', - albumArtist: 'Album Artist', - genre: 'Gatunek', - year: 'Rok', - date: 'Data', - explicit: 'Wulgarny tekst', - isrc: 'ISRC', - length: 'Długość', - barcode: 'Kod kreskowy albumu (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Wytwórnia', - lyrics: 'Niezsynchronizowany tekst', - syncedLyrics: 'Zsynchronizowany tekst', - copyright: 'Prawa autorskie', - composer: 'Kompozytor', - involvedPeople: 'Zaangażowane osoby' - }, - other: { - title: 'Inne', - savePlaylistAsCompilation: 'Zapisz playlisty jako kompilacje', - useNullSeparator: 'Użyj separatora null', - saveID3v1: 'Zapisz ID3v1', - multiArtistSeparator: { - title: 'Jak oddzielić artystów?', - nothing: 'Zapisz tylko głównego artystę', - default: 'Standardowa specyfikacja', - andFeat: '& i feat.', - using: 'Używa "{separator}"' - }, - singleAlbumArtist: 'Zapisz tylko głównego autora albumu', - albumVariousArtists: 'Zostaw "Various Artists" w autorach albumu', - removeAlbumVersion: 'Usuń "Album Version" z tytułu utworu', - removeDuplicateArtists: 'Usuń kombinacje artystów', - dateFormat: { - title: 'Format daty dla plików FLAC', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'Co zrobić z dodatkowymi artystami?', - 0: 'Nic', - 1: 'Usuń z tytułu', - 3: 'Usuń z tytułu i tytułu albumu', - 2: 'Przenieś do tytułu' - }, - titleCasing: 'Rozmiar liter tytułu', - artistCasing: 'Rozmiar liter artysty', - casing: { - nothing: 'Zostaw', - lower: 'małe litery', - upper: 'DUŻE LITERY', - start: 'Na Początku Każdego Słowa', - sentence: 'Jak w zdaniu' - }, - previewVolume: 'Głośność podglądu', - executeCommand: { - title: 'Polecenie do wykonania po pobraniu', - description: 'Zostaw puste, aby nic nie robić' - } - }, - spotify: { - title: 'Funkcje Spotify', - clientID: 'Spotify ClientID', - clientSecret: 'Spotify Client Secret', - username: 'Nazwa użytkownika', - question: 'Jak włączyć funkcje Spotify?' - }, - reset: 'Przywróć domyślne', - save: 'Zapisz', - toasts: { - init: 'Załadowano ustawienia!', - update: 'Zaktualizowano ustawienia!', - ARLcopied: 'Skopiowano ARL do schowka' - } - }, - sidebar: { - home: 'strona główna', - search: 'szukaj', - charts: 'wykresy', - favorites: 'ulubione', - linkAnalyzer: 'analiza linków', - settings: 'ustawienia', - about: 'informacje' - }, - tracklist: { - downloadSelection: 'Pobierz wybrane' - } -} - -export default pl diff --git a/webui-new/src/lang/pt-br.js b/webui-new/src/lang/pt-br.js deleted file mode 100644 index 9d11a96..0000000 --- a/webui-new/src/lang/pt-br.js +++ /dev/null @@ -1,357 +0,0 @@ -const pt_br = { - globals: { - welcome: 'bem vindo ao deemix', - back: 'voltar', - loading: 'carregando', - download: 'Baixar {thing}', - by: 'por {artist}', - in: 'em {album}', - download_hint: 'Baixar', - play_hint: 'Reproduzir', - toggle_download_tab_hint: 'Expandir/Diminuir', - clean_queue_hint: 'Limpar', - cancel_queue_hint: 'Cancelar Todos', - listTabs: { - empty: '', - all: 'todos', - top_result: 'resultado principal', - album: 'álbum | álbuns', - artist: 'artista | artistas', - single: 'single | singles', - title: 'título | títulos', - track: 'faixa | faixas', - trackN: '0 faixas | {n} faixa | {n} faixas', - releaseN: '0 lançamento | {n} lançamento | {n} lançamentos', - playlist: 'playlist | playlists', - compile: 'compilação | compilações', - ep: 'ep | eps', - spotifyPlaylist: 'playlist do spotify | playlists do spotify', - releaseDate: 'data de lançamento', - error: 'erro' - } - }, - about: { - titles: { - usefulLinks: 'Links Úteis', - bugReports: 'Relatar Bugs', - contributing: 'Contribuições', - donations: 'Doações', - license: 'Licença' - }, - subtitles: { - bugReports: 'Há algo não funcionando no deemix? Nos diga!', - contributing: 'Você quer contribuir para este projeto? Você pode fazer isso de diferentes maneiras!', - donations: 'Você quer contribuir monetariamente? Você pode fazer uma doação!' - }, - usesLibrary: - 'Esse app usa a biblioteca do deemix, no qual você pode usar para criar sua própria UI para o deemix', - thanks: `Agradecimentos para rtonno, uhwot e lollilol por ajudar neste projeto, e para BasCurtiz por fazerem o ícone`, - upToDate: { - text: `Para mais novidades siga o {newsChannel} no Telegram.`, - newsChannel: 'news channel' - }, - officialWebsite: 'Site Oficial', - officialRepo: 'Repositório da Biblioteca Oficial', - officialWebuiRepo: 'Repositório da WebUI Oficial', - officialSubreddit: 'Subreddit Oficial', - newsChannel: 'Canal de Notícias', - questions: { - text: `Se você tiver dúvidas ou problemas com o app, procure uma solução em {subreddit} primeiro. Caso você não encontre, você pode fazer um post explicando seu problema no subreddit.`, - subreddit: 'subreddit' - }, - beforeReporting: `Antes de reportar um bug, tenha certeza que você está rodando a versão mais recente do app, e o que você quer reportar seja realmente um bug e não algo que esteja acontecendo especialmente com você.`, - beSure: `Certifique-se que o bug é reproduzivel em outras máquinas e também NÃO reporte um bug se ele já foi reportado.`, - duplicateReports: 'Reportes de bugs duplicados serão fechados, então fique atento a isso.', - dontOpenIssues: `NÃO abra tópicos para fazer perguntas, há o subreddit para isso.`, - newUI: { - text: `Se você é fluente em Phython, você pode tentar fazer uma nova UI para o app usando a biblioteca base, ou consertar bugs da biblioteca com um pull request em {repo}.`, - repo: 'repo' - }, - acceptFeatures: `Eu aceito funcionalidades extras também, mas nada de coisas complexas, desde que ela possa ser implementada no app, e não na biblioteca.`, - otherLanguages: `Se você for fluente em outra linguagem de programação, você pode tentar portar o deemix para outra linguagem!`, - understandingCode: `Você precisa de ajuda para entender o código? Mande mensagem no RemixDex pelo Telegram ou pelo Reddit.`, - contributeWebUI: { - text: `Se você souber Vue.js (JavaScript), HTML ou CSS você pode contribuir para o {webui}.`, - webui: 'WebUI' - }, - itsFree: `Lembre-se que este projeto é livre e você deve dar suporte aos artistas que você ama antes de dar suporte aos desenvolvedores.`, - notObligated: `Não se sinta na obrigação de doar, eu agradeço de qualquer maneira!`, - lincensedUnder: { - text: `Esse é um projeto licenciado através da {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Charts', - changeCountry: 'Mudar País', - download: 'Download Chart' - }, - errors: { - title: 'Erros para {name}', - ids: { - invalidURL: 'URL inválida', - unsupportedURL: 'URL não suportada ainda', - ISRCnotOnDeezer: 'Faixa ISRC não está disponível ainda no deezer', - notYourPrivatePlaylist: 'Você não pode baixar playlists privadas.', - spotifyDisabled: 'Os Recursos do Spotify não foram configurados corretamente.', - trackNotOnDeezer: 'Faixa não encontrada no deezer!', - albumNotOnDeezer: 'Album not found on deezer! Álbum não encontrado no deezer!', - notOnDeezer: 'Faixa indisponível no deezer!', - notEncoded: 'Faixa ainda não codificada!', - notEncodedNoAlternative: 'Faixa ainda não codificada e sem alternativas encontradas!', - wrongBitrate: 'Faixa não encontrada no bitrate desejado.', - wrongBitrateNoAlternative: 'Faixa não encontrada no bitrate desejado e nenhuma outra alternativa encontrada!', - no360RA: 'Faixa não disponível na qualidade Reality Audio 360.', - notAvailable: 'Faixa não disponível nos servidores do deezer!', - notAvailableNoAlternative: 'Faixa não disponível nos servidores do deezer e nenhuma outra alternativa encontrada!' - } - }, - favorites: { - title: 'Favoritos', - noPlaylists: 'Nenhuma Playlist encontrada', - noAlbums: 'Nenhum Álbum Favorito encontrado', - noArtists: 'Nenhum Artista Favorito encontrado', - noTracks: 'Nenhuma Faixa Favorita encontrada' - }, - home: { - needTologin: 'Você precisa logar na sua conta do deezer antes de começar a baixar músicas.', - openSettings: 'Abrir Configurações', - sections: { - popularPlaylists: 'Playlists Populares', - popularAlbums: 'Álbuns mais ouvidos' - } - }, - linkAnalyzer: { - info: 'Você pode usar essa seção para encontrar mais informações sobre o link que você quer baixar.', - useful: - 'Isso é útil se você está tentando baixar algumas faixas que não estão disponíveis no seu país, e quer saber onde elas estão disponíveis, por exemplo.', - linkNotSupported: 'Esse link não é suportado ainda', - linkNotSupportedYet: 'Parece que esse link não é suportado ainda, tente analizar outro.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Duração', - diskNumber: 'Número do Disco', - trackNumber: 'Número da Faixa', - releaseDate: 'Data de Lançamento', - bpm: 'BPM', - label: 'Gravadora', - recordType: 'Tipo de Gravação', - genres: 'Gêneros', - tracklist: 'Tracklist' - } - }, - search: { - startSearching: 'Comece pesquisando!', - description: - 'Você pode pesquisar uma música, um álbum, um artista, uma playlist.... tudo! Você também pode colar um link do Deezer', - fans: '{n} fãs', - noResults: 'Sem resultados', - noResultsTrack: 'Nenhuma Faixa encontrada', - noResultsAlbum: 'Nenhum Álbum encontrado', - noResultsArtist: 'Nenhum Artista encontrado', - noResultsPlaylist: 'Nenhuma Playlist encontrada' - }, - searchbar: 'Pesquise algo (ou apenas cole um link)', - downloads: 'downloads', - toasts: { - addedToQueue: '{item} adicionado à fila', - alreadyInQueue: '{item} já está na fila!', - finishDownload: '{item} download terminado.', - allDownloaded: 'Todos os downloads foram feitos!', - refreshFavs: 'Atualização completa!', - loggingIn: 'Logando', - loggedIn: 'Logado', - alreadyLogged: 'Você já está logado', - loginFailed: 'Não foi possivel entrar', - loggedOut: 'Desconectando', - cancellingCurrentItem: 'Cancelando item atual.', - currentItemCancelled: 'Item atual cancelado.', - startAddingArtist: 'Adicionando {artist} álbuns à fila', - finishAddingArtist: '{artist} álbuns adicionados a fila', - startConvertingSpotifyPlaylist: 'Convertendo faixas do spotify para faixas do deezer', - finishConvertingSpotifyPlaylist: 'Playlists do Spotify convertidas' - }, - settings: { - title: 'Configurações', - languages: 'Idiomas', - login: { - title: 'Login', - loggedIn: 'Você está logado como {username}', - arl: { - question: 'Como eu consigo o meu ARL?', - update: 'Atualizar ARL' - }, - logout: 'Sair' - }, - appearance: { - title: 'Aparência', - slimDownloadTab: 'Aba de download slim' - }, - downloadPath: { - title: 'Diretório de Downloads' - }, - templates: { - title: 'Templates', - tracknameTemplate: 'Template do nome da faixa', - albumTracknameTemplate: 'Template da faixa do álbum', - playlistTracknameTemplate: 'Template da faixa da playlist' - }, - folders: { - title: 'Pastas', - createPlaylistFolder: 'Criar pasta para playlists', - playlistNameTemplate: 'Template da pasta de playlist', - createArtistFolder: 'Criar pasta para os artistas', - artistNameTemplate: 'Template da pasta de artistas', - createAlbumFolder: 'Criar pasta para álbuns', - albumNameTemplate: 'Template da pasta de álbuns', - createCDFolder: 'Criar pasta para CDs', - createStructurePlaylist: 'Criar estrutura de pastas para playlists', - createSingleFolder: 'Criar estrutura de pastas para singles' - }, - trackTitles: { - title: 'Título das faixas', - padTracks: 'Faixas com pad', - paddingSize: 'Sobrescrever tamanho do padding', - illegalCharacterReplacer: 'Substituir caracteres inválidos' - }, - downloads: { - title: 'Downloads', - queueConcurrency: 'Downloads Simultâneos', - maxBitrate: { - title: 'Escolher Taxa de Bits', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Sobrescrever arquivos?', - y: 'Sim, sobrescrever arquivos', - n: 'Não, não sobrescrever arquivos', - t: 'Sobrescrever apenas as tags' - }, - fallbackBitrate: 'Taxa de bits reserva', - fallbackSearch: 'Procurar reserva', - logErrors: 'Criar arquivos de log para erros', - logSearched: 'Criar arquivos de log para faixas pesquisadas', - createM3U8File: 'Criar arquivo de playlist', - syncedLyrics: 'Criar arquivos .lyr (Letras)', - playlistFilenameTemplate: 'Template do nome do arquivo da playlist', - saveDownloadQueue: 'Salvar a fila de downloads quando fechar o app' - }, - covers: { - title: 'Capa dos álbuns', - saveArtwork: 'Salvar capas', - coverImageTemplate: 'Template do nome da capa', - saveArtworkArtist: 'Salvar imagem do artista', - artistImageTemplate: 'Template da imagem do artista', - localArtworkSize: 'Tamanho da capa local', - embeddedArtworkSize: 'Tamanho da capa embutida', - localArtworkFormat: { - title: 'Qual o formato da imagem que você quer para a capa local?', - jpg: '.jpeg', - png: '.png', - both: 'Ambas, .jpeg e .png' - }, - jpegImageQuality: 'Qualidade da imagem JPEG' - }, - tags: { - head: 'Quais tags salvar', - title: 'Título', - artist: 'Artista', - album: 'Álbum', - cover: 'Capa', - trackNumber: 'Número da Faixa', - trackTotal: 'Total de Faixas', - discNumber: 'Número de Discos', - discTotal: 'Total de Discos', - albumArtist: 'Artista do Álbum', - genre: 'Gênero', - year: 'Ano', - date: 'Data', - explicit: 'Letras Explícitas', - isrc: 'ISRC', - length: 'Tamanho da Faixa', - barcode: 'Código de Barras do álbum (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Gravadora', - lyrics: 'Letras Dessincronizadas', - copyright: 'Copyright', - composer: 'Compositor', - involvedPeople: 'Pessoas Envolvidas' - }, - other: { - title: 'Outros', - savePlaylistAsCompilation: 'Salvar playlists como uma compilação', - useNullSeparator: 'Usar separador nulo', - saveID3v1: 'Salvar ID3v1', - multiArtistSeparator: { - title: 'Como você gostaria de separar os artistas?', - nothing: 'Salvar apenas o artista principal', - default: 'Usar a especificação padrão', - andFeat: 'Usar & e feat.', - using: 'Usar "{separator}"' - }, - singleAlbumArtist: 'Salvar apenas o artista principal', - albumVariousArtists: 'Manter "Various Artists" nos Artistas do Álbum', - removeAlbumVersion: 'Remover "Album Version" do título da faixa', - removeDuplicateArtists: 'Remover combinação de artistas', - dateFormat: { - title: 'Formato da data para arquivos FLAC', - year: 'AAAA', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'O que devo fazer com artistas participantes?', - 0: 'Nada', - 1: 'Remova do título da faixa', - 3: 'Remova do título da faixa e do álbum', - 2: 'Mover para o título da faixa' - }, - titleCasing: 'Formatação do título', - artistCasing: 'Formatação do artista', - casing: { - nothing: 'Manter inalterado', - lower: 'minúsculo', - upper: 'MAIÚSCULO', - start: 'Começo De Cada Palavra', - sentence: 'Como uma frase' - }, - previewVolume: 'Prévia do Volume', - executeCommand: { - title: 'Comando para executar depois de baixar', - description: 'Deixe em branco para nenhuma ação' - } - }, - spotify: { - title: 'Recursos do Spotify', - clientID: 'Spotify clientID', - clientSecret: 'Spotify Client Secret', - username: 'usuário do Spotify' - }, - reset: 'Restaurar para o padrão', - save: 'Salvar', - toasts: { - init: 'Configurações carregadas!', - update: 'Configurações atualizadas!', - ARLcopied: 'ARL copiada para a área de transferência' - } - }, - sidebar: { - home: 'início', - search: 'pesquisa', - charts: 'charts', - favorites: 'favoritos', - linkAnalyzer: 'analizador de links', - settings: 'configurações', - about: 'sobre' - }, - tracklist: { - downloadSelection: 'Baixar seleção' - } -} - -export default pt_br diff --git a/webui-new/src/lang/pt-pt.js b/webui-new/src/lang/pt-pt.js deleted file mode 100644 index 98d6d92..0000000 --- a/webui-new/src/lang/pt-pt.js +++ /dev/null @@ -1,357 +0,0 @@ -const pt = { - globals: { - welcome: 'Bem-vindo ao deemix', - back: 'voltar', - loading: 'A carregar', - download: 'Transferir {thing}', - by: 'por {artist}', - in: 'em {album}', - download_hint: 'Transferir', - play_hint: 'Tocar', - toggle_download_tab_hint: 'Expandir/Recolher', - clean_queue_hint: 'Limpar Finalizados', - cancel_queue_hint: 'Cancelar Tudo', - listTabs: { - empty: '', - all: 'Tudo', - top_result: 'melhor resultado', - album: 'álbum | álbums', - artist: 'artista | artistas', - single: 'single | singles', - title: 'título | títulos', - track: 'faixa | faixas', - trackN: '0 faixas | {n} faixa | {n} faixas', - releaseN: '0 lançamentos | {n} lançamento | {n} lançamento', - playlist: 'lista de reprodução | listas de reprodução', - compile: 'compilação | compilações', - ep: 'ep | eps', - spotifyPlaylist: 'lista de reprodução spotify | listas de reprodução spotify', - releaseDate: 'data de lançamento', - error: 'erro' - } - }, - about: { - titles: { - usefulLinks: 'Links Úteis', - bugReports: 'Relatório de erros', - contributing: 'Contribuir', - donations: 'Doações', - license: 'Licenças' - }, - subtitles: { - bugReports: 'Existe alguma coisa que não funciona no deemix? Informa-nos!', - contributing: 'Queres contribuir para o projecto? Podes fazê-lo de diferentes formas!', - donations: 'Desejas contribuir monetariamente? Faz uma doação!' - }, - usesLibrary: - 'Esta aplicação usa a biblioteca deemix, que poderás usar para desenvolver o teu proprio UI para o deemix.', - thanks: `Agradeço a rtonno, uhwot and lollilol por me ajudarem neste projeto e a BasCurtiz por elaborarem o ícone.`, - upToDate: { - text: `Mantem-te atualizado seguindo o {newsChannel} no Telegram.`, - newsChannel: 'canal de notícias' - }, - officialWebsite: 'Site Oficial', - officialRepo: 'Repositório Oficial da Biblioteca', - officialWebuiRepo: 'Repositório Oficial WebUI', - officialSubreddit: 'Subreddit Oficial', - newsChannel: 'Canal de Notícias', - questions: { - text: `Caso tenhas alguma duvida ou problema com a app, primeiro procura por uma solução no {subreddit}. Caso não encontres nada podes criar um post com a tua questão no subreddit.`, - subreddit: 'subreddit' - }, - beforeReporting: `Antes de reportares um bug certifica-te que estás a correr a versão mais recente e que o que queres reportar é mesmo um bug e não algo que apenas não funciona do teu lado.`, - beSure: `Certifica-te que o erro é reprodutivel noutros dispositivos e NÃO reportes um bug que já tenha sido reportado.`, - duplicateReports: 'Bug reports duplicados serão fechados, mantém-te atento a isso.', - dontOpenIssues: `NÃO abras issues para colocar questões, existe um subreddit para isso.`, - newUI: { - text: `Caso sejas fluente em python podes tentar criar um novo UI para a aplicação recorrendo à biblioteca base , ou corrigir erros na biblioteca com um pull request no {repo}.`, - repo: 'repositório' - }, - acceptFeatures: `Também aceito funcionalidades não complexas caso possam ser implementadas directamente na app e não na biblioteca.`, - otherLanguages: `Caso sejas fluente noutra linguagem de programação podes tentar migrar o deemix para outra linguagem de programação!`, - understandingCode: `Precisas de ajuda a entender o código? Acede a RemixDev no Telegram ou no Reddit.`, - contributeWebUI: { - text: `Caso saibas Vue.js (JavaScript), HTML ou CSS podes contribuir para o {webui}.`, - webui: 'WebUI' - }, - itsFree: `Deves ter em conta que que este projecto é gratuito e deverás apoiar os artistas que aprecias antes de apoiares os programadores.`, - notObligated: `Não te sintas obrigado a doar, agradeço-te na mesma!`, - lincensedUnder: { - text: `Este trabalho esta licenciado sobre a {gpl3}.`, - gpl3: 'GNU Licença publica geral 3.0' - } - }, - charts: { - title: 'Tabelas', - changeCountry: 'Alterar país', - download: 'Transferir tabela' - }, - errors: { - title: 'Erros para {name}', - ids: { - invalidURL: 'URL não reconhecido', - unsupportedURL: 'URL ainda não suportado', - ISRCnotOnDeezer: 'Faixa ISRC não disponível no deezer', - notYourPrivatePlaylist: 'Nao podes baixar listas de reprodução privadas de outros.', - spotifyDisabled: 'Funcionalidades do Spotify não estão definidas corretamente.', - trackNotOnDeezer: 'Faixa não encontrada no deezer!', - albumNotOnDeezer: 'Álbum não encontrado no deezer!', - notOnDeezer: 'Faixa não encontrada no Deezer!', - notEncoded: 'Faixa ainda não codificada!', - notEncodedNoAlternative: 'Faixa ainda não codificada e não foi encontrada alternativa!', - wrongBitrate: 'Faixa não encontrada no bitrate desejado.', - wrongBitrateNoAlternative: 'Faixa não encontrada no bitrate desejado e não foi encontrada alternativa!', - no360RA: 'Faixa não disponível em Reality Audio 360.', - notAvailable: 'Faixa não disponível nos servidores do deezer!', - notAvailableNoAlternative: 'Faixa não disponível nos servidores do deezer e não foi encontrada alternativa!' - } - }, - favorites: { - title: 'Favoritos', - noPlaylists: 'Listas de reprodução não encontradas', - noAlbums: 'Álbuns favoritos não encontrados', - noArtists: 'Artistas favoritos não encontrados', - noTracks: 'Faixas favoritas não encontradas' - }, - home: { - needTologin: 'Antes de iniciar transferências é necessário efectuar autenticação na conta Deezer.', - openSettings: 'Abrir Definições', - sections: { - popularPlaylists: 'Listas de reprodução populares', - popularAlbums: 'Álbuns mais ouvidos' - } - }, - linkAnalyzer: { - info: 'Podes usar esta secção para obteres mais informação sobre o link que estás a tentar transferir.', - useful: - 'Isto é útil caso estejas a tentar transferir faixas que não estão disponíveis no teu país e queres saber onde estão disponíveis, por exemplo.', - linkNotSupported: 'Este link ainda não é suportado', - linkNotSupportedYet: 'Parece que este link ainda não é suportado, tenta analisar outro.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Duração', - diskNumber: 'Número do disco', - trackNumber: 'Número da faixa', - releaseDate: 'Data de lançamento', - bpm: 'BPM', - label: 'Editora', - recordType: 'Tipo de Disco', - genres: 'Géneros', - tracklist: 'Lista de faixas' - } - }, - search: { - startSearching: 'Começa a pesquisar!', - description: - 'Podes perquisar uma música, um álbum inteiro, um artista, uma lista de reprodução... tudo! Também podes colar um link do Deezer', - fans: '{n} fãs', - noResults: 'Sem resultados', - noResultsTrack: 'Faixa não encontrada', - noResultsAlbum: 'Álbum não encontrado', - noResultsArtist: 'Artista não encontrado', - noResultsPlaylist: 'Lista de reprodução não encontrada' - }, - searchbar: 'Pesquisa o que quiseres (ou cola um link)', - downloads: 'transferências', - toasts: { - addedToQueue: '{item} adicionados à fila', - alreadyInQueue: '{item} já está na fila!', - finishDownload: '{item} foi transferido.', - allDownloaded: 'Todas as transferências terminadas!', - refreshFavs: 'Actualizar terminados!', - loggingIn: 'A autenticar', - loggedIn: 'Autenticado', - alreadyLogged: 'Já estás autenticado', - loginFailed: 'Nao foi possivel iniciar sessão', - loggedOut: 'Desconectado', - cancellingCurrentItem: 'A cancelar item actual.', - currentItemCancelled: 'Item actual cancelado.', - startAddingArtist: 'A adicionar {artist} álbuns à fila', - finishAddingArtist: 'Adicionados {artist} álbuns à fila', - startConvertingSpotifyPlaylist: 'A converter faixas do spotify em faixas do deezer', - finishConvertingSpotifyPlaylist: 'Lista de reprodução do Spotify convertida.' - }, - settings: { - title: 'Definições', - languages: 'Idioma', - login: { - title: 'Inicio de Sessão', - loggedIn: 'Estás autenticado como {username}', - arl: { - question: 'Como obter o meu ARL?', - update: 'Actualizar ARL' - }, - logout: 'Sair' - }, - appearance: { - title: 'Aspecto', - slimDownloadTab: 'Aba de transferências estreita' - }, - downloadPath: { - title: 'Caminho das transferências' - }, - templates: { - title: 'Formatos', - tracknameTemplate: 'Formato do nome de faixa', - albumTracknameTemplate: 'Formato do nome de Álbum', - playlistTracknameTemplate: 'Formato do nome de lista de reprodução' - }, - folders: { - title: 'Pastas', - createPlaylistFolder: 'Criar pasta para lista de reprodução', - playlistNameTemplate: 'Formato da pasta de lista de reprodução', - createArtistFolder: 'Criar pasta para artista', - artistNameTemplate: 'Formato da pasta de artista', - createAlbumFolder: 'Criar pasta para álbum', - albumNameTemplate: 'Formato da pasta de álbum', - createCDFolder: 'Criar pasta para CDs', - createStructurePlaylist: 'Criar estrutura de pastas para listas reprodução', - createSingleFolder: 'Criar estrutura de pastas para singles' - }, - trackTitles: { - title: 'Título', - padTracks: 'Bloco de Faixas', - paddingSize: 'Substituir tamanho do preenchimento', - illegalCharacterReplacer: 'Substituir caractere inválido' - }, - downloads: { - title: 'Transferências', - queueConcurrency: 'Transferências concorrentes', - maxBitrate: { - title: 'Bitrate preferencial', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Ficheiros existentes. Substituir?', - y: 'Sim, substituir o ficheiro', - n: 'Não substituir o ficheiro', - t: 'Subescrever apenas as etiquetas' - }, - fallbackBitrate: 'Bitrate fallback', - fallbackSearch: 'Fallback de pesquisa', - logErrors: 'Criar histórico para erros', - logSearched: 'Criar histórico para faixas pesquisadas', - createM3U8File: 'Criar ficheiro de lista de reprodução', - syncedLyrics: 'Criar ficheiro .lyr (Letra Sincronizada)', - playlistFilenameTemplate: 'Formato do nome de ficheiro da lista de reprodução', - saveDownloadQueue: 'Guardar fila de transferências ao fechar a aplicação' - }, - covers: { - title: 'Capas do Álbum', - saveArtwork: 'Guardar capas', - coverImageTemplate: 'Modelo do nome da capa', - saveArtworkArtist: 'Salvar imagem do artista', - artistImageTemplate: 'Modelo de imagem do artista', - localArtworkSize: 'Tamanho do trabalho artístico local', - embeddedArtworkSize: 'Tamanho do trabalho artístico incorporado', - localArtworkFormat: { - title: 'Em que formato desejas o trabalho artístico local?', - jpg: 'Em imagem jpeg', - png: 'Em imagem png', - both: 'Em jpeg e em png' - }, - jpegImageQuality: 'Qualidade de imagem JPEG' - }, - tags: { - head: 'Etiquetas a guardar', - title: 'Título', - artist: 'Artista', - album: 'Álbum', - cover: 'Capa', - trackNumber: 'Número de faixa', - trackTotal: 'Total de faixas', - discNumber: 'Número do Disco', - discTotal: 'Total de Discos', - albumArtist: 'Artista do Álbum', - genre: 'Género', - year: 'Ano', - date: 'Data', - explicit: 'Letra Explícita', - isrc: 'ISRC', - length: 'Duração da faixa', - barcode: 'Código de barras do álbum (UPC)', - bpm: 'BPM', - replayGain: 'ReplayGain', - label: 'Editora do álbum', - lyrics: 'Letra da música não sincronizada', - copyright: 'Direitos de Autor', - composer: 'Compositor', - involvedPeople: 'Pessoas envolvidas' - }, - other: { - title: 'Outros', - savePlaylistAsCompilation: 'Guardar listas de reprodução como compilação', - useNullSeparator: 'Usar separador nulo', - saveID3v1: 'Também guardar ID3v1', - multiArtistSeparator: { - title: 'Como queres separarar os artistas?', - nothing: 'Guardar apenas o artista principal', - default: 'Usar especificação padrão', - andFeat: 'Usar & e feat.', - using: 'Usar "{separator}"' - }, - singleAlbumArtist: 'Guardar apenas o artista principal do álbum', - albumVariousArtists: 'Manter "Various Artists" nos Artistas do Álbum', - removeAlbumVersion: 'Remover "Album Version" do título da faixa', - removeDuplicateArtists: 'Remover combinação de artistas', - dateFormat: { - title: 'Formato de data nos ficheiros FLAC', - year: 'AAAA', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'O que devo fazer com artistas convidados/participações?', - 0: 'Nada', - 1: 'Remover do título', - 3: 'Remover do título e do título do album', - 2: 'Movê-lo para o título' - }, - titleCasing: 'Caixa do Título', - artistCasing: 'Caixa do Artista', - casing: { - nothing: 'Manter inalterado', - lower: 'minusculas', - upper: 'MAIÚSCULAS', - start: 'Início De Cada Palavra', - sentence: 'Como uma frase' - }, - previewVolume: 'Volume de Pré-visualização', - executeCommand: { - title: 'Comando a executar após transferir', - description: 'Deixar em branco para nenhuma acção' - } - }, - spotify: { - title: 'Funcionalidades Spotify', - clientID: 'Spotify clientID', - clientSecret: 'Spotify Client Secret', - username: 'nome de utilizador Spotify' - }, - reset: 'Repor configurações padrão', - save: 'Guardar', - toasts: { - init: 'Configurações carregadas!', - update: 'Configurações actualizadas', - ARLcopied: 'ARL copiado para area de transferencia' - } - }, - sidebar: { - home: 'início', - search: 'pesquisa', - charts: 'tabelas', - favorites: 'favoritos', - linkAnalyzer: 'analizador de links', - settings: 'definições', - about: 'sobre' - }, - tracklist: { - downloadSelection: 'Transferir seleccionados' - } -} - -export default pt diff --git a/webui-new/src/lang/ru.js b/webui-new/src/lang/ru.js deleted file mode 100644 index 91e2c78..0000000 --- a/webui-new/src/lang/ru.js +++ /dev/null @@ -1,395 +0,0 @@ -const ru = { - globals: { - welcome: 'Добро пожаловать в deemix', - back: 'назад', - loading: 'загрузка', - download: 'Скачать {thing}', - by: '{artist}', - in: 'из {album}', - download_hint: 'Скачать', - play_hint: 'Прослушать', - toggle_download_tab_hint: 'Показать/Скрыть', - clean_queue_hint: 'Очистить завершённые', - cancel_queue_hint: 'Очистить всё', - open_downloads_folder: 'Открыть папку с загрузками', - cut: 'вырезать', - copy: 'копировать', - copyLink: 'копировать ссылку', - copyImageLink: 'копировать URL картинки', - copyDeezerLink: 'копировать ссылку deezer', - paste: 'вставить', - listTabs: { - empty: '', - all: 'все', - top_result: 'лучший результат', - album: 'альбом | альбомы | альбомы', - artist: 'исполнитель | исполнители | исполнители', - single: 'сингл | синглы | синглы', - title: 'название', - track: 'трек | треки | треки', - trackN: '{n} трек | {n} трека | {n} треков', - releaseN: '{n} релиз | {n} релиза | {n} релизов', - playlist: 'плейлист | плейлисты | плейлисты', - compile: 'сплит | сплиты | сплиты', - ep: 'ep', - bundle: 'бандл | бандлы | бандлы', - more: 'Больше альбомов', - featured: 'Представлено в', - spotifyPlaylist: 'плейлист spotify | плейлисты spotify | плейлисты spotify', - releaseDate: 'Дата выхода', - error: 'ошибка', - albumN: '{n} альбом | {n} альбома | {n} альбомов', - artistN: '{n} исполнитель | {n} исполнителя | {n} исполнителей', - playlistN: '{n} плейлист | {n} плейлиста | {n} плейлистов' - } - }, - about: { - updates: { - currentVersion: 'Текущая версия', - versionNotAvailable: 'Н/Д', - updateAvailable: `Вы используете не последнюю доступную версию: {version}`, - deemixVersion: 'Версия библиотеки deemix' - }, - titles: { - usefulLinks: 'Полезные ссылки', - bugReports: 'Отчёты об ошибках', - contributing: 'Помощь проекту', - donations: 'Пожертвования', - license: 'Лицензия' - }, - subtitles: { - bugReports: 'Что-то не работает? Сообщите нам!', - contributing: 'Хотите внести вклад в развитие этого проекта? Это можно сделать разными способами!', - donations: 'Хотите поддержать материально? Можно сделать пожертвование!' - }, - usesLibrary: - 'Приложение использует библиотеку deemix, с помощью которой вы можете разработать собственный UI для deemix.', - thanks: `Спасибо rtonno, uhwot и lollilol за помощь с этим проектом, а также BasCurtiz за иконку.`, - upToDate: { - text: `Следите за последними обновлениями на {newsChannel} в Telegram.`, - newsChannel: 'канале' - }, - officialWebsite: 'Официальный сайт', - officialRepo: 'Официальный репозиторий библиотеки', - officialWebuiRepo: 'Официальный репозиторий WebUI', - officialSubreddit: 'Официальный сабреддит', - newsChannel: 'Канал новостей', - questions: { - text: `Если у вас возникли вопросы или проблемы с приложением, поищите решение на {subreddit}. Если не нашли решение, можете создать новый пост и описать вашу проблему.`, - subreddit: 'сабреддите' - }, - beforeReporting: `Перед тем, как сообщать об ошибках, убедитесь, что вы используете последнюю версию приложения и что проблема не на вашей стороне.`, - beSure: `Убедитесь, что ошибка возникает и на других устройствах. Также НЕ сообщайте об ошибке, если про неё уже известно.`, - duplicateReports: 'Повторные сообщения об ошибках рассматриваться не будут.', - dontOpenIssues: `НЕ используйте репозиторий для вопросов автору, для этого есть сабреддит.`, - newUI: { - text: `Если вы хорошо знаете python, то можете сделать новый UI для приложения с использованием базовой библиотеки или пофиксить в ней баги и сделать pull request в {repo}.`, - repo: 'репозитории' - }, - acceptFeatures: `Можете предложить новые функции, но не слишком сложные, так как они будут добавлены в приложение, а не в саму библиотеку.`, - otherLanguages: `Если вы хорошо знаете другой язык программирования, можете портировать на нём deemix!`, - understandingCode: `Не можете разобраться в коде? Свяжитесь с RemixDev в Telegram или на Reddit.`, - contributeWebUI: { - text: `Если вы знаете Vue.js (JavaScript), HTML или CSS, можете внести вклад в развитие {webui}.`, - webui: 'WebUI' - }, - itsFree: `Помните, что это бесплатное приложение и вам следует поддерживать понравившихся исполнителей прежде, чем поддерживать разработчиков.`, - notObligated: `Вы не обязаны делать пожертвования, я всё равно вас ценю!`, - lincensedUnder: { - text: `Проект распространяется под лицензией {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Чарты', - changeCountry: 'Сменить страну', - download: 'Скачать чарт' - }, - errors: { - title: 'Ошибки {name}', - ids: { - invalidURL: 'URL не распознан', - unsupportedURL: 'URL не поддерживается', - ISRCnotOnDeezer: 'ISRC данного трека недоступен на Deezer', - notYourPrivatePlaylist: 'Вы не можете скачивать чужие приватные плейлисты.', - spotifyDisabled: 'Неправильно настроены параметры Spotify.', - trackNotOnDeezer: 'Трек не найден на Deezer!', - albumNotOnDeezer: 'Альбом не найден на Deezer!', - notOnDeezer: 'Трек недоступен на Deezer!', - notEncoded: 'Трек ещё не перекодирован!', - notEncodedNoAlternative: 'Трек не перекодирован, альтернатив не найдено!', - wrongBitrate: 'Данного трека нет в нужном битрейте.', - wrongBitrateNoAlternative: 'Данного трека нет в нужном битрейте. Альтернатив не найдено!', - no360RA: 'Трек недоступен в формате Reality Audio 360.', - notAvailable: 'Трек недоступен на серверах Deezer!', - notAvailableNoAlternative: 'Трек недоступен на серверах Deezer. Альтернатив не найдено!', - noSpaceLeft: 'На устройстве не осталось свободного места!', - albumDoesntExists: 'Альбома не существует, информация не получена' - } - }, - favorites: { - title: 'Избранное', - noPlaylists: 'Плейлисты не найдены', - noAlbums: 'Избранные альбомы не найдены', - noArtists: 'Избранные исполнители не найдены', - noTracks: 'Избранные треки не найдены' - }, - home: { - needTologin: 'Вам необходимо войти под своей учетной записью Deezer, прежде чем вы сможете скачивать.', - openSettings: 'Открыть настройки', - sections: { - popularPlaylists: 'Популярные плейлисты', - popularAlbums: 'Самые прослушиваемые альбомы' - } - }, - linkAnalyzer: { - info: 'Используйте этот раздел, чтобы узнать информацию о ссылке, которую требуется скачать.', - useful: - 'Этот раздел нужен, если вы хотите загрузить треки, недоступные в вашей стране, а также посмотреть, где они доступны.', - linkNotSupported: 'Ссылка не поддерживается', - linkNotSupportedYet: 'Эта ссылка не поддерживается, попробуйте вставить другую.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Продолжительность', - diskNumber: 'Номер диска', - trackNumber: 'Номер трека', - releaseDate: 'Дата выхода', - bpm: 'BPM', - label: 'Издатель', - recordType: 'Тип', - genres: 'Жанр', - tracklist: 'Треклист' - } - }, - search: { - startSearching: 'Начните искать!', - description: 'Здесь можно найти трек, альбом, исполнителя, плейлист... всё! Можно также вставить ссылку Deezer', - fans: '{n} поклонников', - noResults: 'Нет результатов', - noResultsTrack: 'Треков не найдено', - noResultsAlbum: 'Альбомов не найдено', - noResultsArtist: 'Исполнителей не найдено', - noResultsPlaylist: 'Плейлистов не найдено' - }, - searchbar: 'Ищите, что хотите (или вставьте ссылку)', - downloads: 'загрузки', - toasts: { - restoringQueue: 'Восстановление очереди загрузок...', - queueRestored: 'Очередь восстановлена!', - addedToQueue: '{item} добавлено в очередь', - addedMoreToQueue: '{n} загрузок добавлены в очередь', - alreadyInQueue: '{item} уже присутствует в очереди!', - finishDownload: 'Загрузка {item} завершена.', - allDownloaded: 'Все загрузки завершены!', - refreshFavs: 'Обновление завершено!', - loggingIn: 'Вход...', - loggedIn: 'Вход выполнен', - alreadyLogged: 'Вход уже выполнен', - loginFailed: 'Вход не выполнен', - loggedOut: 'Вы вышли из аккаунта', - cancellingCurrentItem: 'Отмена текущей загрузки.', - currentItemCancelled: 'Отменено.', - startAddingArtist: 'Добавление альбомов {artist} в очередь', - finishAddingArtist: 'Альбомы {artist} добавлены в очередь', - startConvertingSpotifyPlaylist: 'Добавление плейлиста Spotify в очередь', - finishConvertingSpotifyPlaylist: 'Spotify плейлист добавлен в очередь', - loginNeededToDownload: 'Войдите в аккаунт, чтобы скачивать треки!', - deezerNotAvailable: 'Deezer недоступен в вашей стране. Используйте VPN.', - startGeneratingItems: 'Обработка {n} загрузок...', - finishGeneratingItems: 'Обработано {n} загрузок.' - }, - settings: { - title: 'Настройки', - languages: 'Язык', - login: { - title: 'Вход', - loggedIn: 'Вы вошли как {username}', - arl: { - question: 'Как узнать свой ARL?', - update: 'Обновить ARL' - }, - logout: 'Выйти', - login: 'Войти через deezer.com' - }, - appearance: { - title: 'Внешний вид', - slimDownloadTab: 'Компактная вкладка с загрузками', - slimSidebar: 'Компактная левая панель' - }, - downloadPath: { - title: 'Путь для сохранения' - }, - templates: { - title: 'Шаблоны', - tracknameTemplate: 'Шаблон названия трека', - albumTracknameTemplate: 'Шаблон названия трека альбома', - playlistTracknameTemplate: 'Шаблон названия трека плейлиста' - }, - folders: { - title: 'Папки', - createPlaylistFolder: 'Создавать папки для плейлистов', - playlistNameTemplate: 'Название папки плейлиста', - createArtistFolder: 'Создавать папки для исполнителя', - artistNameTemplate: 'Название папки исполнителя', - createAlbumFolder: 'Создавать папки для альбома', - albumNameTemplate: 'Название папки альбома', - createCDFolder: 'Создавать папки для CD', - createStructurePlaylist: 'Создавать структуру папок для плейлистов', - createSingleFolder: 'Создавать структуру папок для синглов' - }, - trackTitles: { - title: 'Названия треков', - padTracks: 'Добавлять ноль к номерам треков (01, 02, ...)', - paddingSize: 'Кол-во цифр в номере', - illegalCharacterReplacer: 'Замена для запрещённых в имени символов' - }, - downloads: { - title: 'Загрузки', - queueConcurrency: 'Количество одновременных загрузок', - maxBitrate: { - title: 'Предпочитаемый битрейт', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Нужно ли перезаписывать файлы?', - y: 'Да, перезаписать файл', - n: 'Нет, не перезаписывать', - t: 'Обновить только теги', - b: 'Нет, оставить оба файла и добавить номер к дубликату', - e: 'Нет, вне зависимости от расширения' - }, - fallbackBitrate: 'Загружать с битрейтом ниже, если текущий недоступен', - fallbackSearch: 'Искать похожий трек, если запрашиваемый недоступен', - logErrors: 'Сохранять логи ошибок', - logSearched: 'Сохранять лог истории поиска', - createM3U8File: 'Создавать файлы плейлистов', - syncedLyrics: 'Создать .lyr файлы (синхронизированная лирика)', - playlistFilenameTemplate: 'Шаблон названия плейлиста', - saveDownloadQueue: 'Сохранять текущую очередь загрузок при закрытии приложения' - }, - covers: { - title: 'Обложки', - saveArtwork: 'Сохранять файл обложки', - coverImageTemplate: 'Шаблон названия обложки', - saveArtworkArtist: 'Сохранять файл изображения исполнителя', - artistImageTemplate: 'Шаблон названия изображения', - localArtworkSize: 'Размер сохраненной обложки', - embeddedArtworkSize: 'Размер встроенной в теги обложки', - localArtworkFormat: { - title: 'В каком формате сохранять обложки?', - jpg: 'jpeg', - png: 'png', - both: 'jpeg и png' - }, - jpegImageQuality: 'Качество JPEG', - embeddedArtworkPNG: 'Сохранять вложенную обложку в PNG', - embeddedPNGWarning: 'PNG официально не поддерживается в Deezer. Могут быть баги', - imageSizeWarning: 'Обложки с разрешением выше x1200 не поддерживаются в Deezer. Могут быть проблемы', - coverDescriptionUTF8: 'Сохранять описание обложки в UTF8 (iTunes Fix)' - }, - tags: { - head: 'Какие теги сохранять', - title: 'Название', - artist: 'Исполнитель', - album: 'Альбом', - cover: 'Обложка', - trackNumber: 'Номер трека', - trackTotal: 'Кол-во треков', - discNumber: 'Номер диска', - discTotal: 'Кол-во дисков', - albumArtist: 'Исполнитель альбома', - genre: 'Жанр', - year: 'Год', - date: 'Дата', - explicit: 'Метка о нецензурной лексике', - isrc: 'Номер записи (ISRC)', - length: 'Продолжительность', - barcode: 'Уникальный код альбома (UPC)', - bpm: 'BPM', - replayGain: 'Replay Gain', - label: 'Издатель', - lyrics: 'Текст песни', - syncedLyrics: 'Синхрон. текст песни', - copyright: 'Права (копирайт)', - composer: 'Композитор', - involvedPeople: 'Вовлечённые люди', - source: 'Источник и ID песни' - }, - other: { - title: 'Разное', - savePlaylistAsCompilation: 'Сохранять плейлисты как сборники', - useNullSeparator: 'Использовать null в качестве разделителя', - saveID3v1: 'Сохранять ID3v1', - multiArtistSeparator: { - title: 'Как разделять несколько исполнителей?', - nothing: 'Сохранить только основного', - default: 'Используя стандартную спецификацию', - andFeat: 'Используя & и feat.', - using: 'Используя "{separator}"' - }, - singleAlbumArtist: 'Сохранить только основного исполнителя альбома', - albumVariousArtists: 'Оставить "Various Artists" в исполнителях альбома', - removeAlbumVersion: 'Удалить "Album Version" из названия трека', - removeDuplicateArtists: 'Удалить повторяющихся исполнителей', - dateFormat: { - title: 'Формат даты для FLAC файлов', - year: 'ГГГГ', - month: 'ММ', - day: 'ДД' - }, - featuredToTitle: { - title: 'Что делать с приглашёнными исполнителями (feat.)?', - 0: 'Ничего', - 1: 'Удалить из названия трека', - 3: 'Удалить из названия трека и альбома', - 2: 'Добавить в название трека' - }, - titleCasing: 'Регистр названия', - artistCasing: 'Регистр исполнителя', - casing: { - nothing: 'Не менять', - lower: 'в нижнем регистре', - upper: 'В ВЕРХНЕМ РЕГИСТРЕ', - start: 'Каждое Слово С Заглавной Буквы', - sentence: 'Как в предложении' - }, - previewVolume: 'Громкость прослушивания', - executeCommand: { - title: 'Выполнять команды по окончании загрузок', - description: 'Оставьте пустым, если ничего не требуется' - } - }, - spotify: { - title: 'Настройки Spotify', - clientID: 'Spotify clientID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify username', - question: 'Как включить функции Spotify?' - }, - reset: 'По умолчанию', - save: 'Сохранить', - toasts: { - init: 'Настройки загружены!', - update: 'Настройки обновлены!', - ARLcopied: 'ARL скопирован в буфер обмена' - } - }, - sidebar: { - home: 'главная', - search: 'поиск', - charts: 'чарты', - favorites: 'избранное', - linkAnalyzer: 'анализ ссылок', - settings: 'настройки', - about: 'о проекте' - }, - tracklist: { - downloadSelection: 'Скачать выбранные' - } -} - -export default ru diff --git a/webui-new/src/lang/tr.js b/webui-new/src/lang/tr.js deleted file mode 100644 index 5c011b2..0000000 --- a/webui-new/src/lang/tr.js +++ /dev/null @@ -1,356 +0,0 @@ -const tr = { - globals: { - welcome: `Deemix'e hoş geldin.`, - back: `geri`, - loading: `yükleniyor`, - download: 'İndir {thing}', - by: '{artist} tarafından', - in: '{album} içinde', - download_hint: 'İndir', - play_hint: 'Oynat', - toggle_download_tab_hint: 'Genişlet/Daralt', - clean_queue_hint: 'Tamamlananları Temizle', - cancel_queue_hint: 'Hepsini ', - listTabs: { - empty: '', - all: 'Tümü', - top_result: 'top result', - album: 'albüm | albümler', - artist: 'sanatçı | sanatçılar', - single: 'single | singlelar', - title: 'başlık | başlıklar', - track: 'Parça | Parçalar', - trackN: '0 parça | {n} parça | {n} parça', - releaseN: '0 yayınlanan | {n} yayınlanan | {n} yayınlanan', - playlist: 'oynatma listesi | oynatma listeleri', - compile: 'derleme | derlemeler', - ep: 'kayıt | kayıtlar', - spotifyPlaylist: 'spotify oynatma listesi | oynatma listeleri', - releaseDate: 'yayınlanma tarihi', - error: 'hata' - } - }, - about: { - titles: { - usefulLinks: 'Yararlı Bağlantılar', - bugReports: 'Hata Raporları', - contributing: 'Katkı Sağlayanlar', - donations: 'Bağışlar', - license: 'Lisans' - }, - subtitles: { - bugReports: "Deemix'te çalışmayan bir şey mi var?, Bize bildirin!", - contributing: 'Projeye katkı sağlamak mı istiyorsun? Farklı yollardan sağlayabilirsin!', - donations: 'Bütçe yardımı mı yapmak istiyorsun? Bağış yapabilirsin!' - }, - usesLibrary: - 'deemix kendi kullanıcı arabiriminizi oluşturabileceğiniz, kendine özgü kütüphanesini kullanıyor.', - thanks: ` rtonno, uhwot ve lollilol'a bu projeye yaptığı katkılardan ve BasCurtiz'e ikonlardan dolayı teşekkür ederim.`, - upToDate: { - text: `{newsChannel} takip ederek güncellemelerden haberdar olun.`, - newsChannel: 'Telegramdaki haber kanalını' - }, - officialWebsite: 'İlgili İnternet Sitemiz', - officialRepo: 'İlgili Kütüphanemiz', - officialWebuiRepo: 'İlgili Web Kullanıcı Arayüzü Kütüphanemiz.', - officialSubreddit: 'İlgili Subreddit adresimiz', - newsChannel: 'Haber Kanalı', - questions: { - text: `Eğer uygulama ile ilgili sorularınız veya bir probleminiz varsa,ilk önce {subreddit} sorununuzu arayın. Eğer bir şey bulamazsanız, sorununuz ile ilgili bir gönderi paylaşabilirsiniz.`, - subreddit: 'subreddit adresinden' - }, - beforeReporting: `Bir hatayı bildirmeden önce, uygulamanın son sürümünde olduğunuza veya sorunun sizden kaynaklı olmayıp bir hata olduğuna emin olduktan sonra emin olun.`, - beSure: `Hatanın başka cihazlarda da olduğunu doğrulayın ve Bildirilen bir hatayı tekrar bildirmeyin.`, - duplicateReports: 'Birbirinin aynısı olan hata bildirileri kapatılacaktır, o yüzden dikkatli olun.', - dontOpenIssues: `Soru sormak için hata bildirisi yollamayın, bunun için bir subreddit adresimiz var.`, - newUI: { - text: `Eğer Phython kullanmakta iyiysen, ana kütüphaneyi kullanan bir kullanıcı arayüzü yapmayı deneyebilir, veya kütüphanedeki hataları düzeltmek için {repo}.`, - repo: 'deposuna değişiklik isteği yollayabilirsin' - }, - acceptFeatures: `Yeni özellikleri de kabul ediyorum, fakat karışık şeyleri kütüphaneye değil uygulamaya eklendiği için kabul edemiyorum.`, - otherLanguages: `Eğer diğer programlama dillerinde kendine güveniyorsan, deemix'i farklı dillere port etmeye çalışabilirsin!`, - understandingCode: `Kodu anlamak için yardım mı lazım? Reddit üzerinden veya Telegramdan RemixDev'e ulaş.`, - contributeWebUI: { - text: `Eğer Vue.js (JavaScript), HTML veya CSS biliyorsan, {webui}.`, - webui: 'Web Kullanıcı Arayüzüne katkıda bulanabilirsin' - }, - itsFree: `Bunun ücretsiz bir proje olduğunu ve geliştiricilerden önce sevdiğiniz sanatçıları desteklemeniz gerektiğini unutmayın.`, - notObligated: `Kendinizi bağış yapmak zorunda hissetmeyin!, Sizi her halinizle seviyorum!`, - lincensedUnder: { - text: `Bu çalışma lisanslıdır: {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Grafikler', - changeCountry: 'Ülke Değiştir', - download: 'Grafiği İndir' - }, - errors: { - title: '{name} Hatalı bulundu', - ids: { - invalidURL: 'URL geçersiz.', - unsupportedURL: 'URL şimdilik desteklenmiyor', - ISRCnotOnDeezer: 'ISRC parça deezerda bulunmuyor', - notYourPrivatePlaylist: 'Başkalarının özel oynatma listelerini indiremezsin.', - spotifyDisabled: 'Spotify Özellikleri doğru şekilde ayarlanmamış.', - trackNotOnDeezer: `Parça Deezer'da bulunamadı!`, - albumNotOnDeezer: `Albüm Deezer'da bulunamadı!`, - notOnDeezer: `Parça Deezer'da yok!`, - notEncoded: `Parça henüz dönüştürülmedi!`, - notEncodedNoAlternative: 'Parça henüz dönüştürülmedi ve alternatifi bulunamadı!', - wrongBitrate: 'Parça, istenen kalitede bulunamadı!', - wrongBitrateNoAlternative: 'Parça veya alternatifler istenen kalitede bulunamadı!', - no360RA: 'Parça 360 Derece gerçekçi ses olarak bulunamadı!', - notAvailable: 'Parça Deezer sunucularında bulunamadı!', - notAvailableNoAlternative: 'Parça veya Alternatifleri Deezer sunucularında bulunamadı.!' - } - }, - favorites: { - title: 'Favoriler', - noPlaylists: 'Oynatma listesi bulunamadı.', - noAlbums: 'Favori albümler bulunamadı.', - noArtists: 'Favori sanatçılar bulunamadı.', - noTracks: 'Favori parçalar bulunamadı.' - }, - home: { - needTologin: 'İndirmeden önce Deezer hesabına giriş yapmalısın.', - openSettings: 'Ayarları Aç', - sections: { - popularPlaylists: 'Popüler Oynatma Listeleri', - popularAlbums: 'En çok dinlenen albümler' - } - }, - linkAnalyzer: { - info: 'İndirmeye çalıştığın link hakkında daha fazla bilgi için burayı kullanabilirsin.', - useful: 'Mesela, ülkende dinlenebilir olmayan parçaların nerelerde var olduğunu bulmak için kullanabilirsin.', - linkNotSupported: 'Bu link şimdilik desteklenmemektedir.', - linkNotSupportedYet: 'Bu link şimdilik desteklenmiyor gibi duruyor, başkasını analiz etmeyi dene.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Süre', - diskNumber: 'Sıra numarası', - trackNumber: 'Parça numarası', - releaseDate: 'Yayınlanma tarihi', - bpm: 'BPM', - label: 'Etiketi', - recordType: 'Kayıt Şekli', - genres: 'Türü', - tracklist: 'Parça listesi' - } - }, - search: { - startSearching: 'Aramayı Başlat!', - description: - 'Bir parçayı, tüm albümü, bir sanatçıyı, bir oynatma listesini... kısaca her şeyi aratabilirsin! Ayrıca Deezer Linki de yapıştırabilirsin!', - fans: '{n} Hayranlar', - noResults: 'Sonuç Bulunamadı', - noResultsTrack: 'Parça bulunamadı', - noResultsAlbum: 'Albüm bulunamadı', - noResultsArtist: 'Sanatçı bulunamadı', - noResultsPlaylist: 'Oynatma Listesi bulunamadı' - }, - searchbar: 'İstediğin bir şeyi arat (ya da bir link yapıştır.)', - downloads: 'İndirilenler', - toasts: { - addedToQueue: '{item} kuyruğa eklendi', - alreadyInQueue: '{item} çoktan kuyrukta!', - finishDownload: '{item} indirmesi tamamlandı.', - allDownloaded: 'Tüm indirmeler tamamlandı!', - refreshFavs: 'Yenileme tamamlandı.!', - loggingIn: 'Giriş yapılıyor', - loggedIn: 'Giriş yapıldı', - alreadyLogged: 'Çoktan giriş yapıldı', - loginFailed: 'Giriş yapılamadı', - loggedOut: 'Oturum kapatıldı.', - cancellingCurrentItem: 'Geçerli öğe iptal ediliyor.', - currentItemCancelled: 'Geçerli öğe iptal edildi.', - startAddingArtist: '{artist} albüm kuyruğa ekleniyor', - finishAddingArtist: '{artist} albüm kuyruğa eklendi.', - startConvertingSpotifyPlaylist: 'Spotify parçaları deezer parçalarına dönüştürülüyor.', - finishConvertingSpotifyPlaylist: 'Spotify oynatma listesi dönüştürüldü.' - }, - settings: { - title: 'Ayarlar', - languages: 'Diller', - login: { - title: 'Giriş', - loggedIn: '{username} olarak giriş yaptın.', - arl: { - question: `Kendi ARL'mi nasıl alırım?`, - update: 'ARL güncelle.' - }, - logout: 'Çıkış' - }, - appearance: { - title: 'Görünüm', - slimDownloadTab: 'İnce indirme sekmesi' - }, - downloadPath: { - title: 'İndirilen dizin' - }, - templates: { - title: 'Şablonlar', - tracknameTemplate: 'Parça ismi şablonu', - albumTracknameTemplate: 'Albüm parçası şablonu', - playlistTracknameTemplate: 'Oynatma listesi parça şablonu' - }, - folders: { - title: 'Dosyalar', - createPlaylistFolder: 'Oynatma listesi için dosya oluştur', - playlistNameTemplate: 'Oynatma listesi dosyası şablonu', - createArtistFolder: 'Sanatçı için dosya oluştur', - artistNameTemplate: 'Sanatçı dosyası şablonu', - createAlbumFolder: 'Albüm için dosya oluştur', - albumNameTemplate: 'Albüm dosyası şablonu', - createCDFolder: 'CDler için dosya oluştur', - createStructurePlaylist: 'Oynatma listeleri için dosya kökü oluştur', - createSingleFolder: 'Singlelar için dosya kökü oluştur' - }, - trackTitles: { - title: 'Parça başlıkları', - padTracks: 'İz Numaraları', - paddingSize: 'İz Numaralarını değiştir', - illegalCharacterReplacer: 'Illegal Karakter Düzenleyici' - }, - downloads: { - title: 'İndirilenler', - queueConcurrency: 'Devam eden indirmeler', - maxBitrate: { - title: 'Tercih edilmiş Bitrateler (kaliteler)', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Dosyaların üstüne yazmalı mıyım?', - y: 'Evet, üstüne yaz', - n: 'Hayır, üstüne yazma', - t: 'Sadece izleri üstüne yaz' - }, - fallbackBitrate: 'Bitrate düşürme', - fallbackSearch: 'Düşürme ara', - logErrors: 'Hatalar için günlük tut', - logSearched: 'Aranmış parçalar için günlük tut', - createM3U8File: 'Oynatma sıra listesi oluştur', - syncedLyrics: '.lyr dosyaları oluştur (Senkronize şarkı sözleri)', - playlistFilenameTemplate: 'Oynatma listesi şablonu', - saveDownloadQueue: 'Uygulamayı kapatırken indirme kuyruğunu kaydet' - }, - covers: { - title: 'Albüm kapakları', - saveArtwork: 'Kapakları kaydet', - coverImageTemplate: 'Kapak ismi şablonu', - saveArtworkArtist: 'Sanatçı fotoğrafını kaydet', - artistImageTemplate: 'Şarkıcı fotoğraf şablonu', - localArtworkSize: 'Yerel fotoğraf boyutu', - embeddedArtworkSize: 'Gömülü fotoğraf boyutu', - localArtworkFormat: { - title: 'Yerel fotoğrafın hangi formatta olmasını istersin?', - jpg: 'Jpeg dosyası', - png: 'Png dosyası', - both: 'Her ikisi' - }, - jpegImageQuality: 'JPEG görüntü kalitesi' - }, - tags: { - head: 'Hangi izler kayıt edilsin?', - title: 'Başlık', - artist: 'Sanatçı', - album: 'Albüm', - cover: 'Kapak', - trackNumber: 'Parça Numarası', - trackTotal: 'Tüm Parça', - discNumber: 'Plak Sayısı', - discTotal: 'Tüm Plak', - albumArtist: 'Sanatçı Albümü', - genre: 'Tür', - year: 'Yıl', - date: 'Tarih', - explicit: 'Cinsel içerikli şarkı sözleri', - isrc: 'ISRC', - length: 'Parça Uzunluğu', - barcode: 'Albüm Barkodu (UPC)', - bpm: 'BPM', - replayGain: 'Ses Yüksekliği Normalleştirici', - label: 'Albüm Etiketi', - lyrics: 'Senkronize edilmemiş şarkı sözleri', - copyright: 'Telif hakkı', - composer: 'Besteleyen', - involvedPeople: 'Alakalı Kişiler' - }, - other: { - title: 'Diğer', - savePlaylistAsCompilation: 'Oynatma listelerini derleme olarak kaydet', - useNullSeparator: 'Boşluk ayırıcı kullan', - saveID3v1: 'ID3v1 dosyasını da kaydet', - multiArtistSeparator: { - title: 'Sanatçılarınızı nasıl ayırmak istersiniz?', - nothing: 'Sadece ana sanatçıyı kaydet', - default: 'Genel prosedür uygulansın', - andFeat: 'Kullanılanlar & ve Feat.', - using: 'Kullanılan "{separator}"' - }, - singleAlbumArtist: 'Sadece ana albüm sanatçısını kaydet', - albumVariousArtists: '"Çeşitli sanatçılar"ı sanatçı albümlerinde tut', - removeAlbumVersion: '"Albüm Sürümü"nü parça başlığından çıkart', - removeDuplicateArtists: 'Sanatçı topluluğunu çıkart', - dateFormat: { - title: 'FLAC dosyalar için zaman formatı', - year: 'YYYY', - month: 'AA', - day: 'GG' - }, - featuredToTitle: { - title: 'Öne çıkan sanatçıları ne yapmalıyım?', - 0: 'Elleme', - 1: 'Başlıktan çıkart', - 3: 'Başlıktan ve albüm başlığından çıkart', - 2: 'Başlığa taşı' - }, - titleCasing: 'Albüm harfi', - artistCasing: 'Sanatçı harfi', - casing: { - nothing: 'Değiştirmeden bırak', - lower: 'küçük harf', - upper: 'BÜYÜK HARF', - start: 'Kelimenin başı ile başla', - sentence: 'Cümle gibi yap' - }, - previewVolume: 'Ses önizlemesi', - executeCommand: { - title: 'İndirdikten sonra komut uygula', - description: 'Bir şey yapmamak için boş bırak' - } - }, - spotify: { - title: 'Spotify Özelliği', - clientID: 'Spotify clientID', - clientSecret: 'Spotify Client Secret', - username: 'Spotify Kullanıcı Adı' - }, - reset: 'Varsayılana sıfırla', - save: 'Kaydet', - toasts: { - init: 'Ayarlar yüklendi!', - update: 'Ayarlar güncellendi!', - ARLcopied: 'ARL panoya kopyalandı!' - } - }, - sidebar: { - home: 'Ana sayfa', - search: 'Ara', - charts: 'Grafikler', - favorites: 'Favoriler', - linkAnalyzer: 'Link Analizörü', - settings: 'Ayarlar', - about: 'Hakkında' - }, - tracklist: { - downloadSelection: 'İndirme bölümü' - } -} - -export default tr diff --git a/webui-new/src/lang/vn.js b/webui-new/src/lang/vn.js deleted file mode 100644 index 952ca6a..0000000 --- a/webui-new/src/lang/vn.js +++ /dev/null @@ -1,357 +0,0 @@ -const vn = { - globals: { - welcome: 'Chào mừng đến với deemix', - back: 'trở lại', - loading: 'đang tải', - download: 'Tải xuống {thing}', - by: 'bởi {artist}', - in: 'trong {album}', - download_hint: 'Tải xuống', - play_hint: 'Phát', - toggle_download_tab_hint: 'Mở rộng/Giấu', - clean_queue_hint: 'Xóa những file đã tải xong', - cancel_queue_hint: 'Hủy tất cả', - listTabs: { - empty: '', - all: 'tất cả', - top_result: 'kết quả hàng đầu', - album: 'album | album', - artist: 'Nghệ sĩ | Nghệ sĩ', - single: 'đơn | đơn', - title: 'tiêu đề | tiêu đề', - track: 'Bài hát | Bài hát', - trackN: '0 Bài hát | {n} Bài hát | {n} Bài hát', - releaseN: '0 sản phẩm | {n} sản phẩm | {n} sản phẩm', - playlist: 'playlist | playlist', - compile: 'tổng hợp | tổng hợp', - ep: 'ep | ep', - spotifyPlaylist: 'playlist của spotify | playlist của spotify', - releaseDate: 'ngày phát hành', - error: 'lỗi' - } - }, - about: { - titles: { - usefulLinks: 'Link hữu dụng', - bugReports: 'Báo lỗi', - contributing: 'Đóng góp', - donations: 'Quyên góp', - license: 'Bằng phép' - }, - subtitles: { - bugReports: 'Bạn thấy có gì đó không hoạt động trong deemix? Xin hãy báo với chúng tôi!', - contributing: 'Bạn muốn đóng góp cho dự án này? Bạn có thể làm điều đó với nhiều cách khác nhau!', - donations: 'Bạn muốn ủng hộ kinh phí? Bạn có thể quyên góp tại đây!' - }, - usesLibrary: - 'Ứng dụng này sử dụng thư viện deemix, bạn có thể dùng nó để tạo một UI riêng cho deemix.', - thanks: `Cảm ơn rtonno, uhwotlollilol đã giúp tôi với dự án này và BasCurtiz với việc thiết kế biểu tượng.`, - upToDate: { - text: `Cập nhật app bằng cách theo dõi {newsChannel} trên Telegram.`, - newsChannel: 'kênh tin tức' - }, - officialWebsite: 'Website chính thức', - officialRepo: 'Repo thư viện chính thức', - officialWebuiRepo: 'Repo WebUI chính thức', - officialSubreddit: 'Subreddit chính thức', - newsChannel: 'Kênh tin tức', - questions: { - text: `Nếu bạn có câu hỏi hoặc vấn đề về ứng dụng này, xin hãy tìm giải pháp trên {subreddit} trước. Sau đó, nếu bạn không tìm được gì thì bạn có thể tạo một bài đăng về vấn đề của bạn trên subreddit dó.`, - subreddit: 'subreddit' - }, - beforeReporting: `Trước khi báo lỗi hãy đảm bảo bạn đang sử dụng phiên bản mới nhất của ứng dụng và lỗi bạn đang gặp không phải là do bạn.`, - beSure: `Hãy đảm bảo là lỗi này vẫn có thể xảy ra trên các thiết bị khác và XIN ĐỪNG báo lỗi đã được báo rồi.`, - duplicateReports: 'Những bản báo lỗi trùng nhau sẽ bị đóng, xin bạn hãy để ý điều này.', - dontOpenIssues: `XIN ĐỪNG mở vấn đề để hỏi, bạn có thể dùng subreddit trên cho việc đó.`, - newUI: { - text: `Nếu bạn thành thạo với python bạn có thể tạo một UI mới bằng cách sử dụng thư viện gốc, hoặc sửa lỗi trong thư viện đó với một pull request trên {repo}.`, - repo: 'repo này' - }, - acceptFeatures: `Tôi có chấp nhận yêu cầu về tính năng mới nhưng không quá phức tạp bởi vì chúng có thể được triển khai trực tiếp vào ứng dụng thay vì vào thư viện.`, - otherLanguages: `Nếu bạn thành thạo với một ngôn ngữ khác, bạn có thể port deemix sang ngôn ngữ đó!`, - understandingCode: `Bạn muốn hiểu code của deemix? Xin hãy liên lạc RemixDev trên Telegram hoặc Reddit.`, - contributeWebUI: { - text: `Nếu bạn biết Vue.js (JavaScript), HTML hoặc CSS, bạn có thể góp phần phát triển {webui}.`, - webui: 'WebUI' - }, - itsFree: `Bạn nên nhớ rằng đây là một dự án phi lợi nhuậnbạn nên ủng hộ những Nghệ sĩ yêu thích của bạn trước khi ủng hộ nhà phát triển.`, - notObligated: `Đừng nghĩ rằng bạn phải đóng góp tiền, tôi vẫn sẽ rất biết ơn bạn!`, - lincensedUnder: { - text: `Dự án này được cấp phép bởi {gpl3}.`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: 'Bảng xếp hạng', - changeCountry: 'Thay đổi quốc gia', - download: 'Tải xuống bảng xếp hạng này' - }, - errors: { - title: 'Lỗi {name}', - ids: { - invalidURL: 'Không nhận diện được URL', - unsupportedURL: 'URL này chưa được hỗ trợ', - ISRCnotOnDeezer: 'ISRC của bài hát này hiện không có trên Deezer', - notYourPrivatePlaylist: 'Bạn không thể tải xuống playlist riêng của người khác.', - spotifyDisabled: 'Chức năng Spotify chưa được thiết lập đúng cách.', - trackNotOnDeezer: 'Bài hát không có trên Deezer!', - albumNotOnDeezer: 'Album không có trên Deezer!', - notOnDeezer: 'Bài hát chưa có trên Deezer!', - notEncoded: 'Bài hát chưa được encode!', - notEncodedNoAlternative: 'Bài hát chưa được encode và không có bản thay thế nào khác!', - wrongBitrate: 'Bài hát này không có ở bitrate bạn muốn.', - wrongBitrateNoAlternative: 'Bài hát này không có ở bitrate bạn muốn và không có bản thay thế nào khác!', - no360RA: 'Bài hát này không có ở dạng Reality Audio 360.', - notAvailable: 'Bài hát này không có trên server của Deezer!', - notAvailableNoAlternative: 'Bài hát này không có trên server của Deezer và không có bản thay thế nào khác!' - } - }, - favorites: { - title: 'Yêu thích', - noPlaylists: 'Không tìm được Playlist', - noAlbums: 'Không tìm được Album Yêu thích', - noArtists: 'Không tìm được Nghệ sĩ Yêu thích', - noTracks: 'Không tìm được Bài hát Yêu thích' - }, - home: { - needTologin: 'Bạn cần phải đăng nhập vào tài khoản Deezer trước khi bắt đầu tải xuống.', - openSettings: 'Mở Cài đặt', - sections: { - popularPlaylists: 'Playlist Nổi tiếng', - popularAlbums: 'Album được stream nhiều nhất' - } - }, - linkAnalyzer: { - info: 'Bạn có thể sử dụng chức năng này để kiếm thêm thông tin về đường link mà bạn muốn tải xuống.', - useful: - 'Chức năng này rất hữu dụng nếu bạn muốn tải các bài hát hiện không có sẵn ở quốc gia của bạn và muốn biết các quốc gia được hỗ trợ.', - linkNotSupported: 'Đường link này chưa được hỗ trợ', - linkNotSupportedYet: 'Đường link này chưa được hỗ trợ, xin hãy thử lại với một đường link khác.', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: 'Thời lượng', - diskNumber: 'Số đĩa', - trackNumber: 'Số bài hát', - releaseDate: 'Ngày phát hành', - bpm: 'BPM', - label: 'Hãng', - recordType: 'Loại Thu âm', - genres: 'Thể loại', - tracklist: 'Danh sách các bài hát' - } - }, - search: { - startSearching: 'Bắt đầu tìm kiếm!', - description: 'Bạn có thể tìm một bài hát, album, nghệ sĩ, playlist, v.v...! Bạn cũng có thể dùng link của Deezer', - fans: '{n} người hâm mộ', - noResults: 'Không có kết quả', - noResultsTrack: 'Không tìm được bài hát nào', - noResultsAlbum: 'Không tìm được album nào', - noResultsArtist: 'Không tìm được nghệ sĩ nào', - noResultsPlaylist: 'Không tìm được playlist nào' - }, - searchbar: 'Tìm những gì bạn muốn (bạn cũng có thể sữ dụng một đường link)', - downloads: 'Tải xuống', - toasts: { - addedToQueue: '{item} đã được đưa vào hàng chờ', - alreadyInQueue: '{item} đã đang trong hàng chờ!', - finishDownload: '{item} đã tải xong.', - allDownloaded: 'Tất cả các bài hát đã được tải xuống!', - refreshFavs: 'Tải lại hoàn tất!', - loggingIn: 'Đang đăng nhập', - loggedIn: 'Đăng nhập thành công', - alreadyLogged: 'Đã đăng nhập', - loginFailed: 'Không thể đăng nhập', - loggedOut: 'Đăng xuất', - cancellingCurrentItem: 'Đang hủy file hiện tại.', - currentItemCancelled: 'File hiện tại đã bị hủy.', - startAddingArtist: 'Đang đưa {artist} album vào hàng chờ', - finishAddingArtist: 'Đã đưa {artist} album vào hàng chờ', - startConvertingSpotifyPlaylist: 'Đang chuyển đổi các bài hát từ Spotify sang Deezer', - finishConvertingSpotifyPlaylist: 'Playlist của Spotify đã được chuyển đổi', - loginNeededToDownload: 'Bạn cần phải đang nhập để tải nhạc!' - }, - settings: { - title: 'Cài đặt', - languages: 'Ngôn ngữ', - login: { - title: 'Đăng nhập', - loggedIn: 'Bạn đã đăng nhập với tên {username}', - arl: { - question: 'Làm cách nào để có ARL của tôi?', - update: 'Cập nhật ARL' - }, - logout: 'Đăng xuất' - }, - appearance: { - title: 'Giao diện', - slimDownloadTab: 'Thanh tải xuống nhỏ' - }, - downloadPath: { - title: 'Nơi tải xuống' - }, - templates: { - title: 'Bản mẫu', - tracknameTemplate: 'Bài hát mẫu', - albumTracknameTemplate: 'Bài hát trong album mẫu', - playlistTracknameTemplate: 'Bài hát trong playlist mẫu' - }, - folders: { - title: 'Thư mục', - createPlaylistFolder: 'Tạo thư mục cho playlist', - playlistNameTemplate: 'Thư mục playlist mẫu', - createArtistFolder: 'Tạo thư mục cho nghệ sĩ', - artistNameTemplate: 'Thư mục Nghệ sĩ mẫu', - createAlbumFolder: 'Tạo thư mục cho album', - albumNameTemplate: 'Thư mục cho album mẫu', - createCDFolder: 'Tạo thư mục cho đĩa CD', - createStructurePlaylist: 'Tạo thư mục có kết cấu cho playlist', - createSingleFolder: 'Tạo thư mục có kết cấu cho đĩa đơn' - }, - trackTitles: { - title: 'Tên bài hát', - padTracks: 'Đệm tên bài hát', - paddingSize: 'Ghì đè kích cỡ phần đệm', - illegalCharacterReplacer: 'Thay các kí tự không hợp lệ với' - }, - downloads: { - title: 'Tải xuống', - queueConcurrency: 'Số lượng tải xuống cùng lúc', - maxBitrate: { - title: 'Bitrate ưa thích', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: 'Tôi có nên ghi đè file này không?', - y: 'Có, hãy ghi đè file này', - n: 'Không, đừng ghi đè file này', - t: 'Chỉ ghi đè các tag' - }, - fallbackBitrate: 'Bitrate dự phòng', - fallbackSearch: 'Search dự phòng', - logErrors: 'Tạo file log khi có lỗi', - logSearched: 'Tạo file log khi bạn tìm Bài hát', - createM3U8File: 'Tạo file playlist', - syncedLyrics: 'Tạo file .lyr (Lời Bài hát)', - playlistFilenameTemplate: 'Tên playlist mẫu', - saveDownloadQueue: 'Lưu hàng chờ download khi đóng ứng dụng' - }, - covers: { - title: 'Bìa album', - saveArtwork: 'Lưu bìa', - coverImageTemplate: 'Tên bìa mẫu', - saveArtworkArtist: 'Lưu hình Nghệ sĩ', - artistImageTemplate: 'Hình nghệ sĩ mẫu', - localArtworkSize: 'Kích cỡ file bìa', - embeddedArtworkSize: 'Kích cỡ bìa trong file bài hát', - localArtworkFormat: { - title: 'Bạn muốn file bìa ở định dạng nào?', - jpg: 'jpg', - png: 'png', - both: 'Cả jpg và png' - }, - jpegImageQuality: 'Chất lượng file JPEG' - }, - tags: { - head: 'Những tag sẽ được lưu', - title: 'Tiêu đề', - artist: 'Nghệ sĩ', - album: 'Album', - cover: 'Bìa', - trackNumber: 'Số bài hát', - trackTotal: 'Tổng số bài hát', - discNumber: 'Số đĩa', - discTotal: 'Tổng số đĩa', - albumArtist: 'Nghệ sĩ của album', - genre: 'Thể loại', - year: 'Năm', - date: 'Ngày', - explicit: 'Lời explicit', - isrc: 'ISRC', - length: 'Thời lượng', - barcode: 'Mã vạch của album (UPC)', - bpm: 'BPM', - replayGain: 'ReplayGain', - label: 'Nhãn hiệu album', - lyrics: 'Lời', - copyright: 'Bản quyền', - composer: 'Nhà soạn nhạc', - involvedPeople: 'Những người liên quan' - }, - other: { - title: 'Khác', - savePlaylistAsCompilation: 'Lưu playlist dưới dạng tuyển tập', - useNullSeparator: 'Dùng dải phân cách null', - saveID3v1: 'Lưu ID3v1', - multiArtistSeparator: { - title: 'Bạn muốn phân cách các nghệ sĩ như thế nào?', - nothing: 'Chỉ lưu nghệ sĩ chính', - default: 'Dùng quy cách tiêu chuẩn', - andFeat: 'Dùng & và feat.', - using: 'Dùng "{separator}"' - }, - singleAlbumArtist: 'Chỉ lưu Nghệ sĩ Album chính', - albumVariousArtists: 'Giữ nguyên "Nhiều Nghệ sĩ" trong Nghệ sĩ Album', - removeAlbumVersion: 'Bỏ "Phiên bản Album" khỏi tên bài hát', - removeDuplicateArtists: 'Bỏ các tên nghệ sĩ phối hợp', - dateFormat: { - title: 'Định dạng ngày cho file FLAC ', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: 'Tôi nên làm gì với các nghệ sĩ đóng góp?', - 0: 'Không làm gì cả', - 1: 'Bỏ chúng khỏi tên bài hát', - 3: 'Bỏ chúng khỏi tên bài hát và tên album', - 2: 'Đưa chúng vào tên bài hát' - }, - titleCasing: 'Định dạng tên bài hát', - artistCasing: 'Định dạng tên nghệ sĩ', - casing: { - nothing: 'Không đổi', - lower: 'chữ thường', - upper: 'CHỮ HOA', - start: 'Viết Hoa Ở Chữ Cái Đầu Tiên Của Mỗi Từ', - sentence: 'Như một câu' - }, - previewVolume: 'Âm lượng nghe thử', - executeCommand: { - title: 'Thực hiện những lệnh này khi đã tải xuống xong', - description: 'Để trống nếu bạn không muốn thực hiện lệnh nào' - } - }, - spotify: { - title: 'Chức năng Spotify', - clientID: 'ClientID của Spotify', - clientSecret: 'Client Secret của Spotify', - username: 'Tên tài khoản của Spotify' - }, - reset: 'Quay trở lại cài đặt mặc định', - save: 'Lưu', - toasts: { - init: 'Cài đặt đã được thiết lập!', - update: 'Cài đặt cập nhật thành công!', - ARLcopied: 'ARL đã được sao chép vào clipboard' - } - }, - sidebar: { - home: 'trang chủ', - search: 'tìm kiếm', - charts: 'bảng xếp hạng', - favorites: 'yêu thích', - linkAnalyzer: 'phân tích link', - settings: 'cài đặt', - about: 'thông tin' - }, - tracklist: { - downloadSelection: 'Tải xuống những mục đã chọn' - } -} - -export default vn diff --git a/webui-new/src/lang/zh-tw.js b/webui-new/src/lang/zh-tw.js deleted file mode 100644 index 10d925e..0000000 --- a/webui-new/src/lang/zh-tw.js +++ /dev/null @@ -1,400 +0,0 @@ -const zh_tw = { - globals: { - welcome: '歡迎使用 deemix', - back: '返回', - loading: '載入中', - download: '下載 {thing}', - by: '{artist}', - in: '於 {album}', - download_hint: '下載', - play_hint: '播放', - toggle_download_tab_hint: '展開/折疊', - clean_queue_hint: '清除完成', - cancel_queue_hint: '取消全部', - open_downloads_folder: '開啟下載資料夾', - cut: '剪下', - copy: '複製', - copyLink: '複製連結', - copyImageLink: '複製圖片連結', - copyDeezerLink: '複製 deezer 連結', - paste: '貼上', - listTabs: { - empty: '', - all: '所有', - top_result: '最佳結果', - album: '專輯|專輯', - artist: '藝人|藝人', - single: '單曲', - title: '標題|標題', - track: '歌曲|歌曲', - releaseN: '0 發行| {n} 發行| {n} 發行', - playlist: '播放清單|播放清單', - compile: '合輯|合輯', - ep: '迷你專輯 | 迷你專輯', - bundle: 'bundle | bundles', - more: '更多專輯', - featured: '出現於', - spotifyPlaylist: 'Spotify 播放清單 | Spotify 播放清單', - releaseDate: '發布日期', - error: '錯誤', - trackN: '0 首歌曲| {n} 首歌曲| {n} 首歌曲', - albumN: '0 個專輯 | {n} 個專輯 | {n} 個專輯', - artistN: '0 個藝人 | {n} 個藝人 | {n} 個藝人', - playlistN: '0 個播放清單 | {n} 個播放清單 | {n} 個播放清單' - } - }, - about: { - appStatus: { - online: '上線中', - offline: '離線中' - }, - updates: { - currentVersion: '目前版本', - currentWebuiVersion: '目前前端版本', - versionNotAvailable: 'N/A', - updateAvailable: `您尚未更新至最新版本:{version}`, - deemixVersion: 'deemix 函示庫版本' - }, - titles: { - usefulLinks: '實用連結', - bugReports: '錯誤報告', - contributing: '貢獻', - donations: '贊助', - license: '使用許可' - }, - subtitles: { - bugReports: '使用 deemix 時,遇到了什麼問題嗎?歡迎回報錯誤!', - contributing: '您想替這個專案提出貢獻嗎?您可以透過許多不同的方式來幫忙!', - donations: '您想要捐款嗎?可以贊助我們!' - }, - usesLibrary: '本程式基於 deemix 函示庫。您可以使用該函示庫來製作自己的前端。', - thanks: `感謝 rtonnouhwotlollilol 對於本專案的貢獻,另外也感謝 BasCurtiz 幫忙製作本專案的圖示`, - upToDate: { - text: `您可於 Telegram 上關注{newsChannel}以取得最新動態。`, - newsChannel: '最新消息頻道' - }, - officialWebsite: '官方網站', - officialRepo: '官方函示版本庫', - officialWebuiRepo: '官方 WebUI 版本庫', - officialSubreddit: '官方 Subreddit', - newsChannel: '最新消息頻道', - questions: { - text: `如果您對本程式有疑問或問題,請先在{subreddit}上搜尋解決方案。如果找不到任何解決方法,則可以在我們的 subreddit 上發布與您問題相關的文章。`, - subreddit: ' subreddit ' - }, - beforeReporting: `在報告錯誤之前,請確保您正在運行最新版本的程式,並且要報告的內容真的是一個錯誤,而不僅是您自己遇到的問題。`, - beSure: `請確保您所想回報的錯誤可在其他台裝置上再現的,並且請勿回報已知錯誤。`, - duplicateReports: '請注意,重複的錯誤報告將被移除。', - dontOpenIssues: `請勿透過本版本庫的 Issues 問問題,我們開 subreddit 是有原因的。`, - newUI: { - text: `如果您精通 Python,則可以嘗試使用我們的函示庫來建立新的 UI,或者透過{repo}提出錯誤相關的 PR。`, - repo: '我們的版本庫' - }, - acceptFeatures: `我也歡迎你提交新的功能-但前提是這個功能不能過於複雜-過於複雜的功能,應被新增至程式內而非函示庫內。`, - otherLanguages: `如果您精通其他程式語言,你也可以嘗試將 deemix 移植到其他程式語言中!`, - understandingCode: `你需要幫助了解本專案的程式碼嗎?只需在 Telegram 或 Reddit 上按一下 RemixDev。`, - contributeWebUI: { - text: `如果你熟悉 Vue.js(JavaScript)、HTML 或 CSS,你也可以參與 {webui} 前端的貢獻。`, - webui: 'WebUI' - }, - itsFree: `記得,這是一個免費的專案在支持開發人員之前,應該先支持你喜歡的歌手或藝人。`, - notObligated: `別認為你有義務捐款,無論如何我們都感謝您!`, - lincensedUnder: { - text: `本作品使用 {gpl3} 許可授權。`, - gpl3: 'GNU General Public License 3.0' - } - }, - charts: { - title: '排行榜', - changeCountry: '改變國家', - download: '下載排行榜' - }, - errors: { - title: '{name} 的錯誤', - ids: { - invalidURL: '無法識別網址', - unsupportedURL: '尚不支持此網址', - ISRCnotOnDeezer: '無法在 Deezer 上使用單曲 ISRC', - notYourPrivatePlaylist: '您無法下載他人的私人播放清單。', - spotifyDisabled: 'Spotify 功能未正確設定。', - trackNotOnDeezer: '在 Deezer 上找不到此歌曲!', - albumNotOnDeezer: '在 Deezer 上找不到此專輯!', - notOnDeezer: '無法在 Deezer 上載入此歌曲!', - notEncoded: '本歌曲尚未編碼!', - notEncodedNoAlternative: '本歌曲尚未編碼,且無法找到其他替代歌曲!', - wrongBitrate: '找不到符合所設位元率的歌曲。', - wrongBitrateNoAlternative: '找不到符合所設位元率的歌曲,且無法找到其他替代歌曲!', - no360RA: '本歌曲並不支援 Reality Audio 360。', - notAvailable: '無法在 Deezer 伺服器載入此歌曲!', - notAvailableNoAlternative: '無法在 Deezer 伺服器載入此歌曲,且無法找到其他替代歌曲!', - noSpaceLeft: '本裝置可用空間已用盡!', - albumDoesntExists: '本歌曲的專輯不存在,無法取得資訊' - } - }, - favorites: { - title: '收藏', - noPlaylists: '尚未收藏任何播放清單', - noAlbums: '尚未收藏任何專輯', - noArtists: '尚未收藏任何藝人', - noTracks: '尚未收藏任何歌曲' - }, - home: { - needTologin: '您需要先登入 Deezer 帳戶,然後才能開始下載。', - openSettings: '開啟設定', - sections: { - popularPlaylists: '熱門播放清單', - popularAlbums: '熱門專輯' - } - }, - linkAnalyzer: { - info: '您可以透過此工具取得您所想下載的連結的相關資訊。', - useful: '比如,當您所想下載的歌曲無法在您的國家播放,且您想知道哪些國家可以播放此歌曲時,您可使用此工具。', - linkNotSupported: '尚未支援此連結', - linkNotSupportedYet: '我們似乎尚未支援此連結,請改用其他連結。', - table: { - id: 'ID', - isrc: 'ISRC', - upc: 'UPC', - duration: '長度', - diskNumber: '光碟編號', - trackNumber: '歌曲編號', - releaseDate: '發布日期', - bpm: 'BPM', - label: '標籤', - recordType: '媒體類型', - genres: '類型', - tracklist: '歌曲清單' - } - }, - search: { - startSearching: '開始搜尋!', - description: '您可以搜索歌曲名稱、專輯、藝人、播放清單...等等。您也可以直接貼上 Deezer 網址。', - fans: '{n} 個粉絲', - noResults: '無搜尋結果', - noResultsTrack: '找不到歌曲', - noResultsAlbum: '找不到專輯', - noResultsArtist: '找不到藝人', - noResultsPlaylist: '找不到播放清單' - }, - searchbar: '搜尋任何關鍵字(或貼上連結)', - downloads: '下載', - toasts: { - restoringQueue: '正在恢復下載清單...', - queueRestored: '下載清單已恢復!', - addedToQueue: '已新增 {item} 到下載清單中', - addedMoreToQueue: '已新增 {n} 個項目到下載清單中', - alreadyInQueue: '{item} 已在下載清單中!', - finishDownload: '{item} 已完成下載。', - allDownloaded: '全部下載完成!', - refreshFavs: '刷新完成!', - loggingIn: '登入中...', - loggedIn: '登入', - alreadyLogged: '已登入', - loginFailed: '無法登入', - loggedOut: '登出', - cancellingCurrentItem: '取消當前項目。', - currentItemCancelled: '當前項目已取消。', - startAddingArtist: '已新增 {artist} 個專輯到下載清單中', - finishAddingArtist: '已新增 {artist} 個專輯到下載清單中', - startConvertingSpotifyPlaylist: '將 Spotify 歌曲轉換為 Deezer 歌曲中', - finishConvertingSpotifyPlaylist: '已轉換 Spotify 播放清單', - loginNeededToDownload: '您需要登入才能下載歌曲!', - deezerNotAvailable: 'Deezer 在您所在的國家/地區無法使用。請您使用 VPN。', - startGeneratingItems: '生成 {n} 個項目中...', - finishGeneratingItems: '已生成 {n} 個項目.' - }, - settings: { - title: '設定', - languages: '語言', - login: { - title: '登入', - loggedIn: '目前以 {username} 的身份登入', - arl: { - question: '如何取得自己的 ARL?', - update: '更新 ARL' - }, - logout: '登出', - login: '透過 deezer.com 登入' - }, - appearance: { - title: '外觀', - slimDownloadTab: '薄型下載分頁', - slimSidebar: '薄型測欄' - }, - downloadPath: { - title: '下載目錄' - }, - templates: { - title: '檔案名稱格式', - tracknameTemplate: '單曲名稱格式', - albumTracknameTemplate: '專輯單曲名稱格式', - playlistTracknameTemplate: '播放清單單曲名稱格式' - }, - folders: { - title: '資料夾', - createPlaylistFolder: '替播放清單建立資料夾', - playlistNameTemplate: '播放清單資料夾名稱格式', - createArtistFolder: '替藝人建立資料夾', - artistNameTemplate: '藝人資料夾名稱格式', - createAlbumFolder: '替專輯建立資料夾', - albumNameTemplate: '專輯資料夾名稱格式', - createCDFolder: '替 CD 建立資料夾', - createStructurePlaylist: '建立播放清單資料夾結構', - createSingleFolder: '建立單曲資料夾結構' - }, - trackTitles: { - title: '單曲名稱', - padTracks: '歌曲數目字串填充', - paddingSize: '覆蓋數目字串填充長度', - illegalCharacterReplacer: '替換非法字元' - }, - downloads: { - title: '下載', - queueConcurrency: '並行下載', - maxBitrate: { - title: '偏好位元率', - 9: 'FLAC 1411kbps', - 3: 'MP3 320kbps', - 1: 'MP3 128kbps' - }, - overwriteFile: { - title: '是否要覆蓋檔案?', - y: '是,覆蓋檔案', - n: '否,請勿覆蓋檔案', - t: '僅覆蓋標籤', - b: '否,保留兩個檔案並在重複的檔名中加入一個數字', - e: '否,不顧慮附檔名' - }, - fallbackBitrate: '當偏好位元率無法下載時,下載其他版本', - fallbackSearch: '當搜尋結果無法使用時,使用其他搜尋結果', - logErrors: '記錄錯誤至日誌', - logSearched: '記錄搜尋歌曲至日誌', - createM3U8File: '建立播放清單檔案', - syncedLyrics: '建立 .lyr 檔案(同步歌詞)', - playlistFilenameTemplate: '播放清單檔名格式', - saveDownloadQueue: '關閉應用程式時,保存下載清單' - }, - covers: { - title: '專輯封面', - saveArtwork: '保存封面', - coverImageTemplate: '封面檔名格式', - saveArtworkArtist: '保存藝人照片', - artistImageTemplate: '藝人照片檔名格式', - localArtworkSize: '本地圖片大小', - embeddedArtworkSize: '嵌入圖片大小', - localArtworkFormat: { - title: '您希望本地圖片採用哪種格式?', - jpg: 'JPEG', - png: 'PNG', - both: 'JPEG 及 PNG' - }, - jpegImageQuality: 'JPEG 影像品質', - embeddedArtworkPNG: '將嵌入式圖片存為 PNG', - embeddedPNGWarning: 'Deezer 官方並不支援 PNG,結果可能有誤', - imageSizeWarning: 'Deezer 官方並不使用高於 x1200 的圖片,您可能會遇到問題', - coverDescriptionUTF8: '使用 UTF8 保存封面敘述(修正 iTunes 專輯封面)' - }, - tags: { - head: '要保存哪些標籤', - title: '標題', - artist: '藝人', - album: '專輯', - cover: '專輯封面', - trackNumber: '單曲編號', - trackTotal: '總計歌曲', - discNumber: '光碟編號', - discTotal: '光碟總數', - albumArtist: '專輯藝人', - genre: '類型', - year: '年', - date: '日期', - explicit: '不良歌詞', - isrc: 'ISRC', - length: '單曲長度', - barcode: '專輯條碼(UPC)', - bpm: 'BPM', - replayGain: '重播增益(Replay Gain)', - label: '專輯標籤', - lyrics: '不同步的歌詞', - syncedLyrics: '同步歌詞', - copyright: '版權', - composer: '作曲家', - involvedPeople: '相關藝人', - source: '來源歌曲 ID' - }, - other: { - title: '其他', - savePlaylistAsCompilation: '將播放清單儲存為合輯', - useNullSeparator: '使用空分隔符', - saveID3v1: '保存 ID3v1 標籤', - multiArtistSeparator: { - title: '如何隔開作者名稱?', - nothing: '僅保留主作者', - default: '使用標準規格', - andFeat: '使用 & 及 feat.', - using: '使用 "{separator}"' - }, - singleAlbumArtist: '僅儲存專輯主作者名稱', - albumVariousArtists: '於專輯作者欄位中保留「多位藝人 (Various Artists)」字樣', - removeAlbumVersion: '於單曲名稱中移除「專輯版本 (Album Version)」字樣', - removeDuplicateArtists: '移除重複的作者名稱', - dateFormat: { - title: 'FLAC 檔案日期格式', - year: 'YYYY', - month: 'MM', - day: 'DD' - }, - featuredToTitle: { - title: '如何處理客串藝人名稱 (如 feat. 等字樣) ?', - 0: '什麼都不做', - 1: '從標題中刪除', - 3: '從標題和專輯標題中刪除', - 2: '將其移至標題' - }, - titleCasing: '歌曲名稱大小寫', - artistCasing: '藝人名稱大小寫', - casing: { - nothing: '保持不變', - lower: '小寫', - upper: '大寫', - start: '字詞開頭大寫', - sentence: '句子大寫' - }, - previewVolume: '預覽音量', - executeCommand: { - title: '下載後執行指令', - description: '留空則不執行' - } - }, - spotify: { - title: 'Spotify 功能', - clientID: 'Spotify 客戶端 ID', - clientSecret: 'Spotify 客戶端密碼', - username: 'Spotify 用戶名', - question: '如何啟用 Spotify 功能?' - }, - reset: '重設至預設', - resetMessage: '你確定要重設所有設定嗎?', - save: '儲存', - toasts: { - init: '已載入設定!', - update: '已更新設定!', - reset: '已重設設定!', - ARLcopied: '已複製 ARL 到剪貼簿中' - } - }, - sidebar: { - home: '首頁', - search: '搜尋', - charts: '排行榜', - favorites: '收藏', - linkAnalyzer: '連結分析', - settings: '設定', - about: '關於' - }, - tracklist: { - downloadSelection: '下載所選' - } -} - -export default zh_tw diff --git a/webui-new/src/plugins/composition-api.js b/webui-new/src/plugins/composition-api.js deleted file mode 100644 index 187f919..0000000 --- a/webui-new/src/plugins/composition-api.js +++ /dev/null @@ -1,4 +0,0 @@ -import Vue from 'vue' -import VueCompositionAPI from '@vue/composition-api' - -Vue.use(VueCompositionAPI) diff --git a/webui-new/src/plugins/i18n.js b/webui-new/src/plugins/i18n.js deleted file mode 100644 index 20f74de..0000000 --- a/webui-new/src/plugins/i18n.js +++ /dev/null @@ -1,44 +0,0 @@ -import Vue from 'vue' -import VueI18n from 'vue-i18n' - -import { locales } from '@/lang' - -Vue.use(VueI18n) - -const storedLocale = localStorage.getItem('locale') -const DEFAULT_LANG = storedLocale || 'en' - -document.querySelector('html').setAttribute('lang', DEFAULT_LANG) - -const i18n = new VueI18n({ - locale: DEFAULT_LANG, - fallbackLocale: 'en', - messages: locales, - pluralizationRules: { - /** - * @param {number} choice A choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)` - * @param {number} choicesLength An overall amount of available choices - * @returns A final choice index to select plural word by - */ - ru(choice /*, choicesLength */) { - const n = Math.abs(choice) % 100 - const n1 = n % 10 - - if (n > 10 && n < 20) { - return 2 - } - - if (n1 > 1 && n1 < 5) { - return 1 - } - - if (n1 == 1) { - return 0 - } - - return 2 - } - } -}) - -export default i18n diff --git a/webui-new/src/router.js b/webui-new/src/router.js deleted file mode 100644 index 25c44f2..0000000 --- a/webui-new/src/router.js +++ /dev/null @@ -1,183 +0,0 @@ -import Vue from 'vue' -import VueRouter from 'vue-router' - -// Pages -import About from '@components/pages/About.vue' -import InfoArl from '@components/pages/InfoArl.vue' -import InfoSpotifyFeatures from '@components/pages/InfoSpotifyFeatures.vue' -import Artist from '@components/pages/Artist.vue' -import Charts from '@components/pages/Charts.vue' -import Errors from '@components/pages/Errors.vue' -import Favorites from '@components/pages/Favorites.vue' -import Home from '@components/pages/Home.vue' -import LinkAnalyzer from '@components/pages/LinkAnalyzer.vue' -import Logs from '@components/pages/Logs.vue' -import Search from '@components/pages/Search.vue' -import Settings from '@components/pages/Settings.vue' -import Tracklist from '@components/pages/Tracklist.vue' - -import { fetchData } from '@/utils/api' -import EventBus from '@/utils/EventBus' - -Vue.use(VueRouter) - -const routes = [ - { - path: window.location.pathname, - name: 'Home', - component: Home, - meta: { - notKeepAlive: true - } - }, - { - path: '/tracklist/:type/:id', - name: 'Tracklist', - component: Tracklist - }, - { - path: '/artist/:id', - name: 'Artist', - component: Artist, - meta: { - notKeepAlive: true - } - }, - { - path: '/album/:id', - name: 'Album', - component: Tracklist - }, - { - path: '/playlist/:id', - name: 'Playlist', - component: Tracklist - }, - { - path: '/spotify-playlist/:id', - name: 'Spotify Playlist', - component: Tracklist - }, - { - path: '/charts', - name: 'Charts', - component: Charts, - meta: { - notKeepAlive: true - } - }, - { - path: '/favorites', - name: 'Favorites', - component: Favorites, - meta: { - notKeepAlive: true - } - }, - { - path: '/errors', - name: 'Errors', - component: Errors - }, - { - path: '/logs', - name: 'Logs', - component: Logs - }, - { - path: '/link-analyzer', - name: 'Link Analyzer', - component: LinkAnalyzer - }, - { - path: '/about', - name: 'About', - component: About - }, - { - path: '/info-arl', - name: 'ARL', - component: InfoArl - }, - { - path: '/info-spotify', - name: 'Spotify Features', - component: InfoSpotifyFeatures - }, - { - path: '/settings', - name: 'Settings', - component: Settings - }, - { - path: '/search', - name: 'Search', - component: Search, - meta: { - notKeepAlive: true - } - }, - // 404 client side - { - path: '*', - component: Home - } -] - -const router = new VueRouter({ - mode: 'history', - routes, - scrollBehavior() { - return { x: 0, y: 0 } - } -}) - -router.beforeEach((to, _, next) => { - switch (to.name) { - case 'Tracklist': { - // const getTracklistParams = { - // type: to.params.type, - // id: to.params.id - // } - console.warn('This should never happen.') - break - } - case 'Album': { - const getTracklistParams = { - type: 'album', - id: to.params.id - } - fetchData('getTracklist', getTracklistParams).then(albumData => { - EventBus.$emit('showAlbum', albumData) - }) - break - } - case 'Playlist': { - const getTracklistParams = { - type: 'playlist', - id: to.params.id - } - fetchData('getTracklist', getTracklistParams).then(playlistData => { - EventBus.$emit('showPlaylist', playlistData) - }) - break - } - case 'Spotify Playlist': { - const getTracklistParams = { - type: 'spotifyplaylist', - id: to.params.id - } - fetchData('getTracklist', getTracklistParams).then(spotifyPlaylistData => { - EventBus.$emit('showSpotifyPlaylist', spotifyPlaylistData) - }) - break - } - - default: - break - } - - next() -}) - -export default router diff --git a/webui-new/src/store/index.js b/webui-new/src/store/index.js deleted file mode 100644 index 4fb063f..0000000 --- a/webui-new/src/store/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import Vuex from 'vuex' -import Vue from 'vue' - -import appInfo from '@/store/modules/appInfo' -import login from '@/store/modules/login' -import errors from '@/store/modules/errors' - -Vue.use(Vuex) - -export default new Vuex.Store({ - modules: { - appInfo, - login, - errors - }, - strict: !import.meta.env.PROD -}) diff --git a/webui-new/src/store/modules/appInfo.js b/webui-new/src/store/modules/appInfo.js deleted file mode 100644 index 05612a5..0000000 --- a/webui-new/src/store/modules/appInfo.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * @typedef {object} AppInfo - * @property {string} currentCommit - * @property {string} latestCommit - * @property {boolean} updateAvailable - * @property {string} deemixVersion - * @property {number} previewVolume - * @property {boolean} hasSlimDownloads - * @property {boolean} hasSlimSidebar - */ - -import { getInitialPreviewVolume, checkInitialSlimDownloads, checkInitialSlimSidebar } from '@/data/settings' - -/** - * @returns {AppInfo} - */ -const state = () => ({ - currentCommit: null, - latestCommit: null, - updateAvailable: false, - deemixVersion: null, - previewVolume: getInitialPreviewVolume(), - hasSlimDownloads: checkInitialSlimDownloads(), - hasSlimSidebar: checkInitialSlimSidebar() -}) - -const actions = { - /** - * @param {any} action - * @param {AppInfo} payload - */ - setAppInfo({ commit }, payload) { - commit('SET_CURRENT_COMMIT', payload.currentCommit) - commit('SET_LATEST_COMMIT', payload.latestCommit) - commit('SET_UPDATE_AVAILABLE', payload.updateAvailable) - commit('SET_DEEMIX_VERSION', payload.deemixVersion) - }, - /** - * @param {any} action - * @param {AppInfo['previewVolume']} payload - */ - setPreviewVolume({ commit }, payload) { - commit('SET_PREVIEW_VOLUME', payload) - localStorage.setItem('previewVolume', payload.toString()) - }, - /** - * @param {any} action - * @param {AppInfo['hasSlimDownloads']} payload - */ - setSlimDownloads({ commit }, payload) { - commit('SET_SLIM_DOWNLOADS', payload) - localStorage.setItem('slimDownloads', payload.toString()) - }, - /** - * @param {any} action - * @param {AppInfo['hasSlimSidebar']} payload - */ - setSlimSidebar({ commit }, payload) { - commit('SET_SLIM_SIDEBAR', payload) - localStorage.setItem('slimSidebar', payload.toString()) - - // Moves all toast messages when the option changes - Array.from(document.getElementsByClassName('toastify')).forEach(toast => { - toast.style.transform = `translate(${payload ? '3rem' : '14rem'}, 0)` - }) - } -} - -const getters = { - /** - * @param {AppInfo} state - * @returns {AppInfo} - */ - getAppInfo: state => state, - /** - * @param {AppInfo} state - * @returns {AppInfo['previewVolume']} - */ - getPreviewVolume: state => state.previewVolume, - /** - * @param {AppInfo} state - * @returns {AppInfo['hasSlimDownloads']} - */ - getSlimDownloads: state => state.hasSlimDownloads, - /** - * @param {AppInfo} state - * @returns {AppInfo['hasSlimSidebar']} - */ - getSlimSidebar: state => state.hasSlimSidebar -} - -const mutations = { - /** - * @param {AppInfo} state - * @param {AppInfo['currentCommit']} payload - */ - SET_CURRENT_COMMIT(state, payload) { - state.currentCommit = payload - }, - /** - * @param {AppInfo} state - * @param {AppInfo['latestCommit']} payload - */ - SET_LATEST_COMMIT(state, payload) { - state.latestCommit = payload - }, - /** - * @param {AppInfo} state - * @param {AppInfo['updateAvailable']} payload - */ - SET_UPDATE_AVAILABLE(state, payload) { - state.updateAvailable = payload - }, - /** - * @param {AppInfo} state - * @param {AppInfo['deemixVersion']} payload - */ - SET_DEEMIX_VERSION(state, payload) { - state.deemixVersion = payload - }, - /** - * @param {AppInfo} state - * @param {AppInfo['previewVolume']} payload - */ - SET_PREVIEW_VOLUME(state, payload) { - state.previewVolume = payload - }, - /** - * @param {AppInfo} state - * @param {AppInfo['hasSlimDownloads']} payload - */ - SET_SLIM_DOWNLOADS(state, payload) { - state.hasSlimDownloads = payload - }, - /** - * @param {AppInfo} state - * @param {AppInfo['hasSlimSidebar']} payload - */ - SET_SLIM_SIDEBAR(state, payload) { - state.hasSlimSidebar = payload - } -} - -export default { - state, - getters, - actions, - mutations -} diff --git a/webui-new/src/store/modules/errors.js b/webui-new/src/store/modules/errors.js deleted file mode 100644 index f46f3d5..0000000 --- a/webui-new/src/store/modules/errors.js +++ /dev/null @@ -1,44 +0,0 @@ -const state = () => ({ - artist: '', - bitrate: '', - cover: '', - downloaded: 0, - errors: [], - failed: 0, - id: '', - progress: 0, - silent: true, - size: 0, - title: '', - type: '', - uuid: '' -}) - -const actions = { - setErrors({ commit }, payload) { - commit('SET_ERRORS', payload) - } -} - -const getters = { - getErrors: state => state -} - -const mutations = { - SET_ERRORS(state, payload) { - // The payload has useless data for the GUI, so only the needed data is saved in the store - for (const errorName in state) { - // eslint-disable-next-line no-prototype-builtins - if (state.hasOwnProperty(errorName)) { - state[errorName] = payload[errorName] - } - } - } -} - -export default { - state, - getters, - actions, - mutations -} diff --git a/webui-new/src/store/modules/login.js b/webui-new/src/store/modules/login.js deleted file mode 100644 index fd6d25b..0000000 --- a/webui-new/src/store/modules/login.js +++ /dev/null @@ -1,118 +0,0 @@ -const getDefaultState = () => ({ - arl: localStorage.getItem('arl') || '', - accessToken: localStorage.getItem('accessToken') || '', - status: null, - user: { - id: null, - name: '', - picture: '' - }, - spotifyUser: { - id: localStorage.getItem('spotifyUser'), - name: null, - picture: null - }, - clientMode: false -}) - -const state = () => { - return getDefaultState() -} - -const actions = { - login({ commit, dispatch }, payload) { - const { arl, user, status } = payload - - dispatch('setARL', { arl }) - commit('SET_USER', user) - commit('SET_STATUS', status) - }, - logout({ commit }) { - localStorage.removeItem('arl') - localStorage.removeItem('accessToken') - - commit('RESET_LOGIN') - }, - setARL({ commit }, payload) { - let { saveOnLocalStorage } = payload - const { arl } = payload - - saveOnLocalStorage = typeof saveOnLocalStorage === 'undefined' ? true : saveOnLocalStorage - - commit('SET_ARL', arl) - - if (saveOnLocalStorage) { - localStorage.setItem('arl', arl) - } - }, - setAccessToken({ commit }, payload) { - let { saveOnLocalStorage } = payload - const { accessToken } = payload - - saveOnLocalStorage = typeof saveOnLocalStorage === 'undefined' ? true : saveOnLocalStorage - - commit('SET_ACCESS_TOKEN', accessToken) - - if (saveOnLocalStorage) { - localStorage.setItem('accessToken', accessToken) - } - }, - removeARL({ commit }) { - commit('SET_ARL', '') - - localStorage.removeItem('arl') - }, - removeAccessToken({ commit }) { - commit('SET_ACCESS_TOKEN', '') - - localStorage.removeItem('accessToken') - }, - setUser({ commit }, payload) { - commit('SET_USER', payload) - }, - setClientMode({ commit }, payload) { - commit('SET_CLIENT_MODE', payload) - } -} - -const getters = { - getARL: state => state.arl, - getAccessToken: state => state.accessToken, - getUser: state => state.user, - getSpotifyUser: state => state.spotifyUser, - getClientMode: state => state.clientMode, - - isLoggedIn: state => !!state.arl, - isLoggedWithSpotify: state => !!state.spotifyUser.id -} - -const mutations = { - SET_ARL(state, payload) { - state.arl = payload - }, - SET_ACCESS_TOKEN(state, payload) { - state.accessToken = payload - }, - SET_STATUS(state, payload) { - state.status = payload - }, - SET_USER(state, payload) { - state.user = payload - }, - SET_CLIENT_MODE(state, payload) { - state.clientMode = payload - }, - RESET_LOGIN(state) { - // Needed for reactivity - const clientMode = state.clientMode - Object.assign(state, getDefaultState()) - state.clientMode = clientMode - } -} - -export default { - state, - getters, - actions, - mutations -} diff --git a/webui-new/src/styles/css/base.css b/webui-new/src/styles/css/base.css deleted file mode 100644 index a6c56da..0000000 --- a/webui-new/src/styles/css/base.css +++ /dev/null @@ -1,100 +0,0 @@ -:root { - font-size: 16px; - - --main-scroll: theme('colors.grayscale.300'); - --panels-scroll: hsl(180, 2%, 17%); - --toast-background: hsla(240, 12%, 16%, 0.85); - --toast-secondary: hsla(240, 12%, 16%, 0.15); - --toast-text: hsla(0, 0%, 100%, 0.85); - - --primary-color: hsl(210, 100%, 52%); /* will remove variable */ - --primary-text: theme('colors.grayscale.870'); /* will remove variable */ - --secondary-color: hsl(46, 100%, 57%); /* will remove variable */ -} - -:root[data-theme='light'] { - --main-background: theme('colors.white'); - --secondary-background: theme('colors.grayscale.930'); - --foreground: theme('colors.grayscale.200'); - --panels-background: hsl(216, 4%, 78%); - - --table-bg: theme('colors.white'); - --table-zebra: theme('colors.grayscale.900'); - --table-highlight: theme('colors.grayscale.840'); -} - -:root[data-theme='dark'] { - --main-background: hsl(240, 10%, 8%); - --secondary-background: hsl(240, 12%, 16%); /* e.g. search bar bg */ - --foreground: theme('colors.grayscale.930'); /* primary text + icons in main + search */ - --panels-background: hsl(240, 15%, 12%); /* panel left + right bg */ - - --table-bg: hsl(240, 10%, 8%); /* e.g. results table bg 1st row */ - --table-zebra: hsl(240, 15%, 11%); /* e.g. results table bg 2nd alternate */ - --table-highlight: hsl(240, 10%, 22%); /* e.g. hover bg color on table selection */ -} - -:root[data-theme='purple'] { - --main-background: hsl(261, 74%, 6%); - --secondary-background: hsl(257, 61%, 10%); - --foreground: theme('colors.grayscale.930'); - --panels-background: hsl(257, 70%, 9%); - - --table-bg: hsl(261, 74%, 6%); - --table-zebra: hsl(257, 61%, 10%); - --table-highlight: hsl(257, 66%, 27%); -} - -@layer base { - input[type='text'], - input[type='password'], - input[type='number'], - select { - border-radius: 4px; - background-color: var(--secondary-background); - padding: 0 1rem; - width: 100%; - min-height: 3rem; - color: var(--foreground); - } - - input[type='text'], - input[type='password'], - input[type='number'] { - padding: 0 16px; - } - - input[type='checkbox'] { - display: inline-block; - position: relative; - opacity: 0.5; - margin: 3px; - border: 2px solid gray; - border-radius: 2px; - background-color: none; - padding: 7px; - } - - input[type='checkbox']:checked { - opacity: 1; - border-width: 0; - background-color: var(--primary-color); - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='18' viewBox='3 3 18 18' width='18'%3E%3Cpath fill='%23ffffff' d='M 10,17 5,12 6.41,10.59 10,14.17 17.59,6.58 19,8 Z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E"); - background-position: center center; - padding: 9px; - color: var(--primary-text); - } - - select { - background-clip: border-box; - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath style='fill:gray;fill-opacity:0.5' d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E"); - background-position: calc(100% - 8px) center; - background-repeat: no-repeat; - background-size: 24px; - padding-right: 40px; - } - - a { - color: dodgerblue; - } -} diff --git a/webui-new/src/styles/css/components.css b/webui-new/src/styles/css/components.css deleted file mode 100644 index 0a2007c..0000000 --- a/webui-new/src/styles/css/components.css +++ /dev/null @@ -1,68 +0,0 @@ -@layer components { - /* Button */ - .btn { - @apply relative h-8 px-2 py-0 text-sm font-semibold uppercase border border-transparent border-solid rounded text-grayscale-900; - - font-family: inherit; - transition: transform 50ms ease-in-out; - } - - .btn:active { - transform: scale(0.98); - } - - .btn[disabled] { - @apply text-gray-300 bg-gray-600 opacity-75 cursor-not-allowed; - } - - .btn-only-icon { - @apply flex items-center justify-center w-12 px-1 py-0; - - min-width: 24px; - } - - .btn-primary { - @apply bg-primary; - } - - .btn-primary:hover { - @apply bg-blue-600 border-foreground; - } - - /* Section tabs */ - .section-tabs { - @apply flex mt-4 mb-6 list-none cursor-pointer; - } - - .section-tabs__tab { - @apply flex-1 p-3 text-xl text-center capitalize border-t-4 rounded-b border-foreground bg-background-main; - } - - .section-tabs__tab.active { - @apply text-primary border-primary bg-background-main; - } - - .section-tabs__tab:hover { - @apply text-primary border-primary bg-background-secondary; - @apply bg-opacity-25; - } - - /* Image header */ - .image-header header { - @apply px-6 pt-56 pb-2 bg-cover rounded-t-lg; - - background-position: 0% 35%; - } - - /* Fixed footer */ - .fixed-footer footer { - @apply sticky bottom-0 flex flex-row items-center justify-end w-full h-16 mt-6; - } - - /* Release grid */ - .release-grid { - @apply grid gap-4; - - grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); - } -} diff --git a/webui-new/src/styles/css/helpers.css b/webui-new/src/styles/css/helpers.css deleted file mode 100644 index da52ef4..0000000 --- a/webui-new/src/styles/css/helpers.css +++ /dev/null @@ -1,36 +0,0 @@ -.changing-theme { - /* Applied to ALL elements when changing theme */ - transition: all 200ms ease-in-out; -} - -[v-cloak] { - /* Attribute removed after that a component finished loading */ - display: none; -} - -.clickable { - cursor: pointer !important; -} - -.coverart { - /* ? Why? */ - background-color: var(--secondary-background); -} - -.release { - display: inline-block; - width: 156px; -} - -.spin { - animation: spin 500ms infinite ease-out reverse; -} - -@keyframes spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} diff --git a/webui-new/src/styles/css/normalize.css b/webui-new/src/styles/css/normalize.css deleted file mode 100644 index 9bb2c1d..0000000 --- a/webui-new/src/styles/css/normalize.css +++ /dev/null @@ -1,66 +0,0 @@ -@layer base { - * { - box-sizing: border-box; - margin: 0; - padding: 0; - } - - table, - caption, - tbody, - tfoot, - thead, - tr, - th, - td { - margin: 0; - border: 0; - padding: 0; - vertical-align: baseline; - font: inherit; - font-size: 100%; - } - - table { - border-collapse: collapse; - border-spacing: 0; - } - - /* Taken from Tailwind's Preflight */ - button, - [type='button'], - [type='reset'], - [type='submit'] { - appearance: button; - } - - input[type='text'], - input[type='password'], - input[type='number'], - input[type='search'], - input[type='checkbox'], - select { - appearance: none; - } - - [type='number']::-webkit-inner-spin-button, - [type='number']::-webkit-outer-spin-button { - height: auto; - } - - button, - [role='button'] { - cursor: pointer; - } - - p { - word-break: break-word; - } - - *, - ::before, - ::after { - border-width: 0; - border-style: solid; - } -} diff --git a/webui-new/src/styles/css/tailwind.css b/webui-new/src/styles/css/tailwind.css deleted file mode 100644 index b5c61c9..0000000 --- a/webui-new/src/styles/css/tailwind.css +++ /dev/null @@ -1,3 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; diff --git a/webui-new/src/styles/css/toasts.css b/webui-new/src/styles/css/toasts.css deleted file mode 100644 index 6b6d072..0000000 --- a/webui-new/src/styles/css/toasts.css +++ /dev/null @@ -1,22 +0,0 @@ -.toast-icon { - @apply inline-block mr-2; -} - -.circle-loader { - @apply inline-block w-4 h-4; - border: 2px solid var(--primary-color); - border-radius: 50%; - border-bottom: 2px solid var(--secondary-background); - animation: spin 1s linear infinite; -} - -.toastify { - @apply flex items-center; - box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(0, 0, 0, 0.3); - background: var(--toast-background); - color: var(--toast-text); -} - -.toastify .circle-loader { - border-bottom-color: var(--toast-secondary); -} diff --git a/webui-new/src/styles/css/typography.css b/webui-new/src/styles/css/typography.css deleted file mode 100644 index 53a4172..0000000 --- a/webui-new/src/styles/css/typography.css +++ /dev/null @@ -1,21 +0,0 @@ -.primary-text { - @apply mb-1 transition-colors duration-200 ease-in-out; -} - -.primary-text:hover { - @apply text-primary; -} - -.secondary-text { - @apply mb-1 text-sm opacity-75; -} - -@layer utilities { - .uppercase-first-letter::first-letter { - @apply uppercase; - } - - .lowercase-first-letter::first-letter { - @apply lowercase; - } -} diff --git a/webui-new/src/styles/scss/tables.scss b/webui-new/src/styles/scss/tables.scss deleted file mode 100644 index 6a3408d..0000000 --- a/webui-new/src/styles/scss/tables.scss +++ /dev/null @@ -1,206 +0,0 @@ -$vertical-separator: 7px; -$table-border-radius: 3px; - -.table { - width: 100%; - -webkit-border-horizontal-spacing: 0px; - -webkit-border-vertical-spacing: 0px; - - tbody { - tr:not(.table__row-no-highlight):hover { - background: var(--table-highlight); - cursor: default; - } - } - - tr { - transition: background-color 175ms ease-in-out; - background: var(--table-bg); - - &:nth-child(even) { - transition: background-color 175ms ease-in-out; - background: var(--table-zebra); - } - - &:not(:last-child) { - border-bottom: 1px solid var(--table-highlight); - } - } - - td, - th { - vertical-align: middle; - } - - th { - .sortable { - user-select: none; - } - - .sort-asc, - .sort-desc { - &::after { - padding-left: 3px; - line-height: 0.7em; - font-size: 0.7em; - } - } - - .sort-asc::after { - content: '\25b2'; - } - - .sort-desc::after { - content: '\25bc'; - } - } - - td { - padding: $vertical-separator 10px; - - &:first-child { - padding: $vertical-separator 10px $vertical-separator 20px; - } - - &:last-child { - padding: $vertical-separator 20px $vertical-separator 10px; - } - - img { - vertical-align: middle; - } - } - - /* === Tracks Table === */ - &--tracks { - border-collapse: collapse; - - thead { - border-bottom: 2px solid var(--table-highlight); - } - - tr { - &:first-child { - td { - &:first-child { - border-top-left-radius: $table-border-radius; - } - - &:last-child { - border-top-right-radius: $table-border-radius; - } - } - } - - &:last-child { - td { - &:first-child { - border-bottom-left-radius: $table-border-radius; - } - - &:last-child { - border-bottom-right-radius: $table-border-radius; - } - } - } - } - } - - /* === Tracklist Table === */ - &--tracklist { - thead { - border-bottom: 2px solid var(--table-highlight); - text-transform: capitalize; - } - - th { - padding: $vertical-separator 10px; - height: 45px; - - &:first-child { - padding: $vertical-separator 10px $vertical-separator 20px; - } - - &:last-child { - padding: $vertical-separator 20px $vertical-separator 10px; - } - } - - td { - height: 35px; - } - } - - /* === Charts Table === */ - &--charts { - td { - height: 35px; - } - } - - .table__icon { - box-sizing: content-box; - width: 32px; - - &--big { - width: 48px; - text-align: center; - } - } - - .table__cell { - &--x-small { - width: 0.32%; - } - - &--small { - width: 3.2%; - } - - &--medium { - width: 28.7%; - } - - &--large { - width: 50%; - } - - &--left { - text-align: left; - } - - &--center { - text-align: center; - } - - &--right { - text-align: right; - } - } - - .table__cell-content { - &.table__cell-content--vertical-center { - // Wrap cell content in this to center vertically cells - // with material icons or both material icons and text - display: flex; - align-items: center; - } - } -} - -.track_row { - > td > img { - width: 32px; - height: 32px; - } - - > td > a > img { - width: 56px; - height: 56px; - } -} - -.table--tracklist .clickable:hover, -.table--charts .clickable:hover { - text-decoration: underline; -} diff --git a/webui-new/src/styles/vendor/OpenSans.css b/webui-new/src/styles/vendor/OpenSans.css deleted file mode 100644 index 181ea45..0000000 --- a/webui-new/src/styles/vendor/OpenSans.css +++ /dev/null @@ -1,630 +0,0 @@ -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2') format('woff2'); - unicode-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; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2') format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2') format('woff2'); - unicode-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; -} -/* latin */ -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - font-display: swap; - src: url('fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2') format('woff2'); - unicode-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/webui-new/src/styles/vendor/animate.css b/webui-new/src/styles/vendor/animate.css deleted file mode 100644 index 772a60c..0000000 --- a/webui-new/src/styles/vendor/animate.css +++ /dev/null @@ -1,3625 +0,0 @@ -@charset "UTF-8"; - -/*! - * animate.css -https://daneden.github.io/animate.css/ - * Version - 3.7.1 - * Licensed under the MIT license - http://opensource.org/licenses/MIT - * - * Copyright (c) 2019 Daniel Eden - */ - -@-webkit-keyframes bounce { - from, - 20%, - 53%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 40%, - 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -4px, 0); - transform: translate3d(0, -4px, 0); - } -} - -@keyframes bounce { - from, - 20%, - 53%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 40%, - 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -4px, 0); - transform: translate3d(0, -4px, 0); - } -} - -.bounce { - -webkit-animation-name: bounce; - animation-name: bounce; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} - -@-webkit-keyframes flash { - from, - 50%, - to { - opacity: 1; - } - - 25%, - 75% { - opacity: 0; - } -} - -@keyframes flash { - from, - 50%, - to { - opacity: 1; - } - - 25%, - 75% { - opacity: 0; - } -} - -.flash { - -webkit-animation-name: flash; - animation-name: flash; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes pulse { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes pulse { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.pulse { - -webkit-animation-name: pulse; - animation-name: pulse; -} - -@-webkit-keyframes rubberBand { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(0.95, 1.05, 1); - transform: scale3d(0.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, 0.95, 1); - transform: scale3d(1.05, 0.95, 1); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes rubberBand { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(0.95, 1.05, 1); - transform: scale3d(0.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, 0.95, 1); - transform: scale3d(1.05, 0.95, 1); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.rubberBand { - -webkit-animation-name: rubberBand; - animation-name: rubberBand; -} - -@-webkit-keyframes shake { - from, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -@keyframes shake { - from, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -.shake { - -webkit-animation-name: shake; - animation-name: shake; -} - -@-webkit-keyframes headShake { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 6.5% { - -webkit-transform: translateX(-6px) rotateY(-9deg); - transform: translateX(-6px) rotateY(-9deg); - } - - 18.5% { - -webkit-transform: translateX(5px) rotateY(7deg); - transform: translateX(5px) rotateY(7deg); - } - - 31.5% { - -webkit-transform: translateX(-3px) rotateY(-5deg); - transform: translateX(-3px) rotateY(-5deg); - } - - 43.5% { - -webkit-transform: translateX(2px) rotateY(3deg); - transform: translateX(2px) rotateY(3deg); - } - - 50% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes headShake { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 6.5% { - -webkit-transform: translateX(-6px) rotateY(-9deg); - transform: translateX(-6px) rotateY(-9deg); - } - - 18.5% { - -webkit-transform: translateX(5px) rotateY(7deg); - transform: translateX(5px) rotateY(7deg); - } - - 31.5% { - -webkit-transform: translateX(-3px) rotateY(-5deg); - transform: translateX(-3px) rotateY(-5deg); - } - - 43.5% { - -webkit-transform: translateX(2px) rotateY(3deg); - transform: translateX(2px) rotateY(3deg); - } - - 50% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -.headShake { - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - -webkit-animation-name: headShake; - animation-name: headShake; -} - -@-webkit-keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - to { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -@keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - to { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -.swing { - -webkit-transform-origin: top center; - transform-origin: top center; - -webkit-animation-name: swing; - animation-name: swing; -} - -@-webkit-keyframes tada { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - } - - 30%, - 50%, - 70%, - 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, - 60%, - 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes tada { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - } - - 30%, - 50%, - 70%, - 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, - 60%, - 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.tada { - -webkit-animation-name: tada; - animation-name: tada; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes wobble { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes wobble { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.wobble { - -webkit-animation-name: wobble; - animation-name: wobble; -} - -@-webkit-keyframes jello { - from, - 11.1%, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 22.2% { - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg); - } - - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg); - } - - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg); - } - - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg); - } - - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg); - } - - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg); - } - - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - } -} - -@keyframes jello { - from, - 11.1%, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 22.2% { - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg); - } - - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg); - } - - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg); - } - - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg); - } - - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg); - } - - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg); - } - - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - } -} - -.jello { - -webkit-animation-name: jello; - animation-name: jello; - -webkit-transform-origin: center; - transform-origin: center; -} - -@-webkit-keyframes heartBeat { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 14% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 28% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 42% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 70% { - -webkit-transform: scale(1); - transform: scale(1); - } -} - -@keyframes heartBeat { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 14% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 28% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 42% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 70% { - -webkit-transform: scale(1); - transform: scale(1); - } -} - -.heartBeat { - -webkit-animation-name: heartBeat; - animation-name: heartBeat; - -webkit-animation-duration: 1.3s; - animation-duration: 1.3s; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; -} - -@-webkit-keyframes bounceIn { - from, - 20%, - 40%, - 60%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - - to { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes bounceIn { - from, - 20%, - 40%, - 60%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - - to { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.bounceIn { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-animation-name: bounceIn; - animation-name: bounceIn; -} - -@-webkit-keyframes bounceInDown { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInDown { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInDown { - -webkit-animation-name: bounceInDown; - animation-name: bounceInDown; -} - -@-webkit-keyframes bounceInLeft { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInLeft { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInLeft { - -webkit-animation-name: bounceInLeft; - animation-name: bounceInLeft; -} - -@-webkit-keyframes bounceInRight { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInRight { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInRight { - -webkit-animation-name: bounceInRight; - animation-name: bounceInRight; -} - -@-webkit-keyframes bounceInUp { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInUp { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInUp { - -webkit-animation-name: bounceInUp; - animation-name: bounceInUp; -} - -@-webkit-keyframes bounceOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} - -@keyframes bounceOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} - -.bounceOut { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-animation-name: bounceOut; - animation-name: bounceOut; -} - -@-webkit-keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.bounceOutDown { - -webkit-animation-name: bounceOutDown; - animation-name: bounceOutDown; -} - -@-webkit-keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.bounceOutLeft { - -webkit-animation-name: bounceOutLeft; - animation-name: bounceOutLeft; -} - -@-webkit-keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.bounceOutRight { - -webkit-animation-name: bounceOutRight; - animation-name: bounceOutRight; -} - -@-webkit-keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.bounceOutUp { - -webkit-animation-name: bounceOutUp; - animation-name: bounceOutUp; -} - -@-webkit-keyframes fadeIn { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} - -@keyframes fadeIn { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} - -.fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; -} - -@-webkit-keyframes fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInDown { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; -} - -@-webkit-keyframes fadeInDownBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInDownBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInDownBig { - -webkit-animation-name: fadeInDownBig; - animation-name: fadeInDownBig; -} - -@-webkit-keyframes fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInLeft { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; -} - -@-webkit-keyframes fadeInLeftBig { - from { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInLeftBig { - from { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInLeftBig { - -webkit-animation-name: fadeInLeftBig; - animation-name: fadeInLeftBig; -} - -@-webkit-keyframes fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInRight { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; -} - -@-webkit-keyframes fadeInRightBig { - from { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInRightBig { - from { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInRightBig { - -webkit-animation-name: fadeInRightBig; - animation-name: fadeInRightBig; -} - -@-webkit-keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; -} - -@-webkit-keyframes fadeInUpBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInUpBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInUpBig { - -webkit-animation-name: fadeInUpBig; - animation-name: fadeInUpBig; -} - -@-webkit-keyframes fadeOut { - from { - opacity: 1; - } - - to { - opacity: 0; - } -} - -@keyframes fadeOut { - from { - opacity: 1; - } - - to { - opacity: 0; - } -} - -.fadeOut { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; -} - -@-webkit-keyframes fadeOutDown { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes fadeOutDown { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.fadeOutDown { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; -} - -@-webkit-keyframes fadeOutDownBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes fadeOutDownBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.fadeOutDownBig { - -webkit-animation-name: fadeOutDownBig; - animation-name: fadeOutDownBig; -} - -@-webkit-keyframes fadeOutLeft { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes fadeOutLeft { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.fadeOutLeft { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; -} - -@-webkit-keyframes fadeOutLeftBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes fadeOutLeftBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.fadeOutLeftBig { - -webkit-animation-name: fadeOutLeftBig; - animation-name: fadeOutLeftBig; -} - -@-webkit-keyframes fadeOutRight { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes fadeOutRight { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.fadeOutRight { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; -} - -@-webkit-keyframes fadeOutRightBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes fadeOutRightBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.fadeOutRightBig { - -webkit-animation-name: fadeOutRightBig; - animation-name: fadeOutRightBig; -} - -@-webkit-keyframes fadeOutUp { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes fadeOutUp { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.fadeOutUp { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; -} - -@-webkit-keyframes fadeOutUpBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes fadeOutUpBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.fadeOutUpBig { - -webkit-animation-name: fadeOutUpBig; - animation-name: fadeOutUpBig; -} - -@-webkit-keyframes flip { - from { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - to { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -@keyframes flip { - from { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - to { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -.animated.flip { - -webkit-backface-visibility: visible; - backface-visibility: visible; - -webkit-animation-name: flip; - animation-name: flip; -} - -@-webkit-keyframes flipInX { - from { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInX { - from { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInX { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInX; - animation-name: flipInX; -} - -@-webkit-keyframes flipInY { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInY { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInY; - animation-name: flipInY; -} - -@-webkit-keyframes flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -.flipOutX { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-animation-name: flipOutX; - animation-name: flipOutX; - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; -} - -@-webkit-keyframes flipOutY { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutY { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -.flipOutY { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipOutY; - animation-name: flipOutY; -} - -@-webkit-keyframes lightSpeedIn { - from { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes lightSpeedIn { - from { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.lightSpeedIn { - -webkit-animation-name: lightSpeedIn; - animation-name: lightSpeedIn; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; -} - -@-webkit-keyframes lightSpeedOut { - from { - opacity: 1; - } - - to { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -@keyframes lightSpeedOut { - from { - opacity: 1; - } - - to { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -.lightSpeedOut { - -webkit-animation-name: lightSpeedOut; - animation-name: lightSpeedOut; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; -} - -@-webkit-keyframes rotateIn { - from { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateIn { - from { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateIn { - -webkit-animation-name: rotateIn; - animation-name: rotateIn; -} - -@-webkit-keyframes rotateInDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInDownLeft { - -webkit-animation-name: rotateInDownLeft; - animation-name: rotateInDownLeft; -} - -@-webkit-keyframes rotateInDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInDownRight { - -webkit-animation-name: rotateInDownRight; - animation-name: rotateInDownRight; -} - -@-webkit-keyframes rotateInUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInUpLeft { - -webkit-animation-name: rotateInUpLeft; - animation-name: rotateInUpLeft; -} - -@-webkit-keyframes rotateInUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInUpRight { - -webkit-animation-name: rotateInUpRight; - animation-name: rotateInUpRight; -} - -@-webkit-keyframes rotateOut { - from { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -@keyframes rotateOut { - from { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -.rotateOut { - -webkit-animation-name: rotateOut; - animation-name: rotateOut; -} - -@-webkit-keyframes rotateOutDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -.rotateOutDownLeft { - -webkit-animation-name: rotateOutDownLeft; - animation-name: rotateOutDownLeft; -} - -@-webkit-keyframes rotateOutDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutDownRight { - -webkit-animation-name: rotateOutDownRight; - animation-name: rotateOutDownRight; -} - -@-webkit-keyframes rotateOutUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutUpLeft { - -webkit-animation-name: rotateOutUpLeft; - animation-name: rotateOutUpLeft; -} - -@-webkit-keyframes rotateOutUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -@keyframes rotateOutUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -.rotateOutUpRight { - -webkit-animation-name: rotateOutUpRight; - animation-name: rotateOutUpRight; -} - -@-webkit-keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, - 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, - 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - to { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -@keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, - 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, - 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - to { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -.hinge { - -webkit-animation-duration: 2s; - animation-duration: 2s; - -webkit-animation-name: hinge; - animation-name: hinge; -} - -@-webkit-keyframes jackInTheBox { - from { - opacity: 0; - -webkit-transform: scale(0.1) rotate(30deg); - transform: scale(0.1) rotate(30deg); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - } - - 50% { - -webkit-transform: rotate(-10deg); - transform: rotate(-10deg); - } - - 70% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); - } - - to { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -@keyframes jackInTheBox { - from { - opacity: 0; - -webkit-transform: scale(0.1) rotate(30deg); - transform: scale(0.1) rotate(30deg); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - } - - 50% { - -webkit-transform: rotate(-10deg); - transform: rotate(-10deg); - } - - 70% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); - } - - to { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -.jackInTheBox { - -webkit-animation-name: jackInTheBox; - animation-name: jackInTheBox; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollIn { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes rollIn { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.rollIn { - -webkit-animation-name: rollIn; - animation-name: rollIn; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollOut { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -@keyframes rollOut { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -.rollOut { - -webkit-animation-name: rollOut; - animation-name: rollOut; -} - -@-webkit-keyframes zoomIn { - from { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 50% { - opacity: 1; - } -} - -@keyframes zoomIn { - from { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 50% { - opacity: 1; - } -} - -.zoomIn { - -webkit-animation-name: zoomIn; - animation-name: zoomIn; -} - -@-webkit-keyframes zoomInDown { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInDown { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInDown { - -webkit-animation-name: zoomInDown; - animation-name: zoomInDown; -} - -@-webkit-keyframes zoomInLeft { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInLeft { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInLeft { - -webkit-animation-name: zoomInLeft; - animation-name: zoomInLeft; -} - -@-webkit-keyframes zoomInRight { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInRight { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInRight { - -webkit-animation-name: zoomInRight; - animation-name: zoomInRight; -} - -@-webkit-keyframes zoomInUp { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInUp { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInUp { - -webkit-animation-name: zoomInUp; - animation-name: zoomInUp; -} - -@-webkit-keyframes zoomOut { - from { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - to { - opacity: 0; - } -} - -@keyframes zoomOut { - from { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - to { - opacity: 0; - } -} - -.zoomOut { - -webkit-animation-name: zoomOut; - animation-name: zoomOut; -} - -@-webkit-keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomOutDown { - -webkit-animation-name: zoomOutDown; - animation-name: zoomOutDown; -} - -@-webkit-keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); - transform: scale(0.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -@keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); - transform: scale(0.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -.zoomOutLeft { - -webkit-animation-name: zoomOutLeft; - animation-name: zoomOutLeft; -} - -@-webkit-keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); - transform: scale(0.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -@keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); - transform: scale(0.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -.zoomOutRight { - -webkit-animation-name: zoomOutRight; - animation-name: zoomOutRight; -} - -@-webkit-keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomOutUp { - -webkit-animation-name: zoomOutUp; - animation-name: zoomOutUp; -} - -@-webkit-keyframes slideInDown { - from { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInDown { - from { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInDown { - -webkit-animation-name: slideInDown; - animation-name: slideInDown; -} - -@-webkit-keyframes slideInLeft { - from { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInLeft { - from { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInLeft { - -webkit-animation-name: slideInLeft; - animation-name: slideInLeft; -} - -@-webkit-keyframes slideInRight { - from { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInRight { - from { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInRight { - -webkit-animation-name: slideInRight; - animation-name: slideInRight; -} - -@-webkit-keyframes slideInUp { - from { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInUp { - from { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInUp { - -webkit-animation-name: slideInUp; - animation-name: slideInUp; -} - -@-webkit-keyframes slideOutDown { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes slideOutDown { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.slideOutDown { - -webkit-animation-name: slideOutDown; - animation-name: slideOutDown; -} - -@-webkit-keyframes slideOutLeft { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes slideOutLeft { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.slideOutLeft { - -webkit-animation-name: slideOutLeft; - animation-name: slideOutLeft; -} - -@-webkit-keyframes slideOutRight { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes slideOutRight { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.slideOutRight { - -webkit-animation-name: slideOutRight; - animation-name: slideOutRight; -} - -@-webkit-keyframes slideOutUp { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes slideOutUp { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.slideOutUp { - -webkit-animation-name: slideOutUp; - animation-name: slideOutUp; -} - -.animated { - -webkit-animation-duration: 1s; - animation-duration: 1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.animated.infinite { - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -.animated.delay-1s { - -webkit-animation-delay: 1s; - animation-delay: 1s; -} - -.animated.delay-2s { - -webkit-animation-delay: 2s; - animation-delay: 2s; -} - -.animated.delay-3s { - -webkit-animation-delay: 3s; - animation-delay: 3s; -} - -.animated.delay-4s { - -webkit-animation-delay: 4s; - animation-delay: 4s; -} - -.animated.delay-5s { - -webkit-animation-delay: 5s; - animation-delay: 5s; -} - -.animated.fast { - -webkit-animation-duration: 800ms; - animation-duration: 800ms; -} - -.animated.faster { - -webkit-animation-duration: 500ms; - animation-duration: 500ms; -} - -.animated.slow { - -webkit-animation-duration: 2s; - animation-duration: 2s; -} - -.animated.slower { - -webkit-animation-duration: 3s; - animation-duration: 3s; -} - -@media (print), (prefers-reduced-motion: reduce) { - .animated { - -webkit-animation-duration: 1ms !important; - animation-duration: 1ms !important; - -webkit-transition-duration: 1ms !important; - transition-duration: 1ms !important; - -webkit-animation-iteration-count: 1 !important; - animation-iteration-count: 1 !important; - } -} diff --git a/webui-new/src/styles/vendor/material-icons.css b/webui-new/src/styles/vendor/material-icons.css deleted file mode 100644 index 97788ed..0000000 --- a/webui-new/src/styles/vendor/material-icons.css +++ /dev/null @@ -1,53 +0,0 @@ -/* fallback */ -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: url('fonts/icons/MaterialIcons-Regular.eot'); /* For IE6-8 */ - src: url('fonts/icons/MaterialIcons-Regular.woff2') format('woff2'), - url('fonts/icons/MaterialIcons-Regular.woff') format('woff'), - url('fonts/icons/MaterialIcons-Regular.ttf') format('truetype'); -} - -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; -} - -.material-icons.title-icon { - margin-right: 0.3125em; - margin-left: -3px; -} - -.material-icons.title-icon.title-icon--right { - margin-right: 0px; - margin-left: 0.3125em; -} - -.material-icons.title-icon.title-icon--explicit { - color: hsl(240, 5%, 59%); -} - -.material-icons.title-icon.title-icon--new { - color: hsl(27, 100%, 50%); -} - -.material-icons.disabled { - @apply opacity-50 cursor-default; -} - -.material-icons.mirrored { - transform: scaleX(-1); -} diff --git a/webui-new/src/use/favorites.js b/webui-new/src/use/favorites.js deleted file mode 100644 index 5c54c69..0000000 --- a/webui-new/src/use/favorites.js +++ /dev/null @@ -1,53 +0,0 @@ -import { ref } from '@vue/composition-api' - -import store from '@/store' -import { fetchData } from '@/utils/api' - -const favoriteArtists = ref([]) -const favoriteAlbums = ref([]) -const favoriteSpotifyPlaylists = ref([]) -const favoritePlaylists = ref([]) -const favoriteTracks = ref([]) - -const isRefreshingFavorites = ref(false) - -function refreshFavorites({ isInitial = false }) { - if (!isInitial) { - isRefreshingFavorites.value = true - } - - fetchData('getUserFavorites').then(setAllFavorites).catch(console.error) - - if (store.getters.isLoggedWithSpotify) { - fetchData('getUserSpotifyPlaylists', { - spotifyUser: store.getters.getSpotifyUser.id - }) - .then(spotifyPlaylists => { - favoriteSpotifyPlaylists.value = spotifyPlaylists - }) - .catch(console.error) - } -} - -function setAllFavorites(data) { - const { tracks, albums, artists, playlists } = data - - isRefreshingFavorites.value = false - - favoriteArtists.value = artists - favoriteAlbums.value = albums - favoritePlaylists.value = playlists - favoriteTracks.value = tracks -} - -export function useFavorites() { - return { - favoriteArtists, - favoriteAlbums, - favoriteSpotifyPlaylists, - favoritePlaylists, - favoriteTracks, - isRefreshingFavorites, - refreshFavorites - } -} diff --git a/webui-new/src/use/logs.js b/webui-new/src/use/logs.js deleted file mode 100644 index 80efadb..0000000 --- a/webui-new/src/use/logs.js +++ /dev/null @@ -1,27 +0,0 @@ -import { ref } from '@vue/composition-api' -import { socket } from '@/utils/socket' - -const messages = ref([]) -const cached = localStorage.getItem('areLogsActive') -const areLogsActive = ref(cached ? cached === 'true' : false) - -const saveLogsSettings = () => { - localStorage.setItem('areLogsActive', areLogsActive.value) -} - -socket.addEventListener('message', event => { - if (!areLogsActive.value) { - return - } - - const newMessage = JSON.parse(event.data) - messages.value.push(Object.freeze(newMessage)) -}) - -export const useLogs = () => { - return { - messages, - areLogsActive, - saveLogsSettings - } -} diff --git a/webui-new/src/use/main-search.js b/webui-new/src/use/main-search.js deleted file mode 100644 index de18035..0000000 --- a/webui-new/src/use/main-search.js +++ /dev/null @@ -1,17 +0,0 @@ -import { ref } from '@vue/composition-api' -import { fetchData } from '@/utils/api' - -const searchResult = ref({}) - -function performMainSearch(searchTerm) { - fetchData('mainSearch', { term: searchTerm }).then(data => { - searchResult.value = data - }) -} - -export function useMainSearch() { - return { - searchResult, - performMainSearch - } -} diff --git a/webui-new/src/use/online.js b/webui-new/src/use/online.js deleted file mode 100644 index 6eea25d..0000000 --- a/webui-new/src/use/online.js +++ /dev/null @@ -1,13 +0,0 @@ -import { ref } from '@vue/composition-api' - -const isOnline = ref(navigator.onLine) - -window.addEventListener('online', () => { - isOnline.value = true -}) - -window.addEventListener('offline', () => { - isOnline.value = false -}) - -export const useOnline = () => ({ isOnline }) diff --git a/webui-new/src/use/search.js b/webui-new/src/use/search.js deleted file mode 100644 index 9546988..0000000 --- a/webui-new/src/use/search.js +++ /dev/null @@ -1,22 +0,0 @@ -import { ref } from '@vue/composition-api' -import { fetchData } from '@/utils/api' - -const result = ref({}) - -function performSearch({ term, type, start = 0, nb = 30 }) { - fetchData('search', { - term, - type, - start, - nb - }).then(data => { - result.value = data - }) -} - -export function useSearch() { - return { - result, - performSearch - } -} diff --git a/webui-new/src/use/theme.js b/webui-new/src/use/theme.js deleted file mode 100644 index b6da7b7..0000000 --- a/webui-new/src/use/theme.js +++ /dev/null @@ -1,46 +0,0 @@ -import { ref, watch } from '@vue/composition-api' - -/** - * @typedef {string} Theme - */ - -const THEMES = { - dark: 'dark', - light: 'light', - purple: 'purple' -} - -const initialTheme = localStorage.getItem('selectedTheme') || document.documentElement.dataset.theme || THEMES.dark -const currentTheme = ref(initialTheme) - -watch(currentTheme, (newTheme, oldTheme) => { - // No operation needed - if (oldTheme === newTheme) return - - localStorage.setItem('selectedTheme', newTheme) - document.documentElement.dataset.theme = newTheme - - animateAllElements() -}) - -function animateAllElements() { - // Animating everything to have a smoother theme switch - const allElements = document.querySelectorAll('*') - - allElements.forEach(el => { - el.classList.add('changing-theme') - }) - - document.documentElement.addEventListener('transitionend', function transitionHandler() { - allElements.forEach(el => { - el.classList.remove('changing-theme') - }) - - document.documentElement.removeEventListener('transitionend', transitionHandler) - }) -} - -export const useTheme = () => ({ - THEMES, - currentTheme -}) diff --git a/webui-new/src/utils/EventBus.js b/webui-new/src/utils/EventBus.js deleted file mode 100644 index 68b11ec..0000000 --- a/webui-new/src/utils/EventBus.js +++ /dev/null @@ -1,4 +0,0 @@ -// https://alligator.io/vuejs/global-event-bus/ -import Vue from 'vue' - -export default new Vue() diff --git a/webui-new/src/utils/adjust-volume.js b/webui-new/src/utils/adjust-volume.js deleted file mode 100644 index 25ce2ae..0000000 --- a/webui-new/src/utils/adjust-volume.js +++ /dev/null @@ -1,27 +0,0 @@ -// https://stackoverflow.com/questions/7451508/html5-audio-playback-with-fade-in-and-fade-out#answer-13149848 -export function adjustVolume(element, newVolume, { duration = 1000, easing = swing, interval = 13 } = {}) { - const originalVolume = element.volume - const delta = newVolume - originalVolume - - if (!delta || !duration || !easing || !interval) { - element.volume = newVolume - return Promise.resolve() - } - - const ticks = Math.floor(duration / interval) - let tick = 1 - - return new Promise(resolve => { - const timer = setInterval(() => { - element.volume = originalVolume + easing(tick / ticks) * delta - if (++tick === ticks) { - clearInterval(timer) - resolve() - } - }, interval) - }) -} - -export function swing(p) { - return 0.5 - Math.cos(p * Math.PI) / 2 -} diff --git a/webui-new/src/utils/api.js b/webui-new/src/utils/api.js deleted file mode 100644 index a72840a..0000000 --- a/webui-new/src/utils/api.js +++ /dev/null @@ -1,56 +0,0 @@ -// const SERVER_ENDPOINT = window.location.origin -export const SERVER_ENDPOINT = 'http://localhost:6595' -export const SERVER_HOST = 'localhost:6595' - -const commonOptions = { - credentials: 'include' -} - -export function fetchData(key, data = {}, method = 'GET') { - const url = new URL(`${SERVER_ENDPOINT}/api/${key}`) - - Object.keys(data).forEach(key => { - url.searchParams.append(key, data[key]) - }) - - return fetch(url.href, { ...commonOptions, method }) - .then(response => response.json()) - .catch(error => { - console.error('There has been a problem with your fetch operation:', error) - return Promise.reject(error) - }) -} - -export function sendToServer(key, data) { - const url = new URL(`${SERVER_ENDPOINT}/api/${key}`) - - Object.keys(data).forEach(key => { - url.searchParams.append(key, data[key]) - }) - - fetch(url.href).catch(error => { - console.error('There has been a problem with your fetch operation:', error) - }) -} - -export const postToServer = (endpoint, data) => { - const url = new URL(`${SERVER_ENDPOINT}/api/${endpoint}`) - - return fetch(url, { - ...commonOptions, - body: JSON.stringify(data), - headers: { - 'Content-Type': 'application/json' - }, - method: 'POST' - }) - .then(response => { - if (!response.ok) { - throw new Error('Network response was not ok') - } - return response.json() - }) - .catch(error => { - console.error('There has been a problem with your fetch operation:', error) - }) -} diff --git a/webui-new/src/utils/countries.js b/webui-new/src/utils/countries.js deleted file mode 100644 index cc11a85..0000000 --- a/webui-new/src/utils/countries.js +++ /dev/null @@ -1,251 +0,0 @@ -export const COUNTRIES = { - AF: 'Afghanistan', - AX: '\u00C5land Islands', - AL: 'Albania', - DZ: 'Algeria', - AS: 'American Samoa', - AD: 'Andorra', - AO: 'Angola', - AI: 'Anguilla', - AQ: 'Antarctica', - AG: 'Antigua and Barbuda', - AR: 'Argentina', - AM: 'Armenia', - AW: 'Aruba', - AU: 'Australia', - AT: 'Austria', - AZ: 'Azerbaijan', - BS: 'Bahamas', - BH: 'Bahrain', - BD: 'Bangladesh', - BB: 'Barbados', - BY: 'Belarus', - BE: 'Belgium', - BZ: 'Belize', - BJ: 'Benin', - BM: 'Bermuda', - BT: 'Bhutan', - BO: 'Bolivia, Plurinational State of', - BQ: 'Bonaire, Sint Eustatius and Saba', - BA: 'Bosnia and Herzegovina', - BW: 'Botswana', - BV: 'Bouvet Island', - BR: 'Brazil', - IO: 'British Indian Ocean Territory', - BN: 'Brunei Darussalam', - BG: 'Bulgaria', - BF: 'Burkina Faso', - BI: 'Burundi', - KH: 'Cambodia', - CM: 'Cameroon', - CA: 'Canada', - CV: 'Cape Verde', - KY: 'Cayman Islands', - CF: 'Central African Republic', - TD: 'Chad', - CL: 'Chile', - CN: 'China', - CX: 'Christmas Island', - CC: 'Cocos (Keeling) Islands', - CO: 'Colombia', - KM: 'Comoros', - CG: 'Congo', - CD: 'Congo, the Democratic Republic of the', - CK: 'Cook Islands', - CR: 'Costa Rica', - CI: "C\u00F4te d'Ivoire", - HR: 'Croatia', - CU: 'Cuba', - CW: 'Cura\u00E7ao', - CY: 'Cyprus', - CZ: 'Czech Republic', - DK: 'Denmark', - DJ: 'Djibouti', - DM: 'Dominica', - DO: 'Dominican Republic', - EC: 'Ecuador', - EG: 'Egypt', - SV: 'El Salvador', - GQ: 'Equatorial Guinea', - ER: 'Eritrea', - EE: 'Estonia', - ET: 'Ethiopia', - FK: 'Falkland Islands (Malvinas)', - FO: 'Faroe Islands', - FJ: 'Fiji', - FI: 'Finland', - FR: 'France', - GF: 'French Guiana', - PF: 'French Polynesia', - TF: 'French Southern Territories', - GA: 'Gabon', - GM: 'Gambia', - GE: 'Georgia', - DE: 'Germany', - GH: 'Ghana', - GI: 'Gibraltar', - GR: 'Greece', - GL: 'Greenland', - GD: 'Grenada', - GP: 'Guadeloupe', - GU: 'Guam', - GT: 'Guatemala', - GG: 'Guernsey', - GN: 'Guinea', - GW: 'Guinea-Bissau', - GY: 'Guyana', - HT: 'Haiti', - HM: 'Heard Island and McDonald Islands', - VA: 'Holy See (Vatican City State)', - HN: 'Honduras', - HK: 'Hong Kong', - HU: 'Hungary', - IS: 'Iceland', - IN: 'India', - ID: 'Indonesia', - IR: 'Iran, Islamic Republic of', - IQ: 'Iraq', - IE: 'Ireland', - IM: 'Isle of Man', - IL: 'Israel', - IT: 'Italy', - JM: 'Jamaica', - JP: 'Japan', - JE: 'Jersey', - JO: 'Jordan', - KZ: 'Kazakhstan', - KE: 'Kenya', - KI: 'Kiribati', - KP: "Korea, Democratic People's Republic of", - KR: 'Korea, Republic of', - KW: 'Kuwait', - KG: 'Kyrgyzstan', - LA: "Lao People's Democratic Republic", - LV: 'Latvia', - LB: 'Lebanon', - LS: 'Lesotho', - LR: 'Liberia', - LY: 'Libya', - LI: 'Liechtenstein', - LT: 'Lithuania', - LU: 'Luxembourg', - MO: 'Macao', - MK: 'Macedonia, the Former Yugoslav Republic of', - MG: 'Madagascar', - MW: 'Malawi', - MY: 'Malaysia', - MV: 'Maldives', - ML: 'Mali', - MT: 'Malta', - MH: 'Marshall Islands', - MQ: 'Martinique', - MR: 'Mauritania', - MU: 'Mauritius', - YT: 'Mayotte', - MX: 'Mexico', - FM: 'Micronesia, Federated States of', - MD: 'Moldova, Republic of', - MC: 'Monaco', - MN: 'Mongolia', - ME: 'Montenegro', - MS: 'Montserrat', - MA: 'Morocco', - MZ: 'Mozambique', - MM: 'Myanmar', - NA: 'Namibia', - NR: 'Nauru', - NP: 'Nepal', - NL: 'Netherlands', - NC: 'New Caledonia', - NZ: 'New Zealand', - NI: 'Nicaragua', - NE: 'Niger', - NG: 'Nigeria', - NU: 'Niue', - NF: 'Norfolk Island', - MP: 'Northern Mariana Islands', - NO: 'Norway', - OM: 'Oman', - PK: 'Pakistan', - PW: 'Palau', - PS: 'Palestine, State of', - PA: 'Panama', - PG: 'Papua New Guinea', - PY: 'Paraguay', - PE: 'Peru', - PH: 'Philippines', - PN: 'Pitcairn', - PL: 'Poland', - PT: 'Portugal', - PR: 'Puerto Rico', - QA: 'Qatar', - RE: 'R\u00E9union', - RO: 'Romania', - RU: 'Russian Federation', - RW: 'Rwanda', - BL: 'Saint Barth\u00E9lemy', - SH: 'Saint Helena, Ascension and Tristan da Cunha', - KN: 'Saint Kitts and Nevis', - LC: 'Saint Lucia', - MF: 'Saint Martin (French part)', - PM: 'Saint Pierre and Miquelon', - VC: 'Saint Vincent and the Grenadines', - WS: 'Samoa', - SM: 'San Marino', - ST: 'Sao Tome and Principe', - SA: 'Saudi Arabia', - SN: 'Senegal', - RS: 'Serbia', - SC: 'Seychelles', - SL: 'Sierra Leone', - SG: 'Singapore', - SX: 'Sint Maarten (Dutch part)', - SK: 'Slovakia', - SI: 'Slovenia', - SB: 'Solomon Islands', - SO: 'Somalia', - ZA: 'South Africa', - GS: 'South Georgia and the South Sandwich Islands', - SS: 'South Sudan', - ES: 'Spain', - LK: 'Sri Lanka', - SD: 'Sudan', - SR: 'Suriname', - SJ: 'Svalbard and Jan Mayen', - SZ: 'Swaziland', - SE: 'Sweden', - CH: 'Switzerland', - SY: 'Syrian Arab Republic', - TW: 'Taiwan, Province of China', - TJ: 'Tajikistan', - TZ: 'Tanzania, United Republic of', - TH: 'Thailand', - TL: 'Timor-Leste', - TG: 'Togo', - TK: 'Tokelau', - TO: 'Tonga', - TT: 'Trinidad and Tobago', - TN: 'Tunisia', - TR: 'Turkey', - TM: 'Turkmenistan', - TC: 'Turks and Caicos Islands', - TV: 'Tuvalu', - UG: 'Uganda', - UA: 'Ukraine', - AE: 'United Arab Emirates', - GB: 'United Kingdom', - US: 'United States', - UM: 'United States Minor Outlying Islands', - UY: 'Uruguay', - UZ: 'Uzbekistan', - VU: 'Vanuatu', - VE: 'Venezuela, Bolivarian Republic of', - VN: 'Viet Nam', - VG: 'Virgin Islands, British', - VI: 'Virgin Islands, U.S.', - WF: 'Wallis and Futuna', - EH: 'Western Sahara', - YE: 'Yemen', - ZM: 'Zambia', - ZW: 'Zimbabwe' -} diff --git a/webui-new/src/utils/dates.js b/webui-new/src/utils/dates.js deleted file mode 100644 index e9a60a5..0000000 --- a/webui-new/src/utils/dates.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @param {Date} dateToCheck - * @returns {boolean} The passed date is less than 3 days distant from today, - * therefore it's considered a new release, if referring to a track or album - */ -export function checkNewRelease(dateToCheck) { - const now = new Date() - now.setHours(0, 0, 0, 0) - - dateToCheck = new Date(dateToCheck) - dateToCheck.setDate(dateToCheck.getDate() + 3) - - return now.getTime() <= dateToCheck.getTime() -} diff --git a/webui-new/src/utils/downloads.js b/webui-new/src/utils/downloads.js deleted file mode 100644 index 1bf6e91..0000000 --- a/webui-new/src/utils/downloads.js +++ /dev/null @@ -1,21 +0,0 @@ -import { fetchData } from '@/utils/api' - -/** - * @param {string} url - * @param {number|null} bitrate - */ -export function sendAddToQueue(url, bitrate = null) { - if (!url) throw new Error('No URL given to sendAddToQueue function!') - - fetchData('addToQueue', { url, bitrate }, 'POST') -} - -/** - * @param {{ link: string }[]} releases - * @returns {string} - */ -export function aggregateDownloadLinks(releases) { - const links = releases.map(release => release.link) - - return links.join(';') -} diff --git a/webui-new/src/utils/flags.js b/webui-new/src/utils/flags.js deleted file mode 100644 index b308940..0000000 --- a/webui-new/src/utils/flags.js +++ /dev/null @@ -1,37 +0,0 @@ -import it from 'flag-icon-css/flags/4x3/it.svg' -import gb from 'flag-icon-css/flags/4x3/gb.svg' -import es from 'flag-icon-css/flags/4x3/es.svg' -import de from 'flag-icon-css/flags/4x3/de.svg' -import fr from 'flag-icon-css/flags/4x3/fr.svg' -import id from 'flag-icon-css/flags/4x3/id.svg' -import pt from 'flag-icon-css/flags/4x3/pt.svg' -import br from 'flag-icon-css/flags/4x3/br.svg' -import ru from 'flag-icon-css/flags/4x3/ru.svg' -import tr from 'flag-icon-css/flags/4x3/tr.svg' -import vn from 'flag-icon-css/flags/4x3/vn.svg' -import hr from 'flag-icon-css/flags/4x3/hr.svg' -import ar from '@/assets/ar.svg' -import ko from 'flag-icon-css/flags/4x3/kr.svg' -import ph from 'flag-icon-css/flags/4x3/ph.svg' -import tw from 'flag-icon-css/flags/4x3/tw.svg' -import pl from 'flag-icon-css/flags/4x3/pl.svg' - -export const flags = { - it, - en: gb, - es, - de, - fr, - id, - pt, - pt_br: br, - ru, - tr, - vn, - hr, - ar, - ko, - ph, - zh_tw: tw, - pl -} diff --git a/webui-new/src/utils/forms.js b/webui-new/src/utils/forms.js deleted file mode 100644 index c045ee7..0000000 --- a/webui-new/src/utils/forms.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @param {HTMLFormElement} formEl - * @returns {function(item: string): {}} - * @since 1.6.1 - */ -export const getFormItem = formEl => item => { - const element = formEl.elements.namedItem(item) - - return { - [item]: element.value - } -} diff --git a/webui-new/src/utils/socket.js b/webui-new/src/utils/socket.js deleted file mode 100644 index 4885b19..0000000 --- a/webui-new/src/utils/socket.js +++ /dev/null @@ -1,40 +0,0 @@ -import { SERVER_HOST } from '@/utils/api' - -class CustomSocket extends WebSocket { - constructor(args) { - super(args) - this.listeners = {} - } - - emit(key, data) { - if (this.readyState !== WebSocket.OPEN) return false - - this.send(JSON.stringify({ key, data })) - } - - on(key, cb) { - if (!Object.keys(this.listeners).includes(key)) { - // console.log('on:', key) - this.listeners[key] = cb - - this.addEventListener('message', event => { - const messageData = JSON.parse(event.data) - - if (messageData.key === key) { - cb(messageData.data) - } - }) - } - } - - off(key) { - if (Object.keys(this.listeners).includes(key)) { - // console.log('off:', key) - this.removeEventListener('message', this.listeners[key]) - delete this.listeners[key] - } - } -} - -// export const socket = new CustomSocket('ws://' + location.host + '/') -export const socket = new CustomSocket('ws://' + SERVER_HOST + '/') diff --git a/webui-new/src/utils/texts.js b/webui-new/src/utils/texts.js deleted file mode 100644 index 338a1da..0000000 --- a/webui-new/src/utils/texts.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * @param {string} text - */ -export const upperCaseFirstLowerCaseRest = text => text.charAt(0).toUpperCase() + text.slice(1).toLowerCase() diff --git a/webui-new/src/utils/toasts.js b/webui-new/src/utils/toasts.js deleted file mode 100644 index ea6e587..0000000 --- a/webui-new/src/utils/toasts.js +++ /dev/null @@ -1,126 +0,0 @@ -import Toastify from 'toastify-js' -import 'toastify-js/src/toastify.css' -import '@/styles/css/toasts.css' - -import { socket } from '@/utils/socket' - -const sharedOptions = { - gravity: 'bottom', - position: 'left' -} - -const toastsWithId = {} - -export const toast = function (msg, icon = null, dismiss = true, id = null) { - if (toastsWithId[id]) { - const toastObj = toastsWithId[id] - - const toastElement = document.querySelectorAll(`div.toastify[toast_id=${id}]`) - - if (msg) { - toastElement.forEach(toast => { - const messages = toast.querySelectorAll('.toast-message') - - messages.forEach(message => { - message.innerText = msg - }) - }) - } - - if (icon) { - const iconNode = document.createElement('span') - iconNode.classList.add('toast-icon') - - if (icon === 'loading') { - const loader = document.createElement('div') - loader.classList.add('circle-loader') - iconNode.appendChild(loader) - } else { - const materialIcon = document.createElement('i') - materialIcon.classList.add('material-icons') - materialIcon.appendChild(document.createTextNode(icon)) - iconNode.appendChild(materialIcon) - } - - toastElement.forEach(toast => { - const icons = toast.querySelectorAll('.toast-icon') - - icons.forEach(toastIcon => { - toastIcon.parentNode.replaceChild(iconNode, toastIcon) - }) - }) - } - if (dismiss !== null && dismiss) { - toastElement.forEach(toast => { - toast.classList.add('dismissable') - }) - - setTimeout(() => { - toastObj.hideToast() - - delete toastsWithId[id] - }, 3000) - } - } else { - const iconNode = document.createElement('span') - iconNode.classList.add('toast-icon') - if (icon == null) { - iconNode.appendChild(document.createTextNode('')) - } else if (icon === 'loading') { - const loader = document.createElement('div') - loader.classList.add('circle-loader') - iconNode.appendChild(loader) - } else { - const materialIcon = document.createElement('i') - materialIcon.classList.add('material-icons') - materialIcon.appendChild(document.createTextNode(icon)) - iconNode.appendChild(materialIcon) - } - const messageNode = document.createElement('span') - messageNode.classList.add('toast-message') - messageNode.appendChild(document.createTextNode(msg)) - - const toastNode = document.createElement('toast') - toastNode.appendChild(iconNode) - toastNode.appendChild(messageNode) - - const toastObj = Toastify({ - ...sharedOptions, - node: toastNode, - duration: dismiss ? 3000 : 0, - className: dismiss ? 'dismissable' : '', - onClick() { - let dismissable = true - - if (id) { - const toastClasses = document.querySelector(`div.toastify[toast_id=${id}]`).classList - - if (toastClasses) { - dismissable = Array.prototype.slice.call(toastClasses).includes('dismissable') - } - } - if (toastObj && dismissable) { - toastObj.hideToast() - - if (id) { - delete toastsWithId[id] - } - } - }, - offset: { - x: localStorage.getItem('slimSidebar') === 'true' ? '3rem' : '14rem' - } - }).showToast() - if (id) { - toastsWithId[id] = toastObj - - toastObj.toastElement.setAttribute('toast_id', id) - } - } -} - -socket.on('toast', data => { - const { msg, icon, dismiss, id } = data - - toast(msg, icon || null, dismiss !== undefined ? dismiss : true, id || null) -}) diff --git a/webui-new/src/utils/utils.js b/webui-new/src/utils/utils.js deleted file mode 100644 index 08554ef..0000000 --- a/webui-new/src/utils/utils.js +++ /dev/null @@ -1,158 +0,0 @@ -/** - * Climbs the DOM until the root is reached, storing every node passed. - * @param {HTMLElement} el - * @return {Array} Contains all the nodes between el and the root - * @since 0.0.0 - */ -export function generatePath(el) { - if (!el) { - throw new Error('No element passed to the generatePath function!') - } - - const path = [el] - - while ((el = el.parentNode) && el !== document) { - path.push(el) - } - - return path -} - -/** - * @param {string} text - * @returns {boolean} - * @since 0.0.0 - */ -export function isValidURL(text) { - const lowerCaseText = text.toLowerCase() - - if (lowerCaseText.startsWith('http')) { - if ( - lowerCaseText.includes('deezer.com') || - lowerCaseText.includes('deezer.page.link') || - lowerCaseText.includes('open.spotify.com') || - lowerCaseText.includes('link.tospotify.com') - ) { - return true - } - } else if (lowerCaseText.startsWith('spotify:')) { - return true - } - return false -} - -/** - * @param {number} duration - * @returns {string} - * @since 0.0.0 - */ -export function convertDuration(duration) { - const mm = Math.floor(duration / 60) - - // Convert from seconds only to mm:ss format - let ss = duration - mm * 60 // Add leading zero if ss < 0 - - if (ss < 10) { - ss = '0' + ss - } - - return mm + ':' + ss -} - -/** - * @param {number} duration - * @returns {[number, number, number]} - * @since 0.0.0 - */ -export function convertDurationSeparated(duration) { - let mm = Math.floor(duration / 60) - - const hh = Math.floor(mm / 60) - const ss = duration - mm * 60 - - mm -= hh * 60 - - return [hh, mm, ss] -} - -/** - * @param {number} x - * @returns {string} - * @since 0.0.0 - * @deprecated - */ -export const numberWithDots = x => x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.') - -// On scroll event, returns currentTarget = null -// Probably on other events too -export function debounce(func, wait, immediate) { - let timeout - return function () { - const context = this - const args = arguments - const later = function () { - timeout = null - if (!immediate) func.apply(context, args) - } - const callNow = immediate && !timeout - clearTimeout(timeout) - timeout = setTimeout(later, wait) - if (callNow) func.apply(context, args) - } -} - -/** - * Workaround to copy to the clipboard cross-OS by generating a - * ghost input and copying the passed String - * - * @param {string} text Text to copy - * @returns void - * @since 0.0.0 - */ -export function copyToClipboard(text) { - const ghostInput = document.createElement('input') - - document.body.appendChild(ghostInput) - ghostInput.setAttribute('type', 'text') - ghostInput.setAttribute('value', text) - ghostInput.select() - ghostInput.setSelectionRange(0, 99999) - document.execCommand('copy') - ghostInput.remove() -} - -/** - * @param {object|array} obj - * @param {...any} props - * @returns {any|null} property requested - * @since 0.0.0 - */ -export function getPropertyWithFallback(obj, ...props) { - for (const prop of props) { - // Example: this.is.an.example - const hasDotNotation = /\./.test(prop) - - // Searching the properties in the object - const valueToTest = hasDotNotation - ? prop.split('.').reduce((o, i) => { - if (o) { - return o[i] - } - }, obj) - : obj[prop] - - if (typeof valueToTest !== 'undefined') { - return valueToTest - } - } - - return null -} - -export default { - isValidURL, - convertDuration, - convertDurationSeparated, - numberWithDots, - debounce -} diff --git a/webui-new/static/favicon.ico b/webui-new/static/favicon.ico deleted file mode 100644 index 2aefee9..0000000 Binary files a/webui-new/static/favicon.ico and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/LICENSE.txt b/webui-new/static/fonts/OpenSans/LICENSE.txt deleted file mode 100644 index d645695..0000000 --- a/webui-new/static/fonts/OpenSans/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 deleted file mode 100644 index eff71c0..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 deleted file mode 100644 index 3a38286..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 deleted file mode 100644 index 43d5a7c..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 deleted file mode 100644 index baec66c..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 deleted file mode 100644 index c805bc0..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 deleted file mode 100644 index ea8feb2..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 deleted file mode 100644 index 1302cd5..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 deleted file mode 100644 index 8a419a1..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 deleted file mode 100644 index 86a8a87..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOUuhp.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 deleted file mode 100644 index 9c199fd..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 deleted file mode 100644 index b3fa3da..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 deleted file mode 100644 index 1476f0f..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 deleted file mode 100644 index 4feeeab..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 deleted file mode 100644 index 6ec620f..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN8rsOXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 deleted file mode 100644 index 456c550..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 deleted file mode 100644 index 7bf901c..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OUuhp.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 deleted file mode 100644 index d3bbaba..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 deleted file mode 100644 index 2ea4253..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 deleted file mode 100644 index 1ed5f4f..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 deleted file mode 100644 index d36e95d..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 deleted file mode 100644 index 7c251dc..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UN_r8OXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 deleted file mode 100644 index 59855dc..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 deleted file mode 100644 index 5c5d54e..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 deleted file mode 100644 index f8a4ea3..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOVuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 deleted file mode 100644 index 4587c68..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOX-hpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 deleted file mode 100644 index 83b1803..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 deleted file mode 100644 index 9518615..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXehpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 b/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 deleted file mode 100644 index 9a9a5c6..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem5YaGs126MiZpBA-UNirkOXuhpOqc.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 b/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 deleted file mode 100644 index b4d9f61..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 b/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 deleted file mode 100644 index 3426d9b..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 b/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 deleted file mode 100644 index e4d49fe..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 b/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 deleted file mode 100644 index ca1b2b1..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 b/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 deleted file mode 100644 index 10031c0..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 b/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 deleted file mode 100644 index 04139ef..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 b/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 deleted file mode 100644 index a7b01fa..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 b/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 deleted file mode 100644 index 4c5a6f0..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2 b/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2 deleted file mode 100644 index e9f58b7..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFVZ0b.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2 b/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2 deleted file mode 100644 index 3770a39..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFVp0bbck.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2 b/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2 deleted file mode 100644 index 4e74089..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFW50bbck.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 b/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 deleted file mode 100644 index 1f2f588..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 b/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 deleted file mode 100644 index 1675bab..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2 b/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2 deleted file mode 100644 index d72068a..0000000 Binary files a/webui-new/static/fonts/OpenSans/mem8YaGs126MiZpBA-UFWp0bbck.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2 deleted file mode 100644 index 20c325d..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2 deleted file mode 100644 index 7dbd8fa..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2 deleted file mode 100644 index ccb1a12..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2 deleted file mode 100644 index aaf73e2..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2 deleted file mode 100644 index 7f0aa70..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2 deleted file mode 100644 index 82a1f00..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hrIqM.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2 deleted file mode 100644 index 3d996a8..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKW-U9hvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2 deleted file mode 100644 index 0c7ef0a..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2 deleted file mode 100644 index 5b3484f..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2 deleted file mode 100644 index 9854e0e..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2 deleted file mode 100644 index 8a4187c..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2 deleted file mode 100644 index 45362f1..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2 deleted file mode 100644 index 5153813..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2 deleted file mode 100644 index 0307dec..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 deleted file mode 100644 index 35801c0..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 deleted file mode 100644 index 8f5da52..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 deleted file mode 100644 index be29757..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 deleted file mode 100644 index ccbc460..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 deleted file mode 100644 index e44fa88..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 deleted file mode 100644 index 6d4334e..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hrIqM.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 deleted file mode 100644 index d91cb0b..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKWyV9hvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 deleted file mode 100644 index 0f28f12..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhkIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 deleted file mode 100644 index ccf4acb..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhlIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 deleted file mode 100644 index 1dd821c..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhmIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 deleted file mode 100644 index c2f5b87..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhnIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 deleted file mode 100644 index 6868066..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhoIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 deleted file mode 100644 index c2450f3..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhrIqM.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 b/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 deleted file mode 100644 index 1a1fa02..0000000 Binary files a/webui-new/static/fonts/OpenSans/memnYaGs126MiZpBA-UFUKXGUdhvIqOjjg.woff2 and /dev/null differ diff --git a/webui-new/static/fonts/icons/MaterialIcons-Regular.eot b/webui-new/static/fonts/icons/MaterialIcons-Regular.eot deleted file mode 100644 index 70508eb..0000000 Binary files a/webui-new/static/fonts/icons/MaterialIcons-Regular.eot and /dev/null differ diff --git a/webui-new/static/fonts/icons/MaterialIcons-Regular.ttf b/webui-new/static/fonts/icons/MaterialIcons-Regular.ttf deleted file mode 100644 index 7015564..0000000 Binary files a/webui-new/static/fonts/icons/MaterialIcons-Regular.ttf and /dev/null differ diff --git a/webui-new/static/fonts/icons/MaterialIcons-Regular.woff b/webui-new/static/fonts/icons/MaterialIcons-Regular.woff deleted file mode 100644 index b648a3e..0000000 Binary files a/webui-new/static/fonts/icons/MaterialIcons-Regular.woff and /dev/null differ diff --git a/webui-new/static/fonts/icons/MaterialIcons-Regular.woff2 b/webui-new/static/fonts/icons/MaterialIcons-Regular.woff2 deleted file mode 100644 index 9fa2112..0000000 Binary files a/webui-new/static/fonts/icons/MaterialIcons-Regular.woff2 and /dev/null differ diff --git a/webui-new/style.css b/webui-new/style.css deleted file mode 100644 index 852de7a..0000000 --- a/webui-new/style.css +++ /dev/null @@ -1,8 +0,0 @@ -#app { - font-family: Avenir, Helvetica, Arial, sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-align: center; - color: #2c3e50; - margin-top: 60px; -} diff --git a/webui-new/tailwind.config.js b/webui-new/tailwind.config.js deleted file mode 100644 index 5201906..0000000 --- a/webui-new/tailwind.config.js +++ /dev/null @@ -1,64 +0,0 @@ -const defaultTheme = require('tailwindcss/defaultTheme') - -module.exports = { - future: { - removeDeprecatedGapUtilities: true, - purgeLayersByDefault: true - }, - purge: { - // https://medium.com/@kyis/vue-tailwind-purgecss-the-right-way-c70d04461475 - content: [`./public/**/*.html`, `./src/**/*.vue`, `./src/**/*.js`], - defaultExtractor(content) { - const contentWithoutStyleBlocks = content.replace(//gi, '') - return contentWithoutStyleBlocks.match(/[A-Za-z0-9-_/:]*[A-Za-z0-9-_/]+/g) || [] - }, - whitelist: [], - whitelistPatterns: [ - /-(leave|enter|appear)(|-(to|from|active))$/, - /^(?!(|.*?:)cursor-move).+-move$/, - /^router-link(|-exact)-active$/ - ] - }, - theme: { - extend: { - colors: { - grayscale: { - 100: 'hsl(0, 0%, 10%)', - 200: 'hsl(0, 0%, 20%)', - 300: 'hsl(0, 0%, 30%)', - 400: 'hsl(0, 0%, 40%)', - 500: 'hsl(0, 0%, 50%)', - 600: 'hsl(0, 0%, 60%)', - 700: 'hsl(0, 0%, 70%)', - 800: 'hsl(0, 0%, 80%)', - 840: 'hsl(0, 0%, 84%)', // Remove maybe - 870: 'hsl(0, 0%, 87%)', // Remove maybe - 900: 'hsl(0, 0%, 90%)', - 930: 'hsl(0, 0%, 93%)' // Remove maybe - }, - primary: 'hsl(210, 100%, 52%)', - background: { - main: 'var(--main-background)', - secondary: 'var(--secondary-background)' - }, - foreground: 'var(--foreground)', - panels: { - bg: 'var(--panels-background)' - } - }, - fontFamily: { - sans: ['Open Sans', ...defaultTheme.fontFamily.sans] - } - } - }, - variants: { - textColor: ({ after }) => after(['group-hover']), - margin: ({ before }) => before(['first']), - borderWidth: ['responsive', 'first', 'hover', 'focus'], - cursor: ['responsive', 'hover'] - }, - corePlugins: { - preflight: false - }, - plugins: [] -} diff --git a/webui-new/vite.config.js b/webui-new/vite.config.js deleted file mode 100644 index 9c72828..0000000 --- a/webui-new/vite.config.js +++ /dev/null @@ -1,35 +0,0 @@ -import path from 'path' -import { createVuePlugin } from 'vite-plugin-vue2' -import { defineConfig } from 'vite' -import replace from '@rollup/plugin-replace' - -import { version } from './package.json' - -export default defineConfig({ - publicDir: 'static', - build: { - assetsDir: '', - outDir: 'public' - }, - plugins: [ - createVuePlugin(), - replace({ - __VER__: JSON.stringify(version) - }) - ], - resolve: { - alias: [ - { - find: '@', - replacement: path.resolve(__dirname, '/src') - }, - { - find: '@components', - replacement: path.resolve(__dirname, '/src/components') - } - ] - }, - optimizeDeps: { - include: ['@vue/composition-api'] - } -}) diff --git a/webui-new/yarn.lock b/webui-new/yarn.lock deleted file mode 100644 index 7dd57ec..0000000 --- a/webui-new/yarn.lock +++ /dev/null @@ -1,7016 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== - dependencies: - "@babel/highlight" "^7.14.5" - -"@babel/compat-data@^7.14.5": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" - integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== - -"@babel/core@7.14.3": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38" - integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.3" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.14.2" - "@babel/helpers" "^7.14.0" - "@babel/parser" "^7.14.3" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.11.6", "@babel/core@^7.12.16", "@babel/core@^7.7.5": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab" - integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.5" - "@babel/helper-compilation-targets" "^7.14.5" - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helpers" "^7.14.6" - "@babel/parser" "^7.14.6" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/eslint-parser@^7.12.16": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.14.7.tgz#91be59a4f7dd60d02a3ef772d156976465596bda" - integrity sha512-6WPwZqO5priAGIwV6msJcdc9TsEPzYeYdS/Xuoap+/ihkgN6dzHp2bcAAwyWZ5bLzk0vvjDmKvRwkqNaiJ8BiQ== - dependencies: - eslint-scope "^5.1.1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.0" - -"@babel/generator@^7.14.3", "@babel/generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785" - integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== - dependencies: - "@babel/types" "^7.14.5" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" - integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" - integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== - dependencies: - "@babel/compat-data" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.14.6": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz#f114469b6c06f8b5c59c6c4e74621f5085362542" - integrity sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-member-expression-to-functions" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - -"@babel/helper-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" - integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== - dependencies: - "@babel/helper-get-function-arity" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/helper-get-function-arity@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" - integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-hoist-variables@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" - integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-member-expression-to-functions@^7.14.5": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970" - integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" - integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2", "@babel/helper-module-transforms@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e" - integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== - dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-simple-access" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/helper-optimise-call-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" - integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-replace-supers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" - integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/helper-simple-access@^7.13.12", "@babel/helper-simple-access@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4" - integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-split-export-declaration@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" - integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-validator-identifier@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" - integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helpers@^7.14.0", "@babel/helpers@^7.14.6": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635" - integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== - dependencies: - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.13.10", "@babel/parser@^7.14.3", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595" - integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" - integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" - integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-modules-commonjs@7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz#52bc199cb581e0992edba0f0f80356467587f161" - integrity sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ== - dependencies: - "@babel/helper-module-transforms" "^7.14.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-simple-access" "^7.13.12" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-typescript@^7.13.0": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz#6e9c2d98da2507ebe0a883b100cde3c7279df36c" - integrity sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.6" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript" "^7.14.5" - -"@babel/template@^7.12.13", "@babel/template@^7.14.5", "@babel/template@^7.3.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.14.5": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753" - integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/parser" "^7.14.7" - "@babel/types" "^7.14.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.14.2", "@babel/types@^7.14.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" - integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^0.4.0": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" - integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@fullhuman/postcss-purgecss@^2.1.2": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz#50a954757ec78696615d3e118e3fee2d9291882e" - integrity sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw== - dependencies: - postcss "7.0.32" - purgecss "^2.3.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" - slash "^3.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== - dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== - dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" - "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" - -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== - dependencies: - "@jest/test-result" "^26.6.2" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/transform@^27.0.2": - version "27.0.6" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.6.tgz#189ad7107413208f7600f4719f81dd2f7278cc95" - integrity sha512-rj5Dw+mtIcntAUnMlW/Vju5mr73u8yg+irnHwzgtgoeI6cCPOvUwQ0D1uQtc/APmWgvRweEb1g05pkUpxH3iCA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.0.6" - babel-plugin-istanbul "^6.0.0" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.0.6" - jest-regex-util "^27.0.6" - jest-util "^27.0.6" - micromatch "^4.0.4" - pirates "^4.0.1" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^27.0.2", "@jest/types@^27.0.6": - version "27.0.6" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz#9a992bc517e0c49f035938b8549719c2de40706b" - integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nuxtjs/eslint-config@6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/eslint-config/-/eslint-config-6.0.0.tgz#bf8b7b1f72fc9080ba2a6c71f2447d4166d374e3" - integrity sha512-DQLyMS+A1lPeo3ajMEISz8rPzCU4DTIKQtv9HRy1A3w5583dXcbHMQzNg3qGHoTPJ/FzM1+WhV8Ak3+gQ+9uoQ== - dependencies: - eslint-config-standard "^16.0.2" - eslint-plugin-import "^2.22.1" - eslint-plugin-jest "^24.1.7" - eslint-plugin-node "^11.1.0" - eslint-plugin-promise "^4.3.1" - eslint-plugin-standard "^4.1.0" - eslint-plugin-unicorn "^28.0.2" - eslint-plugin-vue "^7.7.0" - -"@rollup/plugin-alias@^3.1.1": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.4.tgz#47774f4ff0eab5937f7acb392cf2b89921f03b7d" - integrity sha512-9YN5h0bWlYFV0zpXwwAWGPUWh/A+kkoCqwrMb43LnuGfhnQqOjsGR+5uh4LGpAZbBBj8qR1Hno6CZadZs7hyCQ== - dependencies: - slash "^3.0.0" - -"@rollup/plugin-commonjs@^16.0.0": - version "16.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-16.0.0.tgz#169004d56cd0f0a1d0f35915d31a036b0efe281f" - integrity sha512-LuNyypCP3msCGVQJ7ki8PqYdpjfEkE/xtFa5DqlF+7IBD0JsfMZ87C58heSwIMint58sAUZbt3ITqOmdQv/dXw== - dependencies: - "@rollup/pluginutils" "^3.1.0" - commondir "^1.0.1" - estree-walker "^2.0.1" - glob "^7.1.6" - is-reference "^1.2.1" - magic-string "^0.25.7" - resolve "^1.17.0" - -"@rollup/plugin-node-resolve@^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz#44064a2b98df7530e66acf8941ff262fc9b4ead8" - integrity sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.17.0" - -"@rollup/plugin-replace@^2.3.4": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@rollup/pluginutils@^4.1.0": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec" - integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ== - dependencies: - estree-walker "^2.0.1" - picomatch "^2.2.2" - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.7": - version "7.1.15" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024" - integrity sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== - dependencies: - "@babel/types" "^7.3.0" - -"@types/estree@*": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@26.0.22": - version "26.0.22" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.22.tgz#8308a1debdf1b807aa47be2838acdcd91e88fbe6" - integrity sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw== - dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.7": - version "7.0.8" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.8.tgz#edf1bf1dbf4e04413ca8e5b17b3b7d7d54b59818" - integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - -"@types/node@*": - version "16.3.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.3.tgz#0c30adff37bbbc7a50eb9b58fae2a504d0d88038" - integrity sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/prettier@^2.0.0": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" - integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== - -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== - -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.21.0.tgz#3fce2bfa76d95c00ac4f33dff369cb593aab8878" - integrity sha512-FPUyCPKZbVGexmbCFI3EQHzCZdy2/5f+jv6k2EDljGdXSRc0cKvbndd2nHZkSLqCNOPk0jB6lGzwIkglXcYVsQ== - dependencies: - "@typescript-eslint/experimental-utils" "4.21.0" - "@typescript-eslint/scope-manager" "4.21.0" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.21.0.tgz#0b0bb7c15d379140a660c003bdbafa71ae9134b6" - integrity sha512-cEbgosW/tUFvKmkg3cU7LBoZhvUs+ZPVM9alb25XvR0dal4qHL3SiUqHNrzoWSxaXA9gsifrYrS1xdDV6w/gIA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.21.0" - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/typescript-estree" "4.21.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/experimental-utils@^4.0.1": - version "4.28.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.3.tgz#976f8c1191b37105fd06658ed57ddfee4be361ca" - integrity sha512-zZYl9TnrxwEPi3FbyeX0ZnE8Hp7j3OCR+ELoUfbwGHGxWnHg9+OqSmkw2MoCVpZksPCZYpQzC559Ee9pJNHTQw== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.28.3" - "@typescript-eslint/types" "4.28.3" - "@typescript-eslint/typescript-estree" "4.28.3" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.21.0.tgz#a227fc2af4001668c3e3f7415d4feee5093894c1" - integrity sha512-eyNf7QmE5O/l1smaQgN0Lj2M/1jOuNg2NrBm1dqqQN0sVngTLyw8tdCbih96ixlhbF1oINoN8fDCyEH9SjLeIA== - dependencies: - "@typescript-eslint/scope-manager" "4.21.0" - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/typescript-estree" "4.21.0" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.21.0.tgz#c81b661c4b8af1ec0c010d847a8f9ab76ab95b4d" - integrity sha512-kfOjF0w1Ix7+a5T1knOw00f7uAP9Gx44+OEsNQi0PvvTPLYeXJlsCJ4tYnDj5PQEYfpcgOH5yBlw7K+UEI9Agw== - dependencies: - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/visitor-keys" "4.21.0" - -"@typescript-eslint/scope-manager@4.28.3": - version "4.28.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.3.tgz#c32ad4491b3726db1ba34030b59ea922c214e371" - integrity sha512-/8lMisZ5NGIzGtJB+QizQ5eX4Xd8uxedFfMBXOKuJGP0oaBBVEMbJVddQKDXyyB0bPlmt8i6bHV89KbwOelJiQ== - dependencies: - "@typescript-eslint/types" "4.28.3" - "@typescript-eslint/visitor-keys" "4.28.3" - -"@typescript-eslint/types@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.21.0.tgz#abdc3463bda5d31156984fa5bc316789c960edef" - integrity sha512-+OQaupjGVVc8iXbt6M1oZMwyKQNehAfLYJJ3SdvnofK2qcjfor9pEM62rVjBknhowTkh+2HF+/KdRAc/wGBN2w== - -"@typescript-eslint/types@4.28.3": - version "4.28.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.3.tgz#8fffd436a3bada422c2c1da56060a0566a9506c7" - integrity sha512-kQFaEsQBQVtA9VGVyciyTbIg7S3WoKHNuOp/UF5RG40900KtGqfoiETWD/v0lzRXc+euVE9NXmfer9dLkUJrkA== - -"@typescript-eslint/typescript-estree@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.21.0.tgz#3817bd91857beeaeff90f69f1f112ea58d350b0a" - integrity sha512-ZD3M7yLaVGVYLw4nkkoGKumb7Rog7QID9YOWobFDMQKNl+vPxqVIW/uDk+MDeGc+OHcoG2nJ2HphwiPNajKw3w== - dependencies: - "@typescript-eslint/types" "4.21.0" - "@typescript-eslint/visitor-keys" "4.21.0" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/typescript-estree@4.28.3": - version "4.28.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.3.tgz#253d7088100b2a38aefe3c8dd7bd1f8232ec46fb" - integrity sha512-YAb1JED41kJsqCQt1NcnX5ZdTA93vKFCMP4lQYG6CFxd0VzDJcKttRlMrlG+1qiWAw8+zowmHU1H0OzjWJzR2w== - dependencies: - "@typescript-eslint/types" "4.28.3" - "@typescript-eslint/visitor-keys" "4.28.3" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.21.0": - version "4.21.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.21.0.tgz#990a9acdc124331f5863c2cf21c88ba65233cd8d" - integrity sha512-dH22dROWGi5Z6p+Igc8bLVLmwy7vEe8r+8c+raPQU0LxgogPUrRAtRGtvBWmlr9waTu3n+QLt/qrS/hWzk1x5w== - dependencies: - "@typescript-eslint/types" "4.21.0" - eslint-visitor-keys "^2.0.0" - -"@typescript-eslint/visitor-keys@4.28.3": - version "4.28.3" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.3.tgz#26ac91e84b23529968361045829da80a4e5251c4" - integrity sha512-ri1OzcLnk1HH4gORmr1dllxDzzrN6goUIz/P4MHFV0YZJDCADPR3RvYNp0PW2SetKTThar6wlbFTL00hV2Q+fg== - dependencies: - "@typescript-eslint/types" "4.28.3" - eslint-visitor-keys "^2.0.0" - -"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" - integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== - -"@vue/babel-plugin-transform-vue-jsx@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" - integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - html-tags "^2.0.0" - lodash.kebabcase "^4.1.1" - svg-tags "^1.0.0" - -"@vue/babel-preset-jsx@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" - integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== - dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" - "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" - "@vue/babel-sugar-functional-vue" "^1.2.2" - "@vue/babel-sugar-inject-h" "^1.2.2" - "@vue/babel-sugar-v-model" "^1.2.3" - "@vue/babel-sugar-v-on" "^1.2.3" - -"@vue/babel-sugar-composition-api-inject-h@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" - integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-composition-api-render-instance@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" - integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-functional-vue@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" - integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-inject-h@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" - integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-v-model@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" - integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - html-tags "^2.0.0" - svg-tags "^1.0.0" - -"@vue/babel-sugar-v-on@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" - integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - -"@vue/component-compiler-utils@^3.2.0": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz#2f7ed5feed82ff7f0284acc11d525ee7eff22460" - integrity sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg== - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.36" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" - optionalDependencies: - prettier "^1.18.2" - -"@vue/composition-api@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@vue/composition-api/-/composition-api-1.0.2.tgz#091282ca44c3172bf9342bade553b28362254f97" - integrity sha512-Tc58NXmmRFEmt7YlHXyTxi1lq4VE6nDufH41MbVtBtSr/pIv+YmTYZrIVStcL8t/VkTuDrptho+pXnbVsVUfxw== - dependencies: - tslib "^2.3.0" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0, acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.0.0, acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4: - version "8.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" - integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - 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" - -ajv@^8.0.1: - version "8.6.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.2.tgz#2fb45e0e5fcbc0813326c1c3da535d1881bb0571" - integrity sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - get-intrinsic "^1.1.1" - is-string "^1.0.5" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autoprefixer@^9.4.5: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - colorette "^1.2.1" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-jest@27.0.2: - version "27.0.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.2.tgz#7dc18adb01322acce62c2af76ea2c7cd186ade37" - integrity sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q== - dependencies: - "@jest/transform" "^27.0.2" - "@jest/types" "^27.0.2" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^27.0.1" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== - dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz#f7c6b3d764af21cb4a2a1ab6870117dbde15b456" - integrity sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= - -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.23.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" - integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-for-of@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" - integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-umd@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" - integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" - integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= - dependencies: - regenerator-transform "^0.10.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-env@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" - integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.23.0" - babel-plugin-transform-es2015-classes "^6.23.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.23.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.23.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.23.0" - babel-plugin-transform-es2015-modules-systemjs "^6.23.0" - babel-plugin-transform-es2015-modules-umd "^6.23.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.23.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.23.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - browserslist "^3.2.6" - invariant "^2.2.2" - semver "^5.3.0" - -babel-preset-jest@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== - dependencies: - babel-plugin-jest-hoist "^26.6.2" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-jest@^27.0.1: - version "27.0.6" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz#909ef08e9f24a4679768be2f60a3df0856843f9d" - integrity sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw== - dependencies: - babel-plugin-jest-hoist "^27.0.6" - babel-preset-current-node-syntax "^1.0.0" - -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.24.1, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bluebird@^3.1.1, bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^3.2.6: - version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== - dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - -browserslist@^4.12.0, browserslist@^4.16.6: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== - dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" - escalade "^3.1.1" - node-releases "^1.1.71" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -builtin-modules@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - -bytes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: - version "1.0.30001245" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz#45b941bbd833cb0fa53861ff2bae746b3c6ca5d4" - integrity sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -"chalk@^3.0.0 || ^4.0.0", chalk@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -"chokidar@>=3.0.0 <4.0.0": - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" - integrity sha1-jffHquUf02h06PjQW5GAvBGj/tc= - dependencies: - escape-string-regexp "^1.0.5" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" - integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.1.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/color/-/color-3.2.0.tgz#108509078b8b93746515cbdffb03e20097ec586b" - integrity sha512-4ximSqKXLTQmYLJuvrRHtpOqniR+ASoaVK+Rxdy6ZpfsLvUqtIM7oGGgopRG+O4p9NRv/AfuVD3jsvdxyXqozQ== - dependencies: - color-convert "^2.0.1" - color-string "^1.6.0" - -colorette@^1.2.1, colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -consolidate@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16" - integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ== - dependencies: - bluebird "^3.7.2" - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-unit-converter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21" - integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decimal.js@^10.2.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.723: - version "1.3.779" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.779.tgz#de55492a756deec63424f89fbe62aec9776f0e6d" - integrity sha512-nreave0y/1Qhmo8XtO6C/LpawNyC6U26+q7d814/e+tIqUK073pM+4xW7WUXyqCRa5K4wdxHmNMBAi8ap9nEew== - -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: - version "1.18.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" - integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.2" - is-callable "^1.2.3" - is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" - object-inspect "^1.10.3" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild@^0.12.8: - version "0.12.15" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.15.tgz#9d99cf39aeb2188265c5983e983e236829f08af0" - integrity sha512-72V4JNd2+48eOVCXx49xoSWHgC3/cCy96e7mbXKY+WOWghN00cCmlGnwVLRhRHorvv0dgCyuMYBZlM2xDM5OQw== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^8.1.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" - integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== - -eslint-config-standard@^16.0.2: - version "16.0.3" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" - integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-module-utils@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" - integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== - dependencies: - debug "^3.2.7" - pkg-dir "^2.0.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.22.1: - version "2.23.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" - integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== - dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.1" - find-up "^2.0.0" - has "^1.0.3" - is-core-module "^2.4.0" - minimatch "^3.0.4" - object.values "^1.1.3" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-jest@^24.1.7: - version "24.3.6" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz#5f0ca019183c3188c5ad3af8e80b41de6c8e9173" - integrity sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg== - dependencies: - "@typescript-eslint/experimental-utils" "^4.0.1" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-prettier@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7" - integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-promise@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - -eslint-plugin-standard@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz#0c3bf3a67e853f8bbbc580fb4945fbf16f41b7c5" - integrity sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ== - -eslint-plugin-unicorn@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-28.0.2.tgz#ab9884ebae04590ecd9c1c294330d889a74b7c37" - integrity sha512-k4AoFP7n8/oq6lBXkdc9Flid6vw2B8j7aXFCxgzJCyKvmaKrCUFb1TFPhG9eSJQFZowqmymMPRtl8oo9NKLUbw== - dependencies: - ci-info "^2.0.0" - clean-regexp "^1.0.0" - eslint-template-visitor "^2.2.2" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - import-modules "^2.1.0" - lodash "^4.17.20" - pluralize "^8.0.0" - read-pkg-up "^7.0.1" - regexp-tree "^0.1.22" - reserved-words "^0.1.2" - safe-regex "^2.1.1" - semver "^7.3.4" - -eslint-plugin-vue@^7.7.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.13.0.tgz#6f3d232bf1fcd0428353b0d581ebaca1c5dbc17a" - integrity sha512-u0+jL8h2MshRuMTCLslktxRsPTjlENNcNufhgHu01N982DmHVdeFniyMPoVLLRjACQOwdz3FdlsgYGBMBG+AKg== - dependencies: - eslint-utils "^2.1.0" - natural-compare "^1.4.0" - semver "^7.3.2" - vue-eslint-parser "^7.8.0" - -eslint-scope@^5.0.0, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-template-visitor@^2.2.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz#b52f96ff311e773a345d79053ccc78275bbc463d" - integrity sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA== - dependencies: - "@babel/core" "^7.12.16" - "@babel/eslint-parser" "^7.12.16" - eslint-visitor-keys "^2.0.0" - esquery "^1.3.1" - multimap "^1.1.0" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@7.23.0: - version "7.23.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.23.0.tgz#8d029d252f6e8cf45894b4bee08f5493f8e94325" - integrity sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash "^4.17.21" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.3.1, esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.1.tgz#5d8175aae17db61947f8b162cfc7f63264d22807" - integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flag-icon-css@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/flag-icon-css/-/flag-icon-css-3.5.0.tgz#430747d5cb91e60babf85494de99173c16dc7cf2" - integrity sha512-pgJnJLrtb0tcDgU1fzGaQXmR8h++nXvILJ+r5SmOXaaL/2pocunQo2a8TAXhjQnBpRLPtZ1KCz/TYpqeNuE2ew== - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.1.tgz#bbef080d95fca6709362c73044a1634f7c6e7d05" - integrity sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fs-extra@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^2.1.2, fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.6.0, globals@^13.9.0: - version "13.10.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.10.0.tgz#60ba56c3ac2ca845cfbf4faeca727ad9dd204676" - integrity sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g== - dependencies: - type-fest "^0.20.2" - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - -globby@^11.0.1, globby@^11.0.3: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globule@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" - integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== - dependencies: - glob "~7.1.1" - lodash "~4.17.10" - minimatch "~3.0.2" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.3, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= - -hash-sum@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" - integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== - -he@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-tags@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" - integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -import-modules@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-modules/-/import-modules-2.1.0.tgz#abe7df297cb6c1f19b57246eb8b8bd9664b6d8c2" - integrity sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-bigint@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" - integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" - integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== - dependencies: - call-bind "^1.0.2" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-ci@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" - integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== - dependencies: - ci-info "^3.1.1" - -is-core-module@^2.2.0, is-core-module@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" - integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" - integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number-object@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" - integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-reference@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - -is-regex@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" - integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== - dependencies: - call-bind "^1.0.2" - has-symbols "^1.0.2" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5, is-string@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" - integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== - dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" - -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== - dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" - prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" - chalk "^4.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== - dependencies: - detect-newline "^3.0.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== - dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.1.2" - -jest-haste-map@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.6.tgz#4683a4e68f6ecaa74231679dca237279562c8dc7" - integrity sha512-4ldjPXX9h8doB2JlRzg9oAZ2p6/GpQUNAeiYXqcpmrKbP0Qev0wdZlxSMOmz8mPOEnt4h6qIzXFLDi8RScX/1w== - dependencies: - "@jest/types" "^27.0.6" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^27.0.6" - jest-serializer "^27.0.6" - jest-util "^27.0.6" - jest-worker "^27.0.6" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^26.6.2" - is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== - dependencies: - chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" - slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-regex-util@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" - integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" - -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== - dependencies: - "@jest/types" "^26.6.2" - chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" - slash "^3.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.7.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - cjs-module-lexer "^0.6.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.4.1" - -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-serializer@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" - integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== - dependencies: - "@jest/types" "^26.6.2" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" - -jest-util@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.6.tgz#e8e04eec159de2f4d5f57f795df9cdc091e50297" - integrity sha512-1JjlaIh+C65H/F7D11GNkGDDZtDfMEM8EBXsvd+l/cxtgQ6QhxuloOaiayt89DxUvDarbVhqI98HhgrM1yliFQ== - dependencies: - "@jest/types" "^27.0.6" - "@types/node" "*" - chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^3.0.0" - picomatch "^2.2.3" - -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== - dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^26.6.2" - string-length "^4.0.1" - -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.6.tgz#a5fdb1e14ad34eb228cfe162d9f729cdbfa28aed" - integrity sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== - dependencies: - "@jest/core" "^26.6.3" - import-local "^3.0.2" - jest-cli "^26.6.3" - -js-base64@^2.1.8: - version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.6.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac" - integrity sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.5" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^2.1.2, json5@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash-es@^4.17.15: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= - -lodash.toarray@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" - integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@^4.0.0, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0, lodash@~4.17.10: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" - integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= - -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.48.0: - version "1.48.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" - integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.31" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" - integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== - dependencies: - mime-db "1.48.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minipass@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== - dependencies: - yallist "^4.0.0" - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multimap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multimap/-/multimap-1.1.0.tgz#5263febc085a1791c33b59bb3afc6a76a2a10ca8" - integrity sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw== - -nan@^2.13.2: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== - -nanoid@^3.1.23: - version "3.1.23" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" - integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-emoji@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" - integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== - dependencies: - lodash.toarray "^4.4.0" - -node-gyp@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" - integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.3" - nopt "^5.0.0" - npmlog "^4.1.2" - request "^2.88.2" - rimraf "^3.0.2" - semver "^7.3.2" - tar "^6.0.2" - which "^2.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^1.1.71: - version "1.1.73" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" - integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== - -node-sass@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" - integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^7.0.3" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - lodash "^4.17.15" - meow "^9.0.0" - nan "^2.13.2" - node-gyp "^7.1.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize.css@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3" - integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg== - -npm-run-all@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^4.0.0, npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - -object-inspect@^1.10.3: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-functions@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e" - integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= - dependencies: - glob "^7.1.2" - object-assign "^4.1.1" - postcss "^6.0.9" - postcss-value-parser "^3.3.0" - -postcss-js@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-2.0.3.tgz#a96f0f23ff3d08cec7dc5b11bf11c5f8077cdab9" - integrity sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w== - dependencies: - camelcase-css "^2.0.1" - postcss "^7.0.18" - -postcss-nested@^4.1.1: - version "4.2.3" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-4.2.3.tgz#c6f255b0a720549776d220d00c4b70cd244136f6" - integrity sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw== - dependencies: - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^3.3.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@7.0.32: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^6.0.9: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^7.0.11, postcss@^7.0.18, postcss@^7.0.32, postcss@^7.0.36: - version "7.0.36" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" - integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^8.2.1, postcss@^8.3.5: - version "8.3.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.5.tgz#982216b113412bc20a86289e91eb994952a5b709" - integrity sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA== - dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" - source-map-js "^0.6.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -prettier@^1.18.2: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -prettier@^2.0.5: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.2.tgz#ef280a05ec253712e486233db5c6f23441e7342d" - integrity sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ== - -pretty-format@^26.0.0, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -pretty-hrtime@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= - -private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -prompts@^2.0.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" - integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -purgecss@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-2.3.0.tgz#5327587abf5795e6541517af8b190a6fb5488bb3" - integrity sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ== - dependencies: - commander "^5.0.0" - glob "^7.0.0" - postcss "7.0.32" - postcss-selector-parser "^6.0.2" - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^2.0.1, readable-stream@^2.0.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -reduce-css-calc@^2.1.6: - version "2.1.8" - resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03" - integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg== - dependencies: - css-unit-converter "^1.1.1" - postcss-value-parser "^3.3.0" - -regenerate@^1.2.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-transform@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" - integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp-tree@^0.1.22, regexp-tree@~0.1.1: - version "0.1.23" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.23.tgz#8a8ce1cc5e971acef62213a7ecdb1f6e18a1f1b2" - integrity sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw== - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request@^2.88.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -reserved-words@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" - integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^2.35.1, rollup@^2.38.5: - version "2.53.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.53.2.tgz#3279f9bfba1fe446585560802e418c5fbcaefa51" - integrity sha512-1CtEYuS5CRCzFZ7SNW5528SlDlk4VDXIRGwbm/2POQxA/G4+7/crIqJwkmnj8Q/74hGx4oVlNvh4E1CJQ5hZ6w== - optionalDependencies: - fsevents "~2.3.2" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -safe-regex@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" - integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== - dependencies: - regexp-tree "~0.1.1" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sass-graph@2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" - integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^13.3.2" - -sass@^1.30.0: - version "1.35.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.35.2.tgz#b732314fcdaf7ef8d0f1698698adc378043cb821" - integrity sha512-jhO5KAR+AMxCEwIH3v+4zbB2WB0z67V1X0jbapfVwQQdjHZUGUyukpnoM6+iCMfsIUC016w9OPKQ5jrNOS9uXw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" - integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.padend@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" - integrity sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0, supports-color@^5.4.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -svg-country-flags@^1.2.9: - version "1.2.10" - resolved "https://registry.yarnpkg.com/svg-country-flags/-/svg-country-flags-1.2.10.tgz#b1b94e9f08f065d7b3d0ff9ab359898edd4dd3b0" - integrity sha512-xrqwo0TYf/h2cfPvGpjdSuSguUbri4vNNizBnwzoZnX0xGo3O5nGJMlbYEp7NOYcnPGBm6LE2axqDWSB847bLw== - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^6.0.4: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - -tailwindcss@^1.9.6: - version "1.9.6" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-1.9.6.tgz#0c5089911d24e1e98e592a31bfdb3d8f34ecf1a0" - integrity sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ== - dependencies: - "@fullhuman/postcss-purgecss" "^2.1.2" - autoprefixer "^9.4.5" - browserslist "^4.12.0" - bytes "^3.0.0" - chalk "^3.0.0 || ^4.0.0" - color "^3.1.2" - detective "^5.2.0" - fs-extra "^8.0.0" - html-tags "^3.1.0" - lodash "^4.17.20" - node-emoji "^1.8.1" - normalize.css "^8.0.1" - object-hash "^2.0.3" - postcss "^7.0.11" - postcss-functions "^3.0.0" - postcss-js "^2.0.0" - postcss-nested "^4.1.1" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^4.1.0" - pretty-hrtime "^1.0.3" - reduce-css-calc "^2.1.6" - resolve "^1.14.2" - -tar@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" - integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toastify-js@^1.9.3: - version "1.11.1" - resolved "https://registry.yarnpkg.com/toastify-js/-/toastify-js-1.11.1.tgz#023a4ce64ecdead1d6d170072b62bd345088c427" - integrity sha512-O1UR06KEhFY9Vu2iKltgOE62+Vq/5iU7AOktouFkEegEisrqtNhEri9RpSd6u6wyPsd4Ae9RT1io3uwkMAlLVQ== - -tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.1.2" - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== - dependencies: - glob "^7.1.2" - -tsconfig-paths@^3.9.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz#79ae67a68c15289fdf5c51cb74f397522d795ed7" - integrity sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q== - dependencies: - json5 "^2.2.0" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" - integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== - -tsutils@^3.17.1, tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.0, universalify@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" - integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vite-plugin-vue2@1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/vite-plugin-vue2/-/vite-plugin-vue2-1.7.3.tgz#6c4da246800493283be37b321c2d5041cf9c9f71" - integrity sha512-HStclmWA4rQKy6xH1tEniUvoiCAForBZSC6JBO189sB2LoGUhiA7414Cr1RnysDp/ZDnW/PwG+ux+VfXrYP6Ow== - dependencies: - "@babel/core" "^7.11.6" - "@babel/parser" "^7.13.10" - "@babel/plugin-transform-typescript" "^7.13.0" - "@rollup/pluginutils" "^4.1.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-preset-jsx" "^1.2.4" - "@vue/component-compiler-utils" "^3.2.0" - babel-preset-env "^1.7.0" - consolidate "^0.16.0" - debug "^4.3.1" - fs-extra "^9.0.1" - hash-sum "^2.0.0" - magic-string "^0.25.7" - prettier "^2.0.5" - querystring "^0.2.0" - rollup "^2.35.1" - slash "^3.0.0" - source-map "^0.7.3" - vue-template-es2015-compiler "^1.9.1" - -vite@2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/vite/-/vite-2.4.2.tgz#07d00615775c808530bc9f65641062b349b67929" - integrity sha512-2MifxD2I9fjyDmmEzbULOo3kOUoqX90A58cT6mECxoVQlMYFuijZsPQBuA14mqSwvV3ydUsqnq+BRWXyO9Qa+w== - dependencies: - esbuild "^0.12.8" - postcss "^8.3.5" - resolve "^1.20.0" - rollup "^2.38.5" - optionalDependencies: - fsevents "~2.3.2" - -vue-eslint-parser@^7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.8.0.tgz#43850bf856c9a69d62c0e12769609c338423684b" - integrity sha512-ehmmrLZNYLUoKayvVW8l8HyPQIfuYZHiJoQLRP3dapDlTU7bGs4tqIKVGdAEpMuXS/b4R/PImCt7Tkj4UhX1SQ== - dependencies: - debug "^4.1.1" - eslint-scope "^5.1.1" - eslint-visitor-keys "^1.1.0" - espree "^6.2.1" - esquery "^1.4.0" - lodash "^4.17.21" - semver "^6.3.0" - -vue-i18n@^8.22.2: - version "8.25.0" - resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.25.0.tgz#1037d9295fa2845a230b771de473481edb2cfc4c" - integrity sha512-ynhcL+PmTxuuSE1T10htiSXzjBozxYIE3ffbM1RfgAkVbr/v1SP+9Mi/7/uv8ZVV1yGuKjFAYp9BXq+X7op6MQ== - -vue-router@^3.4.9: - version "3.5.2" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.2.tgz#5f55e3f251970e36c3e8d88a7cd2d67a350ade5c" - integrity sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ== - -vue-template-compiler@2.6.14: - version "2.6.14" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" - integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - -vue-template-es2015-compiler@^1.9.0, vue-template-es2015-compiler@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== - -vue@2.6.14: - version "2.6.14" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" - integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ== - -vuex@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71" - integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw== - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.5: - version "7.5.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" - integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2"