From c03f408ba5db9904523246776d3defcd44773954 Mon Sep 17 00:00:00 2001 From: cryptofyre Date: Wed, 27 Jul 2022 01:05:51 -0500 Subject: [PATCH] get real. (#1321) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * test * fix multiroom * attempt for fix rare cast bug * changes for local files: read below * added pouchdb-node * moved all logic for local files to src/main/providers/local * added new local library section on sidebar * removed dupe * added caching headers * fix * add path menu to settings-window * fix mxm for local * some test * some fix * clear this * clear log * add playlist folder class * sometest * fix * Auto focus search bar * use object instead of array for albums (#1219) * feat: 🌐 Update French language (#1218) * add pagination for library songs * Add 'go to' page * Make playlist search icon use hero color * Merge pull request #1 from vapormusic/patch-1 dont populate out-of-display doms * both infinite and paging * Add color to search button background * Add shadow to follow button * im dumb sorry * Add brightness effect of search button * add some delay to scroll v-observe-visibility * some multiroom fixes * somefixes * [Audio] Fix VBass & Added COCS * [Audio] COCS revision * some fix * fix m1 mac * fix m1 build * some fix regarding audiocontext * [Audio] Fix #1207 (discussions) Eliminates audio stuttering even when AudioContext is enabled. Make lyrics account for the extra latency introduced by Audio Lab. * idk what I did * apparently this no worki * should default to 0 * expose bitrate of localfiles * [Audio] Added CAP & Normalization behavior for local files * smh musickit * Expose more local files metadata + fix norm error * pokemon gotta catch them all * maikiwi is a clown confirmed * pokemon gotta catch them all v2 * pokemon gotta catch them all v5 * Update zh_TW.json (#1229) Fix errors, update zh-TW translation. * Change No Lyrics Message in Full Screen Player (#1210) * Modify term.noLyrics text in 5 files * Minor change in 3 files * Colorize sponsor buttons in about page Co-authored-by: ctaetcsh <48845980+ctaetcsh@users.noreply.github.com> * max size of more info panel dynamic * Add twitter social button for some developers in about page (#1232) * Big Chungus Window settings (#1230) * Initial Changes * I suposse this is the last * cryptofyre * Documentation * Revert "Big Chungus Window settings (#1230)" (#1233) This reverts commit e133b2c38be160104416c8714a9dc47cf5fa4d71. * test * Just changed it and gonna leave for debugging * reimp e133b2c, adjustments for macOS * resolve #1 * copied files * readded strings to en_US * adjustments to settings sidebar collapse * add multiplex * Update version.sh * Update style.css * dont break pls thx * swag * I forgot that (#1239) * Update zh_TW.json (#1236) Update TW language. * Update zh_CN.json (#1240) * because I can * Fix cider team buttons in about page * Update style.less * Float right looks better * support custom port via optional CIDER_PORT var * Scan Local Files now 46 times faster * Update .gitignore * cleanups * remove console time (1s/1600 tracks) * fix m1 * sometest * Update build-macos.yml * Fix absolutely unacceptable punctuation error (#1249) * ok * pray * revert mxm back to local * Update zh_CN.json (#1242) * Update de_DE.json (#1246) * Musixmatch fix (thx plank ily) * whoops * yes * whoops v2 * bump to e18.3.5 * don't give the lyric api id if local files * Update afterPack.js * ukie * Update afterPack.js * Update afterPack.js * how the fuck did this not throw an error * fix stupid svg smh * new mediaitem scaling method * added Maximum Element Scale * mediaitem square artwork res now adapts to window size * will not affect high dpi * fix now playing artwork * fix album genre names before: gets genre from 1st track now: gets genre from album data * clamped element scale to 1.5x * added caching for auth * adjustment to artist page * changed to v-show for list item vis * Bring back mxm lyrics (Fully tested) * fix mmx translation * fix settings view * remove useless args & nonexistent funcs * fix div hell * fixed missing end tag for local playlist * fix divs * Fix cider list * the amount of brain cells that I have lost because of mxm trans * WIP language filter * it was fun while it lasted, goodbye MXM languages * MXM changes * 4am code moments * move logic * fix lyrics translation & allow other lang * default store.ts mxm trans to be disabled * this is why you dont code at 4am * and this is why you should test your code before pushing * added Romanized langs to mxm trans * love how previous MXM changes are in vain till now * stop. uploading. this. * NEVER. CODE. AT. FOUR. AYE. EM. AGAIN. * test * Revert "test" This reverts commit 256d06bbccfb6dc0cd23c5bc7fe15bd19923a43a. * did a funny * did another funny * yes * add prime symbol to apostrophe * Don't do anything if res != 200 * Recursive Folder Search in Cider Utils * 4am code moment * fix function (force recompile utils) * did a funny there * I need sleep * Update zh_CN.json (#1265) This is a big work * Update zh_TW.json (#1260) Update TW language. * performant logging is enabled by default * test getting rid of lyriccurrenttime * set timeout can go away now * boops forgot this * mxm moms * mxm moms * Revert "mxm moms" This reverts commit 51fc09280e8f9461d3a7639900fd5db63eb71e5f. * README download link fix * Update vueapp.js * Fix settings menu (#1271) * remove unused pages * profile page (for search for now) * lol * updated recordLabel with i18n and root usage * Local Lossless Icon and more - add Cider-profile boilerplate - add local lossless icon -add hover for PPE and lossless Co-authored-by: Core * no coding at 4am * fix units for local lossless badge * fix units for local lossless badge * remove CAP icon for local files, cuz unsupported * mpris overhaul * Fix seeking in mpris * changed am section on sidebar to v-show allowing css manipulation * added class for css * new effect when entering fullscreen lyrics * fixes text wrapping on tab text * added is-album * linux is cooollll * Lyrics API migration * Update musickit to use api mirror by default * add div for app-playback-buttons * Add spatialization icon (#1276) * Add spatialization icon * that never happened * add checkmode func to webremote * whoops sorry * Updated config.yml * mogus * fix string matching * may Maikiwi bless your CI * MKV3 red * Go touch grass; * this was so unreadable lmao * add logic for showing spatialization icon * add space in lossless icon * Remove dead fallback token, add error log if capi call fails (#1289) I tested and the fallback key you are using is dead. 401s. Unusable. * Fix #1282 * Fix #1237 * fix default CAP * someone played with translation code * lmao yaz why * stop polluting my logs you lil POST * I18n (#1293) * Update es_ES * I18N * idk this only breaking now * added framework for c2 parity * fixes * Fix volume bar on miniplayer (#1297) * Update stale-issues.yml * removed loading bar, testing without hlscider * overwrite restriction * allow listennow "more like" nav to work * garbage gone * fix for primary-content linking * Update README.md Add QQ group info * Revert back to music metadata * gimp v2 * remove local files as experiment * just to be safe * world is now a better place * meltdown avoided * meltdown avoided * Revert "meltdown avoided" This reverts commit 38e6f1b7fa71c81eefab880e2ec96afeb6b5bd11. * Revert "meltdown avoided" This reverts commit 54cc6656d69c01a87c0644b1ef1e9b1d983f4d29. * Revert "world is now a better place" This reverts commit c019bf9c637b5df53b9f324a747912104316f63a. * remove quasar * add some shiz (#1313) * Update ru_RU.json keeping russian lang actual * ok * Add gradient to lyric-footer * *Commit en espaƱol Ƒ (#1304) * i hate my life (#1307) * world is now a better place * meltdown avoided * meltdown avoided * stylize new listen now childs * full scale artwork, finally * dynamic width for search categories * hd all album work * Update afterPack.js * force hq quality * oops * attempt to fix * misc cleanup * why what * what was i thinking * fix duplicated text in listen now childs * Paginate/infinite scroll for albums, playlists (#1234) * Infinite scroll, pagination to album, playlists * move pagination below tracks * Make page size configurable * remove renderer * Mitigate songs / album slow app issue. * add ratings, library change to web remote (#1285) * Add compact artist header option (#1308) * Support compact artist header (optional) * Add required term Co-authored-by: h0ckerman <35598335+h0ckerman@users.noreply.github.com> Co-authored-by: vapormusic Co-authored-by: Monochromish Co-authored-by: Gabriel Davila <56521591+mefsaal@users.noreply.github.com> Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com> Co-authored-by: Maikiwi Co-authored-by: yazninja Co-authored-by: booploops <49113086+booploops@users.noreply.github.com> Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com> Co-authored-by: Pedro Galhardo * obama (#1314) * Update ru_RU.json keeping russian lang actual * ok * Add gradient to lyric-footer * *Commit en espaƱol Ƒ (#1304) * i hate my life (#1307) * world is now a better place * meltdown avoided * meltdown avoided * stylize new listen now childs * full scale artwork, finally * dynamic width for search categories * hd all album work * Update afterPack.js * force hq quality * oops * attempt to fix * misc cleanup * why what * what was i thinking * fix duplicated text in listen now childs * Paginate/infinite scroll for albums, playlists (#1234) * Infinite scroll, pagination to album, playlists * move pagination below tracks * Make page size configurable * remove renderer * Mitigate songs / album slow app issue. * add ratings, library change to web remote (#1285) * Add compact artist header option (#1308) * Support compact artist header (optional) * Add required term * improve pagination styling Co-authored-by: h0ckerman <35598335+h0ckerman@users.noreply.github.com> Co-authored-by: vapormusic Co-authored-by: Monochromish Co-authored-by: Gabriel Davila <56521591+mefsaal@users.noreply.github.com> Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com> Co-authored-by: Maikiwi Co-authored-by: yazninja Co-authored-by: booploops <49113086+booploops@users.noreply.github.com> Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com> Co-authored-by: Pedro Galhardo Co-authored-by: yazninja <71800112+yazninja@users.noreply.github.com> * obama episode 2. (#1317) * Update ru_RU.json keeping russian lang actual * ok * Add gradient to lyric-footer * *Commit en espaƱol Ƒ (#1304) * i hate my life (#1307) * world is now a better place * meltdown avoided * meltdown avoided * stylize new listen now childs * full scale artwork, finally * dynamic width for search categories * hd all album work * Update afterPack.js * force hq quality * oops * attempt to fix * misc cleanup * why what * what was i thinking * fix duplicated text in listen now childs * Paginate/infinite scroll for albums, playlists (#1234) * Infinite scroll, pagination to album, playlists * move pagination below tracks * Make page size configurable * remove renderer * Mitigate songs / album slow app issue. * add ratings, library change to web remote (#1285) * Add compact artist header option (#1308) * Support compact artist header (optional) * Add required term * improve pagination styling * Disable Fullscreen view when artist/album name is clicked. (#1315) * Disable Fullscreen view when artist/album name is clicked. idk why this change didn't exist * Seperate dash from album name * Replace `$root.showSearch()` with `app.appRoute('search')` `$root.showSearch()` prevents going back to previous page from sidebar. * Fix Anim (#1316) Co-authored-by: h0ckerman <35598335+h0ckerman@users.noreply.github.com> Co-authored-by: vapormusic Co-authored-by: Monochromish Co-authored-by: Gabriel Davila <56521591+mefsaal@users.noreply.github.com> Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com> Co-authored-by: Maikiwi Co-authored-by: yazninja Co-authored-by: booploops <49113086+booploops@users.noreply.github.com> Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com> Co-authored-by: Pedro Galhardo Co-authored-by: Monochromish <79590499+Monochromish@users.noreply.github.com> * re add that i guess. github is fucked. * aa (#1320) * Update ru_RU.json keeping russian lang actual * ok * Add gradient to lyric-footer * *Commit en espaƱol Ƒ (#1304) * i hate my life (#1307) * world is now a better place * meltdown avoided * meltdown avoided * stylize new listen now childs * full scale artwork, finally * dynamic width for search categories * hd all album work * Update afterPack.js * force hq quality * oops * attempt to fix * misc cleanup * why what * what was i thinking * fix duplicated text in listen now childs * Paginate/infinite scroll for albums, playlists (#1234) * Infinite scroll, pagination to album, playlists * move pagination below tracks * Make page size configurable * remove renderer * Mitigate songs / album slow app issue. * add ratings, library change to web remote (#1285) * Add compact artist header option (#1308) * Support compact artist header (optional) * Add required term * improve pagination styling * Disable Fullscreen view when artist/album name is clicked. (#1315) * Disable Fullscreen view when artist/album name is clicked. idk why this change didn't exist * Seperate dash from album name * Replace `$root.showSearch()` with `app.appRoute('search')` `$root.showSearch()` prevents going back to previous page from sidebar. * Fix Anim (#1316) * make tracks tab active (#1318) * welp that wasn't it. * Thnks (#1319) * Thnks * i need sleep Co-authored-by: h0ckerman <35598335+h0ckerman@users.noreply.github.com> Co-authored-by: vapormusic Co-authored-by: Monochromish Co-authored-by: Gabriel Davila <56521591+mefsaal@users.noreply.github.com> Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com> Co-authored-by: Maikiwi Co-authored-by: yazninja Co-authored-by: booploops <49113086+booploops@users.noreply.github.com> Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com> Co-authored-by: Pedro Galhardo Co-authored-by: Monochromish <79590499+Monochromish@users.noreply.github.com> Co-authored-by: vapormusic Co-authored-by: booploops <49113086+booploops@users.noreply.github.com> Co-authored-by: yazninja Co-authored-by: Pedro Galhardo Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com> Co-authored-by: Erwan <24718500+ErwanGit@users.noreply.github.com> Co-authored-by: Monochromish Co-authored-by: maikirakiwi Co-authored-by: yazninja <71800112+yazninja@users.noreply.github.com> Co-authored-by: 宄叔 <46503943+jay900604@users.noreply.github.com> Co-authored-by: Nathan Ritchie <48845980+ctaetcsh@users.noreply.github.com> Co-authored-by: Monochromish <79590499+Monochromish@users.noreply.github.com> Co-authored-by: Gabriel Davila <56521591+mefsaal@users.noreply.github.com> Co-authored-by: Core <64542347+coredev-uk@users.noreply.github.com> Co-authored-by: ę¤Žåć‚¢ćƒ¤ćƒ <53814845+sakura0224@users.noreply.github.com> Co-authored-by: Jonathan Fenske <929220+jfenske89@users.noreply.github.com> Co-authored-by: UnbreakCode Co-authored-by: SoNothing Co-authored-by: Core Co-authored-by: Amaru8 <52407090+Amaru8@users.noreply.github.com> Co-authored-by: rlaphoenix Co-authored-by: h0ckerman <35598335+h0ckerman@users.noreply.github.com> Co-authored-by: Pedro Galhardo --- .circleci/config.yml | 24 +- .github/ISSUE_TEMPLATE/config.yml | 4 +- .github/workflows/build-macos.yml | 3 + .github/workflows/stale-issues.yml | 2 + .gitignore | 3 + Assets/Release.svg | 9 +- README.md | 12 +- cider.lock | 4939 ++++-- package.json | 24 +- resources/afterPack.js | 8 +- resources/icons/icon.svg | 93 + resources/version.sh | 14 +- src/i18n/README.md | 90 +- src/i18n/de_DE.json | 15 +- src/i18n/en_GB.json | 13 +- src/i18n/en_OWO.json | 49 +- src/i18n/en_PISS.json | 2 +- src/i18n/en_US.json | 92 +- src/i18n/es_ES.json | 250 +- src/i18n/es_MX.json | 435 +- src/i18n/fr_FR.json | 119 +- src/i18n/hi_IN.json | 2 +- src/i18n/hu_HU.json | 4 +- src/i18n/in_ID.json | 239 +- src/i18n/ja_JP.json | 169 +- src/i18n/pt_PT.json | 1170 +- src/i18n/ru_RU.json | 225 +- src/i18n/source/en_US.json | 85 +- src/i18n/zh_CN.json | 267 +- src/i18n/zh_TW.json | 67 +- src/main/base/app.ts | 17 +- src/main/base/browserwindow.ts | 396 +- src/main/base/plugins.ts | 17 +- src/main/base/store.ts | 191 +- src/main/base/utils.ts | 78 +- src/main/base/vcomponents.json | 2 +- src/main/base/vrouting.json | 5 + src/main/base/wsapi.ts | 49 + src/main/index.ts | 56 +- src/main/plugins/discordrpc.ts | 73 +- src/main/plugins/lastfm.ts | 464 +- src/main/plugins/menubar.ts | 127 +- src/main/plugins/mpris.ts | 138 +- src/main/providers/local/db/index.ts | 12 + src/main/providers/local/index.ts | 180 + src/preload/cider-preload.js | 71 +- src/renderer/assets/angles-left.svg | 1 + src/renderer/assets/angles-right.svg | 1 + src/renderer/assets/chevron-right.svg | 1 + src/renderer/assets/discord.svg | 49 +- src/renderer/assets/feather/hard-drive.svg | 3 + src/renderer/assets/feather/headphones.svg | 4 + src/renderer/assets/feather/pen-tool.svg | 5 + src/renderer/assets/feather/plugins.svg | 1 + src/renderer/assets/feather/style.svg | 41 + src/renderer/assets/feather/zap.svg | 3 + src/renderer/assets/github.svg | 44 +- src/renderer/assets/ko_fi.svg | 5 +- src/renderer/assets/open_collective.svg | 51 +- src/renderer/assets/search-alt.svg | 4 + src/renderer/assets/settings.svg | 1 + src/renderer/assets/spatialization.svg | 7 + src/renderer/assets/twitter.svg | 88 +- src/renderer/audio/audio.js | 550 +- src/renderer/audio/impulses/CAP_64.wav | Bin 26836 -> 34604 bytes .../audio/impulses/CiderSpatial_LIVE.wav | Bin 288044 -> 0 bytes .../audio/impulses/MoondropCHU_Cider.wav | Bin 0 -> 330420 bytes src/renderer/index.js | 86 +- src/renderer/less/ameframework.less | 8 + src/renderer/less/bootstrap.less | 13 +- src/renderer/less/directives.less | 13 +- src/renderer/less/elements.less | 408 +- src/renderer/less/fullscreen.less | 604 + src/renderer/less/helpers.css | 481 + src/renderer/less/helpers.less | 461 +- src/renderer/less/linux.less | 53 + src/renderer/less/macos.less | 34 +- src/renderer/less/miniplayer.less | 410 + src/renderer/less/pages.css | 1886 ++ src/renderer/less/pages.less | 2111 ++- src/renderer/lib/quasar/quasar.min.css | 14733 ++++++++++++++++ src/renderer/lib/quasar/quasar.umd.min.js | 6 + src/renderer/main/app.js | 15 +- .../main/components/sidebar-library-item.js | 46 + src/renderer/main/components/svg-icon.js | 22 + src/renderer/main/events.js | 8 +- src/renderer/main/html.js | 3 + src/renderer/main/mica.js | 30 +- src/renderer/main/vueapp.js | 988 +- src/renderer/main/vuex-store.js | 10 + src/renderer/main/wsapi_interop.js | 70 + src/renderer/style.less | 3333 ++-- src/renderer/themes/sweetener.less | 13 +- src/renderer/views/app/app-content.ejs | 42 - src/renderer/views/app/app-navigation.ejs | 20 +- src/renderer/views/app/chrome-bottom.ejs | 47 +- src/renderer/views/app/chrome-top.ejs | 132 +- src/renderer/views/app/panels.ejs | 6 + src/renderer/views/app/sidebar.ejs | 303 - .../views/components/animatedartwork-view.ejs | 2 +- src/renderer/views/components/app-content.ejs | 51 + src/renderer/views/components/artist-chip.ejs | 12 +- .../views/components/artwork-material.ejs | 2 +- .../views/components/audio-controls.ejs | 6 +- .../views/components/audio-playbackrate.ejs | 6 +- .../views/components/audio-settings.ejs | 6 +- src/renderer/views/components/equalizer.ejs | 8 +- src/renderer/views/components/fullscreen.ejs | 248 +- .../views/components/libraryartist-item.ejs | 4 +- .../views/components/listennow-child.ejs | 50 +- .../views/components/mediaitem-artwork.ejs | 49 +- .../views/components/mediaitem-list-item.ejs | 81 +- .../views/components/mediaitem-square.ejs | 50 +- src/renderer/views/components/miniplayer.ejs | 70 +- src/renderer/views/components/pagination.ejs | 175 + src/renderer/views/components/pathmenu.ejs | 65 + src/renderer/views/components/queue.ejs | 8 +- .../settings-keybinds.ejs} | 61 +- .../settings-plugins-github.ejs} | 24 +- .../components/settings-themes-github.ejs | 197 + .../views/components/settings-themes.ejs | 367 + .../views/components/settings-window.ejs | 1564 ++ .../views/components/sidebar-playlist.ejs | 55 +- src/renderer/views/components/sidebar.ejs | 316 + src/renderer/views/main.ejs | 131 +- src/renderer/views/pages/about.ejs | 47 +- src/renderer/views/pages/apple-curator.ejs | 2 +- src/renderer/views/pages/artist-feed.ejs | 29 +- src/renderer/views/pages/artist.ejs | 88 +- src/renderer/views/pages/audiolabs.ejs | 65 +- src/renderer/views/pages/browse.ejs | 2 +- src/renderer/views/pages/charts.ejs | 12 +- src/renderer/views/pages/cider-multiroom.ejs | 8 +- src/renderer/views/pages/cider-playlist.ejs | 309 +- src/renderer/views/pages/cider-profile.ejs | 67 + src/renderer/views/pages/groupings.ejs | 4 +- src/renderer/views/pages/home.ejs | 21 +- src/renderer/views/pages/installed-themes.ejs | 27 +- src/renderer/views/pages/library-albums.ejs | 39 +- .../views/pages/library-artists copy.ejs | 49 - .../views/pages/library-recentlyadded.ejs | 6 +- src/renderer/views/pages/library-songs.ejs | 51 +- .../views/pages/new/library-songs.ejs | 16 - src/renderer/views/pages/playlist-inline.ejs | 10 +- src/renderer/views/pages/podcasts.ejs | 2 +- src/renderer/views/pages/recordLabel.ejs | 145 +- src/renderer/views/pages/replay.ejs | 2 +- src/renderer/views/pages/search.ejs | 31 +- src/renderer/views/pages/settings.ejs | 1502 -- src/renderer/views/pages/themes-github.ejs | 15 +- src/renderer/views/pages/zoo.ejs | 15 + src/web-remote/ciderframework.css | 8 + src/web-remote/index.js | 93 +- src/web-remote/style.css | 9 + src/web-remote/views/index.ejs | 51 +- tsconfig.json | 1 + winget.json | 4 +- 157 files changed, 33489 insertions(+), 10407 deletions(-) create mode 100644 resources/icons/icon.svg create mode 100644 src/main/providers/local/db/index.ts create mode 100644 src/main/providers/local/index.ts create mode 100644 src/renderer/assets/angles-left.svg create mode 100644 src/renderer/assets/angles-right.svg create mode 100644 src/renderer/assets/chevron-right.svg create mode 100644 src/renderer/assets/feather/hard-drive.svg create mode 100644 src/renderer/assets/feather/headphones.svg create mode 100644 src/renderer/assets/feather/pen-tool.svg create mode 100644 src/renderer/assets/feather/plugins.svg create mode 100644 src/renderer/assets/feather/style.svg create mode 100644 src/renderer/assets/feather/zap.svg create mode 100644 src/renderer/assets/search-alt.svg create mode 100644 src/renderer/assets/settings.svg create mode 100644 src/renderer/assets/spatialization.svg delete mode 100644 src/renderer/audio/impulses/CiderSpatial_LIVE.wav create mode 100644 src/renderer/audio/impulses/MoondropCHU_Cider.wav create mode 100644 src/renderer/less/fullscreen.less create mode 100644 src/renderer/less/helpers.css create mode 100644 src/renderer/less/miniplayer.less create mode 100644 src/renderer/less/pages.css create mode 100644 src/renderer/lib/quasar/quasar.min.css create mode 100644 src/renderer/lib/quasar/quasar.umd.min.js create mode 100644 src/renderer/main/components/sidebar-library-item.js create mode 100644 src/renderer/main/components/svg-icon.js create mode 100644 src/renderer/main/html.js delete mode 100644 src/renderer/views/app/app-content.ejs delete mode 100644 src/renderer/views/app/sidebar.ejs create mode 100644 src/renderer/views/components/app-content.ejs create mode 100644 src/renderer/views/components/pagination.ejs create mode 100644 src/renderer/views/components/pathmenu.ejs rename src/renderer/views/{pages/keybinds.ejs => components/settings-keybinds.ejs} (81%) rename src/renderer/views/{pages/plugins-github.ejs => components/settings-plugins-github.ejs} (90%) create mode 100644 src/renderer/views/components/settings-themes-github.ejs create mode 100644 src/renderer/views/components/settings-themes.ejs create mode 100644 src/renderer/views/components/settings-window.ejs create mode 100644 src/renderer/views/components/sidebar.ejs create mode 100644 src/renderer/views/pages/cider-profile.ejs delete mode 100644 src/renderer/views/pages/library-artists copy.ejs delete mode 100644 src/renderer/views/pages/new/library-songs.ejs delete mode 100644 src/renderer/views/pages/settings.ejs diff --git a/.circleci/config.yml b/.circleci/config.yml index f1370fb9..b15cbeb7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 executors: cider-ci: docker: - - image: circleci/node:16 + - image: cimg/node:lts-browsers working_directory: ~/Cider orbs: # Add orbs to your configuration @@ -15,15 +15,9 @@ jobs: executor: cider-ci steps: - checkout - # - run: - # name: Rename Repository - # command: sed -i 's/github:ciderapp\/Cider/github:ciderapp\/cider-releases/' package.json - run: name: Update Version Number of App command: sudo chmod +x resources/version.sh && ./resources/version.sh || true - - run: - name: Update Package Managers - command: sudo npm update -g npm yarn - restore_cache: name: Restore Yarn Package Cache keys: @@ -36,6 +30,9 @@ jobs: key: yarn-packages-{{ checksum "cider.lock" }} paths: - ~/.cache/yarn + - run: + name: Clear Yarn Cache + command: yarn cache clean - run: name: TypeScript Compile command: yarn build @@ -60,9 +57,6 @@ jobs: steps: - attach_workspace: at: ~/Cider -# - run: -# name: Fix Versioning and Add Channel -# command: yarn circle:script - run: name: Generate Builds (Linux) command: yarn electron-builder -l -p never @@ -89,9 +83,6 @@ jobs: sudo dpkg --add-architecture i386 sudo apt-get update -y sudo apt-get install -y wine32 -# - run: -# name: Fix Versioning and Add Channel -# command: yarn circle:script - run: name: Generate Builds (Windows) command: yarn electron-builder -w --x64 -p never @@ -117,9 +108,6 @@ jobs: sudo dpkg --add-architecture i386 sudo apt-get update -y sudo apt-get install -y wine32 -# - run: -# name: Fix Versioning and Add Channel -# command: yarn circle:script - run: name: Generate Builds (Winget) command: yarn electron-builder --win -c winget.json -p never @@ -156,15 +144,13 @@ jobs: mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts - store_artifacts: path: ~/Cider/dist/artifacts -# - run: -# name: Fix Versioning and Add Channel -# command: yarn circle:script - run: name: Update Version Number of App command: sudo chmod +x resources/version.sh && ./resources/version.sh || true - run: name: Publish Release command: | + echo "Creating release for Cider v${APP_VERSION} on the ${CIRCLE_BRANCH} branch." gh release create "v${APP_VERSION}" --title "Cider Version ${APP_VERSION} (${CIRCLE_BRANCH})" --generate-notes -R ciderapp/cider-releases ~/Cider/dist/artifacts/*.deb ~/Cider/dist/artifacts/*.AppImage ~/Cider/dist/artifacts/*.snap ~/Cider/dist/artifacts/*.exe ~/Cider/dist/artifacts/*.yml ~/Cider/dist/artifacts/*.blockmap # Orchestrate our job run sequence diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ed95f376..d25be6c5 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -6,8 +6,8 @@ contact_links: - name: Discord Support url: https://discord.com/invite/AppleMusic about: For quick support, make a ticket or ask for community support here. - - name: GitHub Troublshooting - url: https://github.com/ciderapp/Cider/wiki/Troubleshooting + - name: Cider Documentation + url: https://docs.cider.sh/support/troubleshooting about: In most cases, these troubleshooting tips can resolve basic issues. Try them out before opening an issue. - name: GitHub Issues url: https://github.com/ciderapp/Cider/issues diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml index a9a2fa0f..f47f1d37 100644 --- a/.github/workflows/build-macos.yml +++ b/.github/workflows/build-macos.yml @@ -94,6 +94,9 @@ jobs: yarn install cp resources/verror-types node_modules/@types/verror/index.d.ts cp resources/macPackager.js node_modules/app-builder-lib/out/macPackager.js + rm -r node_modules/pouchdb-node/node_modules/leveldown + rm -r node_modules/pouchdb-adapter-leveldb/node_modules/leveldown + rm -r /node_modules/leveldown/node_modules/node-gyp-build || true yarn dist:universalNotWorking -p never # - name: Perform CodeQL Analysis # uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/stale-issues.yml b/.github/workflows/stale-issues.yml index 923438ae..3307a8b2 100644 --- a/.github/workflows/stale-issues.yml +++ b/.github/workflows/stale-issues.yml @@ -18,3 +18,5 @@ jobs: days-before-close: 7 stale-issue-label: "stale" stale-pr-label: "stale" + exempt-all-assignees: true + exempt-issue-labels: 'more-info,work-in-progress,accessibility-feature,help-wanted' diff --git a/.gitignore b/.gitignore index e6413018..fc8bf102 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ dist build .flatpak* yarn-cache +src/renderer/style.css # Misc .idea @@ -328,3 +329,5 @@ savedconfig/cider-config.json savedconfig/config.json savedconfig/session.json savedconfig/window-state.json +src/main/base/sample.json + diff --git a/Assets/Release.svg b/Assets/Release.svg index f27dc45d..3c9999cd 100644 --- a/Assets/Release.svg +++ b/Assets/Release.svg @@ -1,6 +1,9 @@ - - - + + + + + + diff --git a/README.md b/README.md index d0515b36..2702cdf9 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ Open Collective GitHub Sponsor
+ QQ群 Discord Twitter Reddit @@ -18,13 +19,14 @@

#### Links -* [Wiki](https://docs.cider.sh) + +* [Documentation](https://docs.cider.sh) * [Request Feature](https://github.com/ciderapp/Cider/discussions/new?category=feature-request) * [Report Bug](https://github.com/ciderapp/Cider/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D+) -* [**View The Releases**](https://github.com/ciderapp/Cider/releases/latest) +* [**View The Releases**](https://github.com/ciderapp/cider-releases/releases/latest) ### Install Sources -[![Get it from Github](https://img.shields.io/badge/Get_It_From_GitHub-100000?style=for-the-badge&logo=github&logoColor=white)](https://github.com/ciderapp/cider/releases/latest) +[![Get it from Github](https://img.shields.io/badge/Get_It_From_GitHub-100000?style=for-the-badge&logo=github&logoColor=white)](https://github.com/ciderapp/cider-releases/releases/latest) [![Get it from the Microsoft Store](https://img.shields.io/badge/Get_It_From_The_Microsoft_Store-100000?style=for-the-badge&logo=microsoft)](https://www.microsoft.com/store/apps/9P21XJ9D9G66) @@ -44,8 +46,8 @@ --> [![Get it from the AUR](https://img.shields.io/badge/Get_It_From_The_AUR-100000?style=for-the-badge&logo=archlinux)](https://aur.archlinux.org/packages/cider) -### Compiling and Configuration -For more information surrounding configuration, compiling and other developer documentation, see the [compilation docs](https://cider.sh/compile.html). +### Insights Snapshot +[![CircleCI](https://dl.circleci.com/insights-snapshot/gh/ciderapp/Cider/main/build_and_release/badge.svg?window=30d)](https://app.circleci.com/insights/github/ciderapp/Cider/workflows/build_and_release/overview?branch=main&reporting-window=last-30-days&insights-snapshot=true) ### Credits ![Contributors](https://contrib.rocks/image?repo=ciderapp/Cider) diff --git a/cider.lock b/cider.lock index 8cec071c..27dcab09 100644 --- a/cider.lock +++ b/cider.lock @@ -4,92 +4,93 @@ "7zip-bin@~5.1.1": version "5.1.1" - resolved "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== "7zip@0.0.6": version "0.0.6" - resolved "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz" - integrity sha1-nK+xca+CMpSQNTtIFvAzR6oVCjA= + resolved "https://registry.yarnpkg.com/7zip/-/7zip-0.0.6.tgz#9cafb171af82329490353b4816f03347aa150a30" + integrity sha512-ns8vKbKhIQm338AeWo/YdDSWil3pldwCMoyR2npoM2qDAzF8Vuko8BtDxpNt/wE15SXOh5K5WbjSLR4kTOAHLA== "@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: - "@jridgewell/trace-mapping" "^0.3.0" + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" "@babel/code-frame@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10": + version "7.17.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" + integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== "@babel/core@^7.9.0": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz" - integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw== + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" + integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.9" - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.9" - "@babel/parser" "^7.17.9" + "@babel/generator" "^7.18.2" + "@babel/helper-compilation-targets" "^7.18.2" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helpers" "^7.18.2" + "@babel/parser" "^7.18.0" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz" - integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== +"@babel/generator@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" + integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.18.2" + "@jridgewell/gen-mapping" "^0.3.0" jsesc "^2.5.1" - source-map "^0.5.0" "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== dependencies: "@babel/types" "^7.16.7" "@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== dependencies: "@babel/helper-explode-assignable-expression" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz" - integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.10", "@babel/helper-compilation-targets@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz#67a85a10cbd5fc7f1457fec2e7f45441dc6c754b" + integrity sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ== dependencies: - "@babel/compat-data" "^7.17.7" + "@babel/compat-data" "^7.17.10" "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" + browserslist "^4.20.2" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz" - integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== +"@babel/helper-create-class-features-plugin@^7.17.12", "@babel/helper-create-class-features-plugin@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" + integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -99,17 +100,17 @@ "@babel/helper-replace-supers" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" -"@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz" - integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== +"@babel/helper-create-regexp-features-plugin@^7.16.7", "@babel/helper-create-regexp-features-plugin@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz#bb37ca467f9694bbe55b884ae7a5cc1e0084e4fd" + integrity sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" regexpu-core "^5.0.1" "@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== dependencies: "@babel/helper-compilation-targets" "^7.13.0" @@ -121,23 +122,21 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" +"@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" + integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== "@babel/helper-explode-assignable-expression@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== dependencies: "@babel/types" "^7.16.7" "@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": version "7.17.9" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== dependencies: "@babel/template" "^7.16.7" @@ -145,21 +144,21 @@ "@babel/helper-hoist-variables@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== dependencies: "@babel/types" "^7.16.7" -"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": +"@babel/helper-member-expression-to-functions@^7.17.7": version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== dependencies: "@babel/types" "^7.17.0" "@babel/helper-module-imports@7.0.0-beta.35": version "7.0.0-beta.35" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.35.tgz#308e350e731752cdb4d0f058df1d704925c64e0a" integrity sha512-vaC1KyIZSuyWb3Lj277fX0pxivyHwuDU4xZsofqgYAbkDxNieMg2vuhzP5AgMweMY7fCQUMTi+BgPqTLjkxXFg== dependencies: "@babel/types" "7.0.0-beta.35" @@ -167,15 +166,15 @@ "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== +"@babel/helper-module-transforms@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz#baf05dec7a5875fb9235bd34ca18bad4e21221cd" + integrity sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA== dependencies: "@babel/helper-environment-visitor" "^7.16.7" "@babel/helper-module-imports" "^7.16.7" @@ -183,75 +182,75 @@ "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-validator-identifier" "^7.16.7" "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.18.0" + "@babel/types" "^7.18.0" "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== dependencies: "@babel/types" "^7.16.7" -"@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.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== +"@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.16.7", "@babel/helper-plugin-utils@^7.17.12", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz#86c2347da5acbf5583ba0a10aed4c9bf9da9cf96" + integrity sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA== "@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-wrap-function" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== +"@babel/helper-replace-supers@^7.16.7", "@babel/helper-replace-supers@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz#41fdfcc9abaf900e18ba6e5931816d9062a7b2e0" + integrity sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q== dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-environment-visitor" "^7.18.2" + "@babel/helper-member-expression-to-functions" "^7.17.7" "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== +"@babel/helper-simple-access@^7.17.7", "@babel/helper-simple-access@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz#4dc473c2169ac3a1c9f4a51cfcd091d1c36fcff9" + integrity sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.18.2" "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== dependencies: "@babel/types" "^7.16.0" "@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== dependencies: "@babel/types" "^7.16.7" "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== "@babel/helper-validator-option@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== "@babel/helper-wrap-function@^7.16.8": version "7.16.8" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== dependencies: "@babel/helper-function-name" "^7.16.7" @@ -259,552 +258,562 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz" - integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== +"@babel/helpers@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.2.tgz#970d74f0deadc3f5a938bfa250738eb4ac889384" + integrity sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg== dependencies: "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.9" - "@babel/types" "^7.17.0" + "@babel/traverse" "^7.18.2" + "@babel/types" "^7.18.2" "@babel/highlight@^7.16.7": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz" - integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.12.tgz#257de56ee5afbd20451ac0a75686b6b404257351" + integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg== dependencies: "@babel/helper-validator-identifier" "^7.16.7" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.16.7", "@babel/parser@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz" - integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== +"@babel/parser@^7.16.7", "@babel/parser@^7.18.0": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" + integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz" - integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e" + integrity sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz#0d498ec8f0374b1e2eb54b9cb2c4c78714c77753" + integrity sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.17.12" -"@babel/plugin-proposal-async-generator-functions@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz" - integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== +"@babel/plugin-proposal-async-generator-functions@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz#094a417e31ce7e692d84bab06c8e2a607cbeef03" + integrity sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== +"@babel/plugin-proposal-class-properties@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz#84f65c0cc247d46f40a6da99aadd6438315d80a4" + integrity sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.17.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz" - integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== +"@babel/plugin-proposal-class-static-block@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz#7d02253156e3c3793bdb9f2faac3a1c05f0ba710" + integrity sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.6" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz" - integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== +"@babel/plugin-proposal-export-namespace-from@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz#b22864ccd662db9606edb2287ea5fd1709f05378" + integrity sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz" - integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== +"@babel/plugin-proposal-json-strings@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz#f4642951792437233216d8c1af370bb0fbff4664" + integrity sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== +"@babel/plugin-proposal-logical-assignment-operators@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz#c64a1bcb2b0a6d0ed2ff674fd120f90ee4b88a23" + integrity sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz#1e93079bbc2cbc756f6db6a1925157c4a92b94be" + integrity sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.16.7": - version "7.17.3" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz" - integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== +"@babel/plugin-proposal-object-rest-spread@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz#79f2390c892ba2a68ec112eb0d895cfbd11155e8" + integrity sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw== dependencies: - "@babel/compat-data" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/compat-data" "^7.17.10" + "@babel/helper-compilation-targets" "^7.17.10" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.17.12" "@babel/plugin-proposal-optional-catch-binding@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== +"@babel/plugin-proposal-optional-chaining@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz#f96949e9bacace3a9066323a5cf90cfb9de67174" + integrity sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.11": - version "7.16.11" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz" - integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== +"@babel/plugin-proposal-private-methods@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz#c2ca3a80beb7539289938da005ad525a038a819c" + integrity sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.10" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz" - integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== +"@babel/plugin-proposal-private-property-in-object@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz#b02efb7f106d544667d91ae97405a9fd8c93952d" + integrity sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== +"@babel/plugin-proposal-unicode-property-regex@^7.17.12", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz#3dbd7a67bd7f94c8238b394da112d86aaf32ad4d" + integrity sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + 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-class-properties@^7.12.13": version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + 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-class-static-block@^7.14.5": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-syntax-import-assertions@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz#58096a92b11b2e4e54b24c6a0cc0e5e607abcedd" + integrity sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw== + dependencies: + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + 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-logical-assignment-operators@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + 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.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + 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.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + 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.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + 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-private-property-in-object@^7.14.5": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + 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-transform-arrow-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== +"@babel/plugin-transform-arrow-functions@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz#dddd783b473b1b1537ef46423e3944ff24898c45" + integrity sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== +"@babel/plugin-transform-async-to-generator@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz#dbe5511e6b01eee1496c944e35cdfe3f58050832" + integrity sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ== dependencies: "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-block-scoping@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== +"@babel/plugin-transform-block-scoping@^7.17.12": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz#7988627b3e9186a13e4d7735dc9c34a056613fb9" + integrity sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-classes@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== +"@babel/plugin-transform-classes@^7.17.12": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz#51310b812a090b846c784e47087fa6457baef814" + integrity sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" + "@babel/helper-environment-visitor" "^7.18.2" + "@babel/helper-function-name" "^7.17.9" "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-replace-supers" "^7.18.2" "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== +"@babel/plugin-transform-computed-properties@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz#bca616a83679698f3258e892ed422546e531387f" + integrity sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-destructuring@^7.16.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz" - integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== +"@babel/plugin-transform-destructuring@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz#dc4f92587e291b4daa78aa20cc2d7a63aa11e858" + integrity sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-duplicate-keys@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz" - integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== +"@babel/plugin-transform-duplicate-keys@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz#a09aa709a3310013f8e48e0e23bc7ace0f21477c" + integrity sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-exponentiation-operator@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== +"@babel/plugin-transform-for-of@^7.18.1": + version "7.18.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz#ed14b657e162b72afbbb2b4cdad277bf2bb32036" + integrity sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== dependencies: "@babel/helper-compilation-targets" "^7.16.7" "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== +"@babel/plugin-transform-literals@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz#97131fbc6bbb261487105b4b3edbf9ebf9c830ae" + integrity sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz" - integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== +"@babel/plugin-transform-modules-amd@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz#7ef1002e67e36da3155edc8bf1ac9398064c02ed" + integrity sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA== dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.16.8": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz" - integrity sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw== +"@babel/plugin-transform-modules-commonjs@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz#1aa8efa2e2a6e818b6a7f2235fceaf09bdb31e9e" + integrity sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ== dependencies: - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" + "@babel/helper-simple-access" "^7.18.2" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.16.7": - version "7.17.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz" - integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== +"@babel/plugin-transform-modules-systemjs@^7.18.0": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz#3d6fd9868c735cce8f38d6ae3a407fb7e61e6d46" + integrity sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg== dependencies: "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== +"@babel/plugin-transform-modules-umd@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz#56aac64a2c2a1922341129a4597d1fd5c3ff020f" + integrity sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA== dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-module-transforms" "^7.18.0" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": - version "7.16.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz" - integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz#9c4a5a5966e0434d515f2675c227fd8cc8606931" + integrity sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.17.12" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-new-target@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz" - integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== +"@babel/plugin-transform-new-target@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz#10842cd605a620944e81ea6060e9e65c265742e3" + integrity sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== +"@babel/plugin-transform-parameters@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz#eb467cd9586ff5ff115a9880d6fdbd4a846b7766" + integrity sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.16.7": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz" - integrity sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ== +"@babel/plugin-transform-regenerator@^7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz#44274d655eb3f1af3f3a574ba819d3f48caf99d5" + integrity sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw== dependencies: + "@babel/helper-plugin-utils" "^7.17.12" regenerator-transform "^0.15.0" -"@babel/plugin-transform-reserved-words@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== +"@babel/plugin-transform-reserved-words@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz#7dbd349f3cdffba751e817cf40ca1386732f652f" + integrity sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== +"@babel/plugin-transform-spread@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz#c112cad3064299f03ea32afed1d659223935d1f5" + integrity sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-transform-sticky-regex@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== +"@babel/plugin-transform-template-literals@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz#31ed6915721864847c48b656281d0098ea1add28" + integrity sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" -"@babel/plugin-transform-typeof-symbol@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz" - integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== +"@babel/plugin-transform-typeof-symbol@^7.17.12": + version "7.17.12" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz#0f12f57ac35e98b35b4ed34829948d42bd0e6889" + integrity sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== dependencies: "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-transform-unicode-regex@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" "@babel/preset-env@^7.9.0": - version "7.16.11" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" - integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.18.2.tgz#f47d3000a098617926e674c945d95a28cb90977a" + integrity sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q== dependencies: - "@babel/compat-data" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/compat-data" "^7.17.10" + "@babel/helper-compilation-targets" "^7.18.2" + "@babel/helper-plugin-utils" "^7.17.12" "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.17.12" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.17.12" + "@babel/plugin-proposal-async-generator-functions" "^7.17.12" + "@babel/plugin-proposal-class-properties" "^7.17.12" + "@babel/plugin-proposal-class-static-block" "^7.18.0" "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.17.12" + "@babel/plugin-proposal-json-strings" "^7.17.12" + "@babel/plugin-proposal-logical-assignment-operators" "^7.17.12" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.17.12" "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.18.0" "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.11" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.17.12" + "@babel/plugin-proposal-private-methods" "^7.17.12" + "@babel/plugin-proposal-private-property-in-object" "^7.17.12" + "@babel/plugin-proposal-unicode-property-regex" "^7.17.12" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.17.12" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -814,49 +823,49 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-arrow-functions" "^7.17.12" + "@babel/plugin-transform-async-to-generator" "^7.17.12" "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.17.12" + "@babel/plugin-transform-classes" "^7.17.12" + "@babel/plugin-transform-computed-properties" "^7.17.12" + "@babel/plugin-transform-destructuring" "^7.18.0" "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.17.12" "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.18.1" "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-literals" "^7.17.12" "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.8" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" - "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.18.0" + "@babel/plugin-transform-modules-commonjs" "^7.18.2" + "@babel/plugin-transform-modules-systemjs" "^7.18.0" + "@babel/plugin-transform-modules-umd" "^7.18.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.17.12" + "@babel/plugin-transform-new-target" "^7.17.12" "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.17.12" "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.18.0" + "@babel/plugin-transform-reserved-words" "^7.17.12" "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-spread" "^7.17.12" "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.18.2" + "@babel/plugin-transform-typeof-symbol" "^7.17.12" "@babel/plugin-transform-unicode-escapes" "^7.16.7" "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.8" + "@babel/types" "^7.18.2" babel-plugin-polyfill-corejs2 "^0.3.0" babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" + core-js-compat "^3.22.1" semver "^6.3.0" "@babel/preset-modules@^0.1.5": version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -865,66 +874,66 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/runtime@^7.8.4": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz" - integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== +"@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.18.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4" + integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug== dependencies: regenerator-runtime "^0.13.4" "@babel/template@^7.16.7": version "7.16.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== dependencies: "@babel/code-frame" "^7.16.7" "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz" - integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw== +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.2.tgz#b77a52604b5cc836a9e1e08dca01cba67a12d2e8" + integrity sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA== dependencies: "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.9" - "@babel/helper-environment-visitor" "^7.16.7" + "@babel/generator" "^7.18.2" + "@babel/helper-environment-visitor" "^7.18.2" "@babel/helper-function-name" "^7.17.9" "@babel/helper-hoist-variables" "^7.16.7" "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.9" - "@babel/types" "^7.17.0" + "@babel/parser" "^7.18.0" + "@babel/types" "^7.18.2" debug "^4.1.0" globals "^11.1.0" "@babel/types@7.0.0-beta.35": version "7.0.0-beta.35" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.35.tgz" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.35.tgz#cf933a9a9a38484ca724b335b88d83726d5ab960" integrity sha512-y9XT11CozHDgjWcTdxmhSj13rJVXpa5ZXwjjOiTedjaM0ba5ItqdS02t31EhPl7HtOWxsZkYCCUNrSfrOisA6w== dependencies: esutils "^2.0.2" lodash "^4.2.0" to-fast-properties "^2.0.0" -"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.4.4": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== +"@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.0", "@babel/types@^7.18.2", "@babel/types@^7.4.4": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.4.tgz#27eae9b9fd18e9dccc3f9d6ad051336f307be354" + integrity sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw== dependencies: "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" "@develar/schema-utils@~2.6.5": version "2.6.5" - resolved "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz" + resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig== dependencies: ajv "^6.12.0" ajv-keywords "^3.4.1" -"@electron/get@^1.14.1": +"@electron/get@^1.13.0": version "1.14.1" - resolved "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz#16ba75f02dffb74c23965e72d617adc721d27f40" integrity sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw== dependencies: debug "^4.1.1" @@ -940,7 +949,7 @@ "@electron/universal@1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@electron/universal/-/universal-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.0.tgz#518cac72bccd79c00bf41345119e6fdbabdb871d" integrity sha512-eu20BwNsrMPKoe2bZ3/l9c78LclDvxg3PlVXrQf3L50NaUuW5M59gbPytI+V4z7/QMrohUHetQaU0ou+p1UG9Q== dependencies: "@malept/cross-spawn-promise" "^1.1.0" @@ -953,37 +962,357 @@ "@gar/promisify@^1.1.3": version "1.1.3" - resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== +"@jimp/bmp@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.16.1.tgz#6e2da655b2ba22e721df0795423f34e92ef13768" + integrity sha512-iwyNYQeBawrdg/f24x3pQ5rEx+/GwjZcCXd3Kgc+ZUd+Ivia7sIqBsOnDaMZdKCBPlfW364ekexnlOqyVa0NWg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + bmp-js "^0.1.0" + +"@jimp/core@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/core/-/core-0.16.1.tgz#68c4288f6ef7f31a0f6b859ba3fb28dae930d39d" + integrity sha512-la7kQia31V6kQ4q1kI/uLimu8FXx7imWVajDGtwUG8fzePLWDFJyZl0fdIXVCL1JW2nBcRHidUot6jvlRDi2+g== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + any-base "^1.1.0" + buffer "^5.2.0" + exif-parser "^0.1.12" + file-type "^9.0.0" + load-bmfont "^1.3.1" + mkdirp "^0.5.1" + phin "^2.9.1" + pixelmatch "^4.0.2" + tinycolor2 "^1.4.1" + +"@jimp/custom@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.16.1.tgz#28b659c59e20a1d75a0c46067bd3f4bd302cf9c5" + integrity sha512-DNUAHNSiUI/j9hmbatD6WN/EBIyeq4AO0frl5ETtt51VN1SvE4t4v83ZA/V6ikxEf3hxLju4tQ5Pc3zmZkN/3A== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/core" "^0.16.1" + +"@jimp/gif@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.16.1.tgz#d1f7c3a58f4666482750933af8b8f4666414f3ca" + integrity sha512-r/1+GzIW1D5zrP4tNrfW+3y4vqD935WBXSc8X/wm23QTY9aJO9Lw6PEdzpYCEY+SOklIFKaJYUAq/Nvgm/9ryw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + gifwrap "^0.9.2" + omggif "^1.0.9" + +"@jimp/jpeg@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.16.1.tgz#3b7bb08a4173f2f6d81f3049b251df3ee2ac8175" + integrity sha512-8352zrdlCCLFdZ/J+JjBslDvml+fS3Z8gttdml0We759PnnZGqrnPRhkOEOJbNUlE+dD4ckLeIe6NPxlS/7U+w== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + jpeg-js "0.4.2" + +"@jimp/plugin-blit@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.16.1.tgz#09ea919f9d326de3b9c2826fe4155da37dde8edb" + integrity sha512-fKFNARm32RoLSokJ8WZXHHH2CGzz6ire2n1Jh6u+XQLhk9TweT1DcLHIXwQMh8oR12KgjbgsMGvrMVlVknmOAg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-blur@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.16.1.tgz#e614fa002797dcd662e705d4cea376e7db968bf5" + integrity sha512-1WhuLGGj9MypFKRcPvmW45ht7nXkOKu+lg3n2VBzIB7r4kKNVchuI59bXaCYQumOLEqVK7JdB4glaDAbCQCLyw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-circle@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.16.1.tgz#20e3194a67ca29740aba2630fd4d0a89afa27491" + integrity sha512-JK7yi1CIU7/XL8hdahjcbGA3V7c+F+Iw+mhMQhLEi7Q0tCnZ69YJBTamMiNg3fWPVfMuvWJJKOBRVpwNTuaZRg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-color@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.16.1.tgz#0f298ba74dee818b663834cd80d53e56f3755233" + integrity sha512-9yQttBAO5SEFj7S6nJK54f+1BnuBG4c28q+iyzm1JjtnehjqMg6Ljw4gCSDCvoCQ3jBSYHN66pmwTV74SU1B7A== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + tinycolor2 "^1.4.1" + +"@jimp/plugin-contain@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.16.1.tgz#3c5f5c495fd9bb08a970739d83694934f58123f2" + integrity sha512-44F3dUIjBDHN+Ym/vEfg+jtjMjAqd2uw9nssN67/n4FdpuZUVs7E7wadKY1RRNuJO+WgcD5aDQcsvurXMETQTg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-cover@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.16.1.tgz#0e8caec16a40abe15b1b32e5383a603a3306dc41" + integrity sha512-YztWCIldBAVo0zxcQXR+a/uk3/TtYnpKU2CanOPJ7baIuDlWPsG+YE4xTsswZZc12H9Kl7CiziEbDtvF9kwA/Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-crop@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.16.1.tgz#b362497c873043fe47ba881ab08604bf7226f50f" + integrity sha512-UQdva9oQzCVadkyo3T5Tv2CUZbf0klm2cD4cWMlASuTOYgaGaFHhT9st+kmfvXjKL8q3STkBu/zUPV6PbuV3ew== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-displace@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.16.1.tgz#4dd9db518c3e78de9d723f86a234bf98922afe8d" + integrity sha512-iVAWuz2+G6Heu8gVZksUz+4hQYpR4R0R/RtBzpWEl8ItBe7O6QjORAkhxzg+WdYLL2A/Yd4ekTpvK0/qW8hTVw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-dither@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.16.1.tgz#b47de2c0bb09608bed228b41c3cd01a85ec2d45b" + integrity sha512-tADKVd+HDC9EhJRUDwMvzBXPz4GLoU6s5P7xkVq46tskExYSptgj5713J5Thj3NMgH9Rsqu22jNg1H/7tr3V9Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-fisheye@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.1.tgz#f625047b6cdbe1b83b89e9030fd025ab19cdb1a4" + integrity sha512-BWHnc5hVobviTyIRHhIy9VxI1ACf4CeSuCfURB6JZm87YuyvgQh5aX5UDKtOz/3haMHXBLP61ZBxlNpMD8CG4A== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-flip@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.16.1.tgz#7a99ea22bde802641017ed0f2615870c144329bb" + integrity sha512-KdxTf0zErfZ8DyHkImDTnQBuHby+a5YFdoKI/G3GpBl3qxLBvC+PWkS2F/iN3H7wszP7/TKxTEvWL927pypT0w== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-gaussian@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.1.tgz#0845e314085ccd52e34fad9a83949bc0d81a68e8" + integrity sha512-u9n4wjskh3N1mSqketbL6tVcLU2S5TEaFPR40K6TDv4phPLZALi1Of7reUmYpVm8mBDHt1I6kGhuCJiWvzfGyg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-invert@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.16.1.tgz#7e6f5a15707256f3778d06921675bbcf18545c97" + integrity sha512-2DKuyVXANH8WDpW9NG+PYFbehzJfweZszFYyxcaewaPLN0GxvxVLOGOPP1NuUTcHkOdMFbE0nHDuB7f+sYF/2w== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-mask@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.16.1.tgz#e7f2460e05c3cda7af5e76f33ccb0579f66f90df" + integrity sha512-snfiqHlVuj4bSFS0v96vo2PpqCDMe4JB+O++sMo5jF5mvGcGL6AIeLo8cYqPNpdO6BZpBJ8MY5El0Veckhr39Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-normalize@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.16.1.tgz#032dfd88eefbc4dedc8b1b2d243832e4f3af30c8" + integrity sha512-dOQfIOvGLKDKXPU8xXWzaUeB0nvkosHw6Xg1WhS1Z5Q0PazByhaxOQkSKgUryNN/H+X7UdbDvlyh/yHf3ITRaw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-print@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.16.1.tgz#66b803563f9d109825970714466e6ab9ae639ff6" + integrity sha512-ceWgYN40jbN4cWRxixym+csyVymvrryuKBQ+zoIvN5iE6OyS+2d7Mn4zlNgumSczb9GGyZZESIgVcBDA1ezq0Q== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + load-bmfont "^1.4.0" + +"@jimp/plugin-resize@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.16.1.tgz#65e39d848ed13ba2d6c6faf81d5d590396571d10" + integrity sha512-u4JBLdRI7dargC04p2Ha24kofQBk3vhaf0q8FwSYgnCRwxfvh2RxvhJZk9H7Q91JZp6wgjz/SjvEAYjGCEgAwQ== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-rotate@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.16.1.tgz#53fb5d51a4b3d05af9c91c2a8fffe5d7a1a47c8c" + integrity sha512-ZUU415gDQ0VjYutmVgAYYxC9Og9ixu2jAGMCU54mSMfuIlmohYfwARQmI7h4QB84M76c9hVLdONWjuo+rip/zg== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-scale@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.16.1.tgz#89f6ba59feed3429847ed226aebda33a240cc647" + integrity sha512-jM2QlgThIDIc4rcyughD5O7sOYezxdafg/2Xtd1csfK3z6fba3asxDwthqPZAgitrLgiKBDp6XfzC07Y/CefUw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-shadow@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.16.1.tgz#a7af892a740febf41211e10a5467c3c5c521a04c" + integrity sha512-MeD2Is17oKzXLnsphAa1sDstTu6nxscugxAEk3ji0GV1FohCvpHBcec0nAq6/czg4WzqfDts+fcPfC79qWmqrA== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugin-threshold@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.16.1.tgz#34f3078f9965145b7ae26c53a32ad74b1195bbf5" + integrity sha512-iGW8U/wiCSR0+6syrPioVGoSzQFt4Z91SsCRbgNKTAk7D+XQv6OI78jvvYg4o0c2FOlwGhqz147HZV5utoSLxA== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + +"@jimp/plugins@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.16.1.tgz#9f08544c97226d6460a16ced79f57e85bec3257b" + integrity sha512-c+lCqa25b+4q6mJZSetlxhMoYuiltyS+ValLzdwK/47+aYsq+kcJNl+TuxIEKf59yr9+5rkbpsPkZHLF/V7FFA== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/plugin-blit" "^0.16.1" + "@jimp/plugin-blur" "^0.16.1" + "@jimp/plugin-circle" "^0.16.1" + "@jimp/plugin-color" "^0.16.1" + "@jimp/plugin-contain" "^0.16.1" + "@jimp/plugin-cover" "^0.16.1" + "@jimp/plugin-crop" "^0.16.1" + "@jimp/plugin-displace" "^0.16.1" + "@jimp/plugin-dither" "^0.16.1" + "@jimp/plugin-fisheye" "^0.16.1" + "@jimp/plugin-flip" "^0.16.1" + "@jimp/plugin-gaussian" "^0.16.1" + "@jimp/plugin-invert" "^0.16.1" + "@jimp/plugin-mask" "^0.16.1" + "@jimp/plugin-normalize" "^0.16.1" + "@jimp/plugin-print" "^0.16.1" + "@jimp/plugin-resize" "^0.16.1" + "@jimp/plugin-rotate" "^0.16.1" + "@jimp/plugin-scale" "^0.16.1" + "@jimp/plugin-shadow" "^0.16.1" + "@jimp/plugin-threshold" "^0.16.1" + timm "^1.6.1" + +"@jimp/png@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/png/-/png-0.16.1.tgz#f24cfc31529900b13a2dd9d4fdb4460c1e4d814e" + integrity sha512-iyWoCxEBTW0OUWWn6SveD4LePW89kO7ZOy5sCfYeDM/oTPLpR8iMIGvZpZUz1b8kvzFr27vPst4E5rJhGjwsdw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/utils" "^0.16.1" + pngjs "^3.3.3" + +"@jimp/tiff@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.16.1.tgz#0e8756695687d7574b6bc73efab0acd4260b7a12" + integrity sha512-3K3+xpJS79RmSkAvFMgqY5dhSB+/sxhwTFA9f4AVHUK0oKW+u6r52Z1L0tMXHnpbAdR9EJ+xaAl2D4x19XShkQ== + dependencies: + "@babel/runtime" "^7.7.2" + utif "^2.0.1" + +"@jimp/types@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/types/-/types-0.16.1.tgz#0dbab37b3202315c91010f16c31766d35a2322cc" + integrity sha512-g1w/+NfWqiVW4CaXSJyD28JQqZtm2eyKMWPhBBDCJN9nLCN12/Az0WFF3JUAktzdsEC2KRN2AqB1a2oMZBNgSQ== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/bmp" "^0.16.1" + "@jimp/gif" "^0.16.1" + "@jimp/jpeg" "^0.16.1" + "@jimp/png" "^0.16.1" + "@jimp/tiff" "^0.16.1" + timm "^1.6.1" + +"@jimp/utils@^0.16.1": + version "0.16.1" + resolved "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.16.1.tgz#2f51e6f14ff8307c4aa83d5e1a277da14a9fe3f7" + integrity sha512-8fULQjB0x4LzUSiSYG6ZtQl355sZjxbv8r9PPAuYHzS9sGiSHJQavNqK/nKnpDsVkU88/vRGcE7t3nMU0dEnVw== + dependencies: + "@babel/runtime" "^7.7.2" + regenerator-runtime "^0.13.3" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" + integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + version "3.0.7" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" + integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== + +"@jridgewell/set-array@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" + integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + version "1.4.13" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" + integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== +"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" + integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" "@malept/cross-spawn-promise@^1.1.0": version "1.1.1" - resolved "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d" integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ== dependencies: cross-spawn "^7.0.1" "@malept/flatpak-bundler@^0.4.0": version "0.4.0" - resolved "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858" integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q== dependencies: debug "^4.1.1" @@ -993,12 +1322,12 @@ "@nornagon/put@0.0.8": version "0.0.8" - resolved "https://registry.npmjs.org/@nornagon/put/-/put-0.0.8.tgz" + resolved "https://registry.yarnpkg.com/@nornagon/put/-/put-0.0.8.tgz#9d497ec46c9364acc3f8b59aa3cf8ee4134ae337" integrity sha512-ugvXJjwF5ldtUpa7D95kruNJ41yFQDEKyF5CW4TgKJnh+W/zmlBzXXeKTyqIgwMFrkePN2JqOBqcF0M0oOunow== "@npmcli/fs@^2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.0.tgz#f2a21c28386e299d1a9fae8051d35ad180e33109" integrity sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ== dependencies: "@gar/promisify" "^1.1.3" @@ -1006,7 +1335,7 @@ "@npmcli/move-file@^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.0.tgz#417f585016081a0184cef3e38902cd917a9bbd02" integrity sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg== dependencies: mkdirp "^1.0.4" @@ -1014,60 +1343,60 @@ "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" - integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== "@protobufjs/base64@^1.1.2": version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== "@protobufjs/codegen@^2.0.4": version "2.0.4" - resolved "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== "@protobufjs/eventemitter@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" - integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== "@protobufjs/fetch@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" - integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== dependencies: "@protobufjs/aspromise" "^1.1.1" "@protobufjs/inquire" "^1.1.0" "@protobufjs/float@^1.0.2": version "1.0.2" - resolved "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" - integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== "@protobufjs/inquire@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" - integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== "@protobufjs/path@^1.1.2": version "1.1.2" - resolved "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" - integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== "@protobufjs/pool@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" - integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== "@protobufjs/utf8@^1.1.0": version "1.1.0" - resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" - integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== "@sentry/browser@6.19.2": version "6.19.2" - resolved "https://registry.npmjs.org/@sentry/browser/-/browser-6.19.2.tgz" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.2.tgz#c0f6df07584f3b36fa037067aea20b2c8c2095a3" integrity sha512-5VC44p5Vu2eJhVT39nLAJFgha5MjHDYCyZRR1ieeZt3a++otojPGBBAKNAtrEMGV+A2Z9AoneD6ZnDVlyb3GKg== dependencies: "@sentry/core" "6.19.2" @@ -1077,7 +1406,7 @@ "@sentry/core@6.19.2": version "6.19.2" - resolved "https://registry.npmjs.org/@sentry/core/-/core-6.19.2.tgz" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.2.tgz#dd35ba6ca41a2dd011c43f732bcdadbb52c06376" integrity sha512-yu1R3ewBT4udmB4v7sc4biQZ0Z0rfB9+TzB5ZKoCftbe6kqXjFMMaFRYNUF9HicVldKAsBktgkWw3+yfqGkw/A== dependencies: "@sentry/hub" "6.19.2" @@ -1088,7 +1417,7 @@ "@sentry/electron@^3.0.7": version "3.0.7" - resolved "https://registry.npmjs.org/@sentry/electron/-/electron-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/@sentry/electron/-/electron-3.0.7.tgz#d32ebd27d7fc9b0e7e8dd8498ee797fcaafb5a13" integrity sha512-Rahi1jgvjHnx1jGkkPPvDCxSCAME7xc2eBcFCLb4R/WDuNblR7tgJUuAtzv9JpxUgRHy1oLNct0wcvIu1mcXoA== dependencies: "@sentry/browser" "6.19.2" @@ -1101,7 +1430,7 @@ "@sentry/hub@6.19.2": version "6.19.2" - resolved "https://registry.npmjs.org/@sentry/hub/-/hub-6.19.2.tgz" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.2.tgz#0e9f9c507e55d8396002f644b43ef27cc9ff1289" integrity sha512-W7KCgNBgdBIMagOxy5J5KQPe+maYxSqfE8a5ncQ3R8BcZDQEKnkW/1FplNbfRLZqA/tL/ndKb7pTPqVtzsbARw== dependencies: "@sentry/types" "6.19.2" @@ -1109,18 +1438,18 @@ tslib "^1.9.3" "@sentry/integrations@^6.19.6": - version "6.19.6" - resolved "https://registry.npmjs.org/@sentry/integrations/-/integrations-6.19.6.tgz" - integrity sha512-K2xuA/ByhTh3qfIe0/XIsQSNf1HrRuIgtkC4TbU7T0QosybtXDsh6t/EWK+qzs2RjVE+Iaqldihstpoyew1JgA== + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-6.19.7.tgz#e6e126b692077c8731644224c754012bed65b425" + integrity sha512-yNeeFyuygJaV7Mdc5qWuDa13xVj5mVdECaaw2Xs4pfeHaXmRfRzZY17N8ypWFegKWxKBHynyQRMD10W5pBwJvA== dependencies: - "@sentry/types" "6.19.6" - "@sentry/utils" "6.19.6" + "@sentry/types" "6.19.7" + "@sentry/utils" "6.19.7" localforage "^1.8.1" tslib "^1.9.3" "@sentry/minimal@6.19.2": version "6.19.2" - resolved "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.19.2.tgz" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.2.tgz#e748541e4adbc7e80a3b6ccaf01b631c17fc44b4" integrity sha512-ClwxKm77iDHET7kpzv1JvzDx1er5DoNu+EUjst0kQzARIrXvu9xuZuE2/CnBWycQWqw8o3HoGoKz65uIhsUCzQ== dependencies: "@sentry/hub" "6.19.2" @@ -1129,7 +1458,7 @@ "@sentry/node@6.19.2": version "6.19.2" - resolved "https://registry.npmjs.org/@sentry/node/-/node-6.19.2.tgz" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.19.2.tgz#cad621ad319f555826110f4d6c972a2fc95800fc" integrity sha512-Z1qREpTpYHxaeWjc1zMUk8ZTAp1WbxMiI2TVNc+a14DVT19Z2xNXb06MiRfeLgNc9lVGdmzR62dPmMBjVgPJYg== dependencies: "@sentry/core" "6.19.2" @@ -1143,62 +1472,62 @@ "@sentry/types@6.19.2": version "6.19.2" - resolved "https://registry.npmjs.org/@sentry/types/-/types-6.19.2.tgz" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.2.tgz#0219c9da21ed975951108b8541913b1966464435" integrity sha512-XO5qmVBdTs+7PdCz7fAwn1afWxSnRE2KLBFg5/vOdKosPSSHsSHUURSkxiEZc2QsR+JpRB4AeQ26AkIRX38qTg== -"@sentry/types@6.19.6": - version "6.19.6" - resolved "https://registry.npmjs.org/@sentry/types/-/types-6.19.6.tgz" - integrity sha512-QH34LMJidEUPZK78l+Frt3AaVFJhEmIi05Zf8WHd9/iTt+OqvCHBgq49DDr1FWFqyYWm/QgW/3bIoikFpfsXyQ== +"@sentry/types@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7" + integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg== "@sentry/utils@6.19.2": version "6.19.2" - resolved "https://registry.npmjs.org/@sentry/utils/-/utils-6.19.2.tgz" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.2.tgz#995efb896c5159369509f4896c27a2d2ea9191f2" integrity sha512-2DQQ2OJaxjtyxGq5FmMlqb6hptsqMs2xoBiVRMkTS/rvyTrk1oQdKZ8ePwjtgX3nJ728ni3IXIyXV+vfGp4EBw== dependencies: "@sentry/types" "6.19.2" tslib "^1.9.3" -"@sentry/utils@6.19.6": - version "6.19.6" - resolved "https://registry.npmjs.org/@sentry/utils/-/utils-6.19.6.tgz" - integrity sha512-fAMWcsguL0632eWrROp/vhPgI7sBj/JROWVPzpabwVkm9z3m1rQm6iLFn4qfkZL8Ozy6NVZPXOQ7EXmeU24byg== +"@sentry/utils@6.19.7": + version "6.19.7" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79" + integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA== dependencies: - "@sentry/types" "6.19.6" + "@sentry/types" "6.19.7" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": version "0.14.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@sindresorhus/is@^4.0.0": version "4.6.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== "@szmarczak/http-timer@^1.1.2": version "1.1.2" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: defer-to-connect "^1.0.1" "@szmarczak/http-timer@^4.0.5": version "4.0.6" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== dependencies: defer-to-connect "^2.0.0" "@tokenizer/token@^0.3.0": version "0.3.0" - resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== "@tootallnate/once@2": version "2.0.0" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== "@types/adm-zip@^0.5.0": @@ -1210,7 +1539,7 @@ "@types/body-parser@*": version "1.19.2" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== dependencies: "@types/connect" "*" @@ -1218,7 +1547,7 @@ "@types/cacheable-request@^6.0.1": version "6.0.2" - resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== dependencies: "@types/http-cache-semantics" "*" @@ -1228,47 +1557,47 @@ "@types/connect@*": version "3.4.35" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== dependencies: "@types/node" "*" "@types/debug@^4.1.6": version "4.1.7" - resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== dependencies: "@types/ms" "*" -"@types/discord-rpc@4.0.2": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/discord-rpc/-/discord-rpc-4.0.2.tgz" - integrity sha512-0cmpmTvq4vR6UrYDV4Lb+D/NySNYAvCmRvKSN6YUwy+Jy7gTZ+dQpGG2E2kT8dqE8SwMDGWyLp71c0C5qRbtXA== +"@types/discord-rpc@4.0.3", "@types/discord-rpc@^4.0.2": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/discord-rpc/-/discord-rpc-4.0.3.tgz#3ff5bf9d406841e3744575df0a9e967f52df1ccb" + integrity sha512-4Kh+8u1+OXRHD5OHET3zbBInDkx3cMLaj8Qif8JQbgHZjiru2IYf/WHhuYdzjgtJ/J0CuImOpvt98+Bhe/lr1g== "@types/eslint-scope@^3.7.3": version "3.7.3" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.4.1" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz" - integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== + version "8.4.3" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.3.tgz#5c92815a3838b1985c90034cd85f26f59d9d0ece" + integrity sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^0.0.51": version "0.0.51" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/express-serve-static-core@^4.17.18": version "4.17.28" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== dependencies: "@types/node" "*" @@ -1277,7 +1606,7 @@ "@types/express@^4.17.13": version "4.17.13" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== dependencies: "@types/body-parser" "*" @@ -1287,14 +1616,14 @@ "@types/fs-extra@^9.0.11": version "9.0.13" - resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: "@types/node" "*" "@types/glob@^7.1.1": version "7.2.0" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" @@ -1302,60 +1631,65 @@ "@types/html-minifier-terser@^5.0.0": version "5.1.2" - resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== "@types/http-cache-semantics@*": version "4.0.1" - resolved "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== "@types/json-buffer@~3.0.0": version "3.0.0" - resolved "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/json-buffer/-/json-buffer-3.0.0.tgz#85c1ff0f0948fc159810d4b5be35bf8c20875f64" integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/keyv@*": version "3.1.4" - resolved "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== dependencies: "@types/node" "*" "@types/long@^4.0.1": - version "4.0.1" - resolved "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz" - integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== "@types/mime@^1": version "1.3.2" - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== "@types/minimatch@*": version "3.0.5" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/ms@*": version "0.7.31" - resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*", "@types/node@>=13.7.0": - version "17.0.25" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz" - integrity sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w== + version "17.0.42" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.42.tgz#d7e8f22700efc94d125103075c074396b5f41f9b" + integrity sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ== + +"@types/node@16.9.1": + version "16.9.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708" + integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g== "@types/node@^16.11.26": - version "16.11.27" - resolved "https://registry.npmjs.org/@types/node/-/node-16.11.27.tgz" - integrity sha512-C1pD3kgLoZ56Uuy5lhfOxie4aZlA3UMGLX9rXteq4WitEZH6Rl80mwactt9QG0w0gLFlN/kLBTFnGXtDVWvWQw== + version "16.11.39" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.39.tgz#07223cd2bc332ad9d92135e3a522eebdee3b060e" + integrity sha512-K0MsdV42vPwm9L6UwhIxMAOmcvH/1OoVkZyCgEtVu4Wx7sElGloy/W7kMBNe/oJ7V/jW9BVt1F6RahH6e7tPXw== "@types/plist@^3.0.1": version "3.0.2" @@ -1367,34 +1701,34 @@ "@types/qrcode-terminal@^0.12.0": version "0.12.0" - resolved "https://registry.npmjs.org/@types/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz" + resolved "https://registry.yarnpkg.com/@types/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#cee13a96db9346e3240e2128290465db56799961" integrity sha512-g0fQKl3IVnUePV8tLkiBTduxAVSZsXts444T2aMfjOEGxd7XoeSIs16/AmRe2NlcJLqbvsOBSXov7dKSo4wigA== "@types/qs@*": version "6.9.7" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== "@types/range-parser@*": version "1.2.4" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" - resolved "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== dependencies: "@types/node" "*" "@types/semver@^7.3.6": version "7.3.9" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== "@types/serve-static@*": version "1.13.10" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== dependencies: "@types/mime" "^1" @@ -1402,18 +1736,18 @@ "@types/source-list-map@*": version "0.1.2" - resolved "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== "@types/tapable@^1", "@types/tapable@^1.0.5": version "1.0.8" - resolved "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/uglify-js@*": - version "3.13.2" - resolved "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.2.tgz" - integrity sha512-/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q== + version "3.16.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.16.0.tgz#2cf74a0e6ebb6cd54c0d48e509d5bd91160a9602" + integrity sha512-0yeUr92L3r0GLRnBOvtYK1v2SjqMIqQDHMl7GLb+l2L8+6LSFWEEWEIgVsPdMn5ImLM8qzWT8xFPtQYpp8co0g== dependencies: source-map "^0.6.1" @@ -1423,13 +1757,13 @@ integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw== "@types/webpack-env@^1.15.1": - version "1.16.4" - resolved "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.16.4.tgz" - integrity sha512-llS8qveOUX3wxHnSykP5hlYFFuMfJ9p5JvIyCiBgp7WTfl6K5ZcyHj8r8JsN/J6QODkAsRRCLIcTuOCu8etkUw== + version "1.17.0" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.17.0.tgz#f99ce359f1bfd87da90cc4a57cab0a18f34a48d0" + integrity sha512-eHSaNYEyxRA5IAG0Ym/yCyf86niZUIF/TpWKofQI/CVfh5HsMEUyfE2kwFxha4ow0s5g0LfISQxpDKjbRDrizw== "@types/webpack-sources@*": version "3.2.0" - resolved "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== dependencies: "@types/node" "*" @@ -1438,7 +1772,7 @@ "@types/webpack@^4.41.8": version "4.41.32" - resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== dependencies: "@types/node" "*" @@ -1450,26 +1784,26 @@ "@types/ws@^8.5.3": version "8.5.3" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== dependencies: "@types/node" "*" "@types/yargs-parser@*": version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.1": version "17.0.10" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.10.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== dependencies: "@types/yargs-parser" "*" "@webassemblyjs/ast@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== dependencies: "@webassemblyjs/helper-numbers" "1.11.1" @@ -1477,22 +1811,22 @@ "@webassemblyjs/floating-point-hex-parser@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== "@webassemblyjs/helper-api-error@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== "@webassemblyjs/helper-buffer@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== "@webassemblyjs/helper-numbers@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" @@ -1501,12 +1835,12 @@ "@webassemblyjs/helper-wasm-bytecode@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== "@webassemblyjs/helper-wasm-section@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== dependencies: "@webassemblyjs/ast" "1.11.1" @@ -1516,26 +1850,26 @@ "@webassemblyjs/ieee754@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== "@webassemblyjs/wasm-edit@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== dependencies: "@webassemblyjs/ast" "1.11.1" @@ -1549,7 +1883,7 @@ "@webassemblyjs/wasm-gen@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== dependencies: "@webassemblyjs/ast" "1.11.1" @@ -1560,7 +1894,7 @@ "@webassemblyjs/wasm-opt@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== dependencies: "@webassemblyjs/ast" "1.11.1" @@ -1570,7 +1904,7 @@ "@webassemblyjs/wasm-parser@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== dependencies: "@webassemblyjs/ast" "1.11.1" @@ -1582,7 +1916,7 @@ "@webassemblyjs/wast-printer@1.11.1": version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== dependencies: "@webassemblyjs/ast" "1.11.1" @@ -1590,22 +1924,22 @@ "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== abbrev@1: version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== abstract-socket@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/abstract-socket/-/abstract-socket-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/abstract-socket/-/abstract-socket-2.1.1.tgz#243a7e6e6ff65bb9eab16a22fa90699b91e528f7" integrity sha512-YZJizsvS1aBua5Gd01woe4zuyYBGgSMeqDOB6/ChwdTI904KP6QGtJswXl4hcqWxbz86hQBe++HWV0hF1aGUtA== dependencies: bindings "^1.2.1" @@ -1613,7 +1947,7 @@ abstract-socket@^2.0.0: accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: mime-types "~2.1.34" @@ -1621,13 +1955,13 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: acorn-import-assertions@^1.7.6: version "1.8.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== acorn@^8.4.1, acorn@^8.5.0: - version "8.7.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== adm-zip@0.4.10: version "0.4.10" @@ -1636,14 +1970,14 @@ adm-zip@0.4.10: agent-base@6, agent-base@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" agentkeepalive@^4.2.1: version "4.2.1" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.2.1.tgz#a7975cbb9f83b367f06c90cc51ff28fe7d499717" integrity sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA== dependencies: debug "^4.1.0" @@ -1652,32 +1986,49 @@ agentkeepalive@^4.2.1: aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" +"airtunes2@git+https://github.com/ciderapp/node_airtunes2": + version "2.2.1" + resolved "git+https://github.com/ciderapp/node_airtunes2#8f367df5d7900a8c26dcd403854228ab5722efdb" + dependencies: + async "^3.2.1" + axlsign "git+https://github.com/wavesplatform/curve25519-js.git" + big-integer "^1.6.25" + crypto-js "^4.1.1" + elliptic "^6.4.0" + js-crypto-aes "^1.0.4" + js-sha1 "^0.4.1" + lodash "^4.17.4" + parse-raw-http "0.0.1" + prebuild-install "^7.1.0" + simple-plist "^1.3.1" + yargs "^9.0.1" + ajv-errors@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== ajv-formats@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== dependencies: ajv "^8.0.0" ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.1, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + 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" @@ -1687,7 +2038,7 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.1, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: ajv@^8.0.0, ajv@^8.6.3: version "8.11.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== dependencies: fast-deep-equal "^3.1.1" @@ -1697,53 +2048,63 @@ ajv@^8.0.0, ajv@^8.6.3: ansi-align@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: string-width "^4.1.0" ansi-colors@^3.0.0: version "3.2.4" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== ansi-html-community@0.0.8: version "0.0.8" - resolved "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== ansi-regex@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== ansi-regex@^4.1.0: version "4.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + 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.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" +any-base@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe" + integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg== + anymatch@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== dependencies: micromatch "^3.1.4" @@ -1751,7 +2112,7 @@ anymatch@^2.0.0: anymatch@^3.0.0, anymatch@~3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" @@ -1759,12 +2120,12 @@ anymatch@^3.0.0, anymatch@~3.1.2: app-builder-bin@4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0" integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA== app-builder-lib@23.0.3: version "23.0.3" - resolved "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.0.3.tgz" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.0.3.tgz#44c90237abdc4ad9b34a24658bee022828ad6205" integrity sha512-1qrtXYHXJfXhzJnMtVGjIva3067F1qYQubl2oBjI61gCBoCHvhghdYJ57XxXTQQ0VxnUhg1/Iaez87uXp8mD8w== dependencies: "7zip-bin" "~5.1.1" @@ -1795,17 +2156,17 @@ app-builder-lib@23.0.3: "aproba@^1.0.3 || ^2.0.0": version "2.0.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== aproba@^1.1.1: version "1.2.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== are-we-there-yet@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz#ba20bd6b553e31d62fc8c31bd23d22b95734390d" integrity sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw== dependencies: delegates "^1.0.0" @@ -1813,61 +2174,72 @@ are-we-there-yet@^3.0.0: argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== arr-diff@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== arr-flatten@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + 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.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-flatten@^2.1.0: version "2.1.2" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== array-union@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" - resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== array-unique@^0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +array.prototype.reduce@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f" + integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.2" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" asar@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/asar/-/asar-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473" integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ== dependencies: chromium-pickle-js "^0.2.0" @@ -1880,12 +2252,12 @@ asar@^3.1.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= + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== assign-symbols@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== astral-regex@^2.0.0: version "2.0.0" @@ -1894,55 +2266,59 @@ astral-regex@^2.0.0: async-each@^1.0.1: version "1.0.3" - resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== async-exit-hook@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== async-limiter@~1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@0.9.x: - version "0.9.2" - resolved "https://registry.npmjs.org/async/-/async-0.9.2.tgz" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= - async@^2.6.0, async@^2.6.2: version "2.6.4" - resolved "https://registry.npmjs.org/async/-/async-2.6.4.tgz" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== dependencies: lodash "^4.17.14" +async@^3.2.1, async@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + 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.npmjs.org/atob/-/atob-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== atomically@^1.7.0: version "1.7.0" - resolved "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz" + resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe" integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w== +"axlsign@git+https://github.com/wavesplatform/curve25519-js.git": + version "1.0.0" + resolved "git+https://github.com/wavesplatform/curve25519-js.git#cae68782564b83ffa1c7c757e40a3944cb140290" + babel-loader@^8.1.0: - version "8.2.4" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz" - integrity sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A== + version "8.2.5" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" + integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== dependencies: find-cache-dir "^3.3.1" loader-utils "^2.0.0" @@ -1951,21 +2327,21 @@ babel-loader@^8.1.0: babel-plugin-component@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-component/-/babel-plugin-component-1.1.1.tgz#9b023a23ff5c9aae0fd56c5a18b9cab8c4d45eea" integrity sha512-WUw887kJf2GH80Ng/ZMctKZ511iamHNqPhd9uKo14yzisvV7Wt1EckIrb8oq/uCz3B3PpAW7Xfl7AkTLDYT6ag== dependencies: "@babel/helper-module-imports" "7.0.0-beta.35" babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + 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-polyfill-corejs2@^0.3.0: version "0.3.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== dependencies: "@babel/compat-data" "^7.13.11" @@ -1974,7 +2350,7 @@ babel-plugin-polyfill-corejs2@^0.3.0: babel-plugin-polyfill-corejs3@^0.5.0: version "0.5.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" @@ -1982,24 +2358,24 @@ babel-plugin-polyfill-corejs3@^0.5.0: babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== dependencies: "@babel/helper-define-polyfill-provider" "^0.3.1" balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== dependencies: cache-base "^1.0.1" @@ -2012,63 +2388,89 @@ base@^0.11.1: batch@0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big-integer@1.6.x, big-integer@^1.6.25: + version "1.6.51" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== big.js@^5.2.2: version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^1.0.0: version "1.13.1" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.2.1, bindings@^1.3.0, bindings@^1.5.0: +bindings@^1.2.1, bindings@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== dependencies: file-uri-to-path "1.0.0" +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + bluebird-lst@^1.0.9: version "1.0.9" - resolved "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz" + resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== dependencies: bluebird "^3.5.5" bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -body-parser@1.19.2: - version "1.19.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== +bmp-js@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" + integrity sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +body-parser@1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== dependencies: bytes "3.1.2" content-type "~1.0.4" debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" + on-finished "2.4.1" + qs "6.10.3" + raw-body "2.5.1" type-is "~1.6.18" + unpipe "1.0.0" bonjour@^3.5.0: version "3.5.0" - resolved "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg== dependencies: array-flatten "^2.1.0" deep-equal "^1.0.1" @@ -2079,17 +2481,17 @@ bonjour@^3.5.0: boolbase@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== boolean@^3.0.1: version "3.2.0" - resolved "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== boxen@^5.0.0: version "5.1.2" - resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== dependencies: ansi-align "^3.0.0" @@ -2101,17 +2503,38 @@ boxen@^5.0.0: widest-line "^3.1.0" wrap-ansi "^7.0.0" +bplist-creator@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" + integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== + dependencies: + stream-buffers "2.2.x" + +bplist-parser@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.1.tgz#e1c90b2ca2a9f9474cc72f6862bbf3fee8341fd1" + integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA== + dependencies: + big-integer "1.6.x" + brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + 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" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^2.3.1, braces@^2.3.2: version "2.3.2" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== dependencies: arr-flatten "^1.1.0" @@ -2127,30 +2550,35 @@ braces@^2.3.1, braces@^2.3.2: braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.20.2: - version "4.20.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz" - integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserslist@^4.14.5, browserslist@^4.20.2, browserslist@^4.20.3: + version "4.20.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" + integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== dependencies: - caniuse-lite "^1.0.30001317" - electron-to-chromium "^1.4.84" + caniuse-lite "^1.0.30001349" + electron-to-chromium "^1.4.147" escalade "^3.1.1" - node-releases "^2.0.2" + node-releases "^2.0.5" picocolors "^1.0.0" buffer-alloc-unsafe@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== buffer-alloc@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== dependencies: buffer-alloc-unsafe "^1.1.0" @@ -2158,30 +2586,35 @@ buffer-alloc@^1.2.0: buffer-crc32@~0.2.3: version "0.2.13" - resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + integrity sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA== buffer-equal@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ== buffer-fill@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-indexof@^1.0.0: version "1.1.1" - resolved "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== -buffer@^5.1.0: +buffer@^5.1.0, buffer@^5.2.0, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -2191,7 +2624,7 @@ buffer@^5.1.0: builder-util-runtime@9.0.0: version "9.0.0" - resolved "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.0.0.tgz" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.0.tgz#3a40ba7382712ccdb24471567f91d7c167e00830" integrity sha512-SkpEtSmTkREDHRJnxKEv43aAYp8sYWY8fxYBhGLBLOBIRXeaIp6Kv3lBgSD7uR8jQtC7CA659sqJrpSV6zNvSA== dependencies: debug "^4.3.2" @@ -2199,7 +2632,7 @@ builder-util-runtime@9.0.0: builder-util@23.0.2: version "23.0.2" - resolved "https://registry.npmjs.org/builder-util/-/builder-util-23.0.2.tgz" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.0.2.tgz#da84a971076397e3a671726f4bb96f0c2214fea7" integrity sha512-HaNHL3axNW/Ms8O1mDx3I07G+ZnZ/TKSWWvorOAPau128cdt9S+lNx5ocbx8deSaHHX4WFXSZVHh3mxlaKJNgg== dependencies: "7zip-bin" "~5.1.1" @@ -2222,17 +2655,17 @@ builder-util@23.0.2: bytes@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== bytes@3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cacache@^13.0.1: version "13.0.1" - resolved "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== dependencies: chownr "^1.1.2" @@ -2254,16 +2687,16 @@ cacache@^13.0.1: ssri "^7.0.0" unique-filename "^1.1.1" -cacache@^16.0.2: - version "16.0.4" - resolved "https://registry.npmjs.org/cacache/-/cacache-16.0.4.tgz" - integrity sha512-U0D4wF3/W8ZgK4qDA5fTtOVSr0gaDfd5aa7tUdAV0uukVWKsAIn6SzXQCoVlg7RWZiJa+bcsM3/pXLumGaL2Ug== +cacache@^16.1.0: + version "16.1.1" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.1.tgz#4e79fb91d3efffe0630d5ad32db55cc1b870669c" + integrity sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg== dependencies: "@npmcli/fs" "^2.1.0" "@npmcli/move-file" "^2.0.0" chownr "^2.0.0" fs-minipass "^2.1.0" - glob "^7.2.0" + glob "^8.0.1" infer-owner "^1.0.4" lru-cache "^7.7.1" minipass "^3.1.6" @@ -2280,7 +2713,7 @@ cacache@^16.0.2: cache-base@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + 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" @@ -2295,12 +2728,12 @@ cache-base@^1.0.1: cacheable-lookup@^5.0.3: version "5.0.4" - resolved "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== cacheable-request@^6.0.0: version "6.1.0" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== dependencies: clone-response "^1.0.2" @@ -2313,7 +2746,7 @@ cacheable-request@^6.0.0: cacheable-request@^7.0.2: version "7.0.2" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== dependencies: clone-response "^1.0.2" @@ -2326,7 +2759,7 @@ cacheable-request@^7.0.2: call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + 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" @@ -2334,38 +2767,43 @@ call-bind@^1.0.0, call-bind@^1.0.2: camel-case@^4.1.1: version "4.1.2" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: pascal-case "^3.1.2" tslib "^2.0.3" +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw== + camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001317: - version "1.0.30001332" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz" - integrity sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw== +caniuse-lite@^1.0.30001349: + version "1.0.30001352" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001352.tgz#cc6f5da3f983979ad1e2cdbae0505dccaa7c6a12" + integrity sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA== castv2-client@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/castv2-client/-/castv2-client-1.2.0.tgz" - integrity sha1-qRk7GlRIuMuaBBW9AhyIEe17BUQ= + resolved "https://registry.yarnpkg.com/castv2-client/-/castv2-client-1.2.0.tgz#a9193b1a5448b8cb9a0415bd021c8811ed7b0544" + integrity sha512-2diOsC0vSSxa3QEOgoGBy9fZRHzNXatHz464Kje2OpwQ7GM5vulyrD0gLFOQ1P4rgLAFsYiSGQl4gK402nEEuA== dependencies: castv2 "~0.1.4" debug "^2.2.0" castv2@~0.1.4: version "0.1.10" - resolved "https://registry.npmjs.org/castv2/-/castv2-0.1.10.tgz" + resolved "https://registry.yarnpkg.com/castv2/-/castv2-0.1.10.tgz#d3df00124f1ba8a97691c69dd44221d3b5f93c56" integrity sha512-3QWevHrjT22KdF08Y2a217IYCDQDP7vEJaY4n0lPBeC5UBYbMFMadDfVTsaQwq7wqsEgYUHElPGm3EO1ey+TNw== dependencies: debug "^4.1.1" @@ -2373,7 +2811,7 @@ castv2@~0.1.4: chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + 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" @@ -2382,7 +2820,7 @@ chalk@^2.0.0, chalk@^2.4.2: chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -2390,7 +2828,7 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1: chokidar@^2.1.8: version "2.1.8" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== dependencies: anymatch "^2.0.0" @@ -2409,7 +2847,7 @@ chokidar@^2.1.8: chokidar@^3.5.3: version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -2422,39 +2860,39 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.2: +chownr@^1.1.1, chownr@^1.1.2: version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chownr@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== chromium-pickle-js@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz" - integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU= + resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" + integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.1.tgz#58331f6f472a25fe3a50a351ae3052936c2c7f32" + integrity sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg== class-utils@^0.3.5: version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + 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" @@ -2464,19 +2902,19 @@ class-utils@^0.3.5: clean-css@^4.2.3: version "4.2.4" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== dependencies: source-map "~0.6.0" clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-boxes@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-truncate@^2.1.0: @@ -2487,9 +2925,18 @@ cli-truncate@^2.1.0: slice-ansi "^3.0.0" string-width "^4.2.0" +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + integrity sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w== + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + cliui@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: string-width "^3.1.0" @@ -2498,7 +2945,7 @@ cliui@^5.0.0: cliui@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== dependencies: string-width "^4.2.0" @@ -2507,7 +2954,7 @@ cliui@^6.0.0: cliui@^7.0.2: version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" @@ -2516,115 +2963,120 @@ cliui@^7.0.2: clone-response@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== dependencies: mimic-response "^1.0.0" +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 sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== + collection-visit@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== dependencies: map-visit "^1.0.0" object-visit "^1.0.0" color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + 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.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + 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.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-support@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== colors@1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw== combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + 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@2.9.0: version "2.9.0" - resolved "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" - integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A== dependencies: graceful-readlink ">= 1.0.0" commander@^2.20.0: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commander@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + 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.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== compare-version@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz" - integrity sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA= + resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" + integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A== component-emitter@^1.2.1: version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -compress-brotli@^1.3.6: - version "1.3.6" - resolved "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.6.tgz" - integrity sha512-au99/GqZtUtiCBliqLFbWlhnCxn+XSYjwZ77q6mKN4La4qOXDoLVPZ50iXr0WmAyMxl8yqoq3Yq4OeQNPPkyeQ== +compress-brotli@^1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/compress-brotli/-/compress-brotli-1.3.8.tgz#0c0a60c97a989145314ec381e84e26682e7b38db" + integrity sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ== dependencies: "@types/json-buffer" "~3.0.0" json-buffer "~3.0.1" compressible@~2.0.16: version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: mime-db ">= 1.43.0 < 2" compression@^1.7.4: version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: accepts "~1.3.5" @@ -2637,12 +3089,12 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concat-stream@^1.6.2: version "1.6.2" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== dependencies: buffer-from "^1.0.0" @@ -2650,9 +3102,9 @@ concat-stream@^1.6.2: readable-stream "^2.2.2" typedarray "^0.0.6" -conf@^10.0.3: +conf@^10.1.2: version "10.1.2" - resolved "https://registry.npmjs.org/conf/-/conf-10.1.2.tgz" + resolved "https://registry.yarnpkg.com/conf/-/conf-10.1.2.tgz#50132158f388756fa9dea3048f6b47935315c14e" integrity sha512-o9Fv1Mv+6A0JpoayQ8JleNp3hhkbOJP/Re/Q+QqxMPHPkABVsRjQGWZn9A5GcqLiTNC6d89p2PB5ZhHVDSMwyg== dependencies: ajv "^8.6.3" @@ -2668,7 +3120,7 @@ conf@^10.0.3: config-chain@^1.1.11: version "1.1.13" - resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" @@ -2676,7 +3128,7 @@ config-chain@^1.1.11: configstore@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: dot-prop "^5.2.0" @@ -2688,46 +3140,51 @@ configstore@^5.0.1: connect-history-api-fallback@^1.6.0: version "1.6.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== console-control-strings@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== content-disposition@0.5.4: version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== dependencies: safe-buffer "5.2.1" content-type@^1.0.4, content-type@~1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== convert-source-map@^1.7.0: version "1.8.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + 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" cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.4.2, cookie@^0.4.1: +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +cookie@^0.4.1: version "0.4.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== copy-concurrently@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== dependencies: aproba "^1.1.1" @@ -2739,25 +3196,25 @@ copy-concurrently@^1.0.0: copy-descriptor@^0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== -core-js-compat@^3.20.2, core-js-compat@^3.21.0: - version "3.22.0" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.0.tgz" - integrity sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ== +core-js-compat@^3.21.0, core-js-compat@^3.22.1: + version "3.22.8" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.8.tgz#46fa34ce1ddf742acd7f95f575f66bbb21e05d62" + integrity sha512-pQnwg4xtuvc2Bs/5zYQPaEYYSuTxsF7LBWF0SvnVhthZo/Qe+rJpcEekrdNK5DWwDJ0gv0oI9NNX5Mppdy0ctg== dependencies: - browserslist "^4.20.2" + browserslist "^4.20.3" semver "7.0.0" core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== crc@^3.8.0: @@ -2769,14 +3226,23 @@ crc@^3.8.0: crocket@^0.9.11: version "0.9.11" - resolved "https://registry.npmjs.org/crocket/-/crocket-0.9.11.tgz" - integrity sha1-KI/KEe8NPdI5tixIgmXzDI7fsMU= + resolved "https://registry.yarnpkg.com/crocket/-/crocket-0.9.11.tgz#288fca11ef0d3dd239b62c488265f30c8edfb0c5" + integrity sha512-Ylflbm4qvJCC/G76Yp62PrSzEpYYrzTvkxGQFwgwbDj2PakNOwOns6NBs2YYS+TrPXAUq68N5fee7Gia+Z13tw== dependencies: xpipe "*" +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -2787,7 +3253,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -2796,17 +3262,22 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3: cross-unzip@0.0.2: version "0.0.2" - resolved "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz" - integrity sha1-UYO8R6CVWb78+YzEZXlkmZNZNy8= + resolved "https://registry.yarnpkg.com/cross-unzip/-/cross-unzip-0.0.2.tgz#5183bc47a09559befcf98cc4657964999359372f" + integrity sha512-nRJ5c+aqHz0OJVU4V1bqoaDggydfauK/Gha/H/ScBvuIjhZvl8YIpdWVzSR3vUhzCloqB1tvBdQ4V7J8qK7HzQ== + +crypto-js@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" + integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== crypto-random-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== css-hot-loader@^1.4.4: version "1.4.4" - resolved "https://registry.npmjs.org/css-hot-loader/-/css-hot-loader-1.4.4.tgz" + resolved "https://registry.yarnpkg.com/css-hot-loader/-/css-hot-loader-1.4.4.tgz#ae784932cd8b7d092f7f15702af08b3ec9436052" integrity sha512-J/qXHz+r7FOT92qMIJfxUk0LC9fecQNZVr0MswQ4FOpKLyOCBjofVMfc6R268bh/5ktkTShrweMr0wWqerC92g== dependencies: loader-utils "^1.1.0" @@ -2815,7 +3286,7 @@ css-hot-loader@^1.4.4: css-loader@^3.4.2: version "3.6.0" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== dependencies: camelcase "^5.3.1" @@ -2834,7 +3305,7 @@ css-loader@^3.4.2: css-select@^4.1.3: version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -2845,17 +3316,17 @@ css-select@^4.1.3: css-what@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== dbus-next@^0.9.2: version "0.9.2" - resolved "https://registry.npmjs.org/dbus-next/-/dbus-next-0.9.2.tgz" + resolved "https://registry.yarnpkg.com/dbus-next/-/dbus-next-0.9.2.tgz#d69a24ea5b54d90ab6bd543c7b81bcb965a99f93" integrity sha512-tzQq/+wrTZ2yU+U5PoeXc97KABhX2v55C/T0finH3tSKYuI8H/SqppIFymBBrUHcK13LvEGY3vdj3ikPPenL5g== dependencies: "@nornagon/put" "0.0.8" @@ -2870,59 +3341,59 @@ dbus-next@^0.9.2: debounce-fn@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7" integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ== dependencies: mimic-fn "^3.0.0" debug@2.6.9, debug@^2.1.0, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" debug@^3.1.0, debug@^3.1.1, debug@^3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -decamelize@^1.2.0: +decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decode-uri-component@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== decompress-response@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== dependencies: mimic-response "^1.0.0" decompress-response@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== dependencies: mimic-response "^3.1.0" deep-equal@^1.0.1: version "1.1.1" - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== dependencies: is-arguments "^1.0.4" @@ -2934,17 +3405,17 @@ deep-equal@^1.0.1: deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deepmerge@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== default-gateway@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== dependencies: execa "^1.0.0" @@ -2952,17 +3423,17 @@ default-gateway@^4.2.0: defer-to-connect@^1.0.1: version "1.1.3" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== defer-to-connect@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: has-property-descriptors "^1.0.0" @@ -2970,21 +3441,21 @@ define-properties@^1.1.2, define-properties@^1.1.3: define-property@^0.2.5: version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== dependencies: is-descriptor "^1.0.0" define-property@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + 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" @@ -2992,7 +3463,7 @@ define-property@^2.0.2: del@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/del/-/del-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== dependencies: "@types/glob" "^7.1.1" @@ -3005,47 +3476,57 @@ del@^4.1.1: delay@^4.3.0: version "4.4.1" - resolved "https://registry.npmjs.org/delay/-/delay-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/delay/-/delay-4.4.1.tgz#6e02d02946a1b6ab98b39262ced965acba2ac4d1" integrity sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ== delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== delegates@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== depd@^1.1.2, depd@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-file@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q== + +detect-libc@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" + integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== detect-node@^2.0.4: version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== dijkstrajs@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== dir-compare@^2.4.0: version "2.4.0" - resolved "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz" + resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631" integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA== dependencies: buffer-equal "1.0.0" @@ -3053,19 +3534,25 @@ dir-compare@^2.4.0: commander "2.9.0" minimatch "3.0.4" -discord-rpc@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/discord-rpc/-/discord-rpc-4.0.1.tgz" - integrity sha512-HOvHpbq5STRZJjQIBzwoKnQ0jHplbEWFWlPDwXXKm/bILh4nzjcg7mNqll0UY7RsjFoaXA7e/oYb/4lvpda2zA== +discord-auto-rpc@^1.0.16: + version "1.0.17" + resolved "https://registry.yarnpkg.com/discord-auto-rpc/-/discord-auto-rpc-1.0.17.tgz#83ff30a1eb7f8a7a064a96c22d901b89d8cc0ecd" + integrity sha512-ZTK8azvfapMmwjxLAowHuOSglAens7UtBuQnL8b4VDmqzPM0K8ze1A/uPViWkJ8ROEOjZeHoK3zu0jwsQKGavQ== + dependencies: + "@types/discord-rpc" "^4.0.2" + discord-rpc "^3.2.0" + +discord-rpc@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/discord-rpc/-/discord-rpc-3.2.0.tgz#8da4e01654fce38e959d70b58708c46ae1d6c8fa" + integrity sha512-KJv0EVbGMlr04HoG6f5b3wD7X9kSHzQ2Ed2qfHSDvYJ1MkE8RbCQmMcQQrSvAxpfsqZgUjB/bsfi/mjyicCH+A== dependencies: node-fetch "^2.6.1" ws "^7.3.1" - optionalDependencies: - register-scheme "github:devsnek/node-register-scheme" dmg-builder@23.0.3: version "23.0.3" - resolved "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.0.3.tgz" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.0.3.tgz#ea94bc76fcd94612641580f3c6ae42c3f07f3fee" integrity sha512-mBYrHHnSM5PC656TDE+xTGmXIuWHAGmmRfyM+dV0kP+AxtwPof4pAXNQ8COd0/exZQ4dqf72FiPS3B9G9aB5IA== dependencies: app-builder-lib "23.0.3" @@ -3093,11 +3580,11 @@ dmg-license@^1.0.9: dns-equal@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== "dns-js@git+https://github.com/ciderapp/node-dns-js.git": - version "0.2.1" + version "0.2.1" resolved "git+https://github.com/ciderapp/node-dns-js.git#212b6c903db40bcd501af741e51cd20d676acbc9" dependencies: debug "^2.1.0" @@ -3105,7 +3592,7 @@ dns-equal@^1.0.0: dns-packet@^1.3.1: version "1.3.4" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== dependencies: ip "^1.1.0" @@ -3113,49 +3600,54 @@ dns-packet@^1.3.1: dns-txt@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ== dependencies: buffer-indexof "^1.0.0" dom-converter@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" domhandler "^4.2.0" entities "^2.0.0" +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + domelementtype@^2.0.1, domelementtype@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domhandler@^3.0.0: version "3.3.0" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a" integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA== dependencies: domelementtype "^2.0.1" domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" domutils@^2.0.0, domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" @@ -3164,7 +3656,7 @@ domutils@^2.0.0, domutils@^2.5.2, domutils@^2.8.0: dot-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: no-case "^3.0.4" @@ -3172,58 +3664,58 @@ dot-case@^3.0.4: dot-prop@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" dot-prop@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== dependencies: is-obj "^2.0.0" dotenv-expand@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== dotenv@^8.0.0, dotenv@^8.2.0: version "8.6.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== dotenv@^9.0.2: version "9.0.2" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05" integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== duplexer3@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha512-CEj8FwwNA4cVH2uFCoHUrmojhYh1vmCdOaneKJXwkeY1i9jnlslVo9dx+hQ5Hl9GnH/Bwy/IjxAyOePyPKYnzA== duplexer@~0.1.1: version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== ee-first@1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== ejs@^3.1.6: - version "3.1.6" - resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz" - integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== + version "3.1.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" + integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== dependencies: - jake "^10.6.1" + jake "^10.8.5" electron-builder-notarize-pkg@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/electron-builder-notarize-pkg/-/electron-builder-notarize-pkg-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/electron-builder-notarize-pkg/-/electron-builder-notarize-pkg-1.2.0.tgz#c6f4b0027418be465b2ab41effc6eecc68110bcb" integrity sha512-ibnOeZwXxEPIzPujHfsLoCG+x4BcRQndBQoRyvTEZEeCeO/D4uu3TSAPeNXZuKfoL3h2auaIBIhh4He5HgY1rw== dependencies: delay "^4.3.0" @@ -3231,7 +3723,7 @@ electron-builder-notarize-pkg@^1.2.0: electron-builder@^23.0.3: version "23.0.3" - resolved "https://registry.npmjs.org/electron-builder/-/electron-builder-23.0.3.tgz" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.0.3.tgz#16264a0d8e3d40da1467bcc8ef7917538b54a3bc" integrity sha512-0lnTsljAgcOMuIiOjPcoFf+WxOOe/O04hZPgIvvUBXIbz3kolbNu0Xdch1f5WuQ40NdeZI7oqs8Eo395PcuGHQ== dependencies: "@types/yargs" "^17.0.1" @@ -3249,7 +3741,7 @@ electron-builder@^23.0.3: electron-devtools-installer@^2.2.4: version "2.2.4" - resolved "https://registry.npmjs.org/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz" + resolved "https://registry.yarnpkg.com/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz#261a50337e37121d338b966f07922eb4939a8763" integrity sha512-b5kcM3hmUqn64+RUcHjjr8ZMpHS2WJ5YO0pnG9+P/RTdx46of/JrEjuciHWux6pE+On6ynWhHJF53j/EDJN0PA== dependencies: "7zip" "0.0.6" @@ -3259,19 +3751,19 @@ electron-devtools-installer@^2.2.4: electron-fetch@^1.7.4: version "1.7.4" - resolved "https://registry.npmjs.org/electron-fetch/-/electron-fetch-1.7.4.tgz" + resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769" integrity sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw== dependencies: encoding "^0.1.13" electron-log@^4.4.6: - version "4.4.6" - resolved "https://registry.npmjs.org/electron-log/-/electron-log-4.4.6.tgz" - integrity sha512-nirYgRdY+F+vclr8ijdwy2vW03IzFpDHTaKNWu76dEN21Y76+smcES5knS7cgHUUB0qNLOi8vZO36taakjbSXA== + version "4.4.7" + resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-4.4.7.tgz#d55b7232c019521694c3503d2109e5a49cb49dd0" + integrity sha512-uFZQdgevOp9Fn5lDOrJMU/bmmYxDLZitbIHJM7VXN+cpB59ZnPt1FQL4bOf/Dl2gaIMPYJEfXx38GvJma5iV6A== electron-notarize@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.2.1.tgz#347c18eca8e29dddadadee511b870c13d4008baf" integrity sha512-u/ECWhIrhkSQpZM4cJzVZ5TsmkaqrRo5LDC/KMbGF0sPkm53Ng59+M0zp8QVaql0obfJy9vlVT+4iOkAi2UDlA== dependencies: debug "^4.1.1" @@ -3279,7 +3771,7 @@ electron-notarize@^1.2.1: electron-osx-sign@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz#9b69c191d471d9458ef5b1e4fdd52baa059f1bb8" integrity sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg== dependencies: bluebird "^3.5.0" @@ -3291,7 +3783,7 @@ electron-osx-sign@^0.6.0: electron-publish@23.0.2: version "23.0.2" - resolved "https://registry.npmjs.org/electron-publish/-/electron-publish-23.0.2.tgz" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.0.2.tgz#aa11419ae57b847df4beb63b95e2b2a43161957c" integrity sha512-8gMYgWqv96lc83FCm85wd+tEyxNTJQK7WKyPkNkO8GxModZqt1GO8S+/vAnFGxilS/7vsrVRXFfqiCDUCSuxEg== dependencies: "@types/fs-extra" "^9.0.11" @@ -3303,21 +3795,21 @@ electron-publish@23.0.2: mime "^2.5.2" electron-store@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/electron-store/-/electron-store-8.0.1.tgz" - integrity sha512-ZyLvNywiqSpbwC/pp89O/AycVWY/UJIkmtyzF2Bd0Nm/rLmcFc0NTGuLdg6+LE8mS8qsiK5JMoe4PnrecLHH5w== + version "8.0.2" + resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.0.2.tgz#95c8cf81c1e1cf48b24f3ceeea24b921c1ff62d7" + integrity sha512-9GwUMv51w8ydbkaG7X0HrPlElXLApg63zYy1/VZ/a08ndl0gfm4iCoD3f0E1JvP3V16a+7KxqriCI0c122stiA== dependencies: - conf "^10.0.3" - type-fest "^1.0.2" + conf "^10.1.2" + type-fest "^2.12.2" -electron-to-chromium@^1.4.84: - version "1.4.113" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.113.tgz" - integrity sha512-s30WKxp27F3bBH6fA07FYL2Xm/FYnYrKpMjHr3XVCTUb9anAyZn/BeZfPWgTZGAbJeT4NxNwISSbLcYZvggPMA== +electron-to-chromium@^1.4.147: + version "1.4.152" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.152.tgz#7dedbe8f3dc1c597088982a203f392e60f7ee90a" + integrity sha512-jk4Ju5SGZAQQJ1iI4Rgru7dDlvkQPLpNPWH9gIZmwCD4YteA5Bbk1xPcPDUf5jUYs3e1e80RXdi8XgKQZaigeg== electron-updater@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/electron-updater/-/electron-updater-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-5.0.1.tgz#327915f1b2e573daf1ce1d8102bcab93f4880c1a" integrity sha512-dNnXPCqYmergXy3jgg4UICuD50Orug9GQe/5xfHy+BE2Fy0icB0QE+y6iQWdCDf7yeONxwMBf4HgIkGG5pIaVg== dependencies: "@types/semver" "^7.3.6" @@ -3331,7 +3823,7 @@ electron-updater@^5.0.1: electron-webpack-js@~2.4.1: version "2.4.1" - resolved "https://registry.npmjs.org/electron-webpack-js/-/electron-webpack-js-2.4.1.tgz" + resolved "https://registry.yarnpkg.com/electron-webpack-js/-/electron-webpack-js-2.4.1.tgz#5389cc22f34c71f6416d5ba1e043f9b0fd6130af" integrity sha512-NPbcI4nnuclkLEKmwRI8sui2GNe37NKm0pCQR6KZA7YSV3KQdH4I7wOgIZ2AkeCpyeUHrBSMGQY+VqhPD7OtMA== dependencies: "@babel/core" "^7.9.0" @@ -3342,7 +3834,7 @@ electron-webpack-js@~2.4.1: electron-webpack@^2.8.2: version "2.8.2" - resolved "https://registry.npmjs.org/electron-webpack/-/electron-webpack-2.8.2.tgz" + resolved "https://registry.yarnpkg.com/electron-webpack/-/electron-webpack-2.8.2.tgz#5a0357ce8f7d147e5f559294a08bb072d1092b0a" integrity sha512-rR7hxoOlZIcJf6R08mVl/4TBtFY+HW6sv4Z28TdMWETvcM4ZBIBdGNGylxF0gNwB8gkTgo8UkkDbXGX48K4Vow== dependencies: "@types/webpack-env" "^1.15.1" @@ -3377,71 +3869,84 @@ electron-webpack@^2.8.2: electron-window-state@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/electron-window-state/-/electron-window-state-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-5.0.3.tgz#4f36d09e3f953d87aff103bf010f460056050aa8" integrity sha512-1mNTwCfkolXl3kMf50yW3vE2lZj0y92P/HYWFBrb+v2S/pCka5mdwN3cagKm458A7NjndSwijynXgcLWRodsVg== dependencies: jsonfile "^4.0.0" mkdirp "^0.5.1" -"electron@git+https://github.com/castlabs/electron-releases.git": - version "19.0.0-alpha.3" - resolved "git+ssh://git@github.com/castlabs/electron-releases.git#7d6b99d586cd0594030b1a837267b59e25772d2d" +"electron@git+https://github.com/castlabs/electron-releases.git#18-x-y": + version "18.3.3" + resolved "git+https://github.com/castlabs/electron-releases.git#848962216f749397fe9fe2c1456396edd7923633" dependencies: - "@electron/get" "^1.14.1" + "@electron/get" "^1.13.0" "@types/node" "^16.11.26" extract-zip "^1.0.3" +elliptic@^6.4.0: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emoji-regex@^7.0.1: version "7.0.3" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + 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.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== encode-utf8@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== encodeurl@^1.0.2, encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== encoding@^0.1.13: version "0.1.13" - resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + 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" enhanced-resolve@^4.1.1: version "4.5.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.9.2: +enhanced-resolve@^5.9.3: version "5.9.3" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== dependencies: graceful-fs "^4.2.4" @@ -3449,44 +3954,46 @@ enhanced-resolve@^5.9.2: entities@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== env-paths@^2.2.0, env-paths@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== err-code@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== errno@^0.1.3: version "0.1.8" - resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" -error-ex@^1.3.1: +error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + 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.19.1: - version "1.19.5" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz" - integrity sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA== +es-abstract@^1.19.0, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" + function.prototype.name "^1.1.5" get-intrinsic "^1.1.1" get-symbol-description "^1.0.0" has "^1.0.3" + has-property-descriptors "^1.0.0" has-symbols "^1.0.3" internal-slot "^1.0.3" is-callable "^1.2.4" @@ -3498,18 +4005,24 @@ es-abstract@^1.19.1: object-inspect "^1.12.0" 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" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== es-module-lexer@^0.9.0: version "0.9.3" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + 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" @@ -3518,37 +4031,37 @@ es-to-primitive@^1.2.1: es6-error@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== escalade@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-goat@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-scope@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + 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" @@ -3556,40 +4069,40 @@ eslint-scope@5.1.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + 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.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@~1.8.1: version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== event-stream@3.3.4: version "3.3.4" - resolved "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz" - integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== dependencies: duplexer "~0.1.1" from "~0" @@ -3601,24 +4114,35 @@ event-stream@3.3.4: eventemitter3@^4.0.0: version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.2.0: version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -eventsource@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz" - integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== +eventsource@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508" + integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== dependencies: - original "^1.0.0" + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" execa@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" @@ -3631,7 +4155,7 @@ execa@^1.0.0: execa@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== dependencies: cross-spawn "^7.0.0" @@ -3644,10 +4168,15 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +exif-parser@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" + integrity sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw== + expand-brackets@^2.1.4: version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -3657,72 +4186,78 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw== dependencies: homedir-polyfill "^1.0.1" express@^4.17.1, express@^4.17.3: - version "4.17.3" - resolved "https://registry.npmjs.org/express/-/express-4.17.3.tgz" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== + version "4.18.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.19.2" + body-parser "1.20.0" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.4.2" + cookie "0.5.0" cookie-signature "1.0.6" debug "2.6.9" - depd "~1.1.2" + depd "2.0.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "~1.1.2" + finalhandler "1.2.0" fresh "0.5.2" + http-errors "2.0.0" merge-descriptors "1.0.1" methods "~1.1.2" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" path-to-regexp "0.1.7" proxy-addr "~2.0.7" - qs "6.9.7" + qs "6.10.3" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" + send "0.18.0" + serve-static "1.15.0" setprototypeof "1.2.0" - statuses "~1.5.0" + statuses "2.0.1" type-is "~1.6.18" utils-merge "1.0.1" vary "~1.1.2" extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" extend@^3.0.1: version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + 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.npmjs.org/extglob/-/extglob-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== dependencies: array-unique "^0.3.2" @@ -3736,7 +4271,7 @@ extglob@^2.0.4: extract-zip@^1.0.3: version "1.7.0" - resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== dependencies: concat-stream "^1.6.2" @@ -3751,41 +4286,41 @@ extsprintf@^1.2.0: fast-deep-equal@^3.1.1: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-safe-stringify@^2.0.6: version "2.1.1" - resolved "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== faye-websocket@^0.11.3, faye-websocket@^0.11.4: version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" fd-slicer@~1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: pend "~1.2.0" figgy-pudding@^3.5.1: version "3.5.2" - resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== file-loader@^6.0.0: version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== dependencies: loader-utils "^2.0.0" @@ -3793,29 +4328,34 @@ file-loader@^6.0.0: file-type@16.5.3: version "16.5.3" - resolved "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.3.tgz#474b7e88c74724046abb505e9b8ed4db30c4fc06" integrity sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A== dependencies: readable-web-to-node-stream "^3.0.0" strtok3 "^6.2.4" token-types "^4.1.1" +file-type@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18" + integrity sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw== + file-uri-to-path@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== filelist@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz" - integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: - minimatch "^3.0.4" + minimatch "^5.0.1" fill-range@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -3824,43 +4364,50 @@ fill-range@^4.0.0: fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + 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" -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" encodeurl "~1.0.2" escape-html "~1.0.3" - on-finished "~2.3.0" + on-finished "2.4.1" parseurl "~1.3.3" - statuses "~1.5.0" + statuses "2.0.1" unpipe "~1.0.0" find-cache-dir@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" make-dir "^3.0.2" pkg-dir "^4.1.0" +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + find-up@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + 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.npmjs.org/find-up/-/find-up-4.1.0.tgz" + 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" @@ -3868,7 +4415,7 @@ find-up@^4.0.0, find-up@^4.1.0: findup-sync@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== dependencies: detect-file "^1.0.0" @@ -3877,18 +4424,18 @@ findup-sync@^3.0.0: resolve-dir "^1.0.1" follow-redirects@^1.0.0: - version "1.14.9" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz" - integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== + version "1.15.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" + integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== for-in@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== form-data@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" @@ -3897,29 +4444,34 @@ form-data@^4.0.0: forwarded@0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fragment-cache@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== dependencies: map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== from@~0: version "0.1.7" - resolved "https://registry.npmjs.org/from/-/from-0.1.7.tgz" - integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== fs-extra@^10.0.0: version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" @@ -3928,7 +4480,7 @@ fs-extra@^10.0.0: fs-extra@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + 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" @@ -3937,7 +4489,7 @@ fs-extra@^8.1.0: fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + 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" @@ -3947,15 +4499,15 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + 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-write-stream-atomic@^1.0.8: version "1.0.10" - resolved "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== dependencies: graceful-fs "^4.1.2" iferr "^0.1.5" @@ -3964,8 +4516,8 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^1.2.7: version "1.2.13" @@ -3982,17 +4534,27 @@ fsevents@~2.3.2: function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -functions-have-names@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz" - integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" -gauge@^4.0.0: +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^4.0.3: version "4.0.4" - resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== dependencies: aproba "^1.0.3 || ^2.0.0" @@ -4006,45 +4568,55 @@ gauge@^4.0.0: gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + 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.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-port@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + 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, get-stream@^5.1.0: version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + 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-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" @@ -4052,44 +4624,68 @@ get-symbol-description@^1.0.0: get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +gifwrap@^0.9.2: + version "0.9.4" + resolved "https://registry.yarnpkg.com/gifwrap/-/gifwrap-0.9.4.tgz#f4eb6169ba027d61df64aafbdcb1f8ae58ccc0c5" + integrity sha512-MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ== + dependencies: + image-q "^4.0.0" + omggif "^1.0.10" + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== glob-parent@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + 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-to-regexp@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== +glob@^7.0.3, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.1: + version "8.0.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e" + integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + global-agent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== dependencies: boolean "^3.0.1" @@ -4101,14 +4697,14 @@ global-agent@^3.0.0: global-dirs@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== dependencies: ini "2.0.0" global-modules@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== dependencies: global-prefix "^1.0.1" @@ -4117,15 +4713,15 @@ global-modules@^1.0.0: global-modules@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== dependencies: global-prefix "^3.0.0" global-prefix@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg== dependencies: expand-tilde "^2.0.2" homedir-polyfill "^1.0.1" @@ -4135,7 +4731,7 @@ global-prefix@^1.0.1: global-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== dependencies: ini "^1.3.5" @@ -4144,7 +4740,7 @@ global-prefix@^3.0.0: global-tunnel-ng@^2.7.1: version "2.7.1" - resolved "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" integrity sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg== dependencies: encodeurl "^1.0.2" @@ -4152,22 +4748,30 @@ global-tunnel-ng@^2.7.1: npm-conf "^1.1.3" tunnel "^0.0.6" +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globalthis@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz" - integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: define-properties "^1.1.3" globby@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== dependencies: array-union "^1.0.1" glob "^7.0.3" @@ -4176,9 +4780,9 @@ globby@^6.1.0: pinkie-promise "^2.0.0" got@^11.8.3: - version "11.8.3" - resolved "https://registry.npmjs.org/got/-/got-11.8.3.tgz" - integrity sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg== + version "11.8.5" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" + integrity sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ== dependencies: "@sindresorhus/is" "^4.0.0" "@szmarczak/http-timer" "^4.0.5" @@ -4194,7 +4798,7 @@ got@^11.8.3: got@^9.6.0: version "9.6.0" - resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: "@sindresorhus/is" "^0.14.0" @@ -4211,62 +4815,62 @@ got@^9.6.0: graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== "graceful-readlink@>= 1.0.0": version "1.0.1" - resolved "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w== handle-thing@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== dependencies: get-intrinsic "^1.1.1" has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has-unicode@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== has-value@^0.3.1: version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -4274,8 +4878,8 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -4283,57 +4887,79 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== has-values@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== dependencies: is-number "^3.0.0" kind-of "^4.0.0" has-yarn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== has@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + 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.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + he@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== hexy@^0.2.10: version "0.2.11" - resolved "https://registry.npmjs.org/hexy/-/hexy-0.2.11.tgz" + resolved "https://registry.yarnpkg.com/hexy/-/hexy-0.2.11.tgz#9939c25cb6f86a91302f22b8a8a72573518e25b4" integrity sha512-ciq6hFsSG/Bpt2DmrZJtv+56zpPdnq+NQ4ijEFrveKN0ZG1mhl/LdT1NQZ9se6ty1fACcI4d4vYqC9v8EYpH2A== +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + homedir-polyfill@^1.0.1: version "1.0.3" - resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== dependencies: parse-passwd "^1.0.0" +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.2: version "4.1.0" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" hpack.js@^2.1.6: version "2.1.6" - resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" obuf "^1.0.0" @@ -4342,12 +4968,12 @@ hpack.js@^2.1.6: html-entities@^1.3.1: version "1.4.0" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== html-loader@^1.1.0: version "1.3.2" - resolved "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-1.3.2.tgz#5a72ebba420d337083497c9aba7866c9e1aee340" integrity sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA== dependencies: html-minifier-terser "^5.1.1" @@ -4357,7 +4983,7 @@ html-loader@^1.1.0: html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== dependencies: camel-case "^4.1.1" @@ -4370,7 +4996,7 @@ html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1: html-webpack-plugin@^4.0.4: version "4.5.2" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== dependencies: "@types/html-minifier-terser" "^5.0.0" @@ -4385,7 +5011,7 @@ html-webpack-plugin@^4.0.4: htmlparser2@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== dependencies: domelementtype "^2.0.1" @@ -4395,7 +5021,7 @@ htmlparser2@^4.1.0: htmlparser2@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" @@ -4405,29 +5031,29 @@ htmlparser2@^6.1.0: http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== http-deceiver@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: - depd "~1.1.2" + depd "2.0.0" inherits "2.0.4" setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" + statuses "2.0.1" toidentifier "1.0.1" http-errors@~1.6.2: version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" inherits "2.0.3" @@ -4436,12 +5062,12 @@ http-errors@~1.6.2: http-parser-js@>=0.5.1: version "0.5.6" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.6.tgz#2e02406ab2df8af8a7abfba62e0da01c62b95afd" integrity sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA== http-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: "@tootallnate/once" "2" @@ -4450,7 +5076,7 @@ http-proxy-agent@^5.0.0: http-proxy-middleware@0.19.1: version "0.19.1" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== dependencies: http-proxy "^1.17.0" @@ -4460,7 +5086,7 @@ http-proxy-middleware@0.19.1: http-proxy@^1.17.0: version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== dependencies: eventemitter3 "^4.0.0" @@ -4469,7 +5095,7 @@ http-proxy@^1.17.0: http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" - resolved "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== dependencies: quick-lru "^5.1.1" @@ -4477,7 +5103,7 @@ http2-wrapper@^1.0.0-beta.5.2: https-proxy-agent@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" @@ -4485,13 +5111,13 @@ https-proxy-agent@^5.0.0: human-signals@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== humanize-ms@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: ms "^2.0.0" @@ -4505,48 +5131,55 @@ iconv-corefoundation@^1.1.7: iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + 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" iconv-lite@^0.6.2: version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" icss-utils@^4.0.0, icss-utils@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: postcss "^7.0.14" ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" - resolved "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== + +image-q@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/image-q/-/image-q-4.0.0.tgz#31e075be7bae3c1f42a85c469b4732c358981776" + integrity sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw== + dependencies: + "@types/node" "16.9.1" immediate@~3.0.5: version "3.0.6" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== import-lazy@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== import-local@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== dependencies: pkg-dir "^3.0.0" @@ -4554,50 +5187,50 @@ import-local@^2.0.0: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== infer-owner@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== ini@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== internal-ip@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== dependencies: default-gateway "^4.2.0" @@ -4605,7 +5238,7 @@ internal-ip@^4.3.0: internal-slot@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: get-intrinsic "^1.1.0" @@ -4614,46 +5247,51 @@ internal-slot@^1.0.3: interpret@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + integrity sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ== + ip-regex@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== ipaddr.js@1.9.1, ipaddr.js@^1.9.0: version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== is-absolute-url@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== is-accessor-descriptor@^0.1.6: version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== dependencies: kind-of "^3.0.2" is-accessor-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + 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-arguments@^1.0.4: version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: call-bind "^1.0.2" @@ -4661,33 +5299,33 @@ is-arguments@^1.0.4: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== dependencies: binary-extensions "^1.0.0" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + 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.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -4695,59 +5333,59 @@ is-boolean-object@^1.1.0: is-buffer@^1.1.5: version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + 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.4: version "1.2.4" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + 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.1" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: ci-info "^3.2.0" is-core-module@^2.8.1: version "2.9.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: has "^1.0.3" is-data-descriptor@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== dependencies: kind-of "^3.0.2" is-data-descriptor@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + 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.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-descriptor@^0.1.0: version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + 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" @@ -4756,7 +5394,7 @@ is-descriptor@^0.1.0: is-descriptor@^1.0.0, is-descriptor@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + 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" @@ -4765,48 +5403,60 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extendable@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + 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.0, is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +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 sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== + dependencies: + number-is-nan "^1.0.0" is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + 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-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + is-glob@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== dependencies: is-extglob "^2.1.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-installed-globally@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== dependencies: global-dirs "^3.0.0" @@ -4814,82 +5464,82 @@ is-installed-globally@^0.4.0: is-lambda@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" - integrity sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU= + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-npm@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== dependencies: kind-of "^3.0.2" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-obj@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-path-cwd@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== is-path-in-cwd@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== dependencies: is-path-inside "^2.1.0" is-path-inside@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== dependencies: path-is-inside "^1.0.2" is-path-inside@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + 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-regex@^1.0.4, is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -4897,109 +5547,109 @@ is-regex@^1.0.4, is-regex@^1.1.4: is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" is-stream@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + 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: version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-wsl@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== is-yarn-global@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== isarray@1.0.0, isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isbinaryfile@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== dependencies: buffer-alloc "^1.2.0" isbinaryfile@^4.0.8: version "4.0.10" - resolved "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -jake@^10.6.1: - version "10.8.4" - resolved "https://registry.npmjs.org/jake/-/jake-10.8.4.tgz" - integrity sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA== +jake@^10.8.5: + version "10.8.5" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== dependencies: - async "0.9.x" + async "^3.2.3" chalk "^4.0.2" filelist "^1.0.1" minimatch "^3.0.4" jest-worker@^25.4.0: version "25.5.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== dependencies: merge-stream "^2.0.0" @@ -5007,21 +5657,54 @@ jest-worker@^25.4.0: jest-worker@^27.4.5: version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" merge-stream "^2.0.0" supports-color "^8.0.0" +jimp@^0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.16.1.tgz#192f851a30e5ca11112a3d0aa53137659a78ca7a" + integrity sha512-+EKVxbR36Td7Hfd23wKGIeEyHbxShZDX6L8uJkgVW3ESA9GiTEPK08tG1XI2r/0w5Ch0HyJF5kPqF9K7EmGjaw== + dependencies: + "@babel/runtime" "^7.7.2" + "@jimp/custom" "^0.16.1" + "@jimp/plugins" "^0.16.1" + "@jimp/types" "^0.16.1" + regenerator-runtime "^0.13.3" + +jpeg-js@0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.2.tgz#8b345b1ae4abde64c2da2fe67ea216a114ac279d" + integrity sha512-+az2gi/hvex7eLTMTlbRLOhH6P6WFdk2ITI8HJsaH2VqYO0I594zXSYEP+tf4FW+8Cy68ScDXoAsQdyQanv3sw== + +js-crypto-aes@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/js-crypto-aes/-/js-crypto-aes-1.0.4.tgz#db3fed7b2d7ceec4610eb246be515f12d9674594" + integrity sha512-L2fh7Q55+8eS/ALbhgAZYZpTkuo+n12+3GpuUE+U6SGlObmwibG5rVtDTVSTNgV9VuzD2BaY4unTkRWTcfLYxg== + dependencies: + js-crypto-env "^1.0.4" + +js-crypto-env@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/js-crypto-env/-/js-crypto-env-1.0.4.tgz#2be3b0987124bfaf094aadd3c9d91a56aedb0f2a" + integrity sha512-b7WdjaX4csatMPfZ/mQ94yb/XTKe3o6qt0jPBVbKmaiOH97e+FlmIANoFEMrhxQM1xxKfA2QYLjgqL/YtdMm9g== + +js-sha1@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/js-sha1/-/js-sha1-0.4.1.tgz#d118479722a766822e951513c897a31c9654a5b8" + integrity sha512-kB3avqSVzjcUemu5itp3qNmN/wA0hZr2kRs6l0k3BBbVC1RnJT5rMzAKhOy+rlXmwO9a8jBXR6CftvUQ32Ypag== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + 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" @@ -5029,76 +5712,81 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" jsbi@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/jsbi/-/jsbi-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-2.0.5.tgz#82589011da87dc59b4b549d94dcef51a9155f6fe" integrity sha512-TzO/62Hxeb26QMb4IGlI/5X+QLr9Uqp1FPkwp2+KOICW+Q+vSuFj61c8pkT6wAns4WcK56X7CmSHhJeDGWOqxQ== jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + 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.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-buffer@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== json-buffer@3.0.1, json-buffer@~3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + 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.1: + 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.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + 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.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-schema-typed@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9" integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A== json-stringify-safe@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== dependencies: minimist "^1.2.0" json5@^2.1.0, json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonc@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/jsonc/-/jsonc-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/jsonc/-/jsonc-2.0.0.tgz#9e2a25100d164a9bb864c57517563717fa882551" integrity sha512-B281bLCT2TRMQa+AQUQY5AGcqSOXBOKaYGP4wDzoA/+QswUfN8sODektbPEs9Baq7LGKun5jQbNFpzwGuVYKhw== dependencies: fast-safe-stringify "^2.0.6" @@ -5110,14 +5798,14 @@ jsonc@^2.0.0: jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -5126,89 +5814,120 @@ jsonfile@^6.0.1: keyv@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== dependencies: json-buffer "3.0.0" keyv@^4.0.0: - version "4.2.2" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.2.2.tgz" - integrity sha512-uYS0vKTlBIjNCAUqrjlxmruxOEiZxZIHXyp32sdcGmP+ukFrmWUnE//RcPXJH3Vxrni1H2gsQbjHE0bH7MtMQQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.3.0.tgz#b4352e0e4fe7c94111947d6738a6d3fe7903027c" + integrity sha512-C30Un9+63J0CsR7Wka5quXKqYZsT6dcRQ2aOwGcSc3RiQ4HGWpTAHlCA+puNfw2jA/s11EsxA1nCXgZRuRKMQQ== dependencies: - compress-brotli "^1.3.6" + compress-brotli "^1.3.8" json-buffer "3.0.1" killable@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== dependencies: is-buffer "^1.1.5" kind-of@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + 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: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== lastfm@0.8.x: version "0.8.4" - resolved "https://registry.npmjs.org/lastfm/-/lastfm-0.8.4.tgz" - integrity sha1-Td3wgpem+iP4TUgnBSoNKC/plog= + resolved "https://registry.yarnpkg.com/lastfm/-/lastfm-0.8.4.tgz#4dddf08297a6fa23f84d4827052a0d282fe99688" + integrity sha512-gqpLM8CydkanIXYTGF4JryQyF/MAT/Br9l7DeS/xu/JidAw9fZQ8T6OdQS4HEyeNa/drhiMQ40i+MC+AvM1yWA== dependencies: underscore "" lastfmapi@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/lastfmapi/-/lastfmapi-0.1.1.tgz" - integrity sha1-zjNtz3zIGCDCLcQCR8l7MRM0hvo= + resolved "https://registry.yarnpkg.com/lastfmapi/-/lastfmapi-0.1.1.tgz#ce336dcf7cc81820c22dc40247c97b31133486fa" + integrity sha512-v4L4ng8pJBA3bXUeyWVb3A5v1t00p+Yd/o8trXf0Hz5iRgkRc5Z5092PW3YlhymbUuQVAzx4J6tZuKfrbWfOMQ== dependencies: lastfm "0.8.x" latest-version@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: package-json "^6.3.0" lazy-val@^1.0.4, lazy-val@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d" integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + integrity sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw== + dependencies: + invert-kv "^1.0.0" + lie@3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz" - integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= + resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" + integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== dependencies: immediate "~3.0.5" +load-bmfont@^1.3.1, load-bmfont@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9" + integrity sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA== + dependencies: + buffer-equal "0.0.1" + mime "^1.3.4" + parse-bmfont-ascii "^1.0.3" + parse-bmfont-binary "^1.0.5" + parse-bmfont-xml "^1.1.4" + phin "^2.9.1" + xhr "^2.0.1" + xtend "^4.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ== + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + loader-runner@^4.2.0: version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== dependencies: big.js "^5.2.2" @@ -5217,7 +5936,7 @@ loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: loader-utils@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== dependencies: big.js "^5.2.2" @@ -5226,14 +5945,22 @@ loader-utils@^2.0.0: localforage@^1.8.1: version "1.10.0" - resolved "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz" + resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== dependencies: lie "3.1.1" +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -5241,103 +5968,111 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + 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.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.escaperegexp@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz" - integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= + resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw== lodash.isequal@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5, lodash@^4.2.0: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loglevel@^1.6.8: version "1.8.0" - resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== long@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== loose-envify@^1.1.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + 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" lower-case@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: tslib "^2.0.3" lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== lowercase-keys@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lru-cache@^4.0.1: + 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@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + 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" lru-cache@^7.7.1: - version "7.8.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.8.1.tgz" - integrity sha512-E1v547OCgJvbvevfjgK9sNKIVXO96NnsTsFPBlg4ZxjhsJSODoH9lk8Bm0OxvHNm6Vm5Yqkl/1fErDxhYL8Skg== + version "7.10.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.10.1.tgz#db577f42a94c168f676b638d15da8fb073448cab" + integrity sha512-BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A== lru_map@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz" - integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + 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" make-fetch-happen@^10.0.3: - version "10.1.2" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz" - integrity sha512-GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew== + version "10.1.7" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.1.7.tgz#b1402cb3c9fad92b380ff3a863cdae5414a42f76" + integrity sha512-J/2xa2+7zlIUKqfyXDCXFpH3ypxO4k3rgkZHPSZkyUYcBT/hM80M3oyKLM/9dVriZFiGeGGS2Ei+0v2zfhqj3Q== dependencies: agentkeepalive "^4.2.1" - cacache "^16.0.2" + cacache "^16.1.0" http-cache-semantics "^4.1.0" http-proxy-agent "^5.0.0" https-proxy-agent "^5.0.0" @@ -5350,62 +6085,69 @@ make-fetch-happen@^10.0.3: minipass-pipeline "^1.2.4" negotiator "^0.6.3" promise-retry "^2.0.1" - socks-proxy-agent "^6.1.1" + socks-proxy-agent "^7.0.0" ssri "^9.0.0" map-cache@^0.2.2: version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== map-stream@~0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz" - integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== map-visit@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== dependencies: object-visit "^1.0.0" matcher@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== dependencies: escape-string-regexp "^4.0.0" "mdns-js@git+https://github.com/ciderapp/node-mdns-js.git": version "1.0.7" - resolved "git+ssh://git@github.com/ciderapp/node-mdns-js.git#1af6b83ce91e5538012f977e1dcadbda5dc0d3b5" + resolved "git+https://github.com/ciderapp/node-mdns-js.git#d8f658b623233c3cf58be229332f3342f553cde2" dependencies: debug "^4.1.1" - dns-js "github:bitfocus/node-dns-js#v0.2.2" + dns-js "git+https://github.com/ciderapp/node-dns-js.git" semver "^7.2.3" media-typer@0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== media-typer@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561" integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw== +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha512-nOBDrc/wgpkd3X/JOhMqYR+/eLqlfLP4oQfoBA6QExIxEl+GU01oyEkwWyueyO8110pUKijtiHGhEmYoOn88oQ== + dependencies: + mimic-fn "^1.0.0" + memory-fs@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== dependencies: errno "^0.1.3" readable-stream "^2.0.1" memory-fs@^0.5.0: version "0.5.0" - resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== dependencies: errno "^0.1.3" @@ -5413,22 +6155,22 @@ memory-fs@^0.5.0: merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== methods@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== dependencies: arr-diff "^4.0.0" @@ -5447,49 +6189,61 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" -mime@1.6.0: +mime@1.6.0, mime@^1.3.4: version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.4.4, mime@^2.5.2: version "2.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-fn@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== mimic-response@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + mini-css-extract-plugin@^0.9.0: version "0.9.0" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== dependencies: loader-utils "^1.1.0" @@ -5497,40 +6251,52 @@ mini-css-extract-plugin@^0.9.0: schema-utils "^1.0.0" webpack-sources "^1.1.0" -minimalistic-assert@^1.0.0: +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + minimatch@3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.4: +minimatch@^3.0.4, minimatch@^3.1.1: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.6: +minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== dependencies: minipass "^3.0.0" minipass-fetch@^2.0.3: version "2.1.0" - resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.0.tgz#ca1754a5f857a3be99a9271277246ac0b44c3ff8" integrity sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg== dependencies: minipass "^3.1.6" @@ -5541,35 +6307,35 @@ minipass-fetch@^2.0.3: minipass-flush@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== dependencies: minipass "^3.0.0" minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" minipass-sized@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== dependencies: minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: version "3.1.6" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== dependencies: yallist "^4.0.0" minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" @@ -5577,28 +6343,33 @@ minizlib@^2.1.1, minizlib@^2.1.2: mixin-deep@^1.2.0: version "1.3.2" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + 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-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@^0.5.5: version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== move-concurrently@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== dependencies: aproba "^1.1.1" copy-concurrently "^1.0.0" @@ -5609,7 +6380,7 @@ move-concurrently@^1.0.1: mpris-service@^2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/mpris-service/-/mpris-service-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/mpris-service/-/mpris-service-2.1.2.tgz#ed6db2574f48e1fc356413fd3fc8e857d93d2e7b" integrity sha512-AC6WepCnFWwOME9OWplHZ8ps/BB+g9QrEpUKCv7wX82fDPzR3nPrypOFmL/Fm0JloEAu6QTWSfDLLc6mM/jinw== dependencies: dbus-next "^0.9.2" @@ -5618,27 +6389,27 @@ mpris-service@^2.1.2: ms@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@2.1.3, ms@^2.0.0, ms@^2.1.1: version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== multicast-dns-service-types@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ== multicast-dns@^6.0.1: version "6.2.3" - resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== dependencies: dns-packet "^1.3.1" @@ -5646,7 +6417,7 @@ multicast-dns@^6.0.1: music-metadata@^7.12.3: version "7.12.3" - resolved "https://registry.npmjs.org/music-metadata/-/music-metadata-7.12.3.tgz" + resolved "https://registry.yarnpkg.com/music-metadata/-/music-metadata-7.12.3.tgz#47d2414a959352c9d310074d39182e9be71e1419" integrity sha512-6pZngaroNxGBf8KZjE8reGZJiS533eJq7dBFsyoiEAZIORQAxmVVx20ABh9W2tsLT+5mKYyDzcNi5GuHf3jitg== dependencies: "@tokenizer/token" "^0.3.0" @@ -5659,17 +6430,17 @@ music-metadata@^7.12.3: musickit-typescript@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/musickit-typescript/-/musickit-typescript-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/musickit-typescript/-/musickit-typescript-1.2.4.tgz#d055117e2c897c4ebc570f0d969ad31649744837" integrity sha512-3+/20Pi2zOVAHfUFf631LU2NwaC/qEHBBksM+YQzQ/fff4tIMPX5WJ6We/WXmwTHkAkHIOEitJW4cRPnvVAq+A== nan@^2.12.1: - version "2.15.0" - resolved "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + version "2.16.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" + integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== nanomatch@^1.2.9: version "1.2.13" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== dependencies: arr-diff "^4.0.0" @@ -5684,47 +6455,61 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + negotiator@0.6.3, negotiator@^0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== neo-async@^2.6.2: version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== no-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: lower-case "^2.0.2" tslib "^2.0.3" -node-addon-api@^1.3.0, node-addon-api@^1.6.3: +node-abi@^3.3.0: + version "3.22.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.22.0.tgz#00b8250e86a0816576258227edbce7bbe0039362" + integrity sha512-u4uAs/4Zzmp/jjsD9cyFYDXeISfUWaAVWshPmDZOFOv4Xl4SbzTXm53I04C2uRueYJ+0t5PEtLH/owbn2Npf/w== + dependencies: + semver "^7.3.5" + +node-addon-api@^1.6.3: version "1.7.2" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" node-forge@^0.10.0: version "0.10.0" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== node-gyp@^9.0.0: version "9.0.0" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.0.0.tgz#e1da2067427f3eb5bb56820cb62bc6b1e4bd2089" integrity sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw== dependencies: env-paths "^2.2.0" @@ -5740,17 +6525,17 @@ node-gyp@^9.0.0: node-loader@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/node-loader/-/node-loader-0.6.0.tgz" - integrity sha1-x5fvUQle1YWZArFX9jhPY2HgWug= + resolved "https://registry.yarnpkg.com/node-loader/-/node-loader-0.6.0.tgz#c797ef51095ed5859902b157f6384f6361e05ae8" + integrity sha512-WlUacqHqHWb383Mec656pJmAtg7EXBcijg1sovgy0tI4xevAzv8RqcRARTMlzm0HLXzy1Pdo/DMU19/fxoMnmA== -node-releases@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz" - integrity sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw== +node-releases@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" + integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== node-ssdp@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/node-ssdp/-/node-ssdp-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/node-ssdp/-/node-ssdp-4.0.1.tgz#ea5b2e9a287823b58b3ede348b22a08159cf718f" integrity sha512-uJXkLZVuyaMg1qNbMbGQ6YzNzyOD+NLxYyxIJocPTKTVECPDokOiCZA686jTLXHMUnV34uY/lcUSJ+/5fhY43A== dependencies: async "^2.6.0" @@ -5761,27 +6546,37 @@ node-ssdp@^4.0.1: nopt@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" + 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: + 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-path@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== dependencies: remove-trailing-separator "^1.0.1" normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-url@1.9.1, normalize-url@^1.9.1: version "1.9.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha512-A48My/mtCklowHBlI8Fq2jFWK4tX4lJ5E6ytFsSOq1fzpvT0SQSgKhSg7lN5c2uYFOrUAOQp6zhhJnpp1eMloQ== dependencies: object-assign "^4.0.1" prepend-http "^1.0.0" @@ -5790,17 +6585,17 @@ normalize-url@1.9.1, normalize-url@^1.9.1: normalize-url@^4.1.0: version "4.5.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== normalize-url@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== npm-conf@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== dependencies: config-chain "^1.1.11" @@ -5808,57 +6603,62 @@ npm-conf@^1.1.3: npm-run-path@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== dependencies: path-key "^2.0.0" npm-run-path@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + 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@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz" - integrity sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== dependencies: are-we-there-yet "^3.0.0" console-control-strings "^1.1.0" - gauge "^4.0.0" + gauge "^4.0.3" set-blocking "^2.0.0" nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" +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 sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-copy@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" kind-of "^3.0.3" object-inspect@^1.12.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== object-is@^1.0.1: version "1.1.5" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: call-bind "^1.0.2" @@ -5866,19 +6666,19 @@ object-is@^1.0.1: object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + 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.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== dependencies: isobject "^3.0.0" object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + 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" @@ -5887,136 +6687,163 @@ object.assign@^4.1.0, object.assign@^4.1.2: object-keys "^1.1.1" object.getownpropertydescriptors@^2.0.3: - version "2.1.3" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz" - integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== + version "2.1.4" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" + integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== dependencies: + array.prototype.reduce "^1.0.4" call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.20.1" object.pick@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== dependencies: isobject "^3.0.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= +omggif@^1.0.10, omggif@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" + integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" on-headers@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" opn@^5.5.0: version "5.5.0" - resolved "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== dependencies: is-wsl "^1.1.0" -original@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/original/-/original-1.0.2.tgz" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== dependencies: - url-parse "^1.4.3" + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" p-cancelable@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== p-cancelable@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== p-finally@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +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, p-limit@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + 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 sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + p-locate@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + 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.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + 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-map@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== p-map@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== dependencies: aggregate-error "^3.0.0" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-retry@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== dependencies: retry "^0.12.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 sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json@^6.3.0: version "6.5.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: got "^9.6.0" @@ -6024,35 +6851,75 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +pako@^1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + param-case@^3.0.3: version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: dot-case "^3.0.4" tslib "^2.0.3" +parse-bmfont-ascii@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285" + integrity sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA== + +parse-bmfont-binary@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006" + integrity sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA== + +parse-bmfont-xml@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389" + integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ== + dependencies: + xml-parse-from-string "^1.0.0" + xml2js "^0.4.5" + +parse-headers@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== + dependencies: + error-ex "^1.2.0" + parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" parse-passwd@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== + +parse-raw-http@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/parse-raw-http/-/parse-raw-http-0.0.1.tgz#d71a51512a691706bf481b4a7c65b606c8f845f4" + integrity sha512-GndQvIQXviId7eHnc+fEcmtEjkj1tQ96EhNOplPwXA8L1jgOnrlx/xLmmOEew8Yj4ZoZpmoAh0IvypAaeMbILg== parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== pascal-case@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: no-case "^3.0.4" @@ -6060,150 +6927,174 @@ pascal-case@^3.1.2: pascalcase@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== path-dirname@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + 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.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-is-inside@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ== + dependencies: + pify "^2.0.0" pause-stream@0.0.11: version "0.0.11" - resolved "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" - integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== dependencies: through "~2.3" peek-readable@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== pend@~1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +phin@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c" + integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA== picocolors@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pify@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinkie-promise@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pixelmatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" + integrity sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA== + dependencies: + pngjs "^3.0.0" pkg-dir@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== dependencies: find-up "^3.0.0" pkg-dir@^4.1.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + 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@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== dependencies: find-up "^3.0.0" -plist@^3.0.1, plist@^3.0.4: +plist@^3.0.1, plist@^3.0.4, plist@^3.0.5: version "3.0.5" - resolved "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987" integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA== dependencies: base64-js "^1.5.1" xmlbuilder "^9.0.7" +pngjs@^3.0.0, pngjs@^3.3.3: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + pngjs@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== portfinder@^1.0.26: version "1.0.28" - resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== dependencies: async "^2.6.2" @@ -6212,19 +7103,19 @@ portfinder@^1.0.26: posix-character-classes@^0.1.0: version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== postcss-modules-extract-imports@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== dependencies: postcss "^7.0.5" postcss-modules-local-by-default@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" @@ -6234,7 +7125,7 @@ postcss-modules-local-by-default@^3.0.2: postcss-modules-scope@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== dependencies: postcss "^7.0.6" @@ -6242,7 +7133,7 @@ postcss-modules-scope@^2.2.0: postcss-modules-values@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== dependencies: icss-utils "^4.0.0" @@ -6250,7 +7141,7 @@ postcss-modules-values@^3.0.0: postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: version "6.0.10" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== dependencies: cssesc "^3.0.0" @@ -6258,30 +7149,48 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: postcss-value-parser@^4.1.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: picocolors "^0.2.1" source-map "^0.6.1" +prebuild-install@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" + integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + prepend-http@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== prepend-http@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== pretty-error@^2.1.1: version "2.1.2" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: lodash "^4.17.20" @@ -6289,22 +7198,27 @@ pretty-error@^2.1.1: process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + progress@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== promise-inflight@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== promise-retry@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== dependencies: err-code "^2.0.2" @@ -6312,13 +7226,13 @@ promise-retry@^2.0.1: proto-list@~1.2.1: version "1.2.4" - resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== protobufjs@^6.8.8: - version "6.11.2" - resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.2.tgz" - integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== + version "6.11.3" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" + integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== dependencies: "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" @@ -6336,7 +7250,7 @@ protobufjs@^6.8.8: proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" @@ -6344,12 +7258,17 @@ proxy-addr@~2.0.7: prr@~1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== pump@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + 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" @@ -6357,29 +7276,29 @@ pump@^3.0.0: punycode@1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== punycode@^2.1.0: version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== pupa@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== dependencies: escape-goat "^2.0.0" qap@^3.1.2: version "3.3.1" - resolved "https://registry.npmjs.org/qap/-/qap-3.3.1.tgz" - integrity sha1-Efno+oiQ/ny5khDA9E0GE7c3LKw= + resolved "https://registry.yarnpkg.com/qap/-/qap-3.3.1.tgz#11f9e8fa8890fe7cb99210c0f44d0613b7372cac" + integrity sha512-U0MV9LRz4u19xaK4gssnwyc7XWTnFdmDGrgG9hvV6nchKeu3XeITTclugWKT9rLiLK2GvN3utSkKY90+1tEHkw== qrcode@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b" integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== dependencies: dijkstrajs "^1.0.1" @@ -6387,59 +7306,61 @@ qrcode@^1.5.0: pngjs "^5.0.0" yargs "^15.3.1" -qs@6.9.7: - version "6.9.7" - resolved "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== +qs@6.10.3: + version "6.10.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== + dependencies: + side-channel "^1.0.4" query-string@^4.1.0: version "4.3.4" - resolved "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q== dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" querystring@0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== querystringify@^2.1.1: version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== quick-lru@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.4.3: - version "2.4.3" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" - http-errors "1.8.1" + http-errors "2.0.0" iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.8: +rc@^1.2.7, rc@^1.2.8: version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -6448,23 +7369,23 @@ rc@^1.2.8: strip-json-comments "~2.0.1" react-dom@^18.0.0: - version "18.0.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz" - integrity sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw== + version "18.1.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.1.0.tgz#7f6dd84b706408adde05e1df575b3a024d7e8a2f" + integrity sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w== dependencies: loose-envify "^1.1.0" - scheduler "^0.21.0" + scheduler "^0.22.0" react@^18.0.0: - version "18.0.0" - resolved "https://registry.npmjs.org/react/-/react-18.0.0.tgz" - integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== + version "18.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890" + integrity sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ== dependencies: loose-envify "^1.1.0" read-config-file@6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/read-config-file/-/read-config-file-6.2.0.tgz" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade" integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg== dependencies: dotenv "^9.0.2" @@ -6475,7 +7396,7 @@ read-config-file@6.2.0: read-config-file@~4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/read-config-file/-/read-config-file-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-4.0.1.tgz#ece5f6b1a5e6a46d0d93fdd0339f2f60ab892776" integrity sha512-5caED3uo2IAZMPcbh/9hx/O29s2430RLxtnFDdzxpH/epEpawOrQnGBHueotIXUrGPPIgdNQN+S/CIp2WmiSfw== dependencies: ajv "^6.10.1" @@ -6487,9 +7408,26 @@ read-config-file@~4.0.1: json5 "^2.1.0" lazy-val "^1.0.4" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w== + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA== + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + "readable-stream@1 || 2", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.2.2: version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + 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" @@ -6500,9 +7438,9 @@ read-config-file@~4.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" @@ -6511,14 +7449,14 @@ readable-stream@^3.0.6, readable-stream@^3.6.0: readable-web-to-node-stream@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== dependencies: readable-stream "^3.6.0" readdirp@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== dependencies: graceful-fs "^4.1.11" @@ -6527,46 +7465,46 @@ readdirp@^2.2.1: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" regenerate-unicode-properties@^10.0.1: version "10.0.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== dependencies: regenerate "^1.4.2" regenerate@^1.4.2: version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4: +regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: version "0.13.9" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-transform@^0.15.0: version "0.15.0" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== dependencies: "@babel/runtime" "^7.8.4" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + 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.prototype.flags@^1.2.0: +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3: version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== dependencies: call-bind "^1.0.2" @@ -6575,7 +7513,7 @@ regexp.prototype.flags@^1.2.0: regexpu-core@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== dependencies: regenerate "^1.4.2" @@ -6585,52 +7523,45 @@ regexpu-core@^5.0.1: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.0.0" -"register-scheme@github:devsnek/node-register-scheme": - version "0.0.2" - resolved "https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17" - dependencies: - bindings "^1.3.0" - node-addon-api "^1.3.0" - registry-auth-token@^4.0.0: version "4.2.1" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== dependencies: rc "^1.2.8" registry-url@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== dependencies: rc "^1.2.8" regjsgen@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== regjsparser@^0.8.2: version "0.8.4" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== dependencies: jsesc "~0.5.0" relateurl@^0.2.7: version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remove-trailing-separator@^1.0.1: version "1.1.0" - resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== renderkid@^2.0.4: version "2.0.7" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== dependencies: css-select "^4.1.3" @@ -6641,67 +7572,72 @@ renderkid@^2.0.4: repeat-element@^1.1.2: version "1.1.4" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" + 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.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + 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@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== + require-main-filename@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-alpn@^1.0.0: version "1.2.1" - resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== resolve-cwd@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg== dependencies: resolve-from "^3.0.0" resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg== dependencies: expand-tilde "^2.0.0" global-modules "^1.0.0" resolve-from@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== resolve-url@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== -resolve@^1.14.2: +resolve@^1.10.0, resolve@^1.14.2: version "1.22.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== dependencies: is-core-module "^2.8.1" @@ -6710,45 +7646,45 @@ resolve@^1.14.2: responselike@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== dependencies: lowercase-keys "^1.0.0" responselike@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== dependencies: lowercase-keys "^2.0.0" ret@~0.1.10: version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== retry@^0.12.0: version "0.12.0" - resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" roarr@^2.15.3: version "2.15.4" - resolved "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== dependencies: boolean "^3.0.1" @@ -6760,60 +7696,60 @@ roarr@^2.15.3: run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== dependencies: aproba "^1.1.1" run-script-os@^1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/run-script-os/-/run-script-os-1.1.6.tgz#8b0177fb1b54c99a670f95c7fdc54f18b9c72347" integrity sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw== safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== dependencies: ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sanitize-filename@^1.6.3: version "1.6.3" - resolved "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== dependencies: truncate-utf8-bytes "^1.0.0" sax@>=0.6.0, sax@^1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -scheduler@^0.21.0: - version "0.21.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz" - integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== +scheduler@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.22.0.tgz#83a5d63594edf074add9a7198b1bae76c3db01b8" + integrity sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ== dependencies: loose-envify "^1.1.0" schema-utils@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== dependencies: ajv "^6.1.0" @@ -6822,7 +7758,7 @@ schema-utils@^1.0.0: schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" @@ -6831,7 +7767,7 @@ schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: "@types/json-schema" "^7.0.8" @@ -6840,94 +7776,94 @@ schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== selfsigned@^1.10.8: version "1.10.14" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== dependencies: node-forge "^0.10.0" semver-compare@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== semver-diff@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== dependencies: semver "^6.3.0" +"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@7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^5.3.0, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.1.3, semver@^7.2.3, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.7" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -send@0.17.2: - version "0.17.2" - resolved "https://registry.npmjs.org/send/-/send-0.17.2.tgz" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "1.8.1" + http-errors "2.0.0" mime "1.6.0" ms "2.1.3" - on-finished "~2.3.0" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" + statuses "2.0.1" serialize-error@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== dependencies: type-fest "^0.13.1" serialize-javascript@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== dependencies: randombytes "^2.1.0" serialize-javascript@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: randombytes "^2.1.0" serve-index@^1.9.1: version "1.9.1" - resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" batch "0.6.1" @@ -6937,24 +7873,24 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.2" + send "0.18.0" set-blocking@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + 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" @@ -6964,41 +7900,41 @@ set-value@^2.0.0, set-value@^2.0.1: setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== setprototypeof@1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + 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.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -7007,9 +7943,32 @@ side-channel@^1.0.4: signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + +simple-plist@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.1.tgz#16e1d8f62c6c9b691b8383127663d834112fb017" + integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== + dependencies: + bplist-creator "0.1.0" + bplist-parser "0.3.1" + plist "^3.0.5" + slice-ansi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" @@ -7021,12 +7980,12 @@ slice-ansi@^3.0.0: smart-buffer@^4.0.2, smart-buffer@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== snapdragon-node@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + 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" @@ -7035,14 +7994,14 @@ snapdragon-node@^2.0.1: snapdragon-util@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + 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.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + 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" @@ -7055,29 +8014,29 @@ snapdragon@^0.8.1: use "^3.1.0" sockjs-client@^1.5.0: - version "1.6.0" - resolved "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz" - integrity sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ== + version "1.6.1" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.6.1.tgz#350b8eda42d6d52ddc030c39943364c11dcad806" + integrity sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw== dependencies: debug "^3.2.7" - eventsource "^1.1.0" + eventsource "^2.0.2" faye-websocket "^0.11.4" inherits "^2.0.4" url-parse "^1.5.10" sockjs@^0.3.21: version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" uuid "^8.3.2" websocket-driver "^0.7.4" -socks-proxy-agent@^6.1.1: - version "6.2.0" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz" - integrity sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ== +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== dependencies: agent-base "^6.0.2" debug "^4.3.3" @@ -7085,7 +8044,7 @@ socks-proxy-agent@^6.1.1: socks@^2.6.2: version "2.6.2" - resolved "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== dependencies: ip "^1.1.5" @@ -7093,19 +8052,19 @@ socks@^2.6.2: sort-keys@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== dependencies: is-plain-obj "^1.0.0" source-list-map@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-resolve@^0.5.0: version "0.5.3" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + 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" @@ -7116,7 +8075,7 @@ source-map-resolve@^0.5.0: source-map-support@^0.5.11, source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@^0.5.21, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" @@ -7124,27 +8083,53 @@ source-map-support@^0.5.11, source-map-support@^0.5.16, source-map-support@^0.5. source-map-url@^0.4.0: version "0.4.1" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.6: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3, source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +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.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: debug "^4.1.0" @@ -7156,7 +8141,7 @@ spdy-transport@^3.0.0: spdy@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" @@ -7167,170 +8152,211 @@ spdy@^4.0.2: split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + 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" split@0.3: version "0.3.3" - resolved "https://registry.npmjs.org/split/-/split-0.3.3.tgz" - integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== dependencies: through "2" sprintf-js@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== ssri@^7.0.0: version "7.1.1" - resolved "https://registry.npmjs.org/ssri/-/ssri-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.1.tgz#33e44f896a967158e3c63468e47ec46613b95b5f" integrity sha512-w+daCzXN89PseTL99MkA+fxJEcU3wfaE/ah0i0lnOlpG1CYLJ2ZjzEry68YBKfLs4JfoTShrTEsJkAZuNZ/stw== dependencies: figgy-pudding "^3.5.1" minipass "^3.1.1" ssri@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/ssri/-/ssri-9.0.0.tgz" - integrity sha512-Y1Z6J8UYnexKFN1R/hxUaYoY2LVdKEzziPmVAFKiKX8fiwvCJTVzn/xYE9TEWod5OVyNfIHHuVfIEuBClL/uJQ== + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== dependencies: minipass "^3.1.1" stat-mode@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== static-extend@^0.1.1: version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== dependencies: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stream-buffers@2.2.x: + version "2.2.0" + resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" + integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== stream-combiner@~0.0.4: version "0.0.4" - resolved "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz" - integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== dependencies: duplexer "~0.1.1" strict-uri-encode@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== + 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 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^2.0.0: + 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.npmjs.org/string-width/-/string-width-3.1.0.tgz" + 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.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.19.5" -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.19.5" string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + 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.1: +strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== 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 sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + 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.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + 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, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + 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.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-json-comments@^3.0.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== strtok3@^6.2.4, strtok3@^6.3.0: version "6.3.0" - resolved "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0" integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== dependencies: "@tokenizer/token" "^0.3.0" @@ -7338,7 +8364,7 @@ strtok3@^6.2.4, strtok3@^6.3.0: style-loader@^1.1.3: version "1.3.0" - resolved "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== dependencies: loader-utils "^2.0.0" @@ -7346,57 +8372,78 @@ style-loader@^1.1.3: sumchecker@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== dependencies: debug "^4.1.0" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + 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-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^6.1.11, tar@^6.1.2: version "6.1.11" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" @@ -7408,7 +8455,7 @@ tar@^6.1.11, tar@^6.1.2: temp-file@^3.4.0: version "3.4.0" - resolved "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz" + resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg== dependencies: async-exit-hook "^2.0.1" @@ -7416,7 +8463,7 @@ temp-file@^3.4.0: terser-webpack-plugin@^2.3.5: version "2.3.8" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== dependencies: cacache "^13.0.1" @@ -7430,19 +8477,19 @@ terser-webpack-plugin@^2.3.5: webpack-sources "^1.4.3" terser-webpack-plugin@^5.1.3: - version "5.3.1" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz" - integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== + version "5.3.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90" + integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ== dependencies: + "@jridgewell/trace-mapping" "^0.3.7" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.0" - source-map "^0.6.1" terser "^5.7.2" terser@^4.6.12, terser@^4.6.3: version "4.8.0" - resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== dependencies: commander "^2.20.0" @@ -7450,74 +8497,84 @@ terser@^4.6.12, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.7.2: - version "5.12.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz" - integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== + version "5.14.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" + integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== dependencies: + "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" commander "^2.20.0" - source-map "~0.7.2" source-map-support "~0.5.20" through@2, through@~2.3, through@~2.3.1: version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== thunky@^1.0.2: version "1.1.0" - resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== +timm@^1.6.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/timm/-/timm-1.7.1.tgz#96bab60c7d45b5a10a8a4d0f0117c6b7e5aff76f" + integrity sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw== + +tinycolor2@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + tmp-promise@^3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== dependencies: tmp "^0.2.0" tmp@^0.2.0: version "0.2.1" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== dependencies: rimraf "^3.0.0" to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-object-path@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== dependencies: kind-of "^3.0.2" to-readable-stream@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== to-regex-range@^2.1.0: version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== dependencies: is-number "^3.0.0" repeat-string "^1.6.1" to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + 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.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + 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" @@ -7527,57 +8584,69 @@ to-regex@^3.0.1, to-regex@^3.0.2: toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== token-types@^4.1.1, token-types@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/token-types/-/token-types-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.0.tgz#b66bc3d67420c6873222a424eee64a744f4c2f13" integrity sha512-P0rrp4wUpefLncNamWIef62J0v0kQR/GfDVji9WKY7GDCWy5YbVSrKUTam07iWPZQGy0zWNOfstYTykMmPNR7w== dependencies: "@tokenizer/token" "^0.3.0" ieee754 "^1.2.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + truncate-utf8-bytes@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz" - integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys= + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== dependencies: utf8-byte-length "^1.0.1" tslib@^1.9.3: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.3, tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" tunnel@^0.0.6: version "0.0.6" - resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== type-fest@^0.13.1: version "0.13.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + 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@^1.0.2: - version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== +type-fest@^2.12.2: + version "2.13.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.13.0.tgz#d1ecee38af29eb2e863b22299a3d68ef30d2abfb" + integrity sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw== type-is@~1.6.18: version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -7585,44 +8654,44 @@ type-is@~1.6.18: typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + 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" typedarray@^0.0.6: version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.6.3: - version "4.6.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz" - integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== +typescript@^4.6.4: + version "4.7.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.3.tgz#8364b502d5257b540f9de4c40be84c98e23a129d" + integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA== -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" underscore@: - version "1.13.2" - resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.2.tgz" - integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g== + version "1.13.4" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.4.tgz#7886b46bbdf07f768e0052f1828e1dcab40c0dee" + integrity sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" @@ -7630,17 +8699,17 @@ unicode-match-property-ecmascript@^2.0.0: unicode-match-property-value-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== unicode-property-aliases-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== union-value@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + 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" @@ -7650,43 +8719,43 @@ union-value@^1.0.0: unique-filename@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== dependencies: unique-slug "^2.0.0" unique-slug@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== dependencies: imurmurhash "^0.1.4" unique-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" universalify@^0.1.0: version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + 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.npmjs.org/universalify/-/universalify-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= unset-value@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= dependencies: has-value "^0.3.1" @@ -7694,12 +8763,12 @@ unset-value@^1.0.0: upath@^1.1.1: version "1.2.0" - resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== update-notifier@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== dependencies: boxen "^5.0.0" @@ -7719,19 +8788,19 @@ update-notifier@^5.1.0: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + 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.npmjs.org/urix/-/urix-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= url-loader@^4.0.0: version "4.1.1" - resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== dependencies: loader-utils "^2.0.0" @@ -7740,14 +8809,14 @@ url-loader@^4.0.0: url-parse-lax@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= dependencies: prepend-http "^2.0.0" -url-parse@^1.4.3, url-parse@^1.5.10: +url-parse@^1.5.10: version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== dependencies: querystringify "^2.1.1" @@ -7755,7 +8824,7 @@ url-parse@^1.4.3, url-parse@^1.5.10: url@^0.11.0: version "0.11.0" - resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= dependencies: punycode "1.3.2" @@ -7763,22 +8832,29 @@ url@^0.11.0: use@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== utf8-byte-length@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= +utif@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/utif/-/utif-2.0.1.tgz#9e1582d9bbd20011a6588548ed3266298e711759" + integrity sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg== + dependencies: + pako "^1.0.5" + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= util.promisify@1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== dependencies: define-properties "^1.1.2" @@ -7786,32 +8862,40 @@ util.promisify@1.0.0: utila@~0.4: version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= uuid@^3.3.2: version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== uuid@^8.3.2: version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-compile-cache@^2.1.1, v8-compile-cache@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +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" + vary@~1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= verror@^1.10.0: @@ -7825,7 +8909,7 @@ verror@^1.10.0: vue-devtools@^5.1.4: version "5.1.4" - resolved "https://registry.npmjs.org/vue-devtools/-/vue-devtools-5.1.4.tgz" + resolved "https://registry.yarnpkg.com/vue-devtools/-/vue-devtools-5.1.4.tgz#265a7458ade2affb291739176964256b597fa302" integrity sha512-EBAEXvAHUinsPzoSiElps0JgtLXUnJXKIJbP6nfdz/R63VdKBMfJ34/rFip+4iT7iMbVS5lA4W6N1jq4Hj4LCg== wallpaper@5.0.1: @@ -7834,23 +8918,28 @@ wallpaper@5.0.1: integrity sha512-yB9sBVfosR+NVabo/Ej21hga5u55NQUUdDVoo4LwrLJDRA+ezzX4wmNGwl5yxx/fkBgTADMqLL8ldnfN8TI9hQ== watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz" - integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== dependencies: minimalistic-assert "^1.0.0" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webpack-cli@^3.3.11: version "3.3.12" - resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== dependencies: chalk "^2.4.2" @@ -7867,7 +8956,7 @@ webpack-cli@^3.3.11: webpack-dev-middleware@^3.7.2: version "3.7.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== dependencies: memory-fs "^0.4.1" @@ -7878,7 +8967,7 @@ webpack-dev-middleware@^3.7.2: webpack-dev-server@^3.10.3: version "3.11.3" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== dependencies: ansi-html-community "0.0.8" @@ -7917,7 +9006,7 @@ webpack-dev-server@^3.10.3: webpack-log@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== dependencies: ansi-colors "^3.0.0" @@ -7925,14 +9014,14 @@ webpack-log@^2.0.0: webpack-merge@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== dependencies: lodash "^4.17.15" webpack-sources@^1.1.0, webpack-sources@^1.4.3: version "1.4.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" @@ -7940,13 +9029,13 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.3: webpack-sources@^3.2.3: version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@~5.72.0: - version "5.72.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz" - integrity sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w== + version "5.72.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.72.1.tgz#3500fc834b4e9ba573b9f430b2c0a61e1bb57d13" + integrity sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" @@ -7957,13 +9046,13 @@ webpack@~5.72.0: acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.2" + enhanced-resolve "^5.9.3" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" graceful-fs "^4.2.9" - json-parse-better-errors "^1.0.2" + json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" @@ -7975,7 +9064,7 @@ webpack@~5.72.0: websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== dependencies: http-parser-js ">=0.5.1" @@ -7984,12 +9073,20 @@ websocket-driver@>=0.5.1, websocket-driver@^0.7.4: websocket-extensions@>=0.1.1: version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + 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" @@ -8000,40 +9097,48 @@ which-boxed-primitive@^1.0.2: which-module@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + 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.npmjs.org/which/-/which-2.0.2.tgz" + 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.5: version "1.1.5" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" widest-line@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== dependencies: string-width "^4.0.0" +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" + 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" @@ -8042,7 +9147,7 @@ wrap-ansi@^5.1.0: wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + 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" @@ -8051,7 +9156,7 @@ wrap-ansi@^6.2.0: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -8060,12 +9165,12 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + 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.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + 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" @@ -8075,29 +9180,44 @@ write-file-atomic@^3.0.0: ws@^6.2.1: version "6.2.2" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" ws@^7.3.1: - version "7.5.7" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== + version "7.5.8" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a" + integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw== ws@^8.5.0: - version "8.5.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== + version "8.8.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769" + integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ== xdg-basedir@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xml2js@^0.4.17, xml2js@^0.4.23: +xhr@^2.0.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xml-parse-from-string@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" + integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= + +xml2js@^0.4.17, xml2js@^0.4.23, xml2js@^0.4.5: version "0.4.23" - resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== dependencies: sax ">=0.6.0" @@ -8110,42 +9230,57 @@ xmlbuilder@>=11.0.1: xmlbuilder@^9.0.7: version "9.0.7" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= xmlbuilder@~11.0.0: version "11.0.1" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== xpipe@*: version "1.0.5" - resolved "https://registry.npmjs.org/xpipe/-/xpipe-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/xpipe/-/xpipe-1.0.5.tgz#8dd8bf45fc3f7f55f0e054b878f43a62614dafdf" integrity sha1-jdi/Rfw/f1Xw4FS4ePQ6YmFNr98= +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + y18n@^4.0.0: version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +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@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + 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.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== dependencies: camelcase "^5.0.0" @@ -8153,7 +9288,7 @@ yargs-parser@^13.1.2: yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" @@ -8161,12 +9296,19 @@ yargs-parser@^18.1.2: yargs-parser@^21.0.0: version "21.0.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= + dependencies: + camelcase "^4.1.0" + yargs@^13.3.2: version "13.3.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== dependencies: cliui "^5.0.0" @@ -8182,7 +9324,7 @@ yargs@^13.3.2: yargs@^15.3.1: version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + 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" @@ -8198,9 +9340,9 @@ yargs@^15.3.1: yargs-parser "^18.1.2" yargs@^17.0.1: - version "17.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz" - integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== dependencies: cliui "^7.0.2" escalade "^3.1.1" @@ -8210,9 +9352,28 @@ yargs@^17.0.1: y18n "^5.0.5" yargs-parser "^21.0.0" +yargs@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-9.0.1.tgz#52acc23feecac34042078ee78c0c007f5085db4c" + integrity sha1-UqzCP+7Kw0BCB47njAwAf1CF20w= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yauzl@^2.10.0: version "2.10.0" - resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: buffer-crc32 "~0.2.3" @@ -8220,7 +9381,7 @@ yauzl@^2.10.0: youtube-search-without-api-key@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/youtube-search-without-api-key/-/youtube-search-without-api-key-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/youtube-search-without-api-key/-/youtube-search-without-api-key-1.0.7.tgz#39b348d6416318731430a9316da7900c3744bf4f" integrity sha512-PjwejF6YApZDqTFo46/4q6IQlztUtQsP/8ygcHYyakPHqijIKn36+yUQVPTC92/+IZtqyZBhpTKP1bG6uZKP/Q== dependencies: got "^11.8.3" diff --git a/package.json b/package.json index 3248c3c9..9aa21352 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "cider", "applicationId": "Cider", "productName": "Cider", - "version": "1.5.0", + "version": "1.5.1", "description": "A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind.", "license": "AGPL-3.0", "main": "./build/index.js", @@ -14,7 +14,8 @@ "homepage": "https://cider.sh/", "buildResources": "resources", "scripts": { - "build": "tsc", + "build": "tsc && yarn compile-less", + "compile-less": "lessc ./src/renderer/style.less ./src/renderer/style.css", "watch": "tsc --watch", "start": "run-script-os", "start:win32": "yarn build && set ELECTRON_ENABLE_LOGGING=true && electron ./build/index.js --enable-accelerated-mjpeg-decode --enable-accelerated-video --disable-gpu-driver-bug-workarounds --ignore-gpu-blacklist --enable-native-gpu-memory-buffers", @@ -39,8 +40,10 @@ "dependencies": { "@sentry/electron": "^3.0.7", "@sentry/integrations": "^6.19.6", + "@types/pouchdb": "^6.4.0", + "@types/pouchdb-node": "^6.1.4", "adm-zip": "0.4.10", - "airtunes2": "git+https://github.com/ciderapp/node_airtunes2", + "airtunes2": "git+https://github.com/ciderapp/node_airtunes2.git", "castv2-client": "^1.2.0", "chokidar": "^3.5.3", "discord-auto-rpc": "^1.0.16", @@ -57,16 +60,22 @@ "jimp": "^0.16.1", "jsonc": "^2.0.0", "lastfmapi": "^0.1.1", + "level": "^8.0.0", + "leveldown": "^6.1.1", "mdns-js": "git+https://github.com/ciderapp/node-mdns-js.git", "mpris-service": "^2.1.2", - "music-metadata": "^7.12.3", + "music-metadata": "^7.12.4", "node-gyp": "^9.0.0", "node-ssdp": "^4.0.1", + "pouchdb-adapter-leveldb": "^7.3.0", + "pouchdb-node": "^7.3.0", + "pouchdb-upsert": "^2.2.0", "qrcode": "^1.5.0", "react": "^18.0.0", "react-dom": "^18.0.0", "run-script-os": "^1.1.6", "source-map-support": "^0.5.21", + "ts-md5": "^1.2.11", "v8-compile-cache": "^2.3.0", "wallpaper": "5.0.1", "ws": "^8.5.0", @@ -79,10 +88,11 @@ "@types/express": "^4.17.13", "@types/qrcode-terminal": "^0.12.0", "@types/ws": "^8.5.3", - "electron": "git+https://github.com/castlabs/electron-releases.git#19-x-y", + "electron": "git+https://github.com/castlabs/electron-releases.git#18-x-y", "electron-builder": "^23.0.3", "electron-builder-notarize-pkg": "^1.2.0", "electron-webpack": "^2.8.2", + "less": "^4.1.3", "musickit-typescript": "^1.2.4", "typescript": "^4.6.4", "vue-devtools": "^5.1.4", @@ -111,9 +121,9 @@ } ], "build": { - "electronVersion": "19.0.3", + "electronVersion": "19.0.8", "electronDownload": { - "version": "19.0.3+wvcus", + "version": "20.0.0-beta.11+wvcus", "mirror": "https://github.com/castlabs/electron-releases/releases/download/v" }, "appId": "cider", diff --git a/resources/afterPack.js b/resources/afterPack.js index dd9eda0d..7cbae403 100644 --- a/resources/afterPack.js +++ b/resources/afterPack.js @@ -14,7 +14,7 @@ exports.default = function(context) { // console.log('Castlabs-evs update complete') // xcode 13 - if (fs.existsSync('dist/mac-universal--x64') && fs.existsSync('dist/mac-universal--arm64')) + if (fs.existsSync('dist/mac-universal--x64') && fs.existsSync('dist/mac-universal--arm64') && fs.existsSync('dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib')) execSync("cp 'dist/mac-universal--x64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib' 'dist/mac-universal--arm64/Cider.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/MainMenu.nib/keyedobjects-101300.nib'",{stdio: 'inherit'}) // console.log('VMP signing start') @@ -24,9 +24,7 @@ exports.default = function(context) { // execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac',{stdio: 'inherit'}) // if (fs.existsSync('dist/mac-arm64')) // execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac-arm64 -z',{stdio: 'inherit'}) - // if (fs.existsSync('dist/mac-x64')) - // execSync('python3 -m castlabs_evs.vmp -n sign-pkg dist/mac-x64',{stdio: 'inherit'}) - + // console.log('VMP signing complete') -} \ No newline at end of file +} diff --git a/resources/icons/icon.svg b/resources/icons/icon.svg new file mode 100644 index 00000000..6f5cad41 --- /dev/null +++ b/resources/icons/icon.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + diff --git a/resources/version.sh b/resources/version.sh index 404521cd..deb492ca 100755 --- a/resources/version.sh +++ b/resources/version.sh @@ -3,13 +3,17 @@ LATEST_SHA=$(curl -s https://api.github.com/repos/ciderapp/Cider/branches/stable | grep sha | cut -d '"' -f 4 | sed 's/v//' | xargs) COMMITSINCESTABLE=$(git rev-list $LATEST_SHA..HEAD --count) CURRENT_VERSION=$(node -p -e "require('./package.json').version") -NEW_VERSION=${CURRENT_VERSION/0/$COMMITSINCESTABLE} -if [[ $COMMITSINCESTABLE -gt 0 ]] -then +if [[ $CIRCLE_BRANCH == "main" && $COMMITSINCESTABLE -gt 0 ]]; then + NEW_VERSION="${CURRENT_VERSION}-beta.${COMMITSINCESTABLE}" +else + NEW_VERSION=${CURRENT_VERSION/0/$COMMITSINCESTABLE} +fi + +if [[ $COMMITSINCESTABLE -gt 0 ]]; then echo "Version: $NEW_VERSION" sed -i "0,/$CURRENT_VERSION/s//$NEW_VERSION/" package.json else - echo "Version unchanged, commits since stable is 0" + echo "Version unchanged, commits since stable is ${COMMITSINCESTABLE}" fi -echo "export APP_VERSION=$(node -p -e 'require("./package.json").version')" >> $BASH_ENV +echo "export APP_VERSION=$(node -p -e 'require("./package.json").version')" >>$BASH_ENV diff --git a/src/i18n/README.md b/src/i18n/README.md index fa109d75..5ab6cba6 100644 --- a/src/i18n/README.md +++ b/src/i18n/README.md @@ -423,10 +423,10 @@ Update 24/05/2022 20:30 UTC Update 24/05/2022 21:15 UTC -* `settings.option.general.updateCider`: Deleted for all language files -* `settings.option.general.updateCider.branch`: Deleted for all language files +* `settings.option.general.updateCider`: Deleted for all language files +* `settings.option.general.updateCider.branch`: Deleted for all language files * `settings.option.general.updateCider.branch.description`: Deleted for all language files -* `settings.option.general.updateCider.branch.main`: Deleted for all language files +* `settings.option.general.updateCider.branch.main`: Deleted for all language files * `settings.option.general.updateCider.branch.develop`: Deleted for all language files * `settings.notyf.updateCider.update-error`: Deleted for all language files @@ -442,4 +442,86 @@ Update 30/5/2022 05:35 UTC Update 03/06/2022 11:40 UTC * `settings.option.connectivity.discordRPC.reload`: Added to `en_US` -* `settings.option.connectivity.discordRPC.reconnectedToUser`: Added to `en_US` \ No newline at end of file +* `settings.option.connectivity.discordRPC.reconnectedToUser`: Added to `en_US` + +Update 04/06/2022 03:00 UTC + +* `term.cast`: Added to `en_US` +* `term.playpause`: Added to `en_US` +* `term.reload`: Added to `en_US` +* `term.toggleprivate`: Added to `en_US` +* `term.webremote`: Added to `en_US` +* `term.cast2`: Added to `en_US` +* `term.quit`: Added to `en_US` +* `menubar.options.zoom`: Added to `en_US` +* `term.zoomin`: Added to `en_US` +* `term.zoomout`: Added to `en_US` +* `term.zoomreset`: Added to `en_US` +* `term.fullscreen`: Added to `en_US` +* `settings.option.general.keybindings.library`: Added to `en_US` +* `settings.option.general.keybindings.session`: Added to `en_US` +* `settings.option.general.keybindings.control`: Added to `en_US` +* `settings.option.general.keybindings.interface`: Added to `en_US` +* `settings.option.general.keybindings.advanced`: Added to `en_US` + +* `action.tray.quit`: Deleted for all language files +* `action.tray.playpause`: Deleted for all language files +* `action.tray.next`: Deleted for all language files +* `action.tray.previous`: Deleted for all language files +* `menubar.options.about`: Deleted for all language files +* `menubar.options.settings`: Deleted for all language files +* `menubar.options.quit`: Deleted for all language files +* `menubar.options.toggleprivate`: Deleted for all language files +* `menubar.options.webremote`: Deleted for all language files +* `menubar.options.audio`: Deleted for all language files +* `menubar.options.next`: Deleted for all language files +* `menubar.options.previous`: Deleted for all language files +* `menubar.options.browse`: Deleted for all language files +* `menubar.options.artists`: Deleted for all language files +* `menubar.options.search`: Deleted for all language files +* `menubar.options.albums`: Deleted for all language files +* `menubar.options.cast`: Deleted for all language files +* `menubar.options.accountsettings`: Deleted for all language files +* `menubar.options.discord`: Deleted for all language files +* `menubar.options.github`: Deleted for all language files, +* `menubar.options.listennow`: Deleted for all language files +* `menubar.options.recentlyAdded`: Deleted for all language files +* `menubar.options.songs`: Deleted for all language files +* `settings.option.general.keybindings.open`: Deleted for all language files +* `menubar.options.playpause`: Deleted for all language files +Update 10/06/2022 20:00 UTC + +* `settings.option.visual.purplePodcastPlaybackBar`: Added to `en_US` + +Update 14/06/2022 14:10 UTC + +* `term.themeManaged`: Added to `en_US` + +Update 15/06/2022 20:00 UTC + +* `settings.notyf.connectivity.lastfmScrobble.connectError`: Added to `en_US` +* `settings.notyf.connectivity.lastfmScrobble.connectSuccess`: Added to `en_US` +* `settings.notyf.connectivity.lastfmScrobble.connecting`: Added to `en_US` + +Update 19/06/2022 12:00 UTC + +* `settings.option.connectivity.lastfmScrobble.filterLoop.description`: Added to `en_US` + +Update 21/06/2022 20:39 UTC + +* `term.showSearch`: Added to `en_US` +* `term.hideSearch`: Added to `en_US` + +Update 23/06/2022 04:00 UTC + +* `settings.option.connectivity.lastfmScrobble.filterTypes`: Added to `en_US` + + +Update 03/07/2022 20:00 UTC + +* `term.plugins`: Added to `en_US` +* `settings.header.visual.styles`: Added to `en_US` + +Update 25/07/2022 00:22 UTC + +* `settings.option.visual.compactArtistHeader`: Added to `en_US` diff --git a/src/i18n/de_DE.json b/src/i18n/de_DE.json index 071d18eb..8f86cdf6 100644 --- a/src/i18n/de_DE.json +++ b/src/i18n/de_DE.json @@ -386,5 +386,18 @@ "term.track": { "one": "Titel", "other": "Titel" - } + }, + "settings.option.visual.customAccentColor": "Benutzerdefinierte Akzentfarbe", + "settings.option.visual.accentColor": "Akzentfarbe", + "settings.option.visual.purplePodcastPlaybackBar": "Lila Wiedergabeleiste für Podcasts", + "settings.option.visual.windowColor": "Fenstertƶnung Farbe", + "action.cut": "Ausschneiden", + "action.paste": "Einfügen", + "action.selectAll": "Alles auswƤhlen", + "action.delete": "Lƶschen", + "home.syncFavorites": "Sync Favoriten", + "term.quit" : "Beenden", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "Verhindert, dass geloopte Titel gescrobbelt oder in der (Hƶrt Gerade)-Liste auf Last.fm angezeigt werden", + "settings.option.connectivity.lastfmScrobble.filterTypes": "Medientypen filtern (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "Last.fm-Token manuell eingeben" } diff --git a/src/i18n/en_GB.json b/src/i18n/en_GB.json index bd4f7203..3be188ea 100644 --- a/src/i18n/en_GB.json +++ b/src/i18n/en_GB.json @@ -2,7 +2,7 @@ "i18n.languageName": "English (UK)", "i18n.languageNameEnglish": "English (UK)", "i18n.category": "main", - "i18n.authors": "Core, inalone, nosh118", + "i18n.authors": "Core, inalone, nosh118, booploops", "date.format": "${d} ${m}, ${y}", "term.equalizer": "Equaliser", "settings.option.audio.enableAdvancedFunctionality.description": "Enabling AudioContext functionality will allow for extended audio features like Audio Normalisation, Equalisers and Visualisers - however on some systems this may cause stuttering in audio tracks.", @@ -14,5 +14,14 @@ "term.track": { "one" : "song", "other" : "songs" - } + }, + "home.syncFavorites": "Sync Favourites", + "home.syncFavorites.gettingArtists": "Getting Favourited Artists...", + "action.addToFavorites": "Add to Favourites", + "action.favorite": "Favourite", + "action.removeFavorite": "Remove Favourite", + "settings.option.visual.customAccentColor": "Custom Accent Colour", + "settings.option.visual.accentColor": "Accent Colour", + "settings.option.visual.windowColor": "Window Tint Colour", + "settings.header.visual.windowBackgroundStyle.color": "Colour Tint" } diff --git a/src/i18n/en_OWO.json b/src/i18n/en_OWO.json index b46d1673..eb147a67 100644 --- a/src/i18n/en_OWO.json +++ b/src/i18n/en_OWO.json @@ -22,7 +22,6 @@ "term.logout": "Wogout", "term.login": "Wog In", "term.quickNav": "Quick Nyav", - "term.cast": "Cast", "term.about": "About", "term.privateSession": "Pwivate Session", "term.disablePrivateSession": "Disabwe Pwivate Session", @@ -42,6 +41,7 @@ "term.artists": "Awtists", "term.podcasts": "Podcasts", "term.playlists": "Pwaywists", + "term.charts": "Chawts", "term.playlist": "Pwaywist", "term.newPlaylist": "Nyew Pwaywist", "term.newPlaylistFolder": "Nyew Pwaywist Fowdew", @@ -51,6 +51,7 @@ "term.navigateBack": "Nyavigate back", "term.navigateForward": "Nyavigate fowwawd", "term.play": "Pway", + "term.playpause": "Pway/Pause", "term.pause": "Pause", "term.stop": "Stop", "term.previous": "Pwevious", @@ -135,7 +136,7 @@ "term.amLive": "Appwe Music Wive", "term.language": "Wanguage", "term.funLanguages": "Fun", - "term.noLyrics": "Woading... / Wywics nyot found./ Instwumentaw.", + "term.noLyrics": ">w< Sowwy Wowwy.. N-Nyo Wywics Avaiwabwe", "term.copyright": "Copywight", "term.rightsReserved": "Aww Wights Wesewved.", "term.sponsor": "Sponsow this pwoject", @@ -153,6 +154,7 @@ }, "term.videos": "Videos", "term.menu": "Menyu", + "term.themeManaged": "Manyaged by a theme", "term.check": "Check", "term.aboutArtist": "About {{artistName}}", "term.topResult": "Top Wesuwt", @@ -192,6 +194,16 @@ "term.confirmLogout": "Awe you suwe you want to wogout?", "term.creditDesignedBy": "Designyed by ${authorUsername}", "term.discNumber": "Disc ${discNumber}", + "term.reload": "Wewoad Cidew ?", + "term.toggleprivate": "Toggwe Pwivate Session", + "term.webremote": "Web Wemote", + "term.cast": "Cast", + "term.cast2": "Cast to Devices", + "term.quit": "Quit", + "term.zoomin": "Zoom In", + "term.zoomout": "Zoom Out", + "term.zoomreset": "Weset Zoom", + "term.fullscreen": "Fuwwscween", "home.title": "Home", "home.recentlyPlayed": "Wecentwy Pwayed", "home.recentlyAdded": "Wecentwy Added", @@ -264,11 +276,7 @@ "action.export": "Expowt", "action.showAlbum": "Show Compwete Awbum", "action.tray.minimize": "Minyimize to Tway", - "action.tray.quit": "Quit", "action.tray.show": "Show Cidew", - "action.tray.playpause": "Pway/Pause", - "action.tray.next": "Nyext", - "action.tray.previous": "Pwevious", "action.tray.listento": "Wisten To:", "action.update": "Update", "action.install": "Instaww", @@ -288,45 +296,26 @@ "action.createNew": "Cweate Nyew...", "action.openArtworkInBrowser": "Open awtwowk in bwowsew", "action.scrollToTop": "Scwoww to top", - "menubar.options.about": "About", - "menubar.options.settings": "Settings", - "menubar.options.quit": "Quit Cidew", - "menubar.options.view": "View ", + "menubar.options.view": "View", "menubar.options.reload": "Wewoad", "menubar.options.forcereload": "Fowce Wewoad", "menubar.options.toggledevtools": "Toggwe Devewopew Toows", "menubar.options.window": "Window", "menubar.options.minimize": "Minyimize", - "menubar.options.toggleprivate": "Toggwe Pwivate Session", - "menubar.options.webremote": "Web Wemote", - "menubar.options.audio": "Audio Settings", "menubar.options.plugins": "Pwu-gins Menyu", "menubar.options.controls": "Contwows", - "menubar.options.next": "Nyext", - "menubar.options.playpause": "Pway/Pause", - "menubar.options.previous": "Pwevious", "menubar.options.volumeup": "Vowume Up", "menubar.options.volumedown": "Vowume Down", - "menubar.options.browse": "Bwowse", - "menubar.options.artists": "Awtists", - "menubar.options.search": "Seawch", - "menubar.options.albums": "Awbums", - "menubar.options.cast": "Cast To Devices", "menubar.options.account": "Account", - "menubar.options.accountsettings": "Account Settings", "menubar.options.signout": "Sign Out", "menubar.options.support": "Suppowt", - "menubar.options.discord": "Discowd", - "menubar.options.github": "GitHub Wiki", "menubar.options.report": "Wepowt a...", "menubar.options.bug": "Bug", "menubar.options.feature": "Featuwe Wequest", "menubar.options.trans": "Twanswation Wepowt/Wequest", "menubar.options.license": "View Wicense", "menubar.options.conf": "Open Configuwation Fiwe in Editow", - "menubar.options.listennow": "Wisten Nyow", - "menubar.options.recentlyAdded": "Wecentwy Added", - "menubar.options.songs": "Songs", + "menubar.options.zoom": "Zoom", "settings.header.general": "Genyewaw", "settings.header.general.description": "Adjust the genyewaw settings fow Cidew.", "settings.option.general.language": "Wanguage", @@ -346,11 +335,15 @@ "settings.option.general.customizeSidebar": "Customize Sidebaw Items", "settings.option.general.customizeSidebar.customize": "Customize", "settings.option.general.keybindings": "Keybindings", + "settings.option.general.keybindings.library": "Wibwawy", + "settings.option.general.keybindings.session": "Session", + "settings.option.general.keybindings.control": "Contwows", + "settings.option.general.keybindings.interface": "Intewface", + "settings.option.general.keybindings.advanced": "Advanced", "settings.option.general.keybindings.pressCombination": "Pwess a combinyation of two keys to update keybind.", "settings.option.general.keybindings.pressEscape": "Pwess Escape key to go back.", "settings.notyf.general.keybindings.update.success": "Keybind updated successfuwwy", "settings.prompt.general.keybindings.update.success": "Keybind updated successfuwwy. Pwess OK to wewaunch Cidew", - "settings.option.general.keybindings.open": "Open", "settings.option.general.themeUpdateNotification": "Automaticawwy check fow theme updates", "settings.option.general.showLovedTracksInline": "Show wuvd twacks inwinye", "settings.description.search": "Seawch", diff --git a/src/i18n/en_PISS.json b/src/i18n/en_PISS.json index 3047cac2..692c8ebc 100644 --- a/src/i18n/en_PISS.json +++ b/src/i18n/en_PISS.json @@ -103,7 +103,7 @@ "term.recentStations": "recent pisses", "term.language": "piss around the world", "term.funLanguages": "piss languages", - "term.noLyrics": "piss…", + "term.noLyrics": "out of piss...", "term.copyright": "copypiss", "term.rightsReserved": "all piss reserved.", "term.sponsor": "piss on Cider", diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index efbee836..71ef359a 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -22,7 +22,6 @@ "term.logout": "Logout", "term.login": "Log In", "term.quickNav": "Quick Nav", - "term.cast": "Cast", "term.about": "About", "term.privateSession": "Private Session", "term.disablePrivateSession": "Disable Private Session", @@ -32,6 +31,12 @@ "term.miniplayer": "MiniPlayer", "term.history": "History", "term.search": "Search", + "term.scroll": "Scroll Mode", + "term.scroll.infinite": "Infinite", + "term.scroll.paged": "${songsPerPage} per page", + "term.live": "LIVE", + "term.showSearch": "Show search bar", + "term.hideSearch": "Hide search bar", "term.library": "Library", "term.listenNow": "Listen Now", "term.browse": "Browse", @@ -52,6 +57,7 @@ "term.navigateBack": "Navigate back", "term.navigateForward": "Navigate forward", "term.play": "Play", + "term.playpause": "Play/Pause", "term.pause": "Pause", "term.stop": "Stop", "term.previous": "Previous", @@ -136,7 +142,7 @@ "term.amLive": "Apple Music Live", "term.language": "Language", "term.funLanguages": "Fun", - "term.noLyrics": "Loading... / Lyrics not found./ Instrumental.", + "term.noLyrics": "Instrumental Track / No Lyrics.", "term.copyright": "Copyright", "term.rightsReserved": "All Rights Reserved.", "term.sponsor": "Sponsor this project", @@ -154,6 +160,7 @@ }, "term.videos": "Videos", "term.menu": "Menu", + "term.themeManaged": "Managed by a theme", "term.check": "Check", "term.aboutArtist": "About {{artistName}}", "term.topResult": "Top Result", @@ -177,8 +184,9 @@ "term.top": "Top", "term.version": "Version", "term.noVideos": "No videos found.", - "term.plugin": "Plug-in", - "term.pluginMenu": "Plug-in Menu", + "term.plugins": "Plugins", + "term.plugin": "Plugin", + "term.pluginMenu": "Plugins Menu", "term.pluginMenu.none": "No interactive plugins", "term.replay": "Replay", "term.uniqueAlbums": "Unique Albums", @@ -193,6 +201,22 @@ "term.confirmLogout": "Are you sure you want to logout?", "term.creditDesignedBy": "Designed by ${authorUsername}", "term.discNumber": "Disc ${discNumber}", + "term.reload" : "Reload Cider?", + "term.toggleprivate" : "Toggle Private Session", + "term.webremote" : "Web Remote", + "term.cast" : "Cast", + "term.cast2" : "Cast to Devices", + "term.quit" : "Quit", + "term.zoomin" : "Zoom In", + "term.zoomout" : "Zoom Out", + "term.zoomreset" : "Reset Zoom", + "term.fullscreen" : "Fullscreen", + "term.nowPlaying": "Now Playing", + "home.syncFavorites": "Sync Favorites", + "home.syncFavorites.gettingArtists": "Getting Favorited Artists...", + "action.favorite": "Favorite", + "action.removeFavorite": "Remove Favorite", + "action.refresh": "Refresh", "home.title": "Home", "home.recentlyPlayed": "Recently Played", "home.recentlyAdded": "Recently Added", @@ -213,8 +237,6 @@ "podcast.episodes": "Episodes", "podcast.playEpisode": "Play Episode", "podcast.website": "Podcast Website", - "action.favorite": "Favorite", - "action.removeFavorite": "Remove Favorite", "action.hideLibrary": "Hide Library", "action.showLibrary": "Show Library", "action.cut": "Cut", @@ -223,6 +245,7 @@ "action.delete": "Delete", "action.edit": "Edit", "action.done": "Done", + "action.submit": "Submit", "action.editTracklist": "Edit Tracklist", "action.addToLibrary": "Add to Library", "action.addToLibrary.success": "Added to Library", @@ -267,11 +290,7 @@ "action.export": "Export", "action.showAlbum": "Show Complete Album", "action.tray.minimize": "Minimize to Tray", - "action.tray.quit": "Quit", "action.tray.show": "Show Cider", - "action.tray.playpause": "Play/Pause", - "action.tray.next": "Next", - "action.tray.previous": "Previous", "action.tray.listento": "Listen To:", "action.update": "Update", "action.install": "Install", @@ -291,45 +310,26 @@ "action.createNew": "Create New...", "action.openArtworkInBrowser": "Open artwork in browser", "action.scrollToTop": "Scroll to top", - "menubar.options.about": "About", - "menubar.options.settings": "Settings", - "menubar.options.quit": "Quit Cider", - "menubar.options.view": "View ", + "menubar.options.view": "View", "menubar.options.reload": "Reload", "menubar.options.forcereload": "Force Reload", "menubar.options.toggledevtools": "Toggle Developer Tools", "menubar.options.window": "Window", "menubar.options.minimize": "Minimize", - "menubar.options.toggleprivate": "Toggle Private Session", - "menubar.options.webremote": "Web Remote", - "menubar.options.audio": "Audio Settings", "menubar.options.plugins": "Plu-gins Menu", "menubar.options.controls": "Controls", - "menubar.options.next": "Next", - "menubar.options.playpause": "Play/Pause", - "menubar.options.previous": "Previous", "menubar.options.volumeup": "Volume Up", "menubar.options.volumedown": "Volume Down", - "menubar.options.browse": "Browse", - "menubar.options.artists": "Artists", - "menubar.options.search": "Search", - "menubar.options.albums": "Albums", - "menubar.options.cast": "Cast To Devices", "menubar.options.account": "Account", - "menubar.options.accountsettings": "Account Settings", "menubar.options.signout": "Sign Out", "menubar.options.support": "Support", - "menubar.options.discord": "Discord", - "menubar.options.github": "GitHub Wiki", "menubar.options.report": "Report a...", "menubar.options.bug": "Bug", "menubar.options.feature": "Feature Request", "menubar.options.trans": "Translation Report/Request", "menubar.options.license": "View License", "menubar.options.conf": "Open Configuration File in Editor", - "menubar.options.listennow": "Listen Now", - "menubar.options.recentlyAdded": "Recently Added", - "menubar.options.songs": "Songs", + "menubar.options.zoom": "Zoom", "settings.header.general": "General", "settings.header.general.description": "Adjust the general settings for Cider.", "settings.option.general.language": "Language", @@ -349,13 +349,19 @@ "settings.option.general.customizeSidebar": "Customize Sidebar Items", "settings.option.general.customizeSidebar.customize": "Customize", "settings.option.general.keybindings": "Keybindings", + "settings.option.general.keybindings.library": "Library", + "settings.option.general.keybindings.session": "Session", + "settings.option.general.keybindings.control": "Controls", + "settings.option.general.keybindings.interface": "Interface", + "settings.option.general.keybindings.advanced": "Advanced", "settings.option.general.keybindings.pressCombination": "Press a combination of two keys to update keybind.", "settings.option.general.keybindings.pressEscape": "Press Escape key to go back.", "settings.notyf.general.keybindings.update.success": "Keybind updated successfully", "settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider", - "settings.option.general.keybindings.open": "Open", "settings.option.general.themeUpdateNotification": "Automatically check for theme updates", "settings.option.general.showLovedTracksInline": "Show loved tracks inline", + "settings.option.general.pagination": "Items to show per page", + "settings.options.general.pagination.description": "This determines how many songs/albums to show initially for infinite scrolling, or how many songs/albums to show for a single page", "settings.description.search": "Search", "settings.description.albums": "Library Albums", "settings.description.artists": "Library Artists", @@ -416,9 +422,9 @@ "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "Jasmine Macchiato", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "Hokkaido Milk Tea", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "Moonlight Softcake", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Brown Sugar Creme BrĆ»lĆ©e Milk", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "Clafoutis aux Cerises", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "Uji Matcha Mochi", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Brown Sugar Creme BrĆ»lĆ©e Milk", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Cuddle Warmth", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Enhances the perceived audio quality of AAC encoded audio by using a real-time algorithm that takes advantage of both psychoacoustic models of human hearing and AAC encoding characteristics.", @@ -452,14 +458,10 @@ "settings.header.visual": "Visual", "settings.header.visual.description": "Adjust the visual settings for Cider.", "settings.option.visual.windowStyle": "Window Style", - "settings.option.visual.customAccentColor": "Custom Accent Color", - "settings.option.visual.accentColor": "Accent Color", - "settings.option.visual.windowColor": "Window Tint Color", "settings.option.visual.windowBackgroundStyle": "Window Background Style", "settings.header.visual.windowBackgroundStyle.none": "None", "settings.header.visual.windowBackgroundStyle.artwork": "Artwork", "settings.header.visual.windowBackgroundStyle.image": "Image", - "settings.header.visual.windowBackgroundStyle.color": "Color Tint", "settings.option.visual.animatedArtwork": "Animated Artwork", "settings.header.visual.animatedArtwork.always": "Always", "settings.header.visual.animatedArtwork.limited": "Limited to pages and special entries", @@ -485,6 +487,7 @@ "settings.prompt.visual.theme.github.URL": "Enter the URL of the theme you want to install", "settings.prompt.visual.theme.uninstallTheme": "Are you sure you want to uninstall {{ theme }}?", "settings.option.visual.theme.checkForUpdates": "Check for updates", + "settings.header.visual.styles": "Styles", "settings.option.visual.theme.manageStyles": "Manage Styles", "settings.option.visual.theme.uninstall": "Uninstall", "settings.option.visual.theme.viewInfo": "View Info", @@ -536,6 +539,12 @@ "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "Prevent looped tracks from being scrobbled or displayed in the Now Playing list on Last.fm.", + "settings.option.connectivity.lastfmScrobble.filterTypes": "Filter Media Types (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "Enter Last.fm Token Manually", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Connection Timed Out", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm Connection Successful", + "settings.notyf.connectivity.lastfmScrobble.connecting": "Connecting to Last.fm...", "settings.header.debug": "Debug", "settings.option.debug.copy_log": "Copy logs to clipboard", "settings.option.debug.openAppData": "Open Cider Folder", @@ -547,11 +556,18 @@ "settings.option.experimental.unknownPlugin.description": "Allow installation of plugins from repos other than the Cider Plugin Repository", "settings.option.experimental.compactUI": "Compact UI", "settings.option.window.close_button_hide": "Close Button Should Hide the Application", + "settings.option.window.maxElementScale": "Maximum Element Scale", "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", "settings.option.advanced.playlistTrackMapping": "Playlist Track Mapping", "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.", "settings.option.visual.transparent": "Transparent frame", "settings.option.visual.transparent.description": "needs Theme Support, requires relaunch", + "settings.option.visual.customAccentColor": "Custom Accent Color", + "settings.option.visual.accentColor": "Accent Color", + "settings.option.visual.purplePodcastPlaybackBar": "Purple Playback Bar for Podcasts", + "settings.option.visual.compactArtistHeader": "Compact Artist Header", + "settings.option.visual.windowColor": "Window Tint Color", + "settings.header.visual.windowBackgroundStyle.color": "Color Tint", "settings.header.advanced": "Advanced", "settings.header.connect": "Sync", "settings.option.connect.link_account": "Enable Sync with Cider Connect", @@ -628,4 +644,4 @@ "oobe.visual.suggestingThemes.community3": "Dracula", "oobe.visual.suggestingThemes.community3.text": "The iconic Dracula color scheme.", "oobe.amsignin.title": "" -} +} \ No newline at end of file diff --git a/src/i18n/es_ES.json b/src/i18n/es_ES.json index 68a1f802..c2bfe0b9 100644 --- a/src/i18n/es_ES.json +++ b/src/i18n/es_ES.json @@ -22,7 +22,6 @@ "term.logout": "Cerrar Sesión", "term.login": "Iniciar Sesión", "term.quickNav": "Navegación rĆ”pida", - "term.cast": "Transmitir", "term.about": "Acerca de", "term.privateSession": "Sesión Privada", "term.disablePrivateSession": "Deshabilitar Sesión Privada", @@ -32,16 +31,23 @@ "term.miniplayer": "Mini-Reproductor", "term.history": "Historial", "term.search": "Buscar", + "term.scroll": "Modo de Desplazamiento", + "term.scroll.infinite": "Infinito", + "term.scroll.paged": "${songsPerPage} por PĆ”gina", + "term.live": "LIVE", + "term.showSearch": "Mostrar Barra de BĆŗsqueda", + "term.hideSearch": "Ocultar Barra de BĆŗsqueda", "term.library": "Biblioteca", "term.listenNow": "Escuchar Ahora", "term.browse": "Explorar", "term.radio": "Radio", - "term.recentlyAdded": "Agregadas Recientemente", + "term.recentlyAdded": "Agregado Recientemente", "term.songs": "Canciones", "term.albums": "Ɓlbumes", "term.artists": "Artistas", "term.podcasts": "Podcasts", "term.playlists": "Listas de Reproducción", + "term.charts": "Tarjetas", "term.playlist": "Lista de Reproducción", "term.newPlaylist": "Nueva Lista de Reproducción", "term.newPlaylistFolder": "Nueva Carpeta de Listas de Reproducción", @@ -51,7 +57,9 @@ "term.navigateBack": "Navegar Hacia AtrĆ”s", "term.navigateForward": "Navegar Hacia Adelante", "term.play": "Reproducir", + "term.playpause": "Reproducir/Pausar", "term.pause": "Pausar", + "term.stop": "Detener", "term.previous": "Anterior", "term.next": "Siguiente", "term.shuffle": "Aleatorio", @@ -60,7 +68,7 @@ "term.repeat": "Repetir", "term.enableRepeatOne": "Habilitar Repetir Uno", "term.disableRepeatOne": "Deshabilitar Repetir Uno", - "term.disableRepeat": "Deshabilitar Repetición", + "term.disableRepeat": "Deshabilitar Repetir", "term.volume": "Volumen", "term.mute": "Silenciar", "term.unmute": "De-silenciar", @@ -94,7 +102,7 @@ "term.connecting": "Conectando", "term.disconnect": "Desconectar", "term.authed": "Autenticado", - "term.confirm": "ĀæConfirma?", + "term.confirm": "Āæ Confirma ?", "term.more": "MĆ”s", "term.less": "Menos", "term.showMore": "Mostrar MĆ”s", @@ -124,12 +132,14 @@ "one": "Segundo", "other": "Segundos" }, - "term.fullscreenView": "Vista de Pantalla Completa", + "term.fullscreenView": "Pantalla Completa", "term.defaultView": "Vista Predeterminada", "term.audioSettings": "Configuración de Audio", "term.audioControls": "Configuración volumen", "term.clearAll": "Borrar todo", "term.recentStations": "Estaciones Recientes", + "term.personalStations": "Estaciones Personales", + "term.amLive": "Apple Music Live", "term.language": "Idioma", "term.funLanguages": "Idiomas Fun (Parodias)", "term.noLyrics": "Cargando... / Letras no encontradas./ Instrumental.", @@ -150,6 +160,7 @@ }, "term.videos": "Videos", "term.menu": "MenĆŗ", + "term.themeManaged": "Administrado por un Tema", "term.check": "Comprobar", "term.aboutArtist": "Acerca de {{artistName}}", "term.topResult": "Mejor Resultado", @@ -173,10 +184,11 @@ "term.top": "Top", "term.version": "Versión", "term.noVideos": "No hay Videos Disponibles.", - "term.plugin": "Plug-in", - "term.pluginMenu": "Plug-in MenĆŗ", + "term.plugins": "Plugins", + "term.plugin": "Plugin", + "term.pluginMenu": "Plugins MenĆŗ", "term.pluginMenu.none": "Sin Plugins Interactivos", - "term.replay": "Repetir", + "term.replay": "Replay", "term.uniqueAlbums": "Ɓlbumes Únicos", "term.uniqueArtists": "Artistas Únicos", "term.uniqueSongs": "Canciones Únicas", @@ -189,11 +201,27 @@ "term.confirmLogout": "ĀæEstĆ”s seguro de que quieres cerrar sesión?", "term.creditDesignedBy": "DiseƱado por ${authorUsername}", "term.discNumber": "Disco ${discNumber}", + "term.reload" : "Āæ Recargar Cider ?", + "term.toggleprivate" : "Cambiar a Sesión Privada", + "term.webremote" : "Web Remoto", + "term.cast" : "Transmitir", + "term.cast2" : "Transmitir a los Dispositivos", + "term.quit" : "Salir", + "term.zoomin" : "Acercar", + "term.zoomout" : "Alejar", + "term.zoomreset" : "Restablecer", + "term.fullscreen" : "Pantalla Completa", + "term.nowPlaying": "Reproduciendo Ahora", + "home.syncFavorites": "Sincronizar Favoritos", + "home.syncFavorites.gettingArtists": "Consiguiendo Artistas Favoritos...", + "action.favorite": "Favorito", + "action.removeFavorite": "Eliminar Favorito", + "action.refresh": "Actualizar", "home.title": "Principal", "home.recentlyPlayed": "Escuchado Recientemente", "home.recentlyAdded": "Agregado Recientemente", "home.artistsFeed": "Tu Feed de artistas", - "home.artistsFeed.noArtist": "Sigue a algunos Artistas para ver sus Ćŗltimos Lanzamientos", + "home.artistsFeed.noArtist": "Sigue a algunos Artistas para ver sus Últimos Lanzamientos", "home.madeForYou": "Hecho para Ti", "home.friendsListeningTo": "Amigos Escuchando", "home.followedArtists": "Artistas Seguidos", @@ -209,20 +237,27 @@ "podcast.episodes": "Episodios", "podcast.playEpisode": "Reproducir Episodio", "podcast.website": "Sitio web de Podcasts", + "action.hideLibrary": "Ocultar biblioteca", + "action.showLibrary": "Mostrar biblioteca", + "action.cut": "Cortar", + "action.paste": "Pegar", + "action.selectAll": "Seleccionar Todo", + "action.delete": "Borrar", "action.edit": "Editar", "action.done": "Hecho", - "action.editTracklist": "Edit Tracklist", + "action.submit": "Enviar", + "action.editTracklist": "Editar Lista de Canciones", "action.addToLibrary": "Agregar a la Biblioteca", "action.addToLibrary.success": "Agregado a la Biblioteca", "action.addToLibrary.error": "Error al agregar a la Biblioteca", "action.removeFromLibrary": "Eliminar de la Biblioteca", "action.removeFromLibrary.success": "Eliminado de la Biblioteca", - "action.addToQueue": "AƱadir a la cola", - "action.addToQueue.success": "Agregado a la cola", - "action.addToQueue.error": "Error al agregar a la cola", - "action.removeFromQueue": "Eliminar de la cola", - "action.removeFromQueue.success": "Eliminado de la cola", - "action.removeFromQueue.error": "Error al eliminar de la cola", + "action.addToQueue": "Agregar a la Cola", + "action.addToQueue.success": "Agregado a la Cola", + "action.addToQueue.error": "Error al Agregar a la Cola", + "action.removeFromQueue": "Eliminar de la Cola", + "action.removeFromQueue.success": "Eliminado de la Cola", + "action.removeFromQueue.error": "Error al Eliminar de la Cola", "action.createPlaylist": "Crear una nueva lista de reproducción", "action.addToPlaylist": "Agregar a lista de reproducción", "action.removeFromPlaylist": "Eliminar de la lista de reproducción", @@ -233,14 +268,14 @@ "action.unfollow": "Dejar de Seguir", "action.unfollow.success": "Dejando de Seguir", "action.unfollow.error": "Error al dejar de Seguir", - "action.playNext": "Reproducir siguiente", - "action.playLater": "Reproducir mĆ”s tarde", + "action.playNext": "Reproducir Siguiente", + "action.playLater": "Reproducir MĆ”s Tarde", "action.startRadio": "Iniciar Radio", - "action.goToArtist": "Ir al artista", - "action.goToAlbum": "Ir al Ć”lbum", - "action.showInPlaylist": "Mostrar en lista de reproducción", + "action.goToArtist": "Ir al Artista", + "action.goToAlbum": "Ir al Ɓlbum", + "action.showInPlaylist": "Mostrar en Lista de Reproducción", "action.showInAppleMusic": "Mostrar en Apple Music", - "action.moveToTop": "Mover fuera de la carpeta", + "action.moveToTop": "Mover fuera de la Carpeta", "action.share": "Compartir", "action.rename": "Renombrar", "action.love": "Me Gusta", @@ -248,15 +283,15 @@ "action.dislike": "Recomendar menos este contenido", "action.undoDislike": "Recomendar mas este contenido", "action.showWebRemoteQR": "Web Remoto", - "action.playTracksNext": "Reproducir ${app.selectedMediaItems.length} pistas siguientes", - "action.playTracksLater": "Reproducir ${app.selectedMediaItems.length} pistas mas tarde", - "action.removeTracks": "Eliminar ${self.selectedItems.length} pistas de la cola", + "action.playTracksNext": "Reproducir ${app.selectedMediaItems.length} Canciones Siguientes", + "action.playTracksLater": "Reproducir ${app.selectedMediaItems.length} Canciones mas tarde", + "action.removeTracks": "Eliminar ${self.selectedItems.length} Canciones de la Cola", "action.import": "Importar", "action.export": "Exportar", "action.showAlbum": "Mostrar Ɓlbum Completo", "action.tray.minimize": "Minimizar a la bandeja", - "action.tray.quit": "Salir", "action.tray.show": "Mostrar Cider", + "action.tray.listento": "Escuchando a:", "action.update": "Actualizar", "action.install": "Instalar", "action.copy": "Copiar", @@ -264,7 +299,7 @@ "action.deletepreset": "Borrar Preset", "action.open": "Abrir", "action.close": "Cerrar", - "action.relaunch.confirm": "ĀæQuieres reiniciar Cider?", + "action.relaunch.confirm": "Āæ Quieres reiniciar Cider ?", "action.cast.chromecast": "Chromecast", "action.cast.todevices": "Transmitir a los Dispositivos", "action.cast.stop": "Dejar de transmitir a todos los Dispositivos", @@ -273,47 +308,28 @@ "action.cast.scan": "Escanear", "action.cast.scanning": "Escaneando...", "action.createNew": "Crear Nuevo...", - "action.openArtworkInBrowser": "Abrir Ilustración en el navegador", + "action.openArtworkInBrowser": "Abrir Ilustración en el Navegador", "action.scrollToTop": "Ir al inicio", - "menubar.options.about": "Acerca de", - "menubar.options.settings": "Ajustes", - "menubar.options.quit": "Salir", "menubar.options.view": "Ver", "menubar.options.reload": "Recargar", "menubar.options.forcereload": "Forzar Recarga", "menubar.options.toggledevtools": "Herramientas de Desarrollo", "menubar.options.window": "Ventana", "menubar.options.minimize": "Minimizar", - "menubar.options.toggleprivate": "Cambiar Sesión Privada", - "menubar.options.webremote": "Web Remoto", - "menubar.options.audio": "Configuraciones de Audio", - "menubar.options.plugins": "Menu de Plu-gins", + "menubar.options.plugins": "MenĆŗ de Plugins", "menubar.options.controls": "Controles", - "menubar.options.next": "Siguiente", - "menubar.options.playpause": "Reproducir/Pausar", - "menubar.options.previous": "Anterior", "menubar.options.volumeup": "Subir Volumen", "menubar.options.volumedown": "Bajar Volumen", - "menubar.options.browse": "Explorar", - "menubar.options.artists": "Artistas", - "menubar.options.search": "Buscar", - "menubar.options.albums": "Ɓlbumes", - "menubar.options.cast": "Transmitir a Dispositivos", "menubar.options.account": "Cuenta", - "menubar.options.accountsettings": "Ajustes de Cuenta", "menubar.options.signout": "Cerrar Sesión", "menubar.options.support": "Soporte", - "menubar.options.discord": "Discord", - "menubar.options.github": "GitHub Wiki", "menubar.options.report": "Reportar a...", "menubar.options.bug": "Bug", "menubar.options.feature": "Solicitud de caracterĆ­sticas", "menubar.options.trans": "Solicitud de Informe/Traducción", "menubar.options.license": "Ver licencia", "menubar.options.conf": "Abrir archivo de configuración en el editor", - "menubar.options.listennow": "Escuchar Ahora", - "menubar.options.recentlyAdded": "Agregadas Recientemente", - "menubar.options.songs": "Canciones", + "menubar.options.zoom": "Zoom", "settings.header.general": "General", "settings.header.general.description": "Ajuste la configuración general de Cider.", "settings.option.general.language": "Idioma", @@ -333,11 +349,17 @@ "settings.option.general.customizeSidebar": "Personalizar elementos de la barra lateral", "settings.option.general.customizeSidebar.customize": "Personalizar", "settings.option.general.keybindings": "Combinaciones de Teclas", + "settings.option.general.keybindings.library": "Biblioteca", + "settings.option.general.keybindings.session": "Sesión", + "settings.option.general.keybindings.control": "Controles", + "settings.option.general.keybindings.interface": "Interfaz", + "settings.option.general.keybindings.advanced": "Avanzado", "settings.option.general.keybindings.pressCombination": "Presione una combinación de dos teclas para actualizar la combinación de teclas.", "settings.option.general.keybindings.pressEscape": "Pulse la tecla Escape para volver.", "settings.notyf.general.keybindings.update.success": "Combinación de teclas actualizada correctamente", "settings.prompt.general.keybindings.update.success": "La combinación de teclas se actualizó correctamente. Pulsa OK para reiniciar Cider", - "settings.option.general.keybindings.open": "Abrir", + "settings.option.general.themeUpdateNotification": "Buscar actualizaciones de temas automĆ”ticamente", + "settings.option.general.showLovedTracksInline": "Mostrar pistas favoritas en la lĆ­nea", "settings.description.search": "Buscar", "settings.description.albums": "Ɓlbumes de la biblioteca", "settings.description.artists": "Artistas de la biblioteca", @@ -356,8 +378,9 @@ "settings.notyf.updateCider.update-downloaded": "La actualización se ha descargado, Reinicie para aplicarla", "settings.notyf.updateCider.update-timeout": "Tiempo de espera agotado para actualizar Cider", "settings.header.audio": "Audio", - "settings.header.audio.description": "Ajuste la Configuración de Audio para Cider.", - "settings.option.audio.volumeStep": "Paso de Volumen", + "settings.header.audio.description": "Ajuste la configuración de audio para Cider.", + "settings.option.audio.volumeStep": "Pasos de Volumen", + "settings.option.audio.advanced": "Control de Volumen Avanzado", "settings.option.audio.maxVolume": "Volumen MĆ”ximo", "settings.option.audio.changePlaybackRate": "Cambiar la Velocidad de Reproducción", "settings.option.audio.playbackRate": "Velocidad de Reproducción", @@ -373,48 +396,63 @@ "settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "Transición de audio sin interrupciones", "settings.option.audio.enableAdvancedFunctionality": "Habilitar funcionalidad avanzada", - "settings.option.audio.enableAdvancedFunctionality.description": "Habilitar la funcionalidad de AudioContext permitirĆ” funciones de audio extendidas como normalización de audio, ecualizadores y visualizadores; sin embargo, en algunos sistemas esto puede causar interrupciones en las pistas de audio.", - "settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider cree que su PC no puede manejar estas funciones. ĀæEstĆ”s seguro de que quieres continuar?", + "settings.option.audio.enableAdvancedFunctionality.description": "Habilitar la funcionalidad de AudioContext permitirĆ” funciones de audio extendidas como Normalización de Audio, Ecualizadores y Visualizadores. Sin embargo, en algunos sistemas esto puede causar interrupciones en las pistas de audio.", + "settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider cree que su PC no puede manejar estas funciones. Āæ EstĆ”s seguro de que quieres continuar ?", "settings.option.audio.audioLab": "Cider Audio Lab", - "settings.option.audio.audioLab.description": "Una variedad de efectos de audio desarrollados internamente para Cider.", + "settings.option.audio.audioLab.description": "Una variedad de efectos de Audio desarrollados internamente para Cider.", "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", - "settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Laboratorio de audio de Cider.", - "settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidad avanzada) es necesaria para habilitar esta caracterĆ­stica.", - "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez analógica", - "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la calidez analógica inspirada en el Korg Nutube 6P1", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de calidez analógica", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Cambia la intensidad del procesamiento del módulo de Calidez analógica", + "settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Cider Audio Lab.", + "settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidad avanzada) es necesaria para Habilitar esta CaracterĆ­stica.", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez Analógica", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la Calidez Analógica inspirada en el Korg Nutube 6P1", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de Calidez Analógica", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Cambia la intensidad del procesamiento del módulo de Calidez Analógica", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Suave", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Calido", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizerā„¢ļø", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Realiza una Atmósfera musical diferente modelada a partir de las configuraciones de audio de Ćŗltima generación.", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizerā„¢ļø Mode", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Cambia el modo de funcionamiento del módulo Atmosphere Realizer.", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Natural (EstĆ”ndar)", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Natural (Plus)", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "TĆ© De Espuma de Queso Hōjicha", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "TĆ© con Leche de Tapioca Genmaicha", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "TĆ© De Espuma De Queso Con Sal de Roca", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "TĆ© con Leche Uji Matcha", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "JazmĆ­n Macchiato", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "TĆ© de leche de Hokkaido", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "Pastel Suave de Luz de Luna", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Leche Creme BrĆ»lĆ©e de AzĆŗcar Morena", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "Clafoutis de Cerezas", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "Uji Matcha Mochi", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Abrazo de Calidez", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Mejora la calidad de audio percibida del audio AAC de 256 kbps mediante el uso de un algoritmo en tiempo real que aprovecha los modelos psicoacĆŗsticos de la audición humana y las caracterĆ­sticas de codificación AAC.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Mejora la calidad de audio percibida del codificador de audio en AAC mediante el uso de un algoritmo en 'Tiempo Real' que aprovecha los modelos psicoacĆŗsticos de la audición humana y las caracterĆ­sticas de codificación de AAC.", "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP no es compatible con la Espacialización. Desactive la Espacialización para continuar.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Intensidad de CAP", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Fuerza de CAP", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Cambia la intensidad del procesamiento realizado en el audio. (Agresivo puede producir resultados no deseados)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "EstĆ”ndar", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "Adaptativo", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "Legacy", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresivo", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalización de audio", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza el volumen mĆ”ximo de pistas individuales para crear una experiencia auditiva mĆ”s uniforme. (No funciona en las pistas cargadas por el usuario)", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza el volumen mĆ”ximo de las Canciones individuales para crear una experiencia auditiva mĆ”s uniforme. (No funciona en las Canciones cargadas por el usuario)", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Gestionado por AudioLab", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Espacialización Sintonizada de Cider", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efecto de preajuste de espacialización, deshabilita la configuración personalizable de la espacialización de audio. La espacialización debe estar habilitada como requisito previo.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Espacialización ajustada de Cider", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efecto de Preajuste de espacialización, desactiva la configuración personalizable de espacialización de audio.", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Perfil de espacialización de Cider", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Cambia el Perfil de Ajuste de Espacialización.", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "EstĆ”ndar", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Cambia el Perfil de Ajuste de la Espacialización.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Estandar", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Estudio de Sonido", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separación", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "MĆ­nimo", - "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "La Espacialización no es compatible con CAP. Deshabilite CAP para continuar.", - "settings.option.audio.dbspl.display": "Visualización dB SPL", - "settings.option.audio.dbspl.description": "(Solo usuarios avanzados) Muestra 'dB SPL' en lugar de 'dBFS' en el control deslizante de volumen.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiófilo", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "Difuso", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "Encore", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "Expanded Encore", + "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "La espacialización no es compatible con CAP. Deshabilite CAP para continuar.", + "settings.option.audio.dbspl.display": "Visualización de dB SPL", + "settings.option.audio.dbspl.description": "(Solo para usuarios avanzados) Muestra dB SPL en lugar de dBFS en el control deslizante de Volumen.", "settings.option.audio.dbfs.calibration": "Calibración de 0 dBFS", - "settings.option.audio.dbfs.description": "Ingrese el pico 'dB SPL con Ponderación-Z' cuando Cider estĆ© en 0 dBFS.", + "settings.option.audio.dbfs.description": "Ingrese el Pico de dB SPL con 'Ponderación Z' cuando Cider estĆ© en 0 dBFS.", "settings.header.visual": "Visual", "settings.header.visual.description": "Ajuste la configuración visual de Cider.", "settings.option.visual.windowStyle": "Estilo de Ventana", @@ -432,7 +470,7 @@ "settings.header.visual.animatedArtworkQuality.high": "Alto", "settings.header.visual.animatedArtworkQuality.veryHigh": "Muy alto", "settings.header.visual.animatedArtworkQuality.extreme": "Extremo", - "settings.option.visual.animatedWindowBackground": "Fondo de ventana animado", + "settings.option.visual.animatedWindowBackground": "Fondo de Ventana Animado", "settings.option.visual.hardwareAcceleration": "Aceleración de Hardware", "settings.option.visual.hardwareAcceleration.description": "Requiere reinicio", "settings.header.visual.hardwareAcceleration.default": "Por defecto", @@ -443,10 +481,11 @@ "settings.option.visual.theme.github.openfolder": "Abrir Carpeta de Temas", "settings.option.visual.theme.github.explore": "Explorar Temas de GitHub", "settings.header.visual.theme.github.page": "Temas de GitHub", - "settings.option.visual.theme.github.install.confirm": "ĀæEstĆ” seguro de que desea instalar {{ repo }}?", + "settings.option.visual.theme.github.install.confirm": "Āæ EstĆ” seguro de que desea instalar {{ repo }} ?", "settings.prompt.visual.theme.github.URL": "Introduce la URL del tema que quieres instalar", - "settings.prompt.visual.theme.uninstallTheme": "ĀæEstas seguro que lo quieres desinstalar {{ theme }}?", + "settings.prompt.visual.theme.uninstallTheme": "Āæ Estas seguro que lo quieres desinstalar {{ theme }} ?", "settings.option.visual.theme.checkForUpdates": "Buscar actualizaciones", + "settings.header.visual.styles": "Estilos", "settings.option.visual.theme.manageStyles": "Gestionar Estilos", "settings.option.visual.theme.uninstall": "Desinstalar", "settings.option.visual.theme.viewInfo": "Ver Información", @@ -491,11 +530,19 @@ "settings.option.connectivity.discordRPC.hideTimestamp": "Ocultar Marca de Tiempo en Discord Rich Presence", "settings.option.connectivity.discordRPC.detailsFormat": "Formato de los detalles", "settings.option.connectivity.discordRPC.stateFormat": "Formato de Estado", + "settings.option.connectivity.discordRPC.reload": "Recargar Discord RPC", + "settings.option.connectivity.discordRPC.reconnectedToUser": "Discord RPC reconectando al usuario: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Retraso de Scrobble (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Activar Last.fm Now Playing", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Eliminar artistas destacados del tĆ­tulo de la canción (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrar pista en bucle (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "Evite que las pistas en bucle se scrobblen o se muestren en la lista Now Playing en Last.fm.", + "settings.option.connectivity.lastfmScrobble.filterTypes": "Tipos de Filtros de Medios (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "Ingrese el token de Last.fm Manualmente", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Tiempo de Conexión agotado", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm Conexión exitosa", + "settings.notyf.connectivity.lastfmScrobble.connecting": "Conectando a Last.fm...", "settings.header.debug": "Debug", "settings.option.debug.copy_log": "Copiar Logs al portapapeles", "settings.option.debug.openAppData": "Abrir carpeta de Cider", @@ -507,11 +554,17 @@ "settings.option.experimental.unknownPlugin.description": "Permitir la instalación de Plugins desde otros repos que no sean el repositorio de Plugins de Cider", "settings.option.experimental.compactUI": "UI Compacto", "settings.option.window.close_button_hide": "El botón Cerrar oculta la aplicación", + "settings.option.window.maxElementScale": "Escala MĆ”xima de Elementos", "settings.option.experimental.inline_playlists": "Ɓlbumes y listas de reproducción en lĆ­nea", "settings.option.advanced.playlistTrackMapping": "Mapeo de pistas de listas de reproducción", "settings.option.advanced.playlistTrackMapping.description": "Habilita el escaneo profundo de las listas de reproducción para determinar quĆ© pistas estĆ”n en quĆ© listas de reproducción. Los tiempos de creación de la cachĆ© de la lista de reproducción pueden aumentar significativamente.", "settings.option.visual.transparent": "Marco transparente", "settings.option.visual.transparent.description": "Necesita compatibilidad con temas, requiere reiniciar", + "settings.option.visual.customAccentColor": "Color de Acento Personalizado", + "settings.option.visual.accentColor": "Color de Acento", + "settings.option.visual.purplePodcastPlaybackBar": "Barra de Reproducción Morada para Podcasts", + "settings.option.visual.windowColor": "Color de Tinte de Ventana", + "settings.header.visual.windowBackgroundStyle.color": "Matiz de Color", "settings.header.advanced": "Avanzado", "settings.header.connect": "Conectar", "settings.option.connect.link_account": "Habilitar sincronización con Cider Connect", @@ -546,7 +599,46 @@ "share.platform.whatsapp": "WhatsApp", "share.platform.messenger": "Messenger", "share.platform.email": "Email", - "share.platform.songLink": "Copy with song.link", + "share.platform.songLink": "Copiar con song.link", "share.platform.clipboard": "Copiar link", - "about.thanks": "Muchas gracias al equipo de Cider Collective y a Todos nuestros colaboradores." + "about.thanks": "Muchas gracias al equipo de Cider Collective y a Todos nuestros colaboradores.", + "oobe.yes": "SĆ­", + "oobe.no": "No", + "oobe.next": "Siguiente", + "oobe.previous": "Anterior", + "oobe.done": "Hecho", + "oobe.amupsell.title": "Antes de Empezar", + "oobe.amupsell.text": "Cider Requiere una Suscripción paga Activa a Apple Music\nCider NO funcionarĆ” con Apple Music Voice Plan ni con algunas suscripciones de prueba promocionales. Si ya tiene una suscripción calificada de Apple Music, haga click en Siguiente para continuar.", + "oobe.amupsell.subscribeBtn": "SuscrĆ­bete a Apple Music", + "oobe.amupsell.explainBtn": "Explique", + "oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ", + "oobe.amupsell.amWebUrl": "https://beta.music.apple.com/", + "oobe.amupsell.promoExplained": "Algunas suscripciones de Apple Music promocionales y de prueba fuera de EE.UU. no tienen acceso a las API del reproductor web de Apple Music necesarias para que Cider funcione. Para verificar si su versión de prueba activa funcionarĆ” con Cider, vaya a {{ amWebUrl }} inicie sesión e intente reproducir mĆŗsica. Si funciona, Ā”genial! EstĆ” listo para usar Cider, sin embargo, si no considera suscribirse a Apple Music aquĆ­: {{ subscribeUrl }}", + "oobe.intro.title": "Bienvenido a Cider", + "oobe.intro.subtitle": "", + "oobe.intro.text": "Configuremos algunas cosas para que puedas usar Cider como quieras. Siempre puede cambiar esta configuración mĆ”s tarde.", + "oobe.general.title": "General", + "oobe.general.subtitle": "", + "oobe.general.text": "", + "oobe.audio.title": "Audio", + "oobe.audio.subtitle": "", + "oobe.audio.text": "Cider cuenta con una pila de audio diseƱada y afinada a medida que brinda una experiencia de audio rica y de alta calidad.\nCon Cider Adrenaline, Atmosphere Realizer y Spatialized Audio.\nPara habilitar esta funcionalidad, \"Funcionalidad de audio avanzada\" debe estar habilitada.\nHabilitar audio avanzado La funcionalidad le darĆ” acceso a estas mejoras en Cider Audio Labs, que se encuentra en la configuración de la aplicación.", + "oobe.audio.advancedFunctionality": "", + "oobe.visual.title": "Visual", + "oobe.visual.subtitle": "", + "oobe.visual.text": "", + "oobe.visual.layout.text": "Cider presenta dos diseƱos de ventana diferentes.\nMaverick es un diseƱo similar a iTunes con el reproductor en la parte superior de la ventana.\nMojave es un nuevo giro creado por Cider Collective.\n\nPuedes cambiar el diseƱo en cualquier momento en la configuración.", + "oobe.visual.suggestingThemes": "La tematización es una excelente forma de personalizar tu experiencia. AquĆ­ hay algunos que sugerimos: ", + "oobe.visual.suggestingThemes.subtext": "(Estos temas se descargarĆ”n de GitHub)", + "oobe.visual.suggestingThemes.default": "Cider", + "oobe.visual.suggestingThemes.default.text": "El clĆ”sico tema de Cider.", + "oobe.visual.suggestingThemes.dark": "Oscuro", + "oobe.visual.suggestingThemes.dark.text": "Oscurisimo", + "oobe.visual.suggestingThemes.community1": "Groovy", + "oobe.visual.suggestingThemes.community1.text": "Un tema influenciado por WinUI", + "oobe.visual.suggestingThemes.community2": "iTheme", + "oobe.visual.suggestingThemes.community2.text": " El clĆ”sico diseƱo de frutas grandes.", + "oobe.visual.suggestingThemes.community3": "Dracula", + "oobe.visual.suggestingThemes.community3.text": "El icónico esquema de color de DrĆ”cula.", + "oobe.amsignin.title": "" } diff --git a/src/i18n/es_MX.json b/src/i18n/es_MX.json index b867f834..5b0cf580 100644 --- a/src/i18n/es_MX.json +++ b/src/i18n/es_MX.json @@ -10,6 +10,7 @@ "notification.updatingLibrarySongs": "Actualizando Canciones de la Biblioteca...", "notification.updatingLibraryAlbums": "Actualizando Ɓlbumes de la Biblioteca...", "notification.updatingLibraryArtists": "Actualizando Artistas de la Biblioteca...", + "term.variables": "Variables", "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", "term.applePodcasts": "Apple Podcasts", @@ -20,37 +21,54 @@ "term.accountSettings": "Configuración de la Cuenta", "term.logout": "Cerrar Sesión", "term.login": "Iniciar Sesión", - "term.cast": "Transmitir", + "term.quickNav": "Navegación rĆ”pida", "term.about": "Acerca de", "term.privateSession": "Sesión Privada", - "term.disablePrivateSession": "deshabilitar Sesión Privada", + "term.disablePrivateSession": "Deshabilitar Sesión Privada", "term.queue": "Cola", + "term.autoplay": "Reproducción AutomĆ”tica", "term.lyrics": "Letras", - "term.miniplayer": "Mini Reproductor", + "term.miniplayer": "Mini-Reproductor", "term.history": "Historial", "term.search": "Buscar", + "term.scroll": "Modo de Desplazamiento", + "term.scroll.infinite": "Infinito", + "term.scroll.paged": "${songsPerPage} por PĆ”gina", + "term.live": "LIVE", + "term.showSearch": "Mostrar Barra de BĆŗsqueda", + "term.hideSearch": "Ocultar Barra de BĆŗsqueda", "term.library": "Biblioteca", "term.listenNow": "Escuchar Ahora", "term.browse": "Explorar", "term.radio": "Radio", - "term.recentlyAdded": "Agregadas Recientemente", + "term.recentlyAdded": "Agregado Recientemente", "term.songs": "Canciones", "term.albums": "Ɓlbumes", "term.artists": "Artistas", "term.podcasts": "Podcasts", "term.playlists": "Listas de Reproducción", + "term.charts": "Tarjetas", "term.playlist": "Lista de Reproducción", "term.newPlaylist": "Nueva Lista de Reproducción", "term.newPlaylistFolder": "Nueva Carpeta de Listas de Reproducción", "term.createNewPlaylist": "Crear Nueva Lista de Reproducción", "term.createNewPlaylistFolder": "Crear Nueva Carpeta de Listas de Reproducción", - "term.deletePlaylist": "Estas Seguro de Querer Eliminar esta Lista de Reproducción", + "term.deletePlaylist": "ĀæEstas Seguro de Querer Eliminar esta Lista de Reproducción?", + "term.navigateBack": "Navegar Hacia AtrĆ”s", + "term.navigateForward": "Navegar Hacia Adelante", "term.play": "Reproducir", + "term.playpause": "Reproducir/Pausar", "term.pause": "Pausar", + "term.stop": "Detener", "term.previous": "Anterior", "term.next": "Siguiente", "term.shuffle": "Aleatorio", + "term.enableShuffle": "Habilitar Reproducción Aleatoria", + "term.disableShuffle": "Desactivar Reproducción Aleatoria", "term.repeat": "Repetir", + "term.enableRepeatOne": "Habilitar Repetir Uno", + "term.disableRepeatOne": "Deshabilitar Repetir Uno", + "term.disableRepeat": "Deshabilitar Repetir", "term.volume": "Volumen", "term.mute": "Silenciar", "term.unmute": "De-silenciar", @@ -72,6 +90,7 @@ "term.viewAs": "Ver como", "term.viewAs.coverArt": "Portada", "term.viewAs.list": "Lista", + "term.dynamic": "DinĆ”mico", "term.size": "TamaƱo", "term.size.normal": "Normal", "term.size.compact": "Compacto", @@ -88,7 +107,7 @@ "term.less": "Menos", "term.showMore": "Mostrar MĆ”s", "term.showLess": "Mostrar Menos", - "term.topSongs": "Canciones Principales", + "term.topSongs": "Mejores canciones", "term.latestReleases": "Últimos Lanzamientos", "term.time.added": "Agregado", "term.time.released": "Publicado", @@ -113,12 +132,14 @@ "one": "Segundo", "other": "Segundos" }, - "term.fullscreenView": "Vista de Pantalla Completa", + "term.fullscreenView": "Pantalla Completa", "term.defaultView": "Vista Predeterminada", "term.audioSettings": "Configuración de Audio", "term.audioControls": "Configuración volumen", "term.clearAll": "Borrar todo", "term.recentStations": "Estaciones Recientes", + "term.personalStations": "Estaciones Personales", + "term.amLive": "Apple Music Live", "term.language": "Idioma", "term.funLanguages": "Idiomas Fun (Parodias)", "term.noLyrics": "Cargando... / Letras no encontradas./ Instrumental.", @@ -130,7 +151,7 @@ "term.socialTeam": "Equipo Social", "term.socials": "Redes Sociales", "term.contributors": "Contribuidores", - "term.equalizer": "Equalizador", + "term.equalizer": "Ecualizador", "term.reset": "Reiniciar", "term.tracks": "Pistas", "term.track": { @@ -139,124 +160,176 @@ }, "term.videos": "Videos", "term.menu": "MenĆŗ", + "term.themeManaged": "Administrado por un Tema", "term.check": "Comprobar", "term.aboutArtist": "Acerca de {{artistName}}", - "term.topResult": "Mejor resultado", - "term.sharedPlaylists": "Listas de reproducción compartidas", + "term.topResult": "Mejor Resultado", + "term.sharedPlaylists": "Listas de Reproducción Compartidas", "term.people": "Personas", - "term.newpreset.name": "Nuevo nombre de preajuste de ecualizador", - "term.addedpreset": "Preajuste agregado", - "term.deletepreset.warn": "ĀæEstas seguro de que quieres eliminar este preajuste?", - "term.deletedpreset": "Preajuste eliminado", - "term.defaultPresets": "Preajustes predeterminados", - "term.userPresets": "Preajustes de usuario", + "term.newpreset.name": "Nuevo nombre de Preset de Ecualizador", + "term.addedpreset": "Preset Agregado", + "term.deletepreset.warn": "ĀæEstas seguro de que quieres eliminar este Preset?", + "term.deletedpreset": "Preset Eliminado", + "term.defaultPresets": "Preset Predeterminados", + "term.userPresets": "Preset de Usuario", "term.requestError": "Hubo un problema con la solicitud.", "term.song.link.generate": "Obtener URL de la Canción compartida...", - "term.musicVideos": "Videos de MĆŗsica", + "term.musicVideos": "Videos Musicales", "term.stations": "Estaciones", "term.curators": "Curadores", "term.appleCurators": "Curadores de Apple", "term.radioShows": "Programas de Radio", - "term.recordLabels": "Etiquetas discogrĆ”ficas", + "term.recordLabels": "Etiquetas DiscogrĆ”ficas", "term.videoExtras": "Extras de Video", "term.top": "Top", - "term.version": "Version", - "term.noVideos": "No hay videos disponibles.", - "term.plugin": "Plug-in", - "term.pluginMenu": "Plug-in Menu", - "term.pluginMenu.none": "Sin plugins interactivos", - "term.replay": "Repetir", - "term.uniqueAlbums": "Ɓlbumes Ćŗnicos", - "term.uniqueArtists": "Artistas Ćŗnicos", - "term.uniqueSongs": "Canciones Ćŗnicas", - "term.topArtists": "Artistas Principales", - "term.listenedTo": "Escuchado:", + "term.version": "Versión", + "term.noVideos": "No hay Videos Disponibles.", + "term.plugins": "Plugins", + "term.plugin": "Plugin", + "term.pluginMenu": "Plugins MenĆŗ", + "term.pluginMenu.none": "Sin Plugins Interactivos", + "term.replay": "Replay", + "term.uniqueAlbums": "Ɓlbumes Únicos", + "term.uniqueArtists": "Artistas Únicos", + "term.uniqueSongs": "Canciones Únicas", + "term.topArtists": "Mejores Artistas", + "term.listenedTo": "Escuchando a:", "term.times": "Veces", - "term.topAlbums": "Mejores Ć”lbumes", + "term.topAlbums": "Mejores Ɓlbumes", "term.plays": "Reproducciones", "term.topGenres": "Mejores GĆ©neros", "term.confirmLogout": "ĀæEstĆ”s seguro de que quieres cerrar sesión?", "term.creditDesignedBy": "DiseƱado por ${authorUsername}", "term.discNumber": "Disco ${discNumber}", - "home.title": "Hogar", + "term.reload" : "Āæ Recargar Cider ?", + "term.toggleprivate" : "Cambiar a Sesión Privada", + "term.webremote" : "Web Remoto", + "term.cast" : "Transmitir", + "term.cast2" : "Transmitir a los Dispositivos", + "term.quit" : "Salir", + "term.zoomin" : "Acercar", + "term.zoomout" : "Alejar", + "term.zoomreset" : "Restablecer", + "term.fullscreen" : "Pantalla Completa", + "term.nowPlaying": "Reproduciendo Ahora", + "home.syncFavorites": "Sincronizar Favoritos", + "home.syncFavorites.gettingArtists": "Consiguiendo Artistas Favoritos...", + "action.favorite": "Favorito", + "action.removeFavorite": "Eliminar Favorito", + "action.refresh": "Actualizar", + "home.title": "Inicio", "home.recentlyPlayed": "Escuchado Recientemente", "home.recentlyAdded": "Agregado Recientemente", - "home.artistsFeed": "Tu feed de artistas", - "home.artistsFeed.noArtist": "Sigue a algunos artistas para ver sus Ćŗltimos lanzamientos", - "home.madeForYou": "Hecho para ti", - "home.friendsListeningTo": "Amigos escuchando", - "home.followedArtists": "Artistas seguidos", - "error.appleMusicSubRequired": "Apple Music requiere una suscripción.", + "home.artistsFeed": "Tu Feed de artistas", + "home.artistsFeed.noArtist": "Sigue a algunos Artistas para ver sus Últimos Lanzamientos", + "home.madeForYou": "Hecho para Ti", + "home.friendsListeningTo": "Amigos Escuchando", + "home.followedArtists": "Artistas Seguidos", + "error.appleMusicSubRequired": "Apple Music Requiere una Suscripción.", "error.connectionError": "Hubo un problema al conectarse a Apple Music.", - "error.noResults": "No hay resultados.", - "error.noResults.description": "Prueba una nueva bĆŗsqueda", + "error.noResults": "No hay Resultados.", + "error.noResults.description": "Prueba una Nueva BĆŗsqueda", "podcast.followOnCider": "Sigue en Cider", "podcast.followedOnCider": "Siguiendo en Cider", "podcast.subscribeOnItunes": "SuscrĆ­bete en iTunes", "podcast.subscribedOnItunes": "Suscrito en iTunes", "podcast.itunesStore": "Tienda de iTunes", "podcast.episodes": "Episodios", - "podcast.playEpisode": "Reproducir episodio", - "podcast.website": "Sitio web de podcasts", - "action.addToLibrary": "Agregar a la biblioteca", - "action.addToLibrary.success": "Agregado a la biblioteca", - "action.addToLibrary.error": "Error al agregar a la biblioteca", - "action.removeFromLibrary": "Eliminar de la biblioteca", - "action.removeFromLibrary.success": "Eliminado de la biblioteca", - "action.addToQueue": "AƱadir a la cola", - "action.addToQueue.success": "Agregado a la cola", - "action.addToQueue.error": "Error al agregar a la cola", - "action.removeFromQueue": "Eliminar de la cola", - "action.removeFromQueue.success": "Eliminado de la cola", - "action.removeFromQueue.error": "Error al eliminar de la cola", + "podcast.playEpisode": "Reproducir Episodio", + "podcast.website": "Sitio web de Podcasts", + "action.hideLibrary": "Ocultar biblioteca", + "action.showLibrary": "Mostrar biblioteca", + "action.cut": "Cortar", + "action.paste": "Pegar", + "action.selectAll": "Seleccionar Todo", + "action.delete": "Borrar", + "action.edit": "Editar", + "action.done": "Hecho", + "action.submit": "Enviar", + "action.editTracklist": "Editar Lista de Canciones", + "action.addToLibrary": "Agregar a la Biblioteca", + "action.addToLibrary.success": "Agregado a la Biblioteca", + "action.addToLibrary.error": "Error al agregar a la Biblioteca", + "action.removeFromLibrary": "Eliminar de la Biblioteca", + "action.removeFromLibrary.success": "Eliminado de la Biblioteca", + "action.addToQueue": "Agregar a la Cola", + "action.addToQueue.success": "Agregado a la Cola", + "action.addToQueue.error": "Error al Agregar a la Cola", + "action.removeFromQueue": "Eliminar de la Cola", + "action.removeFromQueue.success": "Eliminado de la Cola", + "action.removeFromQueue.error": "Error al Eliminar de la Cola", "action.createPlaylist": "Crear una nueva lista de reproducción", "action.addToPlaylist": "Agregar a lista de reproducción", "action.removeFromPlaylist": "Eliminar de la lista de reproducción", - "action.addToFavorites": "Agregar a favoritos", + "action.addToFavorites": "Agregar a Favoritos", "action.follow": "Seguir", "action.follow.success": "Siguiendo", - "action.follow.error": "Error al seguir", - "action.unfollow": "Dejar de seguir", - "action.unfollow.success": "Dejando de seguir", - "action.unfollow.error": "Error al dejar de seguir", - "action.playNext": "Reproducir siguiente", - "action.playLater": "Reproducir mĆ”s tarde", + "action.follow.error": "Error al Seguir", + "action.unfollow": "Dejar de Seguir", + "action.unfollow.success": "Dejando de Seguir", + "action.unfollow.error": "Error al dejar de Seguir", + "action.playNext": "Reproducir Siguiente", + "action.playLater": "Reproducir MĆ”s Tarde", "action.startRadio": "Iniciar Radio", - "action.goToArtist": "Ir al artista", - "action.goToAlbum": "Ir al Ć”lbum", - "action.showInPlaylist": "Mostrar en lista de reproducción", + "action.goToArtist": "Ir al Artista", + "action.goToAlbum": "Ir al Ɓlbum", + "action.showInPlaylist": "Mostrar en Lista de Reproducción", "action.showInAppleMusic": "Mostrar en Apple Music", - "action.moveToTop": "Mover fuera de la carpeta", + "action.moveToTop": "Mover fuera de la Carpeta", "action.share": "Compartir", "action.rename": "Renombrar", - "action.love": "Love", - "action.unlove": "Unlove", - "action.dislike": "Dislike", - "action.undoDislike": "Undo dislike", - "action.showWebRemoteQR": "Web Remota", - "action.playTracksNext": "Reproducir ${app.selectedMediaItems.length} pistas siguientes", - "action.playTracksLater": "Reproducir ${app.selectedMediaItems.length} pistas mas tarde", - "action.removeTracks": "Eliminar ${self.selectedItems.length} pistas de la cola", + "action.love": "Me Gusta", + "action.unlove": "No Me Gusta", + "action.dislike": "Recomendar menos este contenido", + "action.undoDislike": "Recomendar mas este contenido", + "action.showWebRemoteQR": "Web Remoto", + "action.playTracksNext": "Reproducir ${app.selectedMediaItems.length} Pistas Siguientes", + "action.playTracksLater": "Reproducir ${app.selectedMediaItems.length} Pistas mas tarde", + "action.removeTracks": "Eliminar ${self.selectedItems.length} Pistas de la Cola", "action.import": "Importar", "action.export": "Exportar", - "action.showAlbum": "Mostrar Album Completo", + "action.showAlbum": "Mostrar Ɓlbum Completo", "action.tray.minimize": "Minimizar a la bandeja", - "action.tray.quit": "Abandonar", + "action.tray.show": "Mostrar Cider", + "action.tray.listento": "Escuchando a:", "action.update": "Actualizar", "action.install": "Instalar", "action.copy": "Copiar", - "action.newpreset": "Nuevo preset...", + "action.newpreset": "Nuevo Preset...", "action.deletepreset": "Borrar Preset", "action.open": "Abrir", - "action.relaunch.confirm": "ĀæQuieres reabrir Cider?", + "action.close": "Cerrar", + "action.relaunch.confirm": "Āæ Quieres reiniciar Cider ?", "action.cast.chromecast": "Chromecast", - "action.cast.todevices": "Transmitir a los dispositivos", - "action.cast.stop": "Dejar de transmitir a todos los dispositivos", + "action.cast.todevices": "Transmitir a los Dispositivos", + "action.cast.stop": "Dejar de transmitir a todos los Dispositivos", "action.cast.airplay": "AirPlay", "action.cast.airplay.underdevelopment": "AirPlay todavĆ­a estĆ” en desarrollo", "action.cast.scan": "Escanear", "action.cast.scanning": "Escaneando...", "action.createNew": "Crear Nuevo...", + "action.openArtworkInBrowser": "Abrir Ilustración en el Navegador", + "action.scrollToTop": "Ir al inicio", + "menubar.options.view": "Ver", + "menubar.options.reload": "Recargar", + "menubar.options.forcereload": "Forzar Recarga", + "menubar.options.toggledevtools": "Herramientas de Desarrollo", + "menubar.options.window": "Ventana", + "menubar.options.minimize": "Minimizar", + "menubar.options.plugins": "MenĆŗ de Plugins", + "menubar.options.controls": "Controles", + "menubar.options.volumeup": "Subir Volumen", + "menubar.options.volumedown": "Bajar Volumen", + "menubar.options.account": "Cuenta", + "menubar.options.signout": "Cerrar Sesión", + "menubar.options.support": "Soporte", + "menubar.options.report": "Reportar a...", + "menubar.options.bug": "Bug", + "menubar.options.feature": "Solicitud de caracterĆ­sticas", + "menubar.options.trans": "Solicitud de Informe/Traducción", + "menubar.options.license": "Ver licencia", + "menubar.options.conf": "Abrir archivo de configuración en el editor", + "menubar.options.zoom": "Zoom", "settings.header.general": "General", "settings.header.general.description": "Ajuste la configuración general de Cider.", "settings.option.general.language": "Idioma", @@ -266,18 +339,52 @@ "settings.option.general.resumebehavior.locally.description": "Cider reanudarĆ” su Ćŗltima sesión en esta PC.", "settings.option.general.resumebehavior.history": "Histórico", "settings.option.general.resumebehavior.history.description": "Cider pondrĆ” en cola la Ćŗltima canción de su historial general de Apple Music, en todos sus dispositivos.", + "settings.option.general.resumetabs": "Abrir pestaƱa al iniciar", + "settings.option.general.resumetabs.description": "Puede elegir quĆ© pestaƱa desea abrir cuando inicie Cider.", + "settings.option.general.resumetabs.dynamic": "DinĆ”mico", + "settings.option.general.resumetabs.dynamic.description": "Cider abrirĆ” la pestaƱa que utilizó por Ćŗltima vez.", "settings.option.general.language.main": "Idiomas", "settings.option.general.language.fun": "Idiomas Fun (Parodias)", "settings.option.general.language.unsorted": "Sin Clasificar", "settings.option.general.customizeSidebar": "Personalizar elementos de la barra lateral", "settings.option.general.customizeSidebar.customize": "Personalizar", + "settings.option.general.keybindings": "Combinaciones de Teclas", + "settings.option.general.keybindings.library": "Biblioteca", + "settings.option.general.keybindings.session": "Sesión", + "settings.option.general.keybindings.control": "Controles", + "settings.option.general.keybindings.interface": "Interfaz", + "settings.option.general.keybindings.advanced": "Avanzado", + "settings.option.general.keybindings.pressCombination": "Presione una combinación de dos teclas para actualizar la combinación de teclas.", + "settings.option.general.keybindings.pressEscape": "Pulse la tecla Escape para volver.", + "settings.notyf.general.keybindings.update.success": "Combinación de teclas actualizada correctamente", + "settings.prompt.general.keybindings.update.success": "La combinación de teclas se actualizó correctamente. Pulsa OK para reiniciar Cider", + "settings.option.general.themeUpdateNotification": "Buscar actualizaciones de temas automĆ”ticamente", + "settings.option.general.showLovedTracksInline": "Mostrar pistas favoritas en la lĆ­nea", + "settings.description.search": "Buscar", + "settings.description.albums": "Ɓlbumes de la biblioteca", + "settings.description.artists": "Artistas de la biblioteca", + "settings.description.browse": "Navegar", + "settings.description.private": "Cambiar a Sesión Privada", + "settings.description.remote": "Web Remoto", + "settings.description.audio": "Configuraciones de Audio", + "settings.description.plugins": "MenĆŗ de Plugins", + "settings.description.cast": "Transmitir a los Dispositivos", + "settings.description.settings": "Configuraciones", + "settings.description.developer": "Herramientas para Desarrolladores", + "settings.description.listnow": "Escuchar Ahora", + "settings.description.recentAdd": "Agregadas Recientemente", + "settings.description.songs": "Canciones", "settings.notyf.updateCider.update-not-available": "No hay actualizaciones disponibles", - "settings.notyf.updateCider.update-downloaded": "La actualización se ha descargado, reinicie para aplicarla", + "settings.notyf.updateCider.update-downloaded": "La actualización se ha descargado, Reinicie para aplicarla", "settings.notyf.updateCider.update-timeout": "Tiempo de espera agotado para actualizar Cider", "settings.header.audio": "Audio", "settings.header.audio.description": "Ajuste la configuración de audio para Cider.", - "settings.option.audio.volumeStep": "Paso de Volumen", + "settings.option.audio.volumeStep": "Pasos de Volumen", + "settings.option.audio.advanced": "Control de Volumen Avanzado", "settings.option.audio.maxVolume": "Volumen MĆ”ximo", + "settings.option.audio.changePlaybackRate": "Cambiar la Velocidad de Reproducción", + "settings.option.audio.playbackRate": "Velocidad de Reproducción", + "settings.option.audio.playbackRate.change": "Cambiar", "settings.option.audio.quality": "Calidad de Audio", "settings.header.audio.quality.hireslossless": "Hi-Res Lossless", "settings.header.audio.quality.hireslossless.description": "arriba de 24-bit/192 kHz", @@ -289,40 +396,69 @@ "settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "Transición de audio sin interrupciones", "settings.option.audio.enableAdvancedFunctionality": "Habilitar funcionalidad avanzada", - "settings.option.audio.enableAdvancedFunctionality.description": "Habilitar la funcionalidad de AudioContext permitirĆ” funciones de audio extendidas como normalización de audio, ecualizadores y visualizadores; sin embargo, en algunos sistemas esto puede causar interrupciones en las pistas de audio.", - "settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider cree que su PC no puede manejar estas funciones. ĀæEstĆ”s seguro de que quieres continuar?", + "settings.option.audio.enableAdvancedFunctionality.description": "Habilitar la funcionalidad de AudioContext permitirĆ” funciones de audio extendidas como Normalización de Audio, Ecualizadores y Visualizadores. Sin embargo, en algunos sistemas esto puede causar interrupciones en las pistas de audio.", + "settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider cree que su PC no puede manejar estas funciones. Āæ EstĆ”s seguro de que quieres continuar ?", "settings.option.audio.audioLab": "Cider Audio Lab", - "settings.option.audio.audioLab.description": "Una variedad de efectos de audio desarrollados internamente para Cider.", - "settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Laboratorio de audio de Cider.", - "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez analógica", - "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la calidez analógica inspirada en el Korg Nutube 6P1", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de calidez analógica", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Cambia la intensidad del procesamiento del módulo de Calidez analógica", + "settings.option.audio.audioLab.description": "Una variedad de efectos de Audio desarrollados internamente para Cider.", + "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", + "settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Cider Audio Lab.", + "settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidad avanzada) es necesaria para Habilitar esta CaracterĆ­stica.", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez Analógica", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la Calidez Analógica inspirada en el Korg Nutube 6P1", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de Calidez Analógica", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Cambia la intensidad del procesamiento del módulo de Calidez Analógica", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Suave", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Calido", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizerā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Realiza una Atmósfera musical diferente modelada a partir de las configuraciones de audio de Ćŗltima generación.", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizerā„¢ļø Mode", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Cambia el modo de funcionamiento del módulo Atmosphere Realizer.", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "TĆ© De Espuma de Queso Hōjicha", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "TĆ© con Leche de Tapioca Genmaicha", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "TĆ© De Espuma De Queso Con Sal de Roca", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "TĆ© con Leche Uji Matcha", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "JazmĆ­n Macchiato", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "TĆ© de leche de Hokkaido", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "Pastel Suave de Luz de Luna", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Leche Creme BrĆ»lĆ©e de AzĆŗcar Morena", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "Clafoutis de Cerezas", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "Uji Matcha Mochi", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Abrazo de Calidez", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Mejora la calidad de audio percibida del audio AAC de 256 kbps mediante el uso de un algoritmo en tiempo real que aprovecha los modelos psicoacĆŗsticos de la audición humana y las caracterĆ­sticas de codificación AAC.", - "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP no es compatible con la espacialización. Desactive la espacialización para continuar.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Intensidad de CAP", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Mejora la calidad de audio percibida del codificador de audio en AAC mediante el uso de un algoritmo en 'Tiempo Real' que aprovecha los modelos psicoacĆŗsticos de la audición humana y las caracterĆ­sticas de codificación de AAC.", + "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP no es compatible con la Espacialización. Desactive la Espacialización para continuar.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Fuerza de CAP", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Cambia la intensidad del procesamiento realizado en el audio. (Agresivo puede producir resultados no deseados)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "EstĆ”ndar", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "Adaptativo", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "Legacy", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresivo", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalización de audio", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza el volumen mĆ”ximo de pistas individuales para crear una experiencia auditiva mĆ”s uniforme. (No funciona en las pistas cargadas por el usuario)", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza el volumen mĆ”ximo de las Canciones individuales para crear una experiencia auditiva mĆ”s uniforme. (No funciona en las Canciones cargadas por el usuario)", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Gestionado por AudioLab", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider Tuned Spatialization", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efecto de preajuste de espacialización, deshabilita la configuración personalizable de la espacialización de audio. La espacialización debe estar habilitada como requisito previo.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Espacialización ajustada de Cider", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efecto de Preajuste de espacialización, desactiva la configuración personalizable de espacialización de audio.", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Perfil de espacialización de Cider", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Cambia el Perfil de Ajuste de Espacialización.", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "EstĆ”ndar", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Cambia el Perfil de Ajuste de la Espacialización.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Estandar", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Estudio de Sonido", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separación", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "MĆ­nimo", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiófilo", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "Difuso", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "Encore", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "Expanded Encore", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "La espacialización no es compatible con CAP. Deshabilite CAP para continuar.", + "settings.option.audio.dbspl.display": "Visualización de dB SPL", + "settings.option.audio.dbspl.description": "(Solo para usuarios avanzados) Muestra dB SPL en lugar de dBFS en el control deslizante de Volumen.", + "settings.option.audio.dbfs.calibration": "Calibración de 0 dBFS", + "settings.option.audio.dbfs.description": "Ingrese el Pico de dB SPL con 'Ponderación Z' cuando Cider estĆ© en 0 dBFS.", "settings.header.visual": "Visual", "settings.header.visual.description": "Ajuste la configuración visual de Cider.", - "settings.option.visual.windowStyle": "Estilo de ventana", - "settings.option.visual.windowBackgroundStyle": "Estilo de fondo de ventana", + "settings.option.visual.windowStyle": "Estilo de Ventana", + "settings.option.visual.windowBackgroundStyle": "Estilo de Fondo de Ventana", "settings.header.visual.windowBackgroundStyle.none": "Ninguno", - "settings.header.visual.windowBackgroundStyle.artwork": "ilustracion", + "settings.header.visual.windowBackgroundStyle.artwork": "ilustración", "settings.header.visual.windowBackgroundStyle.image": "Imagen", "settings.option.visual.animatedArtwork": "Ilustración Animada", "settings.header.visual.animatedArtwork.always": "Siempre", @@ -334,19 +470,29 @@ "settings.header.visual.animatedArtworkQuality.high": "Alto", "settings.header.visual.animatedArtworkQuality.veryHigh": "Muy alto", "settings.header.visual.animatedArtworkQuality.extreme": "Extremo", - "settings.option.visual.animatedWindowBackground": "Fondo de ventana animado", - "settings.option.visual.hardwareAcceleration": "Aceleracion de hardware", + "settings.option.visual.animatedWindowBackground": "Fondo de Ventana Animado", + "settings.option.visual.hardwareAcceleration": "Aceleración de Hardware", "settings.option.visual.hardwareAcceleration.description": "Requiere reinicio", "settings.header.visual.hardwareAcceleration.default": "Por defecto", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.option.visual.uiscale": "Escalado de IU", "settings.header.visual.theme": "Tema", "settings.option.visual.theme.github.download": "Instalar desde la URL de GitHub", - "settings.option.visual.theme.github.explore": "Explorar temas de GitHub", + "settings.option.visual.theme.github.openfolder": "Abrir Carpeta de Temas", + "settings.option.visual.theme.github.explore": "Explorar Temas de GitHub", "settings.header.visual.theme.github.page": "Temas de GitHub", - "settings.option.visual.theme.github.install.confirm": "ĀæEstĆ” seguro de que desea instalar {{ repo }}?", - "settings.prompt.visual.theme.github.URL": "Ingrese la URL del tema que desea instalar", - "settings.notyf.visual.theme.install.success": "Tema instalado correctamente", - "settings.notyf.visual.theme.install.error": "La instalación del tema falló", + "settings.option.visual.theme.github.install.confirm": "Āæ EstĆ” seguro de que desea instalar {{ repo }} ?", + "settings.prompt.visual.theme.github.URL": "Introduce la URL del tema que quieres instalar", + "settings.prompt.visual.theme.uninstallTheme": "Āæ Estas seguro que lo quieres desinstalar {{ theme }} ?", + "settings.option.visual.theme.checkForUpdates": "Buscar actualizaciones", + "settings.header.visual.styles": "Estilos", + "settings.option.visual.theme.manageStyles": "Gestionar Estilos", + "settings.option.visual.theme.uninstall": "Desinstalar", + "settings.option.visual.theme.viewInfo": "Ver Información", + "settings.option.visual.theme.github.available": "Disponible", + "settings.option.visual.theme.github.applied": "Aplicado", + "settings.notyf.visual.theme.install.success": "Tema Instalado Correctamente", + "settings.notyf.visual.theme.install.error": "La Instalación del Tema Falló", "settings.header.visual.plugin": "Plugin", "settings.option.visual.plugin.github.download": "Instalar desde la URL de GitHub", "settings.option.visual.plugin.github.explore": "Explorar Plugins de GitHub", @@ -355,7 +501,7 @@ "settings.prompt.visual.plugin.github.URL": "Ingrese la URL del tema que desea instalar", "settings.prompt.visual.plugin.github.success": "El Plugin instalado correctamente, Presione OK para reiniciar Cider", "settings.notyf.visual.plugin.install.success": "El Plugin instalado correctamente", - "settings.notyf.visual.plugin.install.error": "La instalación del Plugin falló", + "settings.notyf.visual.plugin.install.error": "La instalación del Plugin Falló", "settings.option.visual.theme.default": "Cider", "settings.option.visual.theme.dark": "Oscuro", "settings.option.visual.showPersonalInfo": "Mostrar información personal", @@ -364,7 +510,7 @@ "settings.option.window.openOnStartup": "Abrir Cider al Iniciar", "settings.option.window.openOnStartup.hidden": "Abrir oculto", "settings.option.window.useNativeTitleBar": "Usar barra de tĆ­tulo nativa", - "settings.option.window.windowControlStyle": "Estilo de control de ventanaEstilo de control de ventana", + "settings.option.window.windowControlStyle": "Estilo de control de ventana", "settings.option.window.windowControlStyle.right": "Derecha", "settings.option.window.windowControlStyle.left": "Izquierda", "settings.header.lyrics": "Letras", @@ -373,17 +519,30 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Habilitar el modo Karaoke (solo Musixmatch)", "settings.option.lyrics.musixmatchPreferredLanguage": "Idioma preferido de traducción de Musixmatch", "settings.option.lyrics.enableYoutubeLyrics": "Habilitar letras de YouTube para videos musicales", + "settings.option.lyrics.enableQQLyrics": "Habilitar letras de QQ", "settings.header.connectivity": "Conectividad", "settings.header.connectivity.description": "Ajuste la configuración de conectividad para Cider.", + "settings.option.connectivity.playbackNotifications": "Notificaciones de Reproducción", "settings.option.connectivity.discordRPC": "Discord Rich Presence", - "settings.option.connectivity.playbackNotifications": "Notificaciones de reproducción", - "settings.option.connectivity.discordRPC.clearOnPause": "Borrar Discord Rich Presence en Pausa", + "settings.option.connectivity.discordRPC.clientName": "Nombre del Cliente", + "settings.option.connectivity.discordRPC.clearOnPause": "Borrar Discord Rich Presence en pausa", "settings.option.connectivity.discordRPC.hideButtons": "Ocultar botones en Discord Rich Presence", + "settings.option.connectivity.discordRPC.hideTimestamp": "Ocultar Marca de Tiempo en Discord Rich Presence", + "settings.option.connectivity.discordRPC.detailsFormat": "Formato de los detalles", + "settings.option.connectivity.discordRPC.stateFormat": "Formato de Estado", + "settings.option.connectivity.discordRPC.reload": "Recargar Discord RPC", + "settings.option.connectivity.discordRPC.reconnectedToUser": "Discord RPC reconectando al usuario: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", "settings.option.connectivity.lastfmScrobble.delay": "Last.fm Retraso de Scrobble (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Activar Last.fm Now Playing", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Eliminar artistas destacados del tĆ­tulo de la canción (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrar pista en bucle (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "Evite que las pistas en bucle se scrobblen o se muestren en la lista Now Playing en Last.fm.", + "settings.option.connectivity.lastfmScrobble.filterTypes": "Tipos de Filtros de Medios (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "Ingrese el token de Last.fm Manualmente", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Tiempo de Conexión agotado", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm Conexión exitosa", + "settings.notyf.connectivity.lastfmScrobble.connecting": "Conectando a Last.fm...", "settings.header.debug": "Debug", "settings.option.debug.copy_log": "Copiar Logs al portapapeles", "settings.option.debug.openAppData": "Abrir carpeta de Cider", @@ -393,16 +552,25 @@ "settings.option.experimental.reinstallwidevine.confirm": "ĀæEstĆ”s seguro de que quieres reinstalar Widevine?", "settings.option.experimental.unknownPlugin": "Fuentes desconocidas", "settings.option.experimental.unknownPlugin.description": "Permitir la instalación de Plugins desde otros repos que no sean el repositorio de Plugins de Cider", - "settings.option.experimental.compactUI": "UI compacta", + "settings.option.experimental.compactUI": "UI Compacto", "settings.option.window.close_button_hide": "El botón Cerrar oculta la aplicación", + "settings.option.window.maxElementScale": "Escala MĆ”xima de Elementos", "settings.option.experimental.inline_playlists": "Ɓlbumes y listas de reproducción en lĆ­nea", "settings.option.advanced.playlistTrackMapping": "Mapeo de pistas de listas de reproducción", "settings.option.advanced.playlistTrackMapping.description": "Habilita el escaneo profundo de las listas de reproducción para determinar quĆ© pistas estĆ”n en quĆ© listas de reproducción. Los tiempos de creación de la cachĆ© de la lista de reproducción pueden aumentar significativamente.", "settings.option.visual.transparent": "Marco transparente", "settings.option.visual.transparent.description": "Necesita compatibilidad con temas, requiere reiniciar", + "settings.option.visual.customAccentColor": "Color de Acento Personalizado", + "settings.option.visual.accentColor": "Color de Acento", + "settings.option.visual.purplePodcastPlaybackBar": "Barra de Reproducción Morada para Podcasts", + "settings.option.visual.windowColor": "Color de Tinte de Ventana", + "settings.header.visual.windowBackgroundStyle.color": "Matiz de Color", "settings.header.advanced": "Avanzado", - "spatial.notTurnedOn": "La espacialización de audio estĆ” deshabilitada. Para usar, habilĆ­telo primero.", - "spatial.spatialProperties": "Propiedades de Espacializacion", + "settings.header.connect": "Conectar", + "settings.option.connect.link_account": "Habilitar sincronización con Cider Connect", + "settings.option.connect.link_account.description": "Vincular su cuenta de Discord con Cider Connect le permite almacenar datos de usuario que incluyen configuraciones, ecualizadores y eventualmente mĆ”s, una vez que haya terminado. (Trabajo en progreso)", + "spatial.notTurnedOn": "La Espacialización de audio estĆ” deshabilitada. Para usar, habilĆ­telo primero.", + "spatial.spatialProperties": "Propiedades de Espacialización", "spatial.width": "Ancho", "spatial.height": "Alto", "spatial.depth": "Profundidad", @@ -431,7 +599,46 @@ "share.platform.whatsapp": "WhatsApp", "share.platform.messenger": "Messenger", "share.platform.email": "Email", - "share.platform.songLink": "Copy with song.link", + "share.platform.songLink": "Copiar con song.link", "share.platform.clipboard": "Copiar link", - "about.thanks": "Muchas gracias al equipo de Cider Collective y a todos nuestros colaboradores." + "about.thanks": "Muchas gracias al equipo de Cider Collective y a Todos nuestros colaboradores.", + "oobe.yes": "SĆ­", + "oobe.no": "No", + "oobe.next": "Siguiente", + "oobe.previous": "Anterior", + "oobe.done": "Hecho", + "oobe.amupsell.title": "Antes de Empezar", + "oobe.amupsell.text": "Cider Requiere una Suscripción paga Activa a Apple Music\nCider NO funcionarĆ” con Apple Music Voice Plan ni con algunas suscripciones de prueba promocionales. Si ya tiene una suscripción calificada de Apple Music, haga click en Siguiente para continuar.", + "oobe.amupsell.subscribeBtn": "SuscrĆ­bete a Apple Music", + "oobe.amupsell.explainBtn": "Explique", + "oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ", + "oobe.amupsell.amWebUrl": "https://beta.music.apple.com/", + "oobe.amupsell.promoExplained": "Algunas suscripciones de Apple Music promocionales y de prueba fuera de EE.UU. no tienen acceso a las API del reproductor web de Apple Music necesarias para que Cider funcione. Para verificar si su versión de prueba activa funcionarĆ” con Cider, vaya a {{ amWebUrl }} inicie sesión e intente reproducir mĆŗsica. Si funciona, Ā”genial! EstĆ” listo para usar Cider, sin embargo, si no considera suscribirse a Apple Music aquĆ­: {{ subscribeUrl }}", + "oobe.intro.title": "Bienvenido a Cider", + "oobe.intro.subtitle": "", + "oobe.intro.text": "Configuremos algunas cosas para que puedas usar Cider como quieras. Siempre puede cambiar esta configuración mĆ”s tarde.", + "oobe.general.title": "General", + "oobe.general.subtitle": "", + "oobe.general.text": "", + "oobe.audio.title": "Audio", + "oobe.audio.subtitle": "", + "oobe.audio.text": "Cider cuenta con una pila de audio diseƱada y afinada a medida que brinda una experiencia de audio rica y de alta calidad.\nCon Cider Adrenaline, Atmosphere Realizer y Spatialized Audio.\nPara habilitar esta funcionalidad, \"Funcionalidad de audio avanzada\" debe estar habilitada.\nHabilitar audio avanzado La funcionalidad le darĆ” acceso a estas mejoras en Cider Audio Labs, que se encuentra en la configuración de la aplicación.", + "oobe.audio.advancedFunctionality": "", + "oobe.visual.title": "Visual", + "oobe.visual.subtitle": "", + "oobe.visual.text": "", + "oobe.visual.layout.text": "Cider presenta dos diseƱos de ventana diferentes.\nMaverick es un diseƱo similar a iTunes con el reproductor en la parte superior de la ventana.\nMojave es un nuevo giro creado por Cider Collective.\n\nPuedes cambiar el diseƱo en cualquier momento en la configuración.", + "oobe.visual.suggestingThemes": "La tematización es una excelente forma de personalizar tu experiencia. AquĆ­ hay algunos que sugerimos: ", + "oobe.visual.suggestingThemes.subtext": "(Estos temas se descargarĆ”n de GitHub)", + "oobe.visual.suggestingThemes.default": "Cider", + "oobe.visual.suggestingThemes.default.text": "El clĆ”sico tema de Cider.", + "oobe.visual.suggestingThemes.dark": "Oscuro", + "oobe.visual.suggestingThemes.dark.text": "Oscurisimo", + "oobe.visual.suggestingThemes.community1": "Groovy", + "oobe.visual.suggestingThemes.community1.text": "Un tema influenciado por WinUI", + "oobe.visual.suggestingThemes.community2": "iTheme", + "oobe.visual.suggestingThemes.community2.text": " El clĆ”sico diseƱo de frutas grandes.", + "oobe.visual.suggestingThemes.community3": "Dracula", + "oobe.visual.suggestingThemes.community3.text": "El icónico esquema de color de DrĆ”cula.", + "oobe.amsignin.title": "" } diff --git a/src/i18n/fr_FR.json b/src/i18n/fr_FR.json index 3886fd0e..720ee97c 100644 --- a/src/i18n/fr_FR.json +++ b/src/i18n/fr_FR.json @@ -22,7 +22,6 @@ "term.logout": "DĆ©connexion", "term.login": "Connexion", "term.quickNav": "Navigation rapide", - "term.cast": "Diffuser", "term.about": "ƀ propos", "term.privateSession": "Session privĆ©e", "term.disablePrivateSession": "DĆ©sactiver la session privĆ©e", @@ -33,7 +32,7 @@ "term.history": "Historique", "term.search": "Recherche", "term.library": "BibliothĆØque", - "term.listenNow": "Ɖcoutez maintenant", + "term.listenNow": "Ɖcouter", "term.browse": "Explorer", "term.radio": "Radio", "term.recentlyAdded": "AjoutĆ© rĆ©cemment", @@ -42,6 +41,7 @@ "term.artists": "Artistes", "term.podcasts": "Podcasts", "term.playlists": "Playlists", + "term.charts": "Classements", "term.playlist": "Playlist", "term.newPlaylist": "Nouvelle Playlist", "term.newPlaylistFolder": "Nouveau dossier de playlist", @@ -51,7 +51,9 @@ "term.navigateBack": "Naviguer en arriĆØre", "term.navigateForward": "Naviguer en avant", "term.play": "Lecture", + "term.playpause": "Lecture/Pause", "term.pause": "Pause", + "term.stop": "Stop", "term.previous": "PrĆ©cĆ©dent", "term.next": "Suivant", "term.shuffle": "AlĆ©atoire", @@ -130,6 +132,8 @@ "term.audioControls": "ContrĆ“les du volume", "term.clearAll": "Tout effacer", "term.recentStations": "Stations rĆ©centes", + "term.personalStations": "Stations personnelles", + "term.amLive": "Apple Music Live", "term.language": "Langue", "term.funLanguages": "Amusant", "term.noLyrics": "Chargement... / Paroles non trouvĆ©./ Instrumental.", @@ -150,6 +154,7 @@ }, "term.videos": "VidĆ©os", "term.menu": "Menu", + "term.themeManaged": "GĆ©rĆ© par un thĆØme", "term.check": "VĆ©rifier", "term.aboutArtist": "ƀ propos de {{artistName}}", "term.topResult": "Meilleurs rĆ©sultats", @@ -174,7 +179,7 @@ "term.version": "Version", "term.noVideos": "Aucune vidĆ©o trouvĆ©e.", "term.plugin": "Plugin", - "term.pluginMenu": "Plug-in Menu", + "term.pluginMenu": "Menu des plugins", "term.pluginMenu.none": "Aucun plugin interactif", "term.replay": "Replay", "term.uniqueAlbums": "Albums uniques", @@ -189,6 +194,16 @@ "term.confirmLogout": "Êtes-vous sĆ»r de vouloir vous dĆ©connecter ?", "term.creditDesignedBy": "ConƧu par ${authorUsername}", "term.discNumber": "Disque ${discNumber}", + "term.reload": "Recharger Cider ?", + "term.toggleprivate": "Activer/dĆ©sactiver la session privĆ©e", + "term.webremote": "TĆ©lĆ©commande Web", + "term.cast": "Diffuser", + "term.cast2": "Diffuser sur des appareils", + "term.quit": "Quitter", + "term.zoomin": "Zoom avant", + "term.zoomout": "Zoom Out", + "term.zoomreset": "Zoom arriĆØre", + "term.fullscreen": "Plein Ć©cran", "home.title": "Accueil", "home.recentlyPlayed": "JouĆ© rĆ©cemment", "home.recentlyAdded": "AjoutĆ© rĆ©cemment", @@ -209,9 +224,16 @@ "podcast.episodes": "Ɖpisodes", "podcast.playEpisode": "Lire l'Ć©pisode", "podcast.website": "Site du podcast", + "action.hideLibrary": "Cacher la bibliothĆØque", + "action.showLibrary": "Afficher la bibliothĆØque", + "action.cut": "Couper", + "action.paste": "Coller", + "action.selectAll": "Tout sĆ©lectionner", + "action.delete": "Supprimer", "action.edit": "Modifier", "action.done": "TerminĆ©", - "action.editTracklist": "Edit Tracklist", + "action.submit": "Soumettre", + "action.editTracklist": "Modifier la liste de morceaux", "action.addToLibrary": "Ajouter Ć  la bibliothĆØque", "action.addToLibrary.success": "AjoutĆ© Ć  la bibliothĆØque", "action.addToLibrary.error": "Erreur lors de l'ajout Ć  la bibliothĆØque", @@ -275,45 +297,26 @@ "action.createNew": "CrĆ©er un nouveau...", "action.openArtworkInBrowser": "Ouvrir la pochette d'album dans le navigateur", "action.scrollToTop": "DĆ©filer vers le haut", - "menubar.options.about": "ƀ propos", - "menubar.options.settings": "ParamĆØtres", - "menubar.options.quit": "Quitter Cider", "menubar.options.view": "Afficher ", "menubar.options.reload": "Recharger", "menubar.options.forcereload": "Rechargement forcĆ©", "menubar.options.toggledevtools": "Activer les outils de dĆ©veloppement", "menubar.options.window": "FenĆŖtre", "menubar.options.minimize": "Minimiser", - "menubar.options.toggleprivate": "Activer la session privĆ©e", - "menubar.options.webremote": "TĆ©lĆ©commande Web", - "menubar.options.audio": "ParamĆØtres audio", "menubar.options.plugins": "Menu des plugins", "menubar.options.controls": "ContrĆ“les", - "menubar.options.next": "Suivant", - "menubar.options.playpause": "Lecture/Pause", - "menubar.options.previous": "PrĆ©cĆ©dent", "menubar.options.volumeup": "Augmenter le volume", "menubar.options.volumedown": "RĆ©duire le volume", - "menubar.options.browse": "Parcourir", - "menubar.options.artists": "Artistes", - "menubar.options.search": "Search", - "menubar.options.albums": "Albums", - "menubar.options.cast": "Diffuser sur des appareils", "menubar.options.account": "Compte", - "menubar.options.accountsettings": "ParamĆØtres du compte", "menubar.options.signout": "Se dĆ©connecter", "menubar.options.support": "Support", - "menubar.options.discord": "Discord", - "menubar.options.github": "Documentation GitHub", "menubar.options.report": "Remonter un(e)...", "menubar.options.bug": "Bug", "menubar.options.feature": "Demande de fonctionnalitĆ©", "menubar.options.trans": "Erreur/Demande de traduction", "menubar.options.license": "Voir la license", "menubar.options.conf": "Ouvrir le fichier de configuration dans l'Ć©diteur", - "menubar.options.listennow": "Ɖcoutez maintenant", - "menubar.options.recentlyAdded": "AjoutĆ© rĆ©cemment", - "menubar.options.songs": "Musiques", + "menubar.options.zoom": "Zoom", "settings.header.general": "GĆ©nĆ©ral", "settings.header.general.description": "Ajuster les paramĆØtres gĆ©nĆ©raux de Cider.", "settings.option.general.language": "Langue", @@ -333,11 +336,15 @@ "settings.option.general.customizeSidebar": "Personnaliser les Ć©lĆ©ments de la barre latĆ©rale", "settings.option.general.customizeSidebar.customize": "Personnalisez", "settings.option.general.keybindings": "Raccourcis clavier", + "settings.option.general.keybindings.library": "BibliothĆØque", + "settings.option.general.keybindings.session": "Session", + "settings.option.general.keybindings.control": "ContrĆ“les", + "settings.option.general.keybindings.interface": "Interface", + "settings.option.general.keybindings.advanced": "AvancĆ©", "settings.option.general.keybindings.pressCombination": "Appuyez sur une combinaison de deux touches pour mettre Ć  jour la combinaison de touches.", "settings.option.general.keybindings.pressEscape": "Appuyez sur la touche Ɖchap pour revenir en arriĆØre.", "settings.notyf.general.keybindings.update.success": "Le raccourci clavier a bien Ć©tĆ© mis Ć  jour", "settings.prompt.general.keybindings.update.success": "Le raccourci clavier a bien Ć©tĆ© mis Ć  jour. Appuyez sur OK pour relancer Cider", - "settings.option.general.keybindings.open": "Ouvrir", "settings.option.general.themeUpdateNotification": "VĆ©rifier automatiquement les mises Ć  jour des thĆØmes", "settings.option.general.showLovedTracksInline": "Afficher les pistes aimĆ©es en ligne", "settings.description.search": "Rechercher", @@ -360,6 +367,7 @@ "settings.header.audio": "Audio", "settings.header.audio.description": "Ajuster les paramĆØtres audio de Cider.", "settings.option.audio.volumeStep": "Ɖtape du volume", + "settings.option.audio.advanced": "ContrĆ“le avancĆ© du volume", "settings.option.audio.maxVolume": "Volume maximum", "settings.option.audio.changePlaybackRate": "Changer la vitesse de lecture", "settings.option.audio.playbackRate": "Vitesse de lecture", @@ -394,12 +402,21 @@ "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Changes the mode of operation of the Atmosphere Realizer module.", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Naturelle (Standard)", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Naturelle (Plus)", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "Fromage au sel de roche et thĆ© mousseux", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "ThĆ© au lait Uji Matcha", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "Macchiato au jasmin", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "ThĆ© au lait Hokkaido", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "GĆ¢teau au clair de lune", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Lait crĆØme brĆ»lĆ©e au sucre brun", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Chaleur des cĆ¢lins", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Moteur de traitement psycho-acoustique Cider", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "AmĆ©liore la qualitĆ© audio perƧue de l'audio AAC 256 kbps en utilisant un algorithme en temps rĆ©el qui tire parti Ć  la fois des modĆØles psychoacoustiques de l'audition humaine et des caractĆ©ristiques de codage AAC.", "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "Le moteur de traitement psycho-acoustique n'est pas compatible avec la spatialisation. Veuillez dĆ©sactiver la spatialisation pour continuer.", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Force du moteur de traitement psycho-acoustique", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Modifie l'intensitĆ© du traitement effectuĆ© sur l'audio. (Un traitement agressif peut donner des rĆ©sultats indĆ©sirables).", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standard", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "Adaptive", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "Ancien", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agressive", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisation du son", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normalise le volume maximal des pistes individuelles pour crĆ©er une expĆ©rience d'Ć©coute plus uniforme.", @@ -413,6 +430,9 @@ "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "SĆ©paration", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "Minimale", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "DiffusĆ©", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "Encore", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "Encore Ć©largi", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "La spatialisation n'est pas compatible avec le moteur de traitement psycho-acoustique. Veuillez le dĆ©sactiver pour continuer.", "settings.option.audio.dbspl.display": "Affichage dB SPL", "settings.option.audio.dbspl.description": "(Utilisateurs avancĆ©s uniquement) Affichez dB SPL au lieu de dBFS sur le curseur de volume.", @@ -494,11 +514,19 @@ "settings.option.connectivity.discordRPC.hideTimestamp": "Cacher le temps restant sur le Discord Rich Presence", "settings.option.connectivity.discordRPC.detailsFormat": "Format des dĆ©tails", "settings.option.connectivity.discordRPC.stateFormat": "Format de l'Ć©tat", + "settings.option.connectivity.discordRPC.reload": "Recharger DiscordRPC", + "settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC ReconnectĆ© Ć  l'utilisateur: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Scrobble LastFM", "settings.option.connectivity.lastfmScrobble.delay": "DĆ©lai de Scrobble LastFM (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Activer la lecture en cours sur LastFM", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Supprimer les artistes en vedette du titre de la chanson (LastFM)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrer les titres en boucle (LastFM)", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "EmpĆŖcher les pistes en boucle d'ĆŖtre scrobbulĆ©es ou affichĆ©es dans la liste En cours de lecture sur Last.fm.", + "settings.option.connectivity.lastfmScrobble.filterTypes": "Types de mĆ©dias filtrĆ©s (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "Entrer manuellement le jeton Last.fm", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Connection Ć©chouĆ©e", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm Connection rĆ©ussie", + "settings.notyf.connectivity.lastfmScrobble.connecting": "Connexion Ć  Last.fm...", "settings.header.debug": "DĆ©bogage", "settings.option.debug.copy_log": "Copier les logs dans le presse-papiers", "settings.option.debug.openAppData": "Ouvrir le dossier de Cider", @@ -551,5 +579,44 @@ "share.platform.email": "Email", "share.platform.songLink": "Copier avec song.link", "share.platform.clipboard": "Copier le lien", - "about.thanks": "Un grand merci Ć  l'Ć©quipe de la Cider Collective et Ć  tous nos contributeurs." + "about.thanks": "Un grand merci Ć  l'Ć©quipe de la Cider Collective et Ć  tous nos contributeurs.", + "oobe.yes": "Oui", + "oobe.no": "Non", + "oobe.next": "Suivant", + "oobe.previous": "PrĆ©cĆ©dent", + "oobe.done": "TerminĆ©", + "oobe.amupsell.title": "Avant de commencer", + "oobe.amupsell.text": "Cider nĆ©cessite un abonnement Apple Music actif et payant.\nCider ne fonctionne pas avec l'offre Apple Music Voice ou certains abonnements d'essai promotionnels. Si vous avez dĆ©jĆ  un abonnement Apple Music qualifiĆ©, cliquez sur Suivant pour continuer.", + "oobe.amupsell.subscribeBtn": "S'abonner Ć  Apple Music", + "oobe.amupsell.explainBtn": "Expliquer", + "oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ", + "oobe.amupsell.amWebUrl": "https://beta.music.apple.com/", + "oobe.amupsell.promoExplained": "Certains abonnements d'essai Apple Music promotionnels et non amĆ©ricains n'ont pas accĆØs aux API du lecteur web Apple Music nĆ©cessaires au fonctionnement de Cider. Pour vĆ©rifier si votre version d'essai active fonctionnera avec Cider, rendez-vous Ć  l'adresse suivante {{ amWebUrl }} connectez-vous et essayez de jouer de la musique. Si cela fonctionne, tant mieux ! Vous ĆŖtes prĆŖt Ć  utiliser Cider, mais si ce n'est pas le cas, abonnez-vous Ć  Apple Music ici : {{ subscribeUrl }}", + "oobe.intro.title": "Bienvenue sur Cider", + "oobe.intro.subtitle": "", + "oobe.intro.text": "Nous allons mettre en place quelques Ć©lĆ©ments pour que vous puissiez utiliser Cider comme vous le souhaitez. Vous pourrez toujours modifier ces paramĆØtres plus tard.", + "oobe.general.title": "GĆ©nĆ©ral", + "oobe.general.subtitle": "", + "oobe.general.text": "", + "oobe.audio.title": "Audio", + "oobe.audio.subtitle": "", + "oobe.audio.text": "Cider dispose d'une pile audio personnalisĆ©e et conƧue pour offrir une expĆ©rience audio riche et de haute qualitĆ©.\nIl comprend le moteur de traitement psycho-acoustique Cider, le rĆ©alisateur d'atmosphĆØre et la spatialisation de l'audio.\nPour activer cette fonctionnalitĆ©, la fonction \"FonctionnalitĆ© audio avancĆ©e\" doit ĆŖtre activĆ©e.\nL'activation de la fonctionnalitĆ© audio avancĆ©e vous donnera accĆØs Ć  ces amĆ©liorations dans les laboratoires audio de Cider, qui se trouvent dans les paramĆØtres de l'application.", + "oobe.audio.advancedFunctionality": "", + "oobe.visual.title": "Visuel", + "oobe.visual.subtitle": "", + "oobe.visual.text": "", + "oobe.visual.layout.text": "Cider prĆ©sente deux agencements de fenĆŖtres diffĆ©rents.\nMaverick est une mise en page semblable Ć  celle d'iTunes, avec le lecteur en haut de la fenĆŖtre.\nMojave est une nouvelle agencement crƩƩ par la Cider Collective.\n\nVous pouvez modifier la mise en page Ć  tout moment dans les paramĆØtres.", + "oobe.visual.suggestingThemes": "Les thĆØmes sont un excellent moyen de personnaliser votre expĆ©rience. En voici quelques-uns que nous vous suggĆ©rons : ", + "oobe.visual.suggestingThemes.subtext": "(Ces thĆØmes seront tĆ©lĆ©chargĆ©s Ć  partir de GitHub)", + "oobe.visual.suggestingThemes.default": "Cider", + "oobe.visual.suggestingThemes.default.text": "Le thĆØme classique de Cider.", + "oobe.visual.suggestingThemes.dark": "Sombre", + "oobe.visual.suggestingThemes.dark.text": "L'obscuritĆ©.", + "oobe.visual.suggestingThemes.community1": "Groovy", + "oobe.visual.suggestingThemes.community1.text": "Un thĆØme influencĆ© par WinUI", + "oobe.visual.suggestingThemes.community2": "iTheme", + "oobe.visual.suggestingThemes.community2.text": "La disposition classique des gros fruits.", + "oobe.visual.suggestingThemes.community3": "Dracula", + "oobe.visual.suggestingThemes.community3.text": "L'emblĆ©matique combinaison de couleurs de Dracula.", + "oobe.amsignin.title": "" } diff --git a/src/i18n/hi_IN.json b/src/i18n/hi_IN.json index d941bf5d..c09c0b66 100644 --- a/src/i18n/hi_IN.json +++ b/src/i18n/hi_IN.json @@ -101,7 +101,7 @@ "term.recentStations": "Recent Stations", "term.language": "Language", "term.funLanguages": "Fun", - "term.noLyrics": "Loading... / Lyrics not found./ Instrumental.", + "term.noLyrics": "Instrumental Track / No Lyrics.", "term.copyright": "Copyright", "term.rightsReserved": "All Rights Reserved.", "term.sponsor": "Sponsor this project", diff --git a/src/i18n/hu_HU.json b/src/i18n/hu_HU.json index dd0b7161..a2dabd7a 100644 --- a/src/i18n/hu_HU.json +++ b/src/i18n/hu_HU.json @@ -154,6 +154,7 @@ }, "term.videos": "Videók", "term.menu": "Menü", + "term.themeManaged": "Egy tĆ©ma kezeli a beĆ”llĆ­tĆ”st", "term.check": "EllenőrzĆ©s", "term.aboutArtist": "{{artistName}}-ról/ről", "term.topResult": "Legjobb talĆ”latok", @@ -250,7 +251,7 @@ "action.goToAlbum": "Album megjelenĆ­tĆ©se", "action.showInPlaylist": "LejĆ”tszĆ”si lista megjelenĆ­tĆ©se", "action.showInAppleMusic": "MegjelenĆ­tĆ©s az Apple Musicban", - "action.moveToTop": "MozgatĆ”s legfelülre", + "action.moveToTop": "KivĆ©tel a mappĆ”kból", "action.share": "MegosztĆ”s", "action.rename": "ƁtnevezĆ©s", "action.love": "Szeretem", @@ -441,6 +442,7 @@ "settings.header.visual": "VizuĆ”lis", "settings.header.visual.description": "A Cider vizuĆ”lis beĆ”llĆ­tĆ”sainak módosĆ­tĆ”sa.", "settings.option.visual.windowStyle": "AblakelrendezĆ©s", + "settings.option.visual.purplePodcastPlaybackBar": "Lila lejĆ”tszĆ”si sĆ”v a PodcastoknĆ”l", "settings.option.visual.windowBackgroundStyle": "AblakhĆ”ttĆ©r stĆ­lusa", "settings.header.visual.windowBackgroundStyle.none": "Sehol", "settings.header.visual.windowBackgroundStyle.artwork": "BorĆ­tó", diff --git a/src/i18n/in_ID.json b/src/i18n/in_ID.json index 24acf48f..aa1e9a1c 100644 --- a/src/i18n/in_ID.json +++ b/src/i18n/in_ID.json @@ -10,6 +10,7 @@ "notification.updatingLibrarySongs": "Memperbarui Pustaka lagu...", "notification.updatingLibraryAlbums": "Memperbarui Pustaka album...", "notification.updatingLibraryArtists": "Memperbarui Pustaka artis...", + "term.variables": "Variabel", "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", "term.applePodcasts": "Apple Podcasts", @@ -20,9 +21,12 @@ "term.accountSettings": "Pengaturan Akun", "term.logout": "Keluar", "term.login": "Masuk", + "term.quickNav": "Navigasi Cepat", "term.about": "Tentang", "term.privateSession": "Sesi Pribadi", + "term.disablePrivateSession": "Matikan Mode Pribadi", "term.queue": "Antrian", + "term.autoplay": "Pemutar Otomatis", "term.lyrics": "Lirik", "term.miniplayer": "Pemutar Kecil", "term.history": "Riwayat", @@ -37,18 +41,28 @@ "term.artists": "Artis", "term.podcasts": "Podcasts", "term.playlists": "Playlist", + "term.charts": "Tangga Lagu", "term.playlist": "Playlist", "term.newPlaylist": "Playlist Baru", "term.newPlaylistFolder": "Folder Playlist Baru", "term.createNewPlaylist": "Buat Playlist Baru", "term.createNewPlaylistFolder": "Buat Folder Playlist Baru", "term.deletePlaylist": "Yakin ingin menghapus playlist ini?", + "term.navigateBack": "Navigasi kembali", + "term.navigateForward": "Navigasi kedepan", "term.play": "Mainkan", + "term.playpause": "Mainkan/Jeda", "term.pause": "Jeda", + "term.stop": "Berhenti", "term.previous": "Sebelumnya", "term.next": "Selanjutnya", "term.shuffle": "Acak", + "term.enableShuffle": "Nyalakan pemutaran acak", + "term.disableShuffle": "Matikan pemutaran acak", "term.repeat": "Ulangi", + "term.enableRepeatOne": "Aktifkan ulangi sekali", + "term.disableRepeatOne": "Matikan ulangi sekali", + "term.disableRepeat": "Matikan ulangi", "term.volume": "Volume", "term.mute": "Bisu", "term.unmute": "Bunyikan", @@ -70,6 +84,7 @@ "term.viewAs": "Lihat Sebagai", "term.viewAs.coverArt": "Cover Art", "term.viewAs.list": "Daftar", + "term.dynamic": "Dinamis", "term.size": "Ukuran", "term.size.normal": "Normal", "term.size.compact": "Kompak", @@ -117,6 +132,9 @@ "term.audioControls": "Kontrol Volume", "term.clearAll": "Bersihkan Semua", "term.recentStations": "Stasiun Terbaru", + "term.personalStations": "Stasiun Pribadi", + "term.amLive": "Apple Music Live", + "term.live": "LIVE", "term.language": "Bahasa", "term.funLanguages": "Senang-senang", "term.noLyrics": "Memuat... / Lirik tidak ditermukan./ Instrumental.", @@ -137,6 +155,7 @@ }, "term.videos": "Video", "term.menu": "Menu", + "term.themeManaged": "Diatur oleh tema", "term.check": "Cek", "term.aboutArtist": "Tentang {{artistName}}", "term.topResult": "Hasil Teratas", @@ -175,6 +194,19 @@ "term.topGenres": "Genre Teratas", "term.confirmLogout": "Apakah Anda yakin ingin keluar??", "term.creditDesignedBy": "Dirancang oleh ${authorUsername}", + "term.discNumber": "Kaset ${discNumber}", + "term.reload" : "Muat ulang Cider?", + "term.toggleprivate" : "Nyalakan Sesi Pribadi", + "term.webremote" : "Remot Web", + "term.cast" : "Transmisi", + "term.cast2" : "Transmisikan ke Perangkat", + "term.quit" : "Keluar", + "term.zoomin" : "Perbesar", + "term.zoomout" : "Perkecil", + "term.zoomreset" : "Atur Ulang", + "term.fullscreen" : "Layar Penuh", + "home.syncFavorites": "Sinkronkan Favorit", + "home.syncFavorites.gettingArtists": "Mendapatkan artis favorit", "home.title": "Beranda", "home.recentlyPlayed": "Baru Dimainkan", "home.recentlyAdded": "Baru Ditambahkan", @@ -187,14 +219,25 @@ "error.connectionError": "Terjadi masalah saat menyambungkan ke Apple Music.", "error.noResults": "Tidak ada hasil.", "error.noResults.description": "Coba pencarian baru.", - "podcast.followOnCider": "Ikuti Di Cider", - "podcast.followedOnCider": "Mengikuti Di Cider", - "podcast.subscribeOnItunes": "Langganan Di iTunes", - "podcast.subscribedOnItunes": "Berlangganan Di iTunes", + "podcast.followOnCider": "Ikuti di Cider", + "podcast.followedOnCider": "Mengikuti di Cider", + "podcast.subscribeOnItunes": "Langganan di iTunes", + "podcast.subscribedOnItunes": "Telah Berlangganan di iTunes", "podcast.itunesStore": "iTunes Store", "podcast.episodes": "Episode", "podcast.playEpisode": "Mainkan Episode", "podcast.website": "Website Podcast", + "action.favorite": "Favorit", + "action.removeFavorite": "Hapus Favorit", + "action.hideLibrary": "Sembunyikan Pustaka", + "action.showLibrary": "Tampilkan Pustaka", + "action.cut": "Cut", + "action.paste": "Paste", + "action.selectAll": "Pilih Semua", + "action.delete": "Hapus", + "action.edit": "Ubah", + "action.done": "Selesai", + "action.editTracklist": "Edit Daftar Lagu", "action.addToLibrary": "Tambahkan ke Pustaka", "action.addToLibrary.success": "Ditambahkan ke Pustaka", "action.addToLibrary.error": "Terjadi Kesalahan Saat Menambahkan Pustaka", @@ -240,12 +283,45 @@ "action.tray.minimize": "Sembunyikan ke Tray", "action.tray.quit": "Keluar", "action.update": "Perbarui", + "action.tray.listento": "Dengarkan:", "action.install": "Pasang", "action.copy": "Salin", "action.newpreset": "Preset Baru...", "action.deletepreset": "Hapus Preset", "action.open": "Buka", + "action.close": "Close", "action.relaunch.confirm": "Apakah Anda ingin memulai ulang Cider?", + "action.cast.chromecast": "Chromecast", + "action.cast.todevices": "Transmisi ke Perangkat", + "action.cast.stop": "Stop transmisi ke semua perangkat", + "action.cast.airplay": "AirPlay", + "action.cast.airplay.underdevelopment": "AirPlay masih dalam tahap pengembangan", + "action.cast.scan": "Pindai", + "action.cast.scanning": "Pindai...", + "action.createNew": "Buat Baru...", + "action.openArtworkInBrowser": "Buka artwork di browser", + "action.scrollToTop": "Gulir ke atas", + "action.refresh": "Muat ulang", + "menubar.options.view": "Tampilan", + "menubar.options.reload": "Muat Ulang", + "menubar.options.forcereload": "Paksa Muat Ulang", + "menubar.options.toggledevtools": "Aktfikan Alat Developer", + "menubar.options.window": "Jendela", + "menubar.options.minimize": "Perkecil", + "menubar.options.plugins": "Menu Plu-gins", + "menubar.options.controls": "Kontrol", + "menubar.options.volumeup": "Keraskan Volume", + "menubar.options.volumedown": "Kecilkan Volume", + "menubar.options.account": "Akun", + "menubar.options.signout": "Keluar", + "menubar.options.support": "Bantuan", + "menubar.options.report": "Laporkan...", + "menubar.options.bug": "Bug", + "menubar.options.feature": "Permintaan Fitur", + "menubar.options.trans": "Laporkan/Minta Terjemahan", + "menubar.options.license": "Lihat Lisensi", + "menubar.options.conf": "Bukan File Konfigurasi pada Editor", + "menubar.options.zoom": "Zoom", "settings.header.general": "Umum", "settings.header.general.description": "Sesuaikan pengaturan umum untuk Cider.", "settings.option.general.language": "Bahasa", @@ -254,17 +330,53 @@ "settings.option.general.resumebehavior.locally": "Lokal", "settings.option.general.resumebehavior.locally.description": "Cider akan melanjutkan sesi terakhir Anda di perangkat ini.", "settings.option.general.resumebehavior.history": "Riwayat", - "settings.option.general.resumebehavior.history.description": "Cider akan menambahkan lagu terakhir dari keseluruhan riwayat Apple Music Anda ke dalam antrian di seluruh perangkat.", + "settings.option.general.resumebehavior.history.description": "Cider akan melanjutkan lagu terakhir dari riwayat Apple Music di seluruh perangkat Anda.", + "settings.option.general.resumetabs" : "Buka Tab ketika Diluncurkan", + "settings.option.general.resumetabs.description" : "Anda dapat memilih tab apa yang akan dibuka ketika Anda membuka Cider.", + "settings.option.general.resumetabs.dynamic" : "Dinamis", + "settings.option.general.resumetabs.dynamic.description" : "Cider akan membuka tab yang terakhir digunakan", "settings.option.general.language.main": "Bahasa", "settings.option.general.language.fun": "Bahasa Candaan", "settings.option.general.language.unsorted": "Tidak disortir", + "settings.option.general.customizeSidebar": "Sesuaikan Item Sidebar", + "settings.option.general.customizeSidebar.customize": "Sesuaikan", + "settings.option.general.keybindings": "Kombinasi Keyboard", + "settings.option.general.keybindings.library": "Pustaka", + "settings.option.general.keybindings.session": "Sesi", + "settings.option.general.keybindings.control": "Kontrol", + "settings.option.general.keybindings.interface": "Tampilan", + "settings.option.general.keybindings.advanced": "Lebih Lanjut", + "settings.option.general.keybindings.pressCombination": "Tekan kombinasi dua tombol untuk memperbarui", + "settings.option.general.keybindings.pressEscape": "Tekan ESC untuk kembali", + "settings.notyf.general.keybindings.update.success": "Kombinasi Keyboard telah diperbarui", + "settings.prompt.general.keybindings.update.success": "Kombinasi keyboard telah diperbarui", + "settings.option.general.themeUpdateNotification": "Perbarui tema secara otomatis", + "settings.option.general.showLovedTracksInline": "Tampilkan lagu yang di-love sejajar", + "settings.description.search": "Cari", + "settings.description.albums": "Pustaka Album", + "settings.description.artists": "Pustaka Artis", + "settings.description.browse": "Jelajahi", + "settings.description.private": "Nyalakan Sesi Pribadi", + "settings.description.remote": "Remote Web", + "settings.description.audio": "Peraturan Audio", + "settings.description.plugins": "Menu Plugins", + "settings.description.cast": "Transmisikan ke Perangkat", + "settings.description.settings": "Pengaturan", + "settings.description.developer": "Alat Developer", + "settings.description.listnow": "Dengarkan Sekarang", + "settings.description.recentAdd": "Baru Ditambahkan", + "settings.description.songs": "Lagu", "settings.notyf.updateCider.update-not-available": "Tidak ada pembaruan tersedia", "settings.notyf.updateCider.update-downloaded": "Pembaruan sudah didownload, mulai ulang untuk menginstall pembaruan", "settings.notyf.updateCider.update-timeout": "Waktu pembaruan habis", "settings.header.audio": "Audio", "settings.header.audio.description": "Sesuaikan pengaturan audio untuk Cider.", "settings.option.audio.volumeStep": "Jangkah Volume", + "settings.option.audio.advanced": "Kontrol Volume Lanjut", "settings.option.audio.maxVolume": "Volume Maksimal", + "settings.option.audio.changePlaybackRate": "Ubah Tingkat Pemutaran", + "settings.option.audio.playbackRate": "Tingkat Pemutaran", + "settings.option.audio.playbackRate.change": "Ganti", "settings.option.audio.quality": "Kualitas Audio", "settings.header.audio.quality.hireslossless": "Hi-Res Lossless", "settings.header.audio.quality.hireslossless.description": "sampai dari 24-bit/192 kHz", @@ -277,20 +389,41 @@ "settings.option.audio.seamlessTransition": "Transisi Audio Mulus", "settings.option.audio.enableAdvancedFunctionality": "Aktifkan Fungsi Lanjutan", "settings.option.audio.enableAdvancedFunctionality.description": "Mengaktifkan fungsionalitas AudioContext memungkinkan fitur audio lanjutan seperti Normalisasi Audio, Equalizer dan Visualizer. Namun pada beberapa perangkat dapat menyebabkan tersendatnya audio.", + "settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider memperkirakan bahwa PC Anda tidak dapat menggunakan fitur ini. Apakah Anda yakin ingin melanjutkan?", "settings.option.audio.audioLab": "Lab Audio Cider", "settings.option.audio.audioLab.description": "Macam-macam efek audio yang dikembangkan sendiri untuk Cider.", + "settings.option.audio.audioLab.subheader": "Dibuat oleh Cider Acoustic Technologies di California", "settings.warn.audioLab.withoutAF": "AudioContext (Fungsi Lanjutan) perlu diaktifkan untuk menggunakan Lab Audio Cider.", + "settings.warn.enableAdvancedFunctionality": "AudioContext (Advanced Functionality) dibutuhkan untuk menyalakan fitur ini.", "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth", "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Mensimulasikan kehangatan analog yang dimodelkan setelah Korg Nutube 6P1", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Mengubah intensitas pemrosesan modul Analog Warmth.", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Halus", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Hangat", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizerā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Membuat atmosfir musik yang berbeda setelah penyesuaian audio tingkat modern dan terbaru", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider Atmosphere Realizerā„¢ļø Mode", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Ubah mode operasi dari modul Atmosphere Realizer.", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Hōjicha Cheese Foam Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Genmaicha Tapioca Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "Rock Salt Cheese Foam Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "Uji Matcha Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "Jasmine Macchiato", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "Hokkaido Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "Moonlight Softcake", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "Clafoutis aux Cerises", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "Uji Matcha Mochi", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Brown Sugar Creme BrĆ»lĆ©e Milk", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Cuddle Warmth", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Meningkatkan kualitas audio AAC secara 'realtime' dengan algoritma yang memanfaatkan model psychoacoustic manusia dan karakteristik encoding AAC", "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP tidak cocok dengan Spatialisasi. Matikan Spasialisasi untuk menggunakan.", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Kekuatan CAP", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Mengubah kekuatan pemrosesan yang dilakukan pada audio. (Agresif dapat menghasilkan hasil yang tidak diinginkan)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "Standar", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "Adaptif", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "Legacy", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agresif", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalisasi Audio", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Menormalkan puncak volume untuk masing-masing lagu demi menciptakan pengalaman mendengarkan yang lebih seragam.", @@ -300,14 +433,30 @@ "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Profil Spasialisasi Cider", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Mengubah Profil Tuning Spasialisasi. (Memerlukan Restart Aplikasi)", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "Standar", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Soundstage", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separation", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "Minimal", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiophile", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "Diffused", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "Encore", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "Expanded Encore", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "Spatialization tidak cocok dengan CAP. Matikan CAP untuk menggunakan.", + "settings.option.audio.dbspl.display": "dB SPL Display", + "settings.option.audio.dbspl.description": "(Untuk pengguna ahli) Tampilkan dB SPL daripada dBFS pada penggeser volume.", + "settings.option.audio.dbfs.calibration": "0 dBFS Calibration", + "settings.option.audio.dbfs.description": "Masukkan puncak Z-weighted dB SPL saat Cider berada pada 0 dBFS.", "settings.header.visual": "Visual", "settings.header.visual.description": "Sesuaikan pengaturan visual untuk Cider.", + "settings.option.visual.windowStyle": "Gaya Jendela", + "settings.option.visual.customAccentColor": "Warna Pilihan", + "settings.option.visual.accentColor": "Warna", + "settings.option.visual.purplePodcastPlaybackBar": "Bilah Pemutaran Ungu untuk Podcast", + "settings.option.visual.windowColor": "Warna Jendela", "settings.option.visual.windowBackgroundStyle": "Gaya Latar Belakang Jendela", "settings.header.visual.windowBackgroundStyle.none": "Tidak Ada", "settings.header.visual.windowBackgroundStyle.artwork": "Artwork", "settings.header.visual.windowBackgroundStyle.image": "Gambar", + "settings.header.visual.windowBackgroundStyle.color": "Warna-warna", "settings.option.visual.animatedArtwork": "Artwork Bergerak", "settings.header.visual.animatedArtwork.always": "Selalu", "settings.header.visual.animatedArtwork.limited": "Terbatas untuk halaman dan entri khusus", @@ -323,12 +472,21 @@ "settings.option.visual.hardwareAcceleration.description": "Membutuhkan dibuka ulang", "settings.header.visual.hardwareAcceleration.default": "Default", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.option.visual.uiscale": "Skala UI", "settings.header.visual.theme": "Tema", "settings.option.visual.theme.github.download": "Pasang dari URL GitHub", + "settings.option.visual.theme.github.openfolder": "Buka Folder Tema", "settings.option.visual.theme.github.explore": "Jelajahi Tema di GitHub", "settings.header.visual.theme.github.page": "Tema dari GitHub", "settings.option.visual.theme.github.install.confirm": "Apakah anda yakin untuk memasang {{ repo }}?", "settings.prompt.visual.theme.github.URL": "Masukan URL tema yang ingin Anda pasang", + "settings.prompt.visual.theme.uninstallTheme": "Apakah Anda yakin untuk untuk mencopot {{ theme }}?", + "settings.option.visual.theme.checkForUpdates": "Cek Pembaruan", + "settings.option.visual.theme.manageStyles": "Kelola Gaya", + "settings.option.visual.theme.uninstall": "Copot", + "settings.option.visual.theme.viewInfo": "Lihat Info", + "settings.option.visual.theme.github.available": "Tersedia", + "settings.option.visual.theme.github.applied": "Diterapkan", "settings.notyf.visual.theme.install.success": "Tema berhasil dipasang", "settings.notyf.visual.theme.install.error": "Pemasangan tema gagal", "settings.header.visual.plugin": "Plugin", @@ -347,17 +505,29 @@ "settings.header.window.description": "Atur pengaturan jendela pada Cider.", "settings.option.window.openOnStartup": "Buka Cider Ketika Perangkat Dinyalakan", "settings.option.window.openOnStartup.hidden": "Buka dalam mode tersembunyi", + "settings.option.window.useNativeTitleBar": "Gunakan Title Bar Native", + "settings.option.window.windowControlStyle": "Pengontrol Style Jendela", + "settings.option.window.windowControlStyle.right": "Kanan", + "settings.option.window.windowControlStyle.left": "Kiri", "settings.header.lyrics": "Lirik", "settings.header.lyrics.description": "Sesuaikan pengaturan lirik untuk Cider.", "settings.option.lyrics.enableMusixmatch": "Aktifkan Lirik Musixmatch", "settings.option.lyrics.enableMusixmatchKaraoke": "Aktifkan Mode Karaoke (khusus Musixmatch)", "settings.option.lyrics.musixmatchPreferredLanguage": "Bahasa Terjemahan Musixmatch", "settings.option.lyrics.enableYoutubeLyrics": "Aktifkan Lirik Youtube untuk Video Musik", + "settings.option.lyrics.enableQQLyrics": "Aktifkan QQ Lyrics", "settings.header.connectivity": "Konektivitas", "settings.header.connectivity.description": "Sesuaikan pengaturan konektivitas untuk Cider.", - "settings.option.connectivity.discordRPC": "Discord Rich Presence", "settings.option.connectivity.playbackNotifications": "Pemberitahuan Pemutaran", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", + "settings.option.connectivity.discordRPC.clientName": "Nama Client", "settings.option.connectivity.discordRPC.clearOnPause": "Sembunyikan Discord Rich Presence Saat Dijeda", + "settings.option.connectivity.discordRPC.hideButtons": "Sembunyikan tombol pada Discord Rich Presence", + "settings.option.connectivity.discordRPC.hideTimestamp": "Sembunyikan tanda waktu pada Discord Rich Presence", + "settings.option.connectivity.discordRPC.detailsFormat": "Format Detail", + "settings.option.connectivity.discordRPC.stateFormat": "Format State", + "settings.option.connectivity.discordRPC.reload": "Muat Ulang DiscordRPC", + "settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC terhubung ke pengguna: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", "settings.option.connectivity.lastfmScrobble.delay": "Delay Last.fm Scrobble (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Aktifkan Last.fm Now Playing", @@ -368,6 +538,8 @@ "settings.option.debug.openAppData": "Buka Folder Cider", "settings.header.experimental": "Eksperimental", "settings.header.experimental.description": "Sesuaikan pengaturan eksperimental untuk Cider.", + "settings.option.experimental.reinstallwidevine": "Pasang Ulang WidevineCDM", + "settings.option.experimental.reinstallwidevine.confirm": "Apakah Anda yakin untuk memasang ulang Widevine?", "settings.option.experimental.unknownPlugin": "Sumber Tidak Diketahui", "settings.option.experimental.unknownPlugin.description": "Izinkan pemasangan plugin dari repo selain Cider Plugin Repository", "settings.option.experimental.compactUI": "UI Kompak", @@ -377,6 +549,10 @@ "settings.option.advanced.playlistTrackMapping.description": "Mengaktifkan pemindaian daftar putar yang mendalam untuk menentukan trek mana yang ada di daftar putar. Waktu pembuatan cache daftar putar dapat meningkat secara signifikan.", "settings.option.visual.transparent": "Frame transparan", "settings.option.visual.transparent.description": "membutuhkan tema yang mendukung, membutuhkan dibuka ulang", + "settings.header.advanced": "Lanjutan", + "settings.header.connect": "Sinkron", + "settings.option.connect.link_account": "Sikronisasikan dengan Cider Connect", + "settings.option.connect.link_account.description": "Menghubungkan akun Discord Anda dengan Cider Connect memungkinkan Anda untuk menyimpan data pengguna termasuk Pengaturan, EQ, dan lebih banyak lagi setelah selesai. (Pekerjaan Dalam Proses)", "spatial.notTurnedOn": "Spasialisasi Audio dinonaktifkan. Untuk menggunakan, aktifkan terlebih dahulu.", "spatial.spatialProperties": "Spatial Properties", "spatial.width": "Lebar", @@ -399,5 +575,54 @@ "settings.header.unfinished": "Belum Diselesaikan", "remote.web.title": "Remote Cider", "remote.web.description": "Pindai kode QR untuk memasangkan ponsel Anda dengan Cider.", - "about.thanks": "Terima kasih yang sebesar-besarnya kepada Cider Collective Team dan semua kontributor kami." + "share.platform.twitter.tweet": "Dengarkan {{song}} di Apple Music.\n\n{{url}}\n\n#AppleMusic #Cider", + "share.platform.twitter": "Twitter", + "share.platform.facebook": "Facebook", + "share.platform.reddit": "Reddit", + "share.platform.telegram": "Telegram", + "share.platform.whatsapp": "WhatsApp", + "share.platform.messenger": "Messenger", + "share.platform.email": "Email", + "share.platform.songLink": "Salin dengan song.link", + "share.platform.clipboard": "Salin Link", + "about.thanks": "Terima kasih yang sebesar-besarnya kepada Cider Collective Team dan semua kontributor kami.", + "oobe.yes": "Ya", + "oobe.no": "Tidak", + "oobe.next": "Berikutnya", + "oobe.previous": "Sebelumnya", + "oobe.done": "Selesai", + "oobe.amupsell.title": "Sebelum kita mulai", + "oobe.amupsell.text": "Cider memerlukan langganan Apple Music yang aktif\nCider tidak akan berfungsi dengan Apple Music Voice Plan atau beberapa langganan uji coba promosi. Jika Anda sudah berlangganan Apple Music yang memenuhi syarat, klik Berikutnya untuk melanjutkan.", + "oobe.amupsell.subscribeBtn": "Berlangganan Apple Music", + "oobe.amupsell.explainBtn": "Jelaskan", + "oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ", + "oobe.amupsell.amWebUrl": "https://beta.music.apple.com/", + "oobe.amupsell.promoExplained": "Beberapa promosi uji coba Apple Music dan akun non AS tidak memiliki akses ke Apple Music Web Player API yang diperlukan agar Cider berfungsi. Untuk memverifikasi apakah uji coba aktif Anda akan berfungsi dengan Cider, buka {{ amWebUrl }} masuk dan coba putar musik. Jika berhasil, bagus! Anda siap menggunakan Cider, namun jika tidak mempertimbangkan untuk berlangganan Apple Music di sini: {{ subscribeUrl }}", + "oobe.intro.title": "Selamat Datang di Cider", + "oobe.intro.subtitle": "", + "oobe.intro.text": "Mari kita siapkan beberapa hal agar Anda dapat menggunakan Cider sesuai keinginan Anda. Anda selalu dapat mengubah setelan ini nanti.", + "oobe.general.title": "Umum", + "oobe.general.subtitle": "", + "oobe.general.text": "", + "oobe.audio.title": "Audio", + "oobe.audio.subtitle": "", + "oobe.audio.text": "Cider menghadirkan tumpukan audio yang disesuaikan dan dirancang khusus. Serta menghadirkan pengalaman audio berkualitas tinggi yang baik.\nDengan fitur seperti Cider Adrenaline, Atmosphere Realizer, dan Spatialized Audio.\nUntuk mengaktifkan fungsi ini \"Pengaturan Audio Tingkat Lanjut\" harus dinyalakan.\nMengaktifkan Pengaturan Audio Tingkat Lanjut akan memberi Anda akses ke peningkatan ini di Lab Audio Cider, yang ditemukan di pengaturan aplikasi", + "oobe.audio.advancedFunctionality": "", + "oobe.visual.title": "Visual", + "oobe.visual.subtitle": "", + "oobe.visual.text": "", + "oobe.visual.layout.text": "Cider menampilkan dua jendela tata letak yang berbeda.\nMaverick adalah tata letak seperti iTunes dengan pemutar di bagian atas jendela.\nMojave adalah putaran baru yang dibuat oleh tim Cider Collective.\n\nAnda dapat mengubah tata letak kapan saja di setelan.", + "oobe.visual.suggestingThemes": "Tema adalah cara terbaik untuk mempersonalisasi pengalaman Anda. Berikut adalah beberapa yang kami sarankan:", + "oobe.visual.suggestingThemes.subtext": "(Tema-tema ini akan diunduh dari GitHub)", + "oobe.visual.suggestingThemes.default": "Cider", + "oobe.visual.suggestingThemes.default.text": "Tema classic Cider.", + "oobe.visual.suggestingThemes.dark": "Gelap", + "oobe.visual.suggestingThemes.dark.text": "Kegelapan.", + "oobe.visual.suggestingThemes.community1": "Groovy", + "oobe.visual.suggestingThemes.community1.text": "A WinUI influenced theme", + "oobe.visual.suggestingThemes.community2": "iTheme", + "oobe.visual.suggestingThemes.community2.text": "The classic big fruit layout.", + "oobe.visual.suggestingThemes.community3": "Dracula", + "oobe.visual.suggestingThemes.community3.text": "The iconic Dracula color scheme.", + "oobe.amsignin.title": "" } diff --git a/src/i18n/ja_JP.json b/src/i18n/ja_JP.json index a44fc6ed..22d17b8e 100644 --- a/src/i18n/ja_JP.json +++ b/src/i18n/ja_JP.json @@ -2,7 +2,7 @@ "i18n.languageName": "ę—„ęœ¬čŖž", "i18n.languageNameEnglish": "Japanese", "i18n.category": "main", - "i18n.authors": "@notmaikiwi @tanaka_kakuel", + "i18n.authors": "@notmaikiwi @tanaka_kakuel @YTJVDCM", "app.name": "Cider", "date.format": "${y}幓${m}月${d}ę—„", "dialog.cancel": "ć‚­ćƒ£ćƒ³ć‚»ćƒ«", @@ -21,11 +21,13 @@ "term.accountSettings": "ć‚¢ć‚«ć‚¦ćƒ³ćƒˆčØ­å®š", "term.logout": "ć‚µć‚¤ćƒ³ć‚¢ć‚¦ćƒˆ", "term.login": "ć‚µć‚¤ćƒ³ć‚¤ćƒ³", + "term.quickNav": "Quick Nav", "term.cast": "Cast", "term.about": "Cider恫恤恄恦", "term.privateSession": "ćƒ—ćƒ©ć‚¤ćƒ™ćƒ¼ćƒˆć‚»ćƒƒć‚·ćƒ§ćƒ³", "term.disablePrivateSession": "ćƒ—ćƒ©ć‚¤ćƒ™ćƒ¼ćƒˆć‚»ćƒƒć‚·ćƒ§ćƒ³ć‚’ē„”åŠ¹ć«ć™ć‚‹", "term.queue": "欔はこごら", + "term.autoplay": "č‡Ŗå‹•å†ē”Ÿ", "term.lyrics": "ę­Œč©ž", "term.miniplayer": "ćƒŸćƒ‹ćƒ—ćƒ¬ć‚¤ćƒ¤ćƒ¼", "term.history": "屄歓", @@ -40,22 +42,32 @@ "term.artists": "ć‚¢ćƒ¼ćƒ†ć‚£ć‚¹ćƒˆ", "term.podcasts": "ćƒćƒƒćƒ‰ć‚­ćƒ£ć‚¹ćƒˆ", "term.playlists": "ćƒ—ćƒ¬ć‚¤ćƒŖć‚¹ćƒˆ", + "term.charts": "チャート", "term.playlist": "ćƒ—ćƒ¬ć‚¤ćƒŖć‚¹ćƒˆ", "term.newPlaylist": "New Playlist", "term.newPlaylistFolder": "ę–°ć—ć„ćƒ—ćƒ¬ć‚¤ćƒŖć‚¹ćƒˆćƒ•ć‚©ćƒ«ćƒ€", "term.createNewPlaylist": "ę–°ć—ć„ćƒ—ćƒ¬ć‚¤ćƒŖć‚¹ćƒˆć‚’ä½œć‚‹", "term.createNewPlaylistFolder": "ę–°ć—ć„ćƒ—ćƒ¬ć‚¤ćƒŖć‚¹ćƒˆćƒ•ć‚©ćƒ«ćƒ€ć‚’ä½œć‚‹", "term.deletePlaylist": "ęœ¬å½“ć«ć“ć®ćƒ—ćƒ¬ć‚¤ćƒŖć‚¹ćƒˆć‚’å‰Šé™¤ć—ć¾ć™ć‹ļ¼Ÿ", + "term.navigateBack": "ęˆ»ć‚‹", + "term.navigateForward": "進む", "term.play": "å†ē”Ÿ", - "term.pause": "停止", + "term.pause": "äø€ę™‚åœę­¢", + "term.stop": "停止", "term.previous": "ęˆ»ć‚‹", "term.next": "欔へ", "term.shuffle": "ć‚·ćƒ£ćƒƒćƒ•ćƒ«", + "term.enableShuffle": "ć‚·ćƒ£ćƒƒćƒ•ćƒ«å†ē”Ÿć‚’ęœ‰åŠ¹åŒ–", + "term.disableShuffle": "ć‚·ćƒ£ćƒƒćƒ•ćƒ«å†ē”Ÿć‚’ē„”åŠ¹åŒ–", "term.repeat": "ćƒŖćƒ”ćƒ¼ćƒˆ", + "term.enableRepeatOne": "1ę›²ćƒŖćƒ”ćƒ¼ćƒˆć‚’ęœ‰åŠ¹åŒ–", + "term.disableRepeatOne": "1ę›²ćƒŖćƒ”ćƒ¼ćƒˆć‚’ē„”åŠ¹åŒ–", + "term.disableRepeat": "ćƒŖćƒ”ćƒ¼ćƒˆå†ē”Ÿć‚’ē„”åŠ¹åŒ–", "term.volume": "音量", "term.mute": "ミツート", "term.unmute": "ćƒŸćƒ„ćƒ¼ćƒˆč§£é™¤", "term.share": "å…±ęœ‰", + "term.share.success": "ć‚ÆćƒŖćƒƒćƒ—ćƒœćƒ¼ćƒ‰ć«ć‚³ćƒ”ćƒ¼ć—ć¾ć—ćŸ", "term.settings": "設定", "term.seeAll": "すべて見る", "term.sortBy": "äø¦ć¹ę›æćˆ", @@ -72,13 +84,14 @@ "term.viewAs": "蔨示", "term.viewAs.coverArt": "ć‚«ćƒćƒ¼ć‚¢ćƒ¼ćƒˆ", "term.viewAs.list": "ćƒŖć‚¹ćƒˆ", + "term.dynamic": "ćƒ€ć‚¤ćƒŠćƒŸćƒƒć‚Æ", "term.size": "サイズ", "term.size.normal": "ꙮ通", "term.size.compact": "ć‚³ćƒ³ćƒ‘ć‚Æćƒˆ", - "term.enabled": "ON", - "term.disable": "OFF", - "term.disabled": "OFF", "term.enable": "ON", + "term.disable": "OFF", + "term.enabled": "ON", + "term.disabled": "OFF", "term.connect": "ęŽ„ē¶š", "term.connecting": "ęŽ„ē¶šäø­", "term.disconnect": "åˆ‡ę–­", @@ -119,9 +132,11 @@ "term.audioControls": "ボリツーム設定", "term.clearAll": "ę¶ˆåŽ»", "term.recentStations": "ęœ€čæ‘ć®å†ē”Ÿ", + "term.personalStations": "ć‚ćŖćŸć®ć‚¹ćƒ†ćƒ¼ć‚·ćƒ§ćƒ³", + "term.amLive": "Apple Music Live", "term.language": "čØ€čŖž", "term.funLanguages": "Fun", - "term.noLyrics": "ćƒ­ćƒ¼ćƒ‡ć‚£ćƒ³ć‚°ć€‚ć€‚ / ę­Œč©žćŒč¦‹ć¤ć‹ć‚‰ćŖć„ / 器愽曲.", + "term.noLyrics": "ćƒ­ćƒ¼ćƒ‰äø­... / ę­Œč©žćŒč¦‹ć¤ć‹ć‚Šć¾ć›ć‚“ / ć‚¤ćƒ³ć‚¹ćƒˆć‚„ćƒ«ćƒ”ćƒ³ć‚æćƒ«.", "term.copyright": "Copyright", "term.rightsReserved": "All Rights Reserved.", "term.sponsor": "ć‚¹ćƒćƒ³ć‚µćƒ¼ć«ćŖć‚Šć¾ć—ć‚‡ć†", @@ -178,6 +193,8 @@ "term.confirmLogout": "ęœ¬å½“ć«ćƒ­ć‚°ć‚¢ć‚¦ćƒˆć—ć¾ć™ć‹ļ¼Ÿ", "term.creditDesignedBy": "${authorUsername}ć«ć‚ˆć£ć¦ćƒ‡ć‚¶ć‚¤ćƒ³ć•ć‚Œć¾ć—ćŸ", "term.discNumber": "ćƒ‡ć‚£ć‚¹ć‚Æ ${discNumber}", + "home.syncFavorites": "ćŠę°—ć«å…„ć‚Šć‚’åŒęœŸ", + "home.syncFavorites.gettingArtists": "ćŠę°—ć«å…„ć‚Šć®ć‚¢ćƒ¼ćƒ†ć‚£ć‚¹ćƒˆć‚’åŒęœŸäø­...", "home.title": "ćƒ›ćƒ¼ćƒ ", "home.recentlyPlayed": "ęœ€čæ‘ć®å†ē”Ÿ", "home.recentlyAdded": "ęœ€čæ‘čæ½åŠ ć—ćŸé …ē›®", @@ -198,6 +215,14 @@ "podcast.episodes": "番組", "podcast.playEpisode": "å†ē”Ÿ", "podcast.website": "Podcastć‚¦ć‚§ćƒ–", + "action.favorite": "ćŠę°—ć«å…„ć‚Š", + "action.removeFavorite": "ćƒŖćƒ¢ćƒ¼ćƒˆć§ćŠę°—ć«å…„ć‚Š", + "action.hideLibrary": "ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć‹ć‚‰éžč”Øē¤ŗ", + "action.showLibrary": "ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć«č”Øē¤ŗ", + "action.cut": "åˆ‡ć‚Šå–ć‚Š", + "action.paste": "č²¼ć‚Šä»˜ć‘", + "action.selectAll": "å…ØéøęŠž", + "action.delete": "削除", "action.edit": "編集", "action.done": "å®Œäŗ†", "action.editTracklist": "ćƒˆćƒ©ćƒƒć‚ÆćƒŖć‚¹ćƒˆć‚’ē·Øé›†", @@ -227,6 +252,8 @@ "action.startRadio": "ć‚¹ćƒ†ćƒ¼ć‚·ćƒ§ćƒ³ć‚’ä½œęˆ", "action.goToArtist": "ć‚¢ćƒ¼ćƒ†ć‚£ć‚¹ćƒˆćøē§»å‹•", "action.goToAlbum": "ć‚¢ćƒ«ćƒćƒ ćøē§»å‹•", + "action.showInPlaylist": "ćƒ—ćƒ¬ć‚¤ćƒŖć‚¹ćƒˆć‚’č”Øē¤ŗ", + "action.showInAppleMusic": "Apple Musicで蔨示", "action.moveToTop": "äøŠć«ęˆ»ć‚‹", "action.share": "ę›²ć‚’å…±ęœ‰", "action.rename": "åå‰ć®å¤‰ę›“", @@ -243,13 +270,18 @@ "action.showAlbum": "ć‚¢ćƒ«ćƒćƒ ć‚’č”Øē¤ŗ", "action.tray.minimize": "ęœ€å°åŒ–", "action.tray.quit": "終了", - "action.tray.show": "蔨示", + "action.tray.show": "Ciderで蔨示", + "action.tray.playpause": "å†ē”Ÿ/停止", + "action.tray.next": "欔へ", + "action.tray.previous": "å‰ćø", + "action.tray.listento": "ę¬”ć§čžć:", "action.update": "ć‚¢ćƒƒćƒ—ćƒ‡ćƒ¼ćƒˆ", "action.install": "ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«", "action.copy": "ć‚³ćƒ”ćƒ¼", "action.newpreset": "ę–°ć—ć„ćƒ—ćƒŖć‚»ćƒƒćƒˆ", "action.deletepreset": "ćƒ—ćƒŖć‚»ćƒƒćƒˆć‚’å‰Šé™¤", "action.open": "開恏", + "action.close": "閉恘悋", "action.relaunch.confirm": "Ciderć‚’å†é–‹ć—ć¾ć™ć‹ļ¼Ÿ", "action.cast.chromecast": "Chromecast", "action.cast.todevices": "ćƒ‡ćƒć‚¤ć‚¹ć«ć‚­ćƒ£ć‚¹ćƒˆć™ć‚‹", @@ -260,6 +292,46 @@ "action.cast.scanning": "ć‚¹ć‚­ćƒ£ćƒ³äø­...", "action.createNew": "ę–°č¦ä½œęˆ...", "action.openArtworkInBrowser": "ć‚¢ćƒ¼ćƒˆćƒÆćƒ¼ć‚Æć‚’ćƒ–ćƒ©ć‚¦ć‚¶ć§č”Øē¤ŗć™ć‚‹", + "action.scrollToTop": "äøŠć«ęˆ»ć‚‹", + "menubar.options.about": "詳瓰", + "menubar.options.settings": "設定", + "menubar.options.quit": "Ciderを終了", + "menubar.options.view": "蔨示 ", + "menubar.options.reload": "å†čŖ­ćæč¾¼ćæ", + "menubar.options.forcereload": "å¼·åˆ¶ēš„ć«å†čŖ­ćæč¾¼ćæ", + "menubar.options.toggledevtools": "Developer Toolsć‚’åˆ‡ć‚Šę›æćˆ", + "menubar.options.window": "ć‚¦ć‚£ćƒ³ćƒ‰ć‚¦", + "menubar.options.minimize": "ęœ€å°åŒ–", + "menubar.options.toggleprivate": "ćƒ—ćƒ©ć‚¤ćƒ™ćƒ¼ćƒˆć‚»ćƒƒć‚·ćƒ§ćƒ³ć«åˆ‡ć‚Šę›æćˆ", + "menubar.options.webremote": "WebćƒŖćƒ¢ć‚³ćƒ³", + "menubar.options.audio": "ć‚Ŗćƒ¼ćƒ†ć‚£ć‚ŖčØ­å®š", + "menubar.options.plugins": "ćƒ—ćƒ©ć‚°ć‚¤ćƒ³ćƒ”ćƒ‹ćƒ„ćƒ¼", + "menubar.options.controls": "ę“ä½œ", + "menubar.options.next": "欔へ", + "menubar.options.playpause": "å†ē”Ÿ/停止", + "menubar.options.previous": "å‰ć«ęˆ»ć‚‹", + "menubar.options.volumeup": "éŸ³é‡ć‚’äøŠć’ć‚‹", + "menubar.options.volumedown": "éŸ³é‡ć‚’äø‹ć’ć‚‹", + "menubar.options.browse": "見恤恑悋", + "menubar.options.artists": "ć‚¢ćƒ¼ćƒ†ć‚£ć‚¹ćƒˆ", + "menubar.options.search": "検瓢", + "menubar.options.albums": "ć‚¢ćƒ«ćƒćƒ ", + "menubar.options.cast": "ćƒ‡ćƒć‚¤ć‚¹ć«ć‚­ćƒ£ć‚¹ćƒˆ", + "menubar.options.account": "ć‚¢ć‚«ć‚¦ćƒ³ćƒˆ", + "menubar.options.accountsettings": "ć‚¢ć‚«ć‚¦ćƒ³ćƒˆčØ­å®š", + "menubar.options.signout": "ć‚µć‚¤ćƒ³ć‚¢ć‚¦ćƒˆ", + "menubar.options.support": "ć‚µćƒćƒ¼ćƒˆ", + "menubar.options.discord": "Discord", + "menubar.options.github": "GitHub Wiki", + "menubar.options.report": "報告...", + "menubar.options.bug": "惐悰", + "menubar.options.feature": "å°†ę„ēš„ćŖęę”ˆ", + "menubar.options.trans": "ēæ»čØ³ć«é–¢ć™ć‚‹å ±å‘Š/ęę”ˆ", + "menubar.options.license": "ćƒ©ć‚¤ć‚»ćƒ³ć‚¹ć‚’č”Øē¤ŗ", + "menubar.options.conf": "čØ­å®šćƒ•ć‚”ć‚¤ćƒ«ć‚’ć‚Øćƒ‡ć‚£ć‚æć§é–‹ć", + "menubar.options.listennow": "Listen Now", + "menubar.options.recentlyAdded": "ęœ€čæ‘čæ½åŠ ć—ćŸé …ē›®", + "menubar.options.songs": "曲", "settings.header.general": "äø€čˆ¬", "settings.header.general.description": "Ciderć®äø€čˆ¬čØ­å®š", "settings.option.general.language": "čØ€čŖž", @@ -269,20 +341,24 @@ "settings.option.general.resumebehavior.locally.description": "ć“ć®ć‚³ćƒ³ćƒ”ćƒ„ćƒ¼ć‚æćƒ¼ć§ć®ęœ€ēµ‚ć‚»ćƒƒć‚·ćƒ§ćƒ³ć‚’å¾©å…ƒ", "settings.option.general.resumebehavior.history": "屄歓", "settings.option.general.resumebehavior.history.description": "Apple Musicć®å±„ę­“ć‹ć‚‰ę›²ć‚’å¾©å…ƒ", - "settings.option.general.resumetabs": "čµ·å‹•ę™‚ć«ć‚æćƒ–ć‚’é–‹ć", - "settings.option.general.resumetabs.description": "Ciderć‚’čµ·å‹•ć—ćŸćØćć«é–‹ćć‚æćƒ–ć‚’éøęŠžć™ć‚‹ć“ćØćŒć§ćć¾ć™", - "settings.option.general.resumetabs.dynamic": "ćƒ€ć‚¤ćƒŠćƒŸćƒƒć‚Æ", - "settings.option.general.resumetabs.dynamic.description": "ęœ€å¾Œć®ć‚»ćƒƒć‚·ćƒ§ćƒ³ć§é–‹ć„ć¦ć„ćŸć‚æćƒ–ć‚’é–‹ćć¾ć™", + "settings.option.general.resumetabs" : "čµ·å‹•ę™‚ć«ć‚æćƒ–ć‚’é–‹ć", + "settings.option.general.resumetabs.description" : "Ciderć‚’čµ·å‹•ć—ćŸćØćć«é–‹ćć‚æćƒ–ć‚’éøęŠžć™ć‚‹ć“ćØćŒć§ćć¾ć™", + "settings.option.general.resumetabs.dynamic" : "ćƒ€ć‚¤ćƒŠćƒŸćƒƒć‚Æ", + "settings.option.general.resumetabs.dynamic.description" : "ęœ€å¾Œć®ć‚»ćƒƒć‚·ćƒ§ćƒ³ć§é–‹ć„ć¦ć„ćŸć‚æćƒ–ć‚’é–‹ćć¾ć™", "settings.option.general.language.main": "ćƒ”ć‚¤ćƒ³", "settings.option.general.language.fun": "荒悉恗", "settings.option.general.language.unsorted": "ęœŖåˆ†é”ž", "settings.option.general.customizeSidebar": "ć‚µć‚¤ćƒ‰ćƒćƒ¼ć‚’ć‚«ć‚¹ć‚æćƒžć‚¤ć‚ŗ", "settings.option.general.customizeSidebar.customize": "ć‚«ć‚¹ć‚æćƒžć‚¤ć‚ŗ", "settings.option.general.keybindings": "ć‚­ćƒ¼ćƒć‚¤ćƒ³ćƒ‰", + "settings.option.general.keybindings.pressCombination": "2ć¤ć®ć‚­ćƒ¼ć‚’åŒę™‚ć«ęŠ¼ć—ć¦ć‚­ćƒ¼ćƒć‚¤ćƒ³ćƒ‰ć‚’ę›“ę–°ć—ć¾ć™", + "settings.option.general.keybindings.pressEscape": "Escć‚­ćƒ¼ć‚’ęŠ¼ć™ćØęˆ»ć‚Šć¾ć™", "settings.notyf.general.keybindings.update.success": "ć‚­ćƒ¼ćƒć‚¤ćƒ³ćƒ‰ć®ć‚¢ćƒƒćƒ—ćƒ‡ćƒ¼ćƒˆć«ęˆåŠŸć—ć¾ć—ćŸ", "settings.prompt.general.keybindings.update.success": "ć‚­ćƒ¼ćƒć‚¤ćƒ³ćƒ‰ć®ć‚¢ćƒƒćƒ—ćƒ‡ćƒ¼ćƒˆć«ęˆåŠŸć—ć¾ć—ćŸć€‚OKć‚’ęŠ¼ć™ćØciderćŒå†čµ·å‹•ć—ć¾ć™", "settings.option.general.keybindings.open": "開恏", "settings.description.search": "検瓢", + "settings.option.general.themeUpdateNotification": "ćƒ†ćƒ¼ćƒžć®ć‚¢ćƒƒćƒ—ćƒ‡ćƒ¼ćƒˆć‚’č‡Ŗå‹•ēš„ć«ē¢ŗčŖ", + "settings.option.general.showLovedTracksInline": "ćƒ©ćƒ–ć—ćŸę„½ę›²ć‚’åˆ—ęŒ™", "settings.description.albums": "ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć®ć‚¢ćƒ«ćƒćƒ ", "settings.description.artists": "ćƒ©ć‚¤ćƒ–ćƒ©ćƒŖć®ć‚¢ćƒ¼ćƒ†ć‚£ć‚¹ćƒˆ", "settings.description.browse": "検瓢", @@ -293,12 +369,16 @@ "settings.description.cast": "ćƒ‡ćƒć‚¤ć‚¹ć§ć‚­ćƒ£ć‚¹ćƒˆć™ć‚‹", "settings.description.settings": "設定", "settings.description.developer": "ćƒ‡ćƒ™ćƒ­ćƒƒćƒ‘ćƒ¼ćƒ„ćƒ¼ćƒ«", + "settings.description.listnow": "Listen Now", + "settings.description.recentAdd": "ęœ€čæ‘čæ½åŠ ć—ćŸé …ē›®", + "settings.description.songs": "曲", "settings.notyf.updateCider.update-not-available": "ē¾åœØęœ€ę–°ē‰ˆć§ć™", "settings.notyf.updateCider.update-downloaded": "ć‚¢ćƒƒćƒ—ćƒ‡ćƒ¼ćƒˆćÆå†čµ·å‹•å¾Œć«é©ē”Øć•ć‚Œć¾ć™", "settings.notyf.updateCider.update-timeout": "ć‚¢ćƒƒćƒ—ćƒ‡ćƒ¼ćƒˆćÆć‚æć‚¤ćƒ ć‚¢ć‚¦ćƒˆć—ć¾ć—ćŸ", "settings.header.audio": "ć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗ", "settings.header.audio.description": "Ciderć®ć‚Ŗćƒ¼ćƒ‡ć‚£ć‚ŖčØ­å®š", "settings.option.audio.volumeStep": "éŸ³é‡čŖæę•“ć®ć‚¹ćƒ†ćƒƒćƒ—", + "settings.option.audio.advanced": "追加のボリツーム設定", "settings.option.audio.maxVolume": "ęœ€å¤§éŸ³é‡", "settings.option.audio.changePlaybackRate": "å†ē”Ÿé€Ÿåŗ¦ć®å¤‰ę›“", "settings.option.audio.playbackRate": "å†ē”Ÿé€Ÿåŗ¦ć®å¤‰ę›“", @@ -309,14 +389,18 @@ "settings.header.audio.quality.lossless": "ćƒ­ć‚¹ćƒ¬ć‚¹", "settings.header.audio.quality.lossless.description": "(ęœ€å¤§č§£åƒåŗ¦ 24 ćƒ“ćƒƒćƒˆļ¼48 kHz)", "settings.header.audio.quality.high": "é«˜å“č³Ŗ", + "settings.header.audio.quality.high.description": "256 kbps", "settings.header.audio.quality.standard": "é«˜åŠ¹ēŽ‡", + "settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "ę›²é–“ćŖć—ć§å†ē”Ÿ", "settings.option.audio.enableAdvancedFunctionality": "å…ˆé€²ēš„ćŖę©Ÿčƒ½", "settings.option.audio.enableAdvancedFunctionality.description": "AudioContextć‚’ęœ‰åŠ¹ć«ć™ć‚‹ćØć€ć‚Ŗćƒ¼ćƒ‡ć‚£ć‚ŖćƒŽćƒ¼ćƒžćƒ©ć‚¤ć‚ŗć€ē©ŗé–“ć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗć€ć‚¤ć‚³ćƒ©ć‚¤ć‚¶ćƒ¼ćŖć©ć®ę©Ÿčƒ½ć‚’ä½æē”Øć§ćć¾ć™ćŒć€éŸ³ćŒé€”åˆ‡ć‚Œć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ć€‚", "settings.warn.audio.enableAdvancedFunctionality.lowcores": "ć‚ćŖćŸć®PCćŒć“ć®å‡¦ē†ć«č€ćˆć‚‰ć‚ŒćŖć„ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ć€‚", "settings.option.audio.audioLab": "Cider Audio Lab", - "settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.", + "settings.option.audio.audioLab.description": "Ciderč‡Ŗē¤¾é–‹ē™ŗć®å„ēØ®éŸ³éŸæčØ­å®š", + "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", "settings.warn.audioLab.withoutAF": "Cider Audio Labć‚’ęœ‰åŠ¹ć«ć™ć‚‹ć«ćÆAudioContextć‚’ęœ‰åŠ¹ć«ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™", + "settings.warn.enableAdvancedFunctionality": "AudioContext (高度な機能) ćÆć“ć®ę©Ÿčƒ½ć‚’ęœ‰åŠ¹åŒ–ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™", "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth", "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Korg Nutube 6P1ć‚’ćƒ¢ćƒ‡ćƒ«ć«ć—ćŸć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗć‚’ć‚·ćƒŸćƒ„ćƒ¬ćƒ¼ćƒˆć—ć¾ć™", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity", @@ -358,17 +442,27 @@ "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "音堓", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "åˆ†é›¢ę„Ÿ", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "ćƒŸćƒ‹ćƒžćƒ«", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "ć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗćƒžćƒ‹ć‚¢", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "拔散", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "ć‚¢ćƒ³ć‚³ćƒ¼ćƒ«", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "ę‹”å¼µć‚¢ćƒ³ć‚³ćƒ¼ćƒ«", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "ć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗē©ŗé–“åŒ–ćÆCAPćØäŗ’ę›ę€§ćŒć‚ć‚Šć¾ć›ć‚“", + "settings.option.audio.dbspl.display": "dB SPL 蔨示", + "settings.option.audio.dbspl.description": "(äøŠē“šč€…å‘ć‘) dBFS ć®ä»£ć‚ć‚Šć« dB SPL ć§ćƒœćƒŖćƒ„ćƒ¼ćƒ ć‚¹ćƒ©ć‚¤ćƒ€ćƒ¼ć‚’č”Øē¤ŗć—ć¾ć™", + "settings.option.audio.dbfs.calibration": "0 dBFS ć‚­ćƒ£ćƒŖćƒ–ćƒ¬ćƒ¼ć‚·ćƒ§ćƒ³", + "settings.option.audio.dbfs.description": "Ciderが0 dBFSとするZē‰¹ę€§ć®å€¤ć‚’å…„åŠ›ć—ć¦ćć ć•ć„", "settings.header.visual": "ćƒ“ć‚øćƒ„ć‚¢ćƒ«", "settings.header.visual.description": "Ciderć®ćƒ“ć‚øćƒ„ć‚¢ćƒ«čØ­å®š", "settings.option.visual.windowStyle": "Window Style", + "settings.option.visual.customAccentColor": "ć‚«ć‚¹ć‚æćƒ ć‚¢ć‚Æć‚»ćƒ³ćƒˆć‚«ćƒ©ćƒ¼", + "settings.option.visual.accentColor": "ć‚¢ć‚Æć‚»ćƒ³ćƒˆć‚«ćƒ©ćƒ¼", + "settings.option.visual.purplePodcastPlaybackBar": "Podcastså†ē”Ÿę™‚ć«ē“«č‰²ć®å†ē”Ÿćƒćƒ¼ć«ć™ć‚‹", + "settings.option.visual.windowColor": "ć‚¦ć‚£ćƒ³ćƒ‰ć‚¦ć®č‰²åˆć„", "settings.option.visual.windowBackgroundStyle": "čƒŒę™Æć®čØ­å®š", "settings.header.visual.windowBackgroundStyle.none": "なし", "settings.header.visual.windowBackgroundStyle.artwork": "ć‚¢ćƒ¼ćƒˆćƒÆćƒ¼ć‚Æ", "settings.header.visual.windowBackgroundStyle.image": "ē”»åƒ", + "settings.header.visual.windowBackgroundStyle.color": "色調", "settings.option.visual.animatedArtwork": "ć‚¢ćƒ‹ćƒ”ćƒ¼ć‚·ćƒ§ćƒ³ć‚¢ćƒ¼ćƒˆćƒÆćƒ¼ć‚Æ", "settings.header.visual.animatedArtwork.always": "常に蔨示", "settings.header.visual.animatedArtwork.limited": "ć‚¢ćƒ¼ćƒ†ć‚£ć‚¹ćƒˆćƒšćƒ¼ć‚øć®ćæč”Øē¤ŗ", @@ -392,6 +486,13 @@ "settings.header.visual.theme.github.page": "GitHub", "settings.option.visual.theme.github.install.confirm": "ęœ¬å½“ć« {{ repo }} ć‚’ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć—ć¾ć™ć‹ļ¼Ÿ", "settings.prompt.visual.theme.github.URL": "ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć—ćŸć„ćƒ†ćƒ¼ćƒžć®URLć‚’å…„åŠ›ć—ć¦ćć ć•ć„", + "settings.prompt.visual.theme.uninstallTheme": "ęœ¬å½“ć« {{ theme }} ć‚’ć‚¢ćƒ³ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć—ć¾ć™ć‹?", + "settings.option.visual.theme.checkForUpdates": "ć‚¢ćƒƒćƒ—ćƒ‡ćƒ¼ćƒˆć‚’ē¢ŗčŖ", + "settings.option.visual.theme.manageStyles": "ć‚¹ć‚æć‚¤ćƒ«ć‚’ē®”ē†", + "settings.option.visual.theme.uninstall": "ć‚¢ćƒ³ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«", + "settings.option.visual.theme.viewInfo": "ęƒ…å ±ć‚’č”Øē¤ŗ", + "settings.option.visual.theme.github.available": "åˆ©ē”ØåÆčƒ½", + "settings.option.visual.theme.github.applied": "é©ē”Øęøˆćæ", "settings.notyf.visual.theme.install.success": "ćƒ†ćƒ¼ćƒžć®ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ćŒå®Œäŗ†ć—ć¾ć—ćŸ", "settings.notyf.visual.theme.install.error": "ćƒ†ćƒ¼ćƒžć®ć‚¤ćƒ³ć‚¹ćƒˆćƒ¼ćƒ«ć«å¤±ę•—ć—ć¾ć—ćŸ", "settings.header.visual.plugin": "ćƒ—ćƒ©ć‚°ć‚¤ćƒ³", @@ -428,8 +529,11 @@ "settings.option.connectivity.discordRPC.clientName": "ć‚Æćƒ©ć‚¤ć‚¢ćƒ³ćƒˆć®åå‰", "settings.option.connectivity.discordRPC.clearOnPause": "äø€ę™‚åœę­¢ć—ćŸę™‚ć«Discord Rich Presenceć‚’éžč”Øē¤ŗć«ć™ć‚‹", "settings.option.connectivity.discordRPC.hideButtons": "Discord Rich Presenceć®ćƒœć‚æćƒ³ć‚’éžč”Øē¤ŗć«ć™ć‚‹", + "settings.option.connectivity.discordRPC.hideTimestamp": "Discord Rich Presenceć®ć‚æć‚¤ćƒ ć‚¹ć‚æćƒ³ćƒ—ć‚’éžč”Øē¤ŗć«ć™ć‚‹", "settings.option.connectivity.discordRPC.detailsFormat": "ćƒ‡ć‚£ćƒ†ć‚£ćƒ¼ćƒ«ć®ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆ", "settings.option.connectivity.discordRPC.stateFormat": "ēŠ¶ę…‹ć®ćƒ•ć‚©ćƒ¼ćƒžćƒƒćƒˆ", + "settings.option.connectivity.discordRPC.reload": "DiscordRPCć‚’å†čŖ­ćæč¾¼ćæ", + "settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPCćÆä»„äø‹ć®ćƒ¦ćƒ¼ć‚¶ćƒ¼ć«å†ęŽ„ē¶šć—ć¾ć—ćŸ: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Last.fm ć«ęŽ„ē¶šć™ć‚‹", "settings.option.connectivity.lastfmScrobble.delay": "遅延 (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Last.fm Now Playingć‚’ęœ‰åŠ¹åŒ–ć™ć‚‹", @@ -487,5 +591,44 @@ "share.platform.email": "Email", "share.platform.songLink": "song.link恮URLć‚’ć‚³ćƒ”ćƒ¼ć™ć‚‹", "share.platform.clipboard": "URLć‚’ć‚³ćƒ”ćƒ¼ć™ć‚‹", - "about.thanks": "Cider Collective ćØć”å”åŠ›ć„ćŸć ć„ćŸč²¢ēŒ®č€…ę§˜ć«ę„Ÿč¬ē”³ć—äøŠć’ć¾ć™ć€‚" + "about.thanks": "Cider Collective ćØć”å”åŠ›ć„ćŸć ć„ćŸč²¢ēŒ®č€…ę§˜ć«ę„Ÿč¬ē”³ć—äøŠć’ć¾ć™ć€‚", + "oobe.yes": "はい", + "oobe.no": "恄恄恈", + "oobe.next": "欔へ", + "oobe.previous": "ęˆ»ć‚‹", + "oobe.done": "å®Œäŗ†", + "oobe.amupsell.title": "å§‹ć‚ć‚‹å‰ć«", + "oobe.amupsell.text": "Ciderć‚’åˆ©ē”Øć™ć‚‹ć«ćÆćÆęœ‰åŠ¹ćŖApple Musicć‚µćƒ–ć‚¹ć‚ÆćƒŖćƒ—ć‚·ćƒ§ćƒ³ćŒåæ…č¦ć§ć™\nCiderはApple Music Voicećƒ—ćƒ©ćƒ³ć‚„ćć®ä»–ć®ćƒ—ćƒ­ćƒ¢ćƒ¼ć‚·ćƒ§ćƒ³å‘ć‘č©¦ē”Øć‚µćƒ–ć‚¹ć‚ÆćƒŖćƒ—ć‚·ćƒ§ćƒ³ć§ćÆå‹•ä½œć—ć¾ć›ć‚“ć€‚ もし既にApple Musicć®ć‚µćƒ–ć‚¹ć‚ÆćƒŖćƒ—ć‚·ćƒ§ćƒ³č³‡ę ¼ćŒć‚ć‚‹å “åˆćÆć€ę¬”ćøć‚’ć‚ÆćƒŖćƒƒć‚Æć—ć¦ē¶šć‘ć¦ćć ć•ć„ć€‚", + "oobe.amupsell.subscribeBtn": "Apple Musicć«ē™»éŒ²", + "oobe.amupsell.explainBtn": "čŖ¬ę˜Ž", + "oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ", + "oobe.amupsell.amWebUrl": "https://beta.music.apple.com/", + "oobe.amupsell.promoExplained": "ć„ćć¤ć‹ć®ćƒ—ćƒ­ćƒ¢ćƒ¼ć‚·ćƒ§ćƒ³å‘ć‘ć‹ć¤ć‚¢ćƒ”ćƒŖć‚«åˆč”†å›½ä»„å¤–ć®Apple Musicč©¦ē”Øć‚µćƒ–ć‚¹ć‚ÆćƒŖćƒ—ć‚·ćƒ§ćƒ³ćÆć€Ciderć‚’ä½æć†ćŸć‚ć«åæ…č¦ćŖApple Music Web Player APIć«ć‚¢ć‚Æć‚»ć‚¹ć§ćć¾ć›ć‚“ć€‚ ć‚ćŖćŸć®č©¦ē”Øćƒ—ćƒ©ćƒ³ćŒęœ‰åŠ¹ć‹ć©ć†ć‹ć‚’ē¢ŗčŖć™ć‚‹ć«ćÆ {{ amWebUrl }}ć€€ć«ćƒ­ć‚°ć‚¤ćƒ³ć—ć¦ć€ä»»ę„ć®ę„½ę›²ćŒå†ē”Ÿć§ćć‚‹ć‹ē¢ŗčŖć—ć¦ćć ć•ć„ć€‚ ć‚‚ć—ę­£åøøć«å‹•ä½œć—ćŸćŖć‚‰ć°ć€ē“ ę™“ć‚‰ć—ć„ļ¼ ć‚ćŖćŸćÆCiderć‚’åˆ©ē”Øć™ć‚‹ć“ćØćŒć§ćć¾ć™ć€ć—ć‹ć—ćŖćŒć‚‰ć€ć‚‚ć—Apple Musicć®č³¼čŖ­ć‚’ć—ć¦ć„ćŖć„å “åˆćÆć“ć”ć‚‰ć‹ć‚‰: {{ subscribeUrl }}", + "oobe.intro.title": "Ciderćøć‚ˆć†ć“ć", + "oobe.intro.subtitle": "", + "oobe.intro.text": "Ciderć‚’č‡Ŗåˆ†å„½ćæć«åˆ©ē”Øć™ć‚‹ćŸć‚ć®ć€ć„ćć¤ć‹ć®ć‚»ćƒƒćƒˆć‚¢ćƒƒćƒ—ć‚’č”Œć„ć¾ć—ć‚‡ć†ć€‚ć“ć‚Œć‚‰ć®čØ­å®šćÆć‚ćØć‹ć‚‰å¤‰ę›“ć™ć‚‹ć“ćØćŒć§ćć¾ć™ć€‚", + "oobe.general.title": "äø€čˆ¬", + "oobe.general.subtitle": "", + "oobe.general.text": "", + "oobe.audio.title": "ć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗ", + "oobe.audio.subtitle": "", + "oobe.audio.text": "Ciderć«ćÆćƒŖćƒƒćƒć§é«˜å“č³ŖćŖć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗć‚’ęä¾›ć™ć‚‹ćŸć‚ć®ć€ć‚«ć‚¹ć‚æćƒžć‚¤ć‚ŗć€ćƒ‡ć‚¶ć‚¤ćƒ³ć•ć‚ŒćŸć‚Ŗćƒ¼ćƒ‡ć‚£ć‚Ŗć‚¹ć‚æćƒƒć‚Æę©Ÿčƒ½ćŒć‚ć‚Šć¾ć™ć€‚\nCider Adrenaline态Atmosphere Realizer、ならびにSpatailized AudioćŒć‚ć‚Šć¾ć™ć€‚\nć“ć‚Œć‚‰ć®ę©Ÿčƒ½ć‚’ęœ‰åŠ¹åŒ–ć™ć‚‹ć«ćÆć€\"å…ˆé€²ēš„ćŖę©Ÿčƒ½\"ć‚’ęœ‰åŠ¹åŒ–ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ć€‚\nå…ˆé€²ēš„ćŖę©Ÿčƒ½ć‚’ęœ‰åŠ¹åŒ–ć™ć‚‹ćØć€ć“ć‚Œć‚‰ć®å¼·åŒ–ę©Ÿčƒ½ć‚’ć‚¢ćƒ—ćƒŖčØ­å®šć®Cider Audio Labsć‹ć‚‰åˆ©ē”Øć™ć‚‹ć“ćØćŒć§ćć‚‹ć‚ˆć†ć«ćŖć‚Šć¾ć™ć€‚", + "oobe.audio.advancedFunctionality": "", + "oobe.visual.title": "ćƒ“ć‚øćƒ„ć‚¢ćƒ«", + "oobe.visual.subtitle": "", + "oobe.visual.text": "", + "oobe.visual.layout.text": "Ciderには2ć¤ć®ē•°ćŖć‚‹ć‚¦ć‚£ćƒ³ćƒ‰ć‚¦ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆćŒć‚ć‚Šć¾ć™ć€‚\nMaverickćÆć‚¦ć‚£ćƒ³ćƒ‰ć‚¦äøŠéƒØć«ćƒ—ćƒ¬ć‚¤ćƒ¤ćƒ¼ć®ć‚ć‚‹ć€iTunesé¢Øć®ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆć§ć™ć€‚\nMojaveはCider Collectiveć«ć‚ˆć£ć¦ä½œęˆć•ć‚ŒćŸę–°ćŸćŖč©¦ä½œå“ć§ć™ć€‚\n\nć“ć‚Œć‚‰ć®ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆćÆć„ć¤ć§ć‚‚čØ­å®šć‹ć‚‰å¤‰ę›“ć™ć‚‹ć“ćØćŒć§ćć¾ć™ć€‚", + "oobe.visual.suggestingThemes": "ćƒ†ćƒ¼ćƒžć®čØ­å®šćÆć€ć‚ˆć‚Šč‰Æć„ēµŒéØ“ć‚’å¾—ć‚‹ćŸć‚ć®å„Ŗć‚ŒćŸę–¹ę³•ć§ć™ć€‚ ć“ć‚Œć‚‰ćÆē§é”ć‹ć‚‰ć®ęę”ˆć§ć™ : ", + "oobe.visual.suggestingThemes.subtext": "(ć“ć‚Œć‚‰ć®ćƒ†ćƒ¼ćƒžćÆGitHubć‹ć‚‰ćƒ€ć‚¦ćƒ³ćƒ­ćƒ¼ćƒ‰ć•ć‚Œć¾ć™)", + "oobe.visual.suggestingThemes.default": "Cider", + "oobe.visual.suggestingThemes.default.text": "ć‚Æćƒ©ć‚·ćƒƒć‚ÆCiderćƒ†ćƒ¼ćƒž", + "oobe.visual.suggestingThemes.dark": "Dark", + "oobe.visual.suggestingThemes.dark.text": "ćƒ€ćƒ¼ć‚Æćƒ†ćƒ¼ćƒž", + "oobe.visual.suggestingThemes.community1": "Groovy", + "oobe.visual.suggestingThemes.community1.text": "WinUIć«å½±éŸæć‚’å—ć‘ćŸćƒ†ćƒ¼ćƒž", + "oobe.visual.suggestingThemes.community2": "iTheme", + "oobe.visual.suggestingThemes.community2.text": "ć‚Æćƒ©ć‚·ćƒƒć‚ÆćŖå·Øå¤§ęžœē‰©ć®ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆ", + "oobe.visual.suggestingThemes.community3": "Dracula", + "oobe.visual.suggestingThemes.community3.text": "ćƒ‰ćƒ©ć‚­ćƒ„ćƒ©ć‚’ć‚¤ćƒ”ćƒ¼ć‚øć—ćŸć‚«ćƒ©ćƒ¼ć‚¹ć‚­ćƒ¼ćƒ ", + "oobe.amsignin.title": "" } diff --git a/src/i18n/pt_PT.json b/src/i18n/pt_PT.json index 5cac376a..54496abe 100644 --- a/src/i18n/pt_PT.json +++ b/src/i18n/pt_PT.json @@ -1,584 +1,590 @@ { - "i18n.languageName": "PortuguĆŖs (Portugal)", - "i18n.languageNameEnglish": "Portuguese (Portugal)", - "i18n.category": "main", - "i18n.authors": "@pgalhardo", - "app.name": "Cider", - "date.format": "${m} ${d}, ${y}", - "dialog.cancel": "Cancelar", - "dialog.ok": "OK", - "notification.updatingLibrarySongs": "A atualizar biblioteca de mĆŗsicas...", - "notification.updatingLibraryAlbums": "A atualizar biblioteca de Ć”lbuns...", - "notification.updatingLibraryArtists": "A atualizar biblioteca de artistas...", - "term.variables": "VariĆ”veis", - "term.appleInc": "Apple Inc.", - "term.appleMusic": "Apple Music", - "term.applePodcasts": "Apple Podcasts", - "term.itunes": "iTunes", - "term.github": "GitHub", - "term.discord": "Discord", - "term.learnMore": "Saiba mais", - "term.accountSettings": "DefiniƧƵes da conta", - "term.logout": "Terminar sessĆ£o", - "term.login": "Iniciar sessĆ£o", - "term.quickNav": "Navegação rĆ”pida", - "term.cast": "Transmitir", - "term.about": "Sobre", - "term.privateSession": "SessĆ£o privada", - "term.disablePrivateSession": "Desativar sessĆ£o privada", - "term.queue": "Fila", - "term.autoplay": "Reprodução automĆ”tica", - "term.lyrics": "Letra", - "term.miniplayer": "Mini-leitor", - "term.history": "Histórico", - "term.search": "Pesquisa", - "term.library": "Biblioteca", - "term.listenNow": "Ouvir agora", - "term.browse": "Explorar", - "term.radio": "RĆ”dio", - "term.recentlyAdded": "AdiƧƵes recentes", - "term.songs": "MĆŗsicas", - "term.albums": "Ɓlbuns", - "term.artists": "IntĆ©rpretes", - "term.podcasts": "Podcasts", - "term.playlists": "Listas de reprodução", - "term.charts": "GrĆ”ficos", - "term.playlist": "Lista de reprodução", - "term.newPlaylist": "Nova lista de reprodução", - "term.newPlaylistFolder": "Nova pasta de listas de reprodução", - "term.createNewPlaylist": "Criar nova lista de reprodução", - "term.createNewPlaylistFolder": "Criar nova pasta de listas de reprodução", - "term.deletePlaylist": "Tem a certeza de que pretende apagar esta lista de reprodução?", - "term.navigateBack": "Retroceder uma pĆ”gina", - "term.navigateForward": "AvanƧar uma pĆ”gina", - "term.play": "Reproduzir", - "term.pause": "Pausa", - "term.stop": "Parar", - "term.previous": "Anterior", - "term.next": "Seguinte", - "term.shuffle": "Modo aleatório", - "term.enableShuffle": "Ativar modo aleatório", - "term.disableShuffle": "Desativar modo aleatório", - "term.repeat": "Repetir", - "term.enableRepeatOne": "Ativar repetir uma", - "term.disableRepeatOne": "Desativar repetir uma", - "term.disableRepeat": "NĆ£o repetir", - "term.volume": "Volume", - "term.mute": "Mudo", - "term.unmute": "Com som", - "term.share": "Partilhar", - "term.share.success": "Copiado para a Ć”rea de transferĆŖncia", - "term.settings": "DefiniƧƵes", - "term.seeAll": "Ver tudo", - "term.sortBy": "Ordenar por", - "term.sortBy.album": "Ɓlbum", - "term.sortBy.artist": "IntĆ©rprete", - "term.sortBy.name": "Nome", - "term.sortBy.genre": "GĆ©nero", - "term.sortBy.releaseDate": "Data de lanƧamento", - "term.sortBy.duration": "Duração", - "term.sortBy.dateAdded": "Data de adição", - "term.sortOrder": "A-Z", - "term.sortOrder.ascending": "Ascendente", - "term.sortOrder.descending": "Descendente", - "term.viewAs": "Ver como", - "term.viewAs.coverArt": "Grafismos", - "term.viewAs.list": "Lista", - "term.dynamic": "DinĆ¢mico", - "term.size": "Tamanho", - "term.size.normal": "Normal", - "term.size.compact": "Compacto", - "term.enable": "Ativar", - "term.disable": "Desativar", - "term.enabled": "Ativado", - "term.disabled": "Desativado", - "term.connect": "Ligar", - "term.connecting": "A ligar", - "term.disconnect": "Desligar", - "term.authed": "Autenticado", - "term.confirm": "Confirmar?", - "term.more": "Mais", - "term.less": "Menos", - "term.showMore": "Mostrar mais", - "term.showLess": "Mostrar menos", - "term.topSongs": "MĆŗsicas populares", - "term.latestReleases": "Últimos lanƧamentos", - "term.time.added": "Adicionado", - "term.time.released": "LanƧado", - "term.time.updated": "Atualizado", - "term.time.days": "dias", - "term.time.day": { - "one": "dia", - "other": "dias" - }, - "term.time.hours": "horas", - "term.time.hour": { - "one": "hora", - "other": "horas" - }, - "term.time.minutes": "minutos", - "term.time.minute": { - "one": "minuto", - "other": "minutos" - }, - "term.time.seconds": "segundos", - "term.time.second": { - "one": "segundo", - "other": "segundos" - }, - "term.fullscreenView": "Vista de ecrĆ£ inteiro", - "term.defaultView": "Vista normal", - "term.audioSettings": "DefiniƧƵes de Ć”udio", - "term.audioControls": "Controlos de volume", - "term.clearAll": "Limpar tudo", - "term.recentStations": "EstaƧƵes recentes", - "term.personalStations": "EstaƧƵes pessoais", - "term.amLive": "Apple Music Live", - "term.language": "Idioma", - "term.funLanguages": "Divertido", - "term.noLyrics": "A carregar... / Letra nĆ£o encontrada. / Instrumental.", - "term.copyright": "Copyright", - "term.rightsReserved": "Todos os direitos reservados.", - "term.sponsor": "Patrocine este projecto", - "term.ciderTeam": "Equipa do Cider", - "term.developer": "Programador", - "term.socialTeam": "Equipa social", - "term.socials": "Redes sociais", - "term.contributors": "Contribuidores", - "term.equalizer": "Equalizador", - "term.reset": "Repor", - "term.tracks": "mĆŗsicas", - "term.track": { - "one": "mĆŗsica", - "other": "mĆŗsicas" - }, - "term.videos": "VĆ­deos", - "term.menu": "Menu", - "term.check": "Verificar", - "term.aboutArtist": "Sobre {{artistName}}", - "term.topResult": "Melhor resultado", - "term.sharedPlaylists": "Listas de reprodução partilhadas", - "term.people": "Pessoas", - "term.newpreset.name": "Nome da nova predefinição do EQ", - "term.addedpreset": "Predefinição adicionada", - "term.deletepreset.warn": "Tem a certeza de que pretende apagar esta predefinição?", - "term.deletedpreset": "Predefinição eliminada", - "term.defaultPresets": "PredefiniƧƵes por omissĆ£o", - "term.userPresets": "PredefiniƧƵes do utilizador", - "term.requestError": "Ocorreu um problema ao processar o pedido.", - "term.song.link.generate": "A obter o URL de partilha song.link...", - "term.musicVideos": "Videoclipes", - "term.stations": "EstaƧƵes", - "term.curators": "Curadores", - "term.appleCurators": "Curadores da Apple", - "term.radioShows": "Programas de rĆ”dio", - "term.recordLabels": "Gravadoras", - "term.videoExtras": "VĆ­deos extra", - "term.top": "Top", - "term.version": "VersĆ£o", - "term.noVideos": "NĆ£o foram encontrados vĆ­deos.", - "term.plugin": "Plug-in", - "term.pluginMenu": "Menu de plug-ins", - "term.pluginMenu.none": "Sem plug-ins interactivos", - "term.replay": "Repetir", - "term.uniqueAlbums": "Ɓlbuns Ćŗnicos", - "term.uniqueArtists": "IntĆ©rpretes Ćŗnicos", - "term.uniqueSongs": "MĆŗsicas Ćŗnicas", - "term.topArtists": "IntĆ©rpretes populares", - "term.listenedTo": "Reproduzido:", - "term.times": "vezes", - "term.topAlbums": "Ɓlbuns populares", - "term.plays": "ReproduƧƵes", - "term.topGenres": "GĆ©neros populares", - "term.confirmLogout": "Tem a certeza de que pretende terminar sessĆ£o?", - "term.creditDesignedBy": "Concebido por ${authorUsername}", - "term.discNumber": "Disco ${discNumber}", - "home.title": "InĆ­cio", - "home.recentlyPlayed": "Reproduzido recentemente", - "home.recentlyAdded": "Adicionado recentemente", - "home.artistsFeed": "Feed dos seus artistas", - "home.artistsFeed.noArtist": "Siga alguns artistas para ver os seus Ćŗltimos lanƧamentos", - "home.madeForYou": "Feito para si", - "home.friendsListeningTo": "O que os seus amigos estĆ£o a ouvir", - "home.followedArtists": "Artistas seguidos", - "error.appleMusicSubRequired": "A Apple Music requer uma subscrição.", - "error.connectionError": "Ocorreu um problema ao estabelecer ligação Ć  Apple Music.", - "error.noResults": "Sem resultados.", - "error.noResults.description": "Tente uma nova pesquisa.", - "podcast.followOnCider": "Siga no Cider", - "podcast.followedOnCider": "A seguir no Cider", - "podcast.subscribeOnItunes": "Subscreva no iTunes", - "podcast.subscribedOnItunes": "Subscrito no iTunes", - "podcast.itunesStore": "iTunes Store", - "podcast.episodes": "Episódios", - "podcast.playEpisode": "Reproduzir episódio", - "podcast.website": "Website do Podcast", - "action.hideLibrary": "Ocultar biblioteca", - "action.showLibrary": "Mostrar biblioteca", - "action.cut": "Cortar", - "action.paste": "Colar", - "action.selectAll": "Seleccionar tudo", - "action.delete": "Apagar", - "action.edit": "Editar", - "action.done": "ConcluĆ­do", - "action.editTracklist": "Editar lista de reprodução", - "action.addToLibrary": "Adicionar Ć  biblioteca", - "action.addToLibrary.success": "Adicionado Ć  biblioteca", - "action.addToLibrary.error": "Erro ao adicionar Ć  biblioteca", - "action.removeFromLibrary": "Remover da biblioteca", - "action.removeFromLibrary.success": "Removido da biblioteca", - "action.addToQueue": "Adicionar Ć  fila", - "action.addToQueue.success": "Adicionado Ć  fila", - "action.addToQueue.error": "Erro ao adicionar Ć  fila", - "action.removeFromQueue": "Remover da fila", - "action.removeFromQueue.success": "Removido da fila", - "action.removeFromQueue.error": "Erro ao remover da fila", - "action.createPlaylist": "Criar uma nova lista de reprodução", - "action.addToPlaylist": "Adicionar Ć  lista de reprodução", - "action.removeFromPlaylist": "Removar da lista de reprodução", - "action.addToFavorites": "Adicionar aos favoritos", - "action.follow": "Seguir", - "action.follow.success": "Seguido", - "action.follow.error": "Erro ao seguir", - "action.unfollow": "NĆ£o seguir", - "action.unfollow.success": "NĆ£o seguido", - "action.unfollow.error": "Erro ao deixar de seguir", - "action.playNext": "Reproduzir a seguir", - "action.playLater": "Reproduzir mais tarde", - "action.startRadio": "Criar estação", - "action.goToArtist": "Ir para intĆ©rprete", - "action.goToAlbum": "Ir para Ć”lbum", - "action.showInPlaylist": "Mostrar na lista de reprodução", - "action.showInAppleMusic": "Mostrar na Apple Music", - "action.moveToTop": "Mover para fora da pasta", - "action.share": "Partilhar", - "action.rename": "Renomear", - "action.love": "Gostar", - "action.unlove": "Desfazer gostar", - "action.dislike": "NĆ£o gostar", - "action.undoDislike": "Desfazer nĆ£o gostar", - "action.showWebRemoteQR": "Web Remote", - "action.playTracksNext": "Reproduzir ${app.selectedMediaItems.length} mĆŗsicas a seguir", - "action.playTracksLater": "Reproduzir ${app.selectedMediaItems.length} mĆŗsicas mais tarde", - "action.removeTracks": "Remover ${self.selectedItems.length} mĆŗsicas da fila", - "action.import": "Importar", - "action.export": "Exportar", - "action.showAlbum": "Mostrar Ć”lbum completo", - "action.tray.minimize": "Minimizar para a bandeja", - "action.tray.quit": "Fechar", - "action.tray.show": "Mostrar o Cider", - "action.tray.playpause": "Reproduzir/Pausa", - "action.tray.next": "Seguinte", - "action.tray.previous": "Anterior", - "action.tray.listento": "Ouvir:", - "action.update": "Atualizar", - "action.install": "Instalar", - "action.copy": "Copiar", - "action.newpreset": "Nova predefinição...", - "action.deletepreset": "Eliminar predefinição", - "action.open": "Abrir", - "action.close": "Fechar", - "action.relaunch.confirm": "Pretende reiniciar o Cider?", - "action.cast.chromecast": "Chromecast", - "action.cast.todevices": "Transmitir para dispositivos", - "action.cast.stop": "Parar a transmissĆ£o para todos os dispositivos", - "action.cast.airplay": "AirPlay", - "action.cast.airplay.underdevelopment": "AirPlay ainda estĆ” em desenvolvimento", - "action.cast.scan": "Procurar", - "action.cast.scanning": "A procurar...", - "action.createNew": "Criar nova...", - "action.openArtworkInBrowser": "Abrir grafismo no navegador", - "action.scrollToTop": "Voltar ao topo", - "menubar.options.about": "Sobre", - "menubar.options.settings": "DefiniƧƵes", - "menubar.options.quit": "Fechar o Cider", - "menubar.options.view": "Ver", - "menubar.options.reload": "Atualizar", - "menubar.options.forcereload": "ForƧar atualização", - "menubar.options.toggledevtools": "Alternar ferramentas do programador", - "menubar.options.window": "Janela", - "menubar.options.minimize": "Minimizar", - "menubar.options.toggleprivate": "Alternar sessĆ£o privada", - "menubar.options.webremote": "Web Remote", - "menubar.options.audio": "DefiniƧƵes de Ć”udio", - "menubar.options.plugins": "Menu de plug-ins", - "menubar.options.controls": "Controlos", - "menubar.options.next": "Seguinte", - "menubar.options.playpause": "Reproduzir/Pausa", - "menubar.options.previous": "Anterior", - "menubar.options.volumeup": "Aumentar o volume", - "menubar.options.volumedown": "Diminuir o volume", - "menubar.options.browse": "Explorar", - "menubar.options.artists": "IntĆ©rpretes", - "menubar.options.search": "Pesquisa", - "menubar.options.albums": "Ɓlbuns", - "menubar.options.cast": "Transmitir para dispositivos", - "menubar.options.account": "Conta", - "menubar.options.accountsettings": "DefiniƧƵes da conta", - "menubar.options.signout": "Terminar sessĆ£o", - "menubar.options.support": "Suporte", - "menubar.options.discord": "Discord", - "menubar.options.github": "GitHub Wiki", - "menubar.options.report": "Reportar um...", - "menubar.options.bug": "Problema", - "menubar.options.feature": "Pedido de funcionalidade", - "menubar.options.trans": "Pedido de tradução", - "menubar.options.license": "Ver licenƧa", - "menubar.options.conf": "Abrir ficheiro de configuração no editor", - "menubar.options.listennow": "Ouvir agora", - "menubar.options.recentlyAdded": "AdiƧƵes recentes", - "menubar.options.songs": "MĆŗsicas", - "settings.header.general": "Geral", - "settings.header.general.description": "Ajustar as definiƧƵes gerais do Cider.", - "settings.option.general.language": "Idioma", - "settings.option.general.resumebehavior": "Comportamento de retoma", - "settings.option.general.resumebehavior.description": "Define a forma como o Cider irĆ” retomar a sua sessĆ£o quando regressar Ć  aplicação.", - "settings.option.general.resumebehavior.locally": "Localmente", - "settings.option.general.resumebehavior.locally.description": "O Cider irĆ” retomar a sua Ćŗltima sessĆ£o nesta mĆ”quina.", - "settings.option.general.resumebehavior.history": "Histórico", - "settings.option.general.resumebehavior.history.description": "O Cider irĆ” colocar na fila a Ćŗltima mĆŗsica do seu histórico da Apple Music, atravĆ©s de todos os seus dispositivos.", - "settings.option.general.resumetabs": "Abrir separador no arranque", - "settings.option.general.resumetabs.description": "Pode escolher que separador quer abrir quando abre o Cider.", - "settings.option.general.resumetabs.dynamic": "DinĆ¢mico", - "settings.option.general.resumetabs.dynamic.description": "O Cider abrirĆ” o separador que utilizou pela Ćŗltima vez.", - "settings.option.general.language.main": "Idiomas", - "settings.option.general.language.fun": "Idiomas divertidos", - "settings.option.general.language.unsorted": "Indiferenciado", - "settings.option.general.customizeSidebar": "Personalizar os itens da barra lateral", - "settings.option.general.customizeSidebar.customize": "Personalizar", - "settings.option.general.keybindings": "Atalhos do teclado", - "settings.option.general.keybindings.pressCombination": "Prima uma combinação de duas teclas para atualizar o atalho.", - "settings.option.general.keybindings.pressEscape": "Prima a tecla Escape para voltar atrĆ”s.", - "settings.notyf.general.keybindings.update.success": "Atalho atualizado com sucesso", - "settings.prompt.general.keybindings.update.success": "Atalho atualizado com sucesso. Prima OK para reiniciar o Cider", - "settings.option.general.keybindings.open": "Abrir", - "settings.option.general.themeUpdateNotification": "Verificação automĆ”tica de atualizaƧƵes de temas", - "settings.option.general.showLovedTracksInline": "Mostrar mĆŗsicas que gosta \"inline\"", - "settings.description.search": "Pesquisa", - "settings.description.albums": "Ɓlbuns da biblioteca", - "settings.description.artists": "IntĆ©rpretes da biblioteca", - "settings.description.browse": "Explorar", - "settings.description.private": "Alternar sessĆ£o privada", - "settings.description.remote": "Web Remote", - "settings.description.audio": "DefiniƧƵes de Ć”udio", - "settings.description.plugins": "Menu de plug-ins", - "settings.description.cast": "Transmitir para dispositivos", - "settings.description.settings": "DefiniƧƵes", - "settings.description.developer": "Ferramentas do programador", - "settings.description.listnow": "Ouvir agora", - "settings.description.recentAdd": "AdiƧƵes recentes", - "settings.description.songs": "MĆŗsicas", - "settings.notyf.updateCider.update-not-available": "Nenhuma atualização disponĆ­vel", - "settings.notyf.updateCider.update-downloaded": "A atualização foi descarregada, reinicie para aplicar", - "settings.notyf.updateCider.update-timeout": "O pedido de atualização estou o tempo limite", - "settings.header.audio": "Ɓudio", - "settings.header.audio.description": "Ajustar as definiƧƵes de Ć”udio para o Cider.", - "settings.option.audio.volumeStep": "NĆ­vel de incremento de volume", - "settings.option.audio.advanced": "Controlo avanƧado de volume", - "settings.option.audio.maxVolume": "Volume mĆ”ximo", - "settings.option.audio.changePlaybackRate": "Alterar velocidade de reprodução", - "settings.option.audio.playbackRate": "Velocidade de reprodução", - "settings.option.audio.playbackRate.change": "Alterar", - "settings.option.audio.quality": "Qualidade do Ć”udio", - "settings.header.audio.quality.hireslossless": "Alta resolução sem perdas", - "settings.header.audio.quality.hireslossless.description": "atĆ© 24-bit/192 kHz", - "settings.header.audio.quality.lossless": "Sem perdas", - "settings.header.audio.quality.lossless.description": "atĆ© 24-bit/48 kHz", - "settings.header.audio.quality.high": "Alta", - "settings.header.audio.quality.high.description": "256 kbps", - "settings.header.audio.quality.standard": "PadrĆ£o", - "settings.header.audio.quality.standard.description": "64 kbps", - "settings.option.audio.seamlessTransition": "Transição gradual do Ć”udio", - "settings.option.audio.enableAdvancedFunctionality": "Ativar funcionalidades avanƧadas", - "settings.option.audio.enableAdvancedFunctionality.description": "Ativar o AudioContext dĆ” acesso a funcionalidades alargadas como Normalização de Ɓudio, Equalizadores e Visualizadores - contudo, isto pode causar dificuldades em alguns sistemas.", - "settings.warn.audio.enableAdvancedFunctionality.lowcores": "O Cider pensa que o seu PC nĆ£o Ć© capaz de lidar com estas funcionalidades. Tem a certeza de que pretende continuar?", - "settings.option.audio.audioLab": "Cider Audio Lab", - "settings.option.audio.audioLab.description": "Efeitos de Ć”udio desenvolvidos internamente para o Cider.", - "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", - "settings.warn.audioLab.withoutAF": "AudioContext (funcionalidade avanƧada) Ć© necessĆ”rio para suportar o Cider Audio Lab.", - "settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidade avanƧada) Ć© necessĆ”rio para suportar esta funcionalidade.", - "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calor Analógico", - "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula o calor analógico inspirado no Korg Nutube 6P1", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidade do calor analógico", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Altera a intensidade do processamento do módulo de calor analógico.", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Suave", - "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Quente", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizerā„¢ļø", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Cria uma atmosfera musical diferente inspirada nas mais modernas aparelhagens.", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Modo do Cider Atmosphere Realizerā„¢ļø", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Altera o modo de funcionamento do módulo Atmosphere Realizer.", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Hōjicha Cheese Foam Tea", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Genmaicha Tapioca Milk Tea", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "Rock Salt Cheese Foam Tea", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "Uji Matcha Milk Tea", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "Jasmine Macchiato", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "Hokkaido Milk Tea", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500": "Moonlight Softcake", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Brown Sugar Creme BrĆ»lĆ©e Milk", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Cuddle Warmth", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", - "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Melhora a qualidade de Ć”udio percecionada do Ć”udio codificado em AAC, utilizando um algoritmo de tempo real que tira partido tanto dos modelos psicoacĆŗsticos da audição humana como das caracterĆ­sticas de codificação do AAC.", - "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "O CAP nĆ£o Ć© compatĆ­vel com a espacialização. Por favor, desative a espacialização para continuar.", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Intensidade do CAP", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Muda a intensidade do processamento feito ao Ć”udio (a agressividade pode produzir resultados indesejĆ”veis).", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "PadrĆ£o", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "Adaptativo", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "Antigo", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agressivo", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalização de Ć”udio", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza o volume de pico das mĆŗsicas para criar uma experiĆŖncia de audição mais uniforme (nĆ£o funciona em mĆŗsicas carregadas pelo utilizador).", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Gerido pelo Audio Lab", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Espacialização ajustada pelo Cider", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efeito de espacialização prĆ©-ajustado, desactiva as configuraƧƵes personalizĆ”veis de espacialização de Ć”udio.", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Perfil de espacialização do Cider", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Altera o perfil de ajuste da espacialização.", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "PadrĆ£o", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Palco", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separação", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "MĆ­nimo", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiófilo", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "Difundido", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "Encore", - "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "Encore expandido", - "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "A espacialização nĆ£o Ć© compatĆ­vel com o CAP. Por favor, desative o CAP para continuar.", - "settings.option.audio.dbspl.display": "Mostrar dB SPL", - "settings.option.audio.dbspl.description": "(Apenas para utilizadores avanƧados) Mostrar dB SPL em vez de dBFS no controlo de volume.", - "settings.option.audio.dbfs.calibration": "Calibração de 0 dBFS", - "settings.option.audio.dbfs.description": "Introduza o pico de SPL com ponderação Z quando o Cider estĆ” a 0 dBFS.", - "settings.header.visual": "AparĆŖncia", - "settings.header.visual.description": "Ajustar as definiƧƵes visuais do Cider.", - "settings.option.visual.windowStyle": "Estilo da janela", - "settings.option.visual.windowBackgroundStyle": "Estilo do fundo da janela", - "settings.header.visual.windowBackgroundStyle.none": "Nenhum", - "settings.header.visual.windowBackgroundStyle.artwork": "Grafismo", - "settings.header.visual.windowBackgroundStyle.image": "Imagem", - "settings.option.visual.animatedArtwork": "Grafismo animado", - "settings.header.visual.animatedArtwork.always": "Sempre", - "settings.header.visual.animatedArtwork.limited": "Limitado a pĆ”ginas e entradas especiais", - "settings.header.visual.animatedArtwork.disable": "Desativar em todo o lado", - "settings.option.visual.animatedArtworkQuality": "Qualidade dos grafismos animados", - "settings.header.visual.animatedArtworkQuality.low": "Baixa", - "settings.header.visual.animatedArtworkQuality.medium": "MĆ©dia", - "settings.header.visual.animatedArtworkQuality.high": "Alta", - "settings.header.visual.animatedArtworkQuality.veryHigh": "Muito alta", - "settings.header.visual.animatedArtworkQuality.extreme": "Extrema", - "settings.option.visual.animatedWindowBackground": "Fundo da janela animado", - "settings.option.visual.hardwareAcceleration": "Aceleração de hardware", - "settings.option.visual.hardwareAcceleration.description": "Requer reinĆ­cio", - "settings.header.visual.hardwareAcceleration.default": "PadrĆ£o", - "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", - "settings.option.visual.uiscale": "Escala da UI", - "settings.header.visual.theme": "Tema", - "settings.option.visual.theme.github.download": "Instalar a partir de um URL do GitHub", - "settings.option.visual.theme.github.openfolder": "Abrir pasta de temas", - "settings.option.visual.theme.github.explore": "Explorar temas do GitHub", - "settings.header.visual.theme.github.page": "Temas do GitHub", - "settings.option.visual.theme.github.install.confirm": "Tem a certeza de que pretende instalar {{ repo }}?", - "settings.prompt.visual.theme.github.URL": "Introduza o URL do tema que pretende instalar", - "settings.prompt.visual.theme.uninstallTheme": "Tem a certeza de que pretende desinstalar {{ theme }}?", - "settings.option.visual.theme.checkForUpdates": "Procurar por atualizaƧƵes", - "settings.option.visual.theme.manageStyles": "Gerir estilos", - "settings.option.visual.theme.uninstall": "Desinstalar", - "settings.option.visual.theme.viewInfo": "Ver informação", - "settings.option.visual.theme.github.available": "DisponĆ­vel", - "settings.option.visual.theme.github.applied": "Aplicado", - "settings.notyf.visual.theme.install.success": "Tema instalado com sucesso", - "settings.notyf.visual.theme.install.error": "A instalação do tema falhou", - "settings.header.visual.plugin": "Plug-in", - "settings.option.visual.plugin.github.download": "Instalar a partir de um URL do GitHub", - "settings.option.visual.plugin.github.explore": "Explorar plug-ins do GitHub", - "settings.header.visual.plugin.github.page": "Plug-ins do GitHub", - "settings.option.visual.plugin.github.install.confirm": "Tem a certeza de que pretende instalar {{ repo }}?", - "settings.prompt.visual.plugin.github.URL": "Introduza o URL do plug-in que pretende instalar", - "settings.prompt.visual.plugin.github.success": "Plug-in instalado com sucesso. Pressione OK para reiniciar o Cider", - "settings.notyf.visual.plugin.install.success": "Plug-in instalado com sucesso", - "settings.notyf.visual.plugin.install.error": "A instalação do plug-in falhou", - "settings.option.visual.theme.default": "Cider", - "settings.option.visual.theme.dark": "Escuro", - "settings.option.visual.showPersonalInfo": "Mostrar informação pessoal", - "settings.header.window": "Janela", - "settings.header.window.description": "Ajustar as definiƧƵes da janela para o Cider.", - "settings.option.window.openOnStartup": "Abrir o Cider no arranque", - "settings.option.window.openOnStartup.hidden": "Abrir escondido", - "settings.option.window.useNativeTitleBar": "Usar barra de tĆ­tulo nativa", - "settings.option.window.windowControlStyle": "Estilo de controlo da janela", - "settings.option.window.windowControlStyle.right": "Direita", - "settings.option.window.windowControlStyle.left": "Esquerda", - "settings.header.lyrics": "Letras", - "settings.header.lyrics.description": "Ajustar as definiƧƵes de letras para o Cider.", - "settings.option.lyrics.enableMusixmatch": "Ativar letras do Musixmatch", - "settings.option.lyrics.enableMusixmatchKaraoke": "Ativar o modo Karaoke (apenas para o Musixmatch)", - "settings.option.lyrics.musixmatchPreferredLanguage": "LĆ­ngua preferida para traduƧƵes do Musixmatch", - "settings.option.lyrics.enableYoutubeLyrics": "Ativar letras do Youtube para videoclipes", - "settings.option.lyrics.enableQQLyrics": "Ativar letras do QQ", - "settings.header.connectivity": "Conectividade", - "settings.header.connectivity.description": "Ajustar as definiƧƵes de conectividade para o Cider.", - "settings.option.connectivity.playbackNotifications": "NotificaƧƵes de reprodução", - "settings.option.connectivity.discordRPC": "Discord Rich Presence", - "settings.option.connectivity.discordRPC.clientName": "Nome do cliente", - "settings.option.connectivity.discordRPC.clearOnPause": "Limpar o Discord Rich Presence ao colocar em pausa", - "settings.option.connectivity.discordRPC.hideButtons": "Esconder botƵes no Discord Rich Presence", - "settings.option.connectivity.discordRPC.hideTimestamp": "Esconder timestamp no Discord Rich Presence", - "settings.option.connectivity.discordRPC.detailsFormat": "Formato dos detalhes", - "settings.option.connectivity.discordRPC.stateFormat": "Formato do estado", - "settings.option.connectivity.discordRPC.reload": "Reiniciar o DiscordRPC", - "settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC ligação restabelecida ao utilizador: {{user}} ({{userid}})", - "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", - "settings.option.connectivity.lastfmScrobble.delay": "Last.fm atraso do scrobble (%)", - "settings.option.connectivity.lastfmScrobble.nowPlaying": "Ativar Last.fm Now Playing", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remover artistas do tĆ­tulo da mĆŗsica (Last.fm)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrar mĆŗsica em loop (Last.fm)", - "settings.header.debug": "Debug", - "settings.option.debug.copy_log": "Copiar logs para a Ć”rea de transferĆŖncia", - "settings.option.debug.openAppData": "Abrir pasta do Cider", - "settings.header.experimental": "Experimental", - "settings.header.experimental.description": "Ajustar as definiƧƵes experimentais para o Cider.", - "settings.option.experimental.reinstallwidevine": "Reinstalar WidevineCDM", - "settings.option.experimental.reinstallwidevine.confirm": "Tem a certeza de que pretende reinstalar o Widevine?", - "settings.option.experimental.unknownPlugin": "Fontes desconhecidas", - "settings.option.experimental.unknownPlugin.description": "Permitir a instalação de plug-ins de outros repositórios que nĆ£o o repositório de plug-ins do Cider", - "settings.option.experimental.compactUI": "UI compacta", - "settings.option.window.close_button_hide": "BotĆ£o fechar oculta a aplicação", - "settings.option.experimental.inline_playlists": "Listas de reprodução e Ć”lbuns \"inline\"", - "settings.option.advanced.playlistTrackMapping": "Mapeamento de mĆŗsicas de listas de reprodução", - "settings.option.advanced.playlistTrackMapping.description": "Ativa uma anĆ”lise profunda das listas de reprodução para determinar que mĆŗsicas estĆ£o em que listas de reprodução. O tempo de construção da cache das listas de reprodução pode aumentar significativamente.", - "settings.option.visual.transparent": "Moldura transparente", - "settings.option.visual.transparent.description": "Necessita de suporte do tema, requer reinĆ­cio", - "settings.header.advanced": "AvanƧado", - "settings.header.connect": "Sincronização", - "settings.option.connect.link_account": "Ativar a sincronização com o Cider Connect", - "settings.option.connect.link_account.description": "Ligar a sua conta Discord ao Cider Connect permite-lhe armazenar dados de utilizador incluindo definiƧƵes, EQ's, e eventualmente mais uma vez terminado (trabalho em curso).", - "spatial.notTurnedOn": "A espacialização de Ć”udio estĆ” desativada. Para utilizar, por favor, ative-a primeiro.", - "spatial.spatialProperties": "Propriedades espaciais", - "spatial.width": "Largura", - "spatial.height": "Altura", - "spatial.depth": "Profundidade", - "spatial.gain": "Ganho", - "spatial.roomMaterials": "Materiais da sala", - "spatial.roomDimensions": "DimensƵes da sala", - "spatial.roomPositions": "PosiƧƵes na sala", - "spatial.setDimensions": "Definir dimensƵes", - "spatial.setPositions": "Definir posiƧƵes", - "spatial.up": "Acima", - "spatial.front": "Frente", - "spatial.left": "Esquerda", - "spatial.right": "Direita", - "spatial.back": "AtrĆ”s", - "spatial.down": "Em baixo", - "spatial.listener": "Ouvinte", - "spatial.audioSource": "Fonte de Ć”udio", - "settings.header.unfinished": "Inacabado", - "remote.web.title": "Cider Remote", - "remote.web.description": "Digitalize o código QR para emparelhar o seu telemóvel com esta instĆ¢ncia do Cider", - "share.platform.twitter.tweet": "OuƧa {{song}} na Apple Music.\n\n{{url}}\n\n#AppleMusic #Cider", - "share.platform.twitter": "Twitter", - "share.platform.facebook": "Facebook", - "share.platform.reddit": "Reddit", - "share.platform.telegram": "Telegram", - "share.platform.whatsapp": "WhatsApp", - "share.platform.messenger": "Messenger", - "share.platform.email": "Email", - "share.platform.songLink": "Copiar com song.link", - "share.platform.clipboard": "Copiar ligação", - "about.thanks": "Um grande obrigado Ć  equipa da Cider Collective e a todos os nossos contribuidores." + "i18n.languageName": "PortuguĆŖs (Portugal)", + "i18n.languageNameEnglish": "Portuguese (Portugal)", + "i18n.category": "main", + "i18n.authors": "@pgalhardo", + "app.name": "Cider", + "date.format": "${m} ${d}, ${y}", + "dialog.cancel": "Cancelar", + "dialog.ok": "OK", + "notification.updatingLibrarySongs": "A atualizar biblioteca de mĆŗsicas...", + "notification.updatingLibraryAlbums": "A atualizar biblioteca de Ć”lbuns...", + "notification.updatingLibraryArtists": "A atualizar biblioteca de artistas...", + "term.variables": "VariĆ”veis", + "term.appleInc": "Apple Inc.", + "term.appleMusic": "Apple Music", + "term.applePodcasts": "Apple Podcasts", + "term.itunes": "iTunes", + "term.github": "GitHub", + "term.discord": "Discord", + "term.learnMore": "Saiba mais", + "term.accountSettings": "DefiniƧƵes da conta", + "term.logout": "Terminar sessĆ£o", + "term.login": "Iniciar sessĆ£o", + "term.quickNav": "Navegação rĆ”pida", + "term.about": "Sobre", + "term.privateSession": "SessĆ£o privada", + "term.disablePrivateSession": "Desativar sessĆ£o privada", + "term.queue": "Fila", + "term.autoplay": "Reprodução automĆ”tica", + "term.lyrics": "Letra", + "term.miniplayer": "Mini-leitor", + "term.history": "Histórico", + "term.search": "Pesquisa", + "term.showSearch": "Mostrar a barra de pesquisa", + "term.hideSearch": "Esconder a barar de pesquisa", + "term.library": "Biblioteca", + "term.listenNow": "Ouvir agora", + "term.browse": "Explorar", + "term.radio": "RĆ”dio", + "term.recentlyAdded": "AdiƧƵes recentes", + "term.songs": "MĆŗsicas", + "term.albums": "Ɓlbuns", + "term.artists": "IntĆ©rpretes", + "term.podcasts": "Podcasts", + "term.playlists": "Listas de reprodução", + "term.charts": "GrĆ”ficos", + "term.playlist": "Lista de reprodução", + "term.newPlaylist": "Nova lista de reprodução", + "term.newPlaylistFolder": "Nova pasta de listas de reprodução", + "term.createNewPlaylist": "Criar nova lista de reprodução", + "term.createNewPlaylistFolder": "Criar nova pasta de listas de reprodução", + "term.deletePlaylist": "Tem a certeza de que pretende apagar esta lista de reprodução?", + "term.navigateBack": "Retroceder uma pĆ”gina", + "term.navigateForward": "AvanƧar uma pĆ”gina", + "term.play": "Reproduzir", + "term.playpause": "Reproduzir/Pausa", + "term.pause": "Pausa", + "term.stop": "Parar", + "term.previous": "Anterior", + "term.next": "Seguinte", + "term.shuffle": "Modo aleatório", + "term.enableShuffle": "Ativar modo aleatório", + "term.disableShuffle": "Desativar modo aleatório", + "term.repeat": "Repetir", + "term.enableRepeatOne": "Ativar repetir uma", + "term.disableRepeatOne": "Desativar repetir uma", + "term.disableRepeat": "NĆ£o repetir", + "term.volume": "Volume", + "term.mute": "Mudo", + "term.unmute": "Com som", + "term.share": "Partilhar", + "term.share.success": "Copiado para a Ć”rea de transferĆŖncia", + "term.settings": "DefiniƧƵes", + "term.seeAll": "Ver tudo", + "term.sortBy": "Ordenar por", + "term.sortBy.album": "Ɓlbum", + "term.sortBy.artist": "IntĆ©rprete", + "term.sortBy.name": "Nome", + "term.sortBy.genre": "GĆ©nero", + "term.sortBy.releaseDate": "Data de lanƧamento", + "term.sortBy.duration": "Duração", + "term.sortBy.dateAdded": "Data de adição", + "term.sortOrder": "A-Z", + "term.sortOrder.ascending": "Ascendente", + "term.sortOrder.descending": "Descendente", + "term.viewAs": "Ver como", + "term.viewAs.coverArt": "Grafismos", + "term.viewAs.list": "Lista", + "term.dynamic": "DinĆ¢mico", + "term.size": "Tamanho", + "term.size.normal": "Normal", + "term.size.compact": "Compacto", + "term.enable": "Ativar", + "term.disable": "Desativar", + "term.enabled": "Ativado", + "term.disabled": "Desativado", + "term.connect": "Ligar", + "term.connecting": "A ligar", + "term.disconnect": "Desligar", + "term.authed": "Autenticado", + "term.confirm": "Confirmar?", + "term.more": "Mais", + "term.less": "Menos", + "term.showMore": "Mostrar mais", + "term.showLess": "Mostrar menos", + "term.topSongs": "Top de mĆŗsicas", + "term.latestReleases": "Últimos lanƧamentos", + "term.time.added": "Adicionado", + "term.time.released": "LanƧado", + "term.time.updated": "Atualizado", + "term.time.days": "dias", + "term.time.day": { + "one": "dia", + "other": "dias" + }, + "term.time.hours": "horas", + "term.time.hour": { + "one": "hora", + "other": "horas" + }, + "term.time.minutes": "minutos", + "term.time.minute": { + "one": "minuto", + "other": "minutos" + }, + "term.time.seconds": "segundos", + "term.time.second": { + "one": "segundo", + "other": "segundos" + }, + "term.fullscreenView": "Vista de ecrĆ£ inteiro", + "term.defaultView": "Vista normal", + "term.audioSettings": "DefiniƧƵes de Ć”udio", + "term.audioControls": "Controlos de volume", + "term.clearAll": "Limpar tudo", + "term.recentStations": "EstaƧƵes recentes", + "term.personalStations": "EstaƧƵes pessoais", + "term.amLive": "Apple Music Live", + "term.live": "AO VIVO", + "term.language": "Idioma", + "term.funLanguages": "Divertido", + "term.noLyrics": "A carregar... / Letra nĆ£o encontrada. / Instrumental.", + "term.copyright": "Copyright", + "term.rightsReserved": "Todos os direitos reservados.", + "term.sponsor": "Patrocine este projecto", + "term.ciderTeam": "Equipa do Cider", + "term.developer": "Programador", + "term.socialTeam": "Equipa social", + "term.socials": "Redes sociais", + "term.contributors": "Contribuidores", + "term.equalizer": "Equalizador", + "term.reset": "Repor", + "term.tracks": "mĆŗsicas", + "term.track": { + "one": "mĆŗsica", + "other": "mĆŗsicas" + }, + "term.videos": "VĆ­deos", + "term.menu": "Menu", + "term.themeManaged": "Gerido por um tema", + "term.check": "Verificar", + "term.aboutArtist": "Sobre {{artistName}}", + "term.topResult": "Melhor resultado", + "term.sharedPlaylists": "Listas de reprodução partilhadas", + "term.people": "Pessoas", + "term.newpreset.name": "Nome da nova predefinição do EQ", + "term.addedpreset": "Predefinição adicionada", + "term.deletepreset.warn": "Tem a certeza de que pretende apagar esta predefinição?", + "term.deletedpreset": "Predefinição eliminada", + "term.defaultPresets": "PredefiniƧƵes por omissĆ£o", + "term.userPresets": "PredefiniƧƵes do utilizador", + "term.requestError": "Ocorreu um problema ao processar o pedido.", + "term.song.link.generate": "A obter o URL de partilha song.link...", + "term.musicVideos": "Videoclipes", + "term.stations": "EstaƧƵes", + "term.curators": "Curadores", + "term.appleCurators": "Curadores da Apple", + "term.radioShows": "Programas de rĆ”dio", + "term.recordLabels": "Gravadoras", + "term.videoExtras": "VĆ­deos extra", + "term.top": "Top", + "term.version": "VersĆ£o", + "term.noVideos": "NĆ£o foram encontrados vĆ­deos.", + "term.plugin": "Plug-in", + "term.pluginMenu": "Menu de plug-ins", + "term.pluginMenu.none": "Sem plug-ins interactivos", + "term.replay": "Repetir", + "term.uniqueAlbums": "Ɓlbuns Ćŗnicos", + "term.uniqueArtists": "IntĆ©rpretes Ćŗnicos", + "term.uniqueSongs": "MĆŗsicas Ćŗnicas", + "term.topArtists": "Top de intĆ©rpretes", + "term.listenedTo": "Reproduzido:", + "term.times": "vezes", + "term.topAlbums": "Top de Ć”lbuns", + "term.plays": "ReproduƧƵes", + "term.topGenres": "Top de gĆ©neros", + "term.confirmLogout": "Tem a certeza de que pretende terminar sessĆ£o?", + "term.creditDesignedBy": "Concebido por ${authorUsername}", + "term.discNumber": "Disco ${discNumber}", + "term.reload": "Reiniciar o Cider ?", + "term.toggleprivate": "Alternar sessĆ£o privada", + "term.webremote": "Web Remote", + "term.cast": "Transmitir", + "term.cast2": "Transmitir para dispositivos", + "term.quit": "Fechar", + "term.zoomin": "Aumentar o zoom", + "term.zoomout": "Diminuir o zoom", + "term.zoomreset": "Repor zoom", + "term.fullscreen": "EcrĆ£ inteiro", + "home.syncFavorites": "Sincronizar favoritos", + "home.syncFavorites.gettingArtists": "A obter os artistas favoritos...", + "home.title": "InĆ­cio", + "home.recentlyPlayed": "Reproduzido recentemente", + "home.recentlyAdded": "Adicionado recentemente", + "home.artistsFeed": "Feed dos seus artistas", + "home.artistsFeed.noArtist": "Siga alguns artistas para ver os seus Ćŗltimos lanƧamentos", + "home.madeForYou": "Feito para si", + "home.friendsListeningTo": "O que os seus amigos estĆ£o a ouvir", + "home.followedArtists": "Artistas seguidos", + "error.appleMusicSubRequired": "A Apple Music requer uma subscrição.", + "error.connectionError": "Ocorreu um problema ao estabelecer ligação Ć  Apple Music.", + "error.noResults": "Sem resultados.", + "error.noResults.description": "Tente uma nova pesquisa.", + "podcast.followOnCider": "Siga no Cider", + "podcast.followedOnCider": "A seguir no Cider", + "podcast.subscribeOnItunes": "Subscreva no iTunes", + "podcast.subscribedOnItunes": "Subscrito no iTunes", + "podcast.itunesStore": "iTunes Store", + "podcast.episodes": "Episódios", + "podcast.playEpisode": "Reproduzir episódio", + "podcast.website": "Website do Podcast", + "action.favorite": "Adicionar favorito", + "action.removeFavorite": "Remover favorito", + "action.hideLibrary": "Ocultar biblioteca", + "action.showLibrary": "Mostrar biblioteca", + "action.cut": "Cortar", + "action.paste": "Colar", + "action.selectAll": "Seleccionar tudo", + "action.delete": "Apagar", + "action.edit": "Editar", + "action.done": "ConcluĆ­do", + "action.editTracklist": "Editar lista de reprodução", + "action.addToLibrary": "Adicionar Ć  biblioteca", + "action.addToLibrary.success": "Adicionado Ć  biblioteca", + "action.addToLibrary.error": "Erro ao adicionar Ć  biblioteca", + "action.removeFromLibrary": "Remover da biblioteca", + "action.removeFromLibrary.success": "Removido da biblioteca", + "action.addToQueue": "Adicionar Ć  fila", + "action.addToQueue.success": "Adicionado Ć  fila", + "action.addToQueue.error": "Erro ao adicionar Ć  fila", + "action.removeFromQueue": "Remover da fila", + "action.removeFromQueue.success": "Removido da fila", + "action.removeFromQueue.error": "Erro ao remover da fila", + "action.createPlaylist": "Criar uma nova lista de reprodução", + "action.addToPlaylist": "Adicionar Ć  lista de reprodução", + "action.removeFromPlaylist": "Removar da lista de reprodução", + "action.addToFavorites": "Adicionar aos favoritos", + "action.follow": "Seguir", + "action.follow.success": "Seguido", + "action.follow.error": "Erro ao seguir", + "action.unfollow": "NĆ£o seguir", + "action.unfollow.success": "NĆ£o seguido", + "action.unfollow.error": "Erro ao deixar de seguir", + "action.playNext": "Reproduzir a seguir", + "action.playLater": "Reproduzir mais tarde", + "action.startRadio": "Criar estação", + "action.goToArtist": "Ir para intĆ©rprete", + "action.goToAlbum": "Ir para Ć”lbum", + "action.showInPlaylist": "Mostrar na lista de reprodução", + "action.showInAppleMusic": "Mostrar na Apple Music", + "action.moveToTop": "Mover para fora da pasta", + "action.share": "Partilhar", + "action.rename": "Renomear", + "action.love": "Gostar", + "action.unlove": "Desfazer gostar", + "action.dislike": "NĆ£o gostar", + "action.undoDislike": "Desfazer nĆ£o gostar", + "action.showWebRemoteQR": "Web Remote", + "action.playTracksNext": "Reproduzir ${app.selectedMediaItems.length} mĆŗsicas a seguir", + "action.playTracksLater": "Reproduzir ${app.selectedMediaItems.length} mĆŗsicas mais tarde", + "action.removeTracks": "Remover ${self.selectedItems.length} mĆŗsicas da fila", + "action.import": "Importar", + "action.export": "Exportar", + "action.showAlbum": "Mostrar Ć”lbum completo", + "action.tray.minimize": "Minimizar para a bandeja", + "action.tray.show": "Mostrar o Cider", + "action.tray.listento": "Ouvir:", + "action.update": "Atualizar", + "action.install": "Instalar", + "action.copy": "Copiar", + "action.newpreset": "Nova predefinição...", + "action.deletepreset": "Eliminar predefinição", + "action.open": "Abrir", + "action.close": "Fechar", + "action.relaunch.confirm": "Pretende reiniciar o Cider?", + "action.cast.chromecast": "Chromecast", + "action.cast.todevices": "Transmitir para dispositivos", + "action.cast.stop": "Parar a transmissĆ£o para todos os dispositivos", + "action.cast.airplay": "AirPlay", + "action.cast.airplay.underdevelopment": "AirPlay ainda estĆ” em desenvolvimento", + "action.cast.scan": "Procurar", + "action.cast.scanning": "A procurar...", + "action.createNew": "Criar nova...", + "action.openArtworkInBrowser": "Abrir grafismo no navegador", + "action.scrollToTop": "Voltar ao topo", + "menubar.options.view": "Ver", + "menubar.options.reload": "Atualizar", + "menubar.options.forcereload": "ForƧar atualização", + "menubar.options.toggledevtools": "Alternar ferramentas do programador", + "menubar.options.window": "Janela", + "menubar.options.minimize": "Minimizar", + "menubar.options.plugins": "Menu de plug-ins", + "menubar.options.controls": "Controlos", + "menubar.options.volumeup": "Aumentar o volume", + "menubar.options.volumedown": "Diminuir o volume", + "menubar.options.account": "Conta", + "menubar.options.signout": "Terminar sessĆ£o", + "menubar.options.support": "Suporte", + "menubar.options.report": "Reportar um...", + "menubar.options.bug": "Problema", + "menubar.options.feature": "Pedido de funcionalidade", + "menubar.options.trans": "Pedido de tradução", + "menubar.options.license": "Ver licenƧa", + "menubar.options.conf": "Abrir ficheiro de configuração no editor", + "menubar.options.zoom": "Zoom", + "settings.header.general": "Geral", + "settings.header.general.description": "Ajustar as definiƧƵes gerais do Cider.", + "settings.option.general.language": "Idioma", + "settings.option.general.resumebehavior": "Comportamento de retoma", + "settings.option.general.resumebehavior.description": "Define a forma como o Cider irĆ” retomar a sua sessĆ£o quando regressar Ć  aplicação.", + "settings.option.general.resumebehavior.locally": "Localmente", + "settings.option.general.resumebehavior.locally.description": "O Cider irĆ” retomar a sua Ćŗltima sessĆ£o nesta mĆ”quina.", + "settings.option.general.resumebehavior.history": "Histórico", + "settings.option.general.resumebehavior.history.description": "O Cider irĆ” colocar na fila a Ćŗltima mĆŗsica do seu histórico da Apple Music, atravĆ©s de todos os seus dispositivos.", + "settings.option.general.resumetabs": "Abrir separador no arranque", + "settings.option.general.resumetabs.description": "Pode escolher que separador quer abrir quando abre o Cider.", + "settings.option.general.resumetabs.dynamic": "DinĆ¢mico", + "settings.option.general.resumetabs.dynamic.description": "O Cider abrirĆ” o separador que utilizou pela Ćŗltima vez.", + "settings.option.general.language.main": "Idiomas", + "settings.option.general.language.fun": "Idiomas divertidos", + "settings.option.general.language.unsorted": "Indiferenciado", + "settings.option.general.customizeSidebar": "Personalizar os itens da barra lateral", + "settings.option.general.customizeSidebar.customize": "Personalizar", + "settings.option.general.keybindings": "Atalhos do teclado", + "settings.option.general.keybindings.library": "Biblioteca", + "settings.option.general.keybindings.session": "SessĆ£o", + "settings.option.general.keybindings.control": "Controlos", + "settings.option.general.keybindings.interface": "Interface", + "settings.option.general.keybindings.advanced": "AvanƧado", + "settings.option.general.keybindings.pressCombination": "Prima uma combinação de duas teclas para atualizar o atalho.", + "settings.option.general.keybindings.pressEscape": "Prima a tecla Escape para voltar atrĆ”s.", + "settings.notyf.general.keybindings.update.success": "Atalho atualizado com sucesso", + "settings.prompt.general.keybindings.update.success": "Atalho atualizado com sucesso. Prima OK para reiniciar o Cider", + "settings.option.general.themeUpdateNotification": "Verificação automĆ”tica de atualizaƧƵes de temas", + "settings.option.general.showLovedTracksInline": "Mostrar mĆŗsicas que gosta \"inline\"", + "settings.description.search": "Pesquisa", + "settings.description.albums": "Ɓlbuns da biblioteca", + "settings.description.artists": "IntĆ©rpretes da biblioteca", + "settings.description.browse": "Explorar", + "settings.description.private": "Alternar sessĆ£o privada", + "settings.description.remote": "Web Remote", + "settings.description.audio": "DefiniƧƵes de Ć”udio", + "settings.description.plugins": "Menu de plug-ins", + "settings.description.cast": "Transmitir para dispositivos", + "settings.description.settings": "DefiniƧƵes", + "settings.description.developer": "Ferramentas do programador", + "settings.description.listnow": "Ouvir agora", + "settings.description.recentAdd": "AdiƧƵes recentes", + "settings.description.songs": "MĆŗsicas", + "settings.notyf.updateCider.update-not-available": "Nenhuma atualização disponĆ­vel", + "settings.notyf.updateCider.update-downloaded": "A atualização foi descarregada, reinicie para aplicar", + "settings.notyf.updateCider.update-timeout": "O pedido de atualização estou o tempo limite", + "settings.header.audio": "Ɓudio", + "settings.header.audio.description": "Ajustar as definiƧƵes de Ć”udio para o Cider.", + "settings.option.audio.volumeStep": "NĆ­vel de incremento de volume", + "settings.option.audio.advanced": "Controlo avanƧado de volume", + "settings.option.audio.maxVolume": "Volume mĆ”ximo", + "settings.option.audio.changePlaybackRate": "Alterar velocidade de reprodução", + "settings.option.audio.playbackRate": "Velocidade de reprodução", + "settings.option.audio.playbackRate.change": "Alterar", + "settings.option.audio.quality": "Qualidade do Ć”udio", + "settings.header.audio.quality.hireslossless": "Alta resolução sem perdas", + "settings.header.audio.quality.hireslossless.description": "atĆ© 24-bit/192 kHz", + "settings.header.audio.quality.lossless": "Sem perdas", + "settings.header.audio.quality.lossless.description": "atĆ© 24-bit/48 kHz", + "settings.header.audio.quality.high": "Alta", + "settings.header.audio.quality.high.description": "256 kbps", + "settings.header.audio.quality.standard": "PadrĆ£o", + "settings.header.audio.quality.standard.description": "64 kbps", + "settings.option.audio.seamlessTransition": "Transição gradual do Ć”udio", + "settings.option.audio.enableAdvancedFunctionality": "Ativar funcionalidades avanƧadas", + "settings.option.audio.enableAdvancedFunctionality.description": "Ativar o AudioContext dĆ” acesso a funcionalidades alargadas como Normalização de Ɓudio, Equalizadores e Visualizadores - contudo, isto pode causar dificuldades em alguns sistemas.", + "settings.warn.audio.enableAdvancedFunctionality.lowcores": "O Cider pensa que o seu PC nĆ£o Ć© capaz de lidar com estas funcionalidades. Tem a certeza de que pretende continuar?", + "settings.option.audio.audioLab": "Cider Audio Lab", + "settings.option.audio.audioLab.description": "Efeitos de Ć”udio desenvolvidos internamente para o Cider.", + "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", + "settings.warn.audioLab.withoutAF": "AudioContext (funcionalidade avanƧada) Ć© necessĆ”rio para suportar o Cider Audio Lab.", + "settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidade avanƧada) Ć© necessĆ”rio para suportar esta funcionalidade.", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calor Analógico", + "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula o calor analógico inspirado no Korg Nutube 6P1", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidade do calor analógico", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Altera a intensidade do processamento do módulo de calor analógico.", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "Suave", + "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Quente", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizerā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Cria uma atmosfera musical diferente inspirada nas mais modernas aparelhagens.", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Modo do Cider Atmosphere Realizerā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Altera o modo de funcionamento do módulo Atmosphere Realizer.", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Hōjicha Cheese Foam Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Genmaicha Tapioca Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "Rock Salt Cheese Foam Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "Uji Matcha Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "Jasmine Macchiato", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "Hokkaido Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "Moonwight Softcake", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "Clafoutis aux Cerises", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "Uji Matcha Mochi", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Brown Sugar Creme BrĆ»lĆ©e Milk", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Cuddle Warmth", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Melhora a qualidade de Ć”udio percecionada do Ć”udio codificado em AAC, utilizando um algoritmo de tempo real que tira partido tanto dos modelos psicoacĆŗsticos da audição humana como das caracterĆ­sticas de codificação do AAC.", + "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "O CAP nĆ£o Ć© compatĆ­vel com a espacialização. Por favor, desative a espacialização para continuar.", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Intensidade do CAP", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Muda a intensidade do processamento feito ao Ć”udio (a agressividade pode produzir resultados indesejĆ”veis).", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "PadrĆ£o", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "Adaptativo", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "Antigo", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Agressivo", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "Normalização de Ć”udio", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "Normaliza o volume de pico das mĆŗsicas para criar uma experiĆŖncia de audição mais uniforme (nĆ£o funciona em mĆŗsicas carregadas pelo utilizador).", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Gerido pelo Audio Lab", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Espacialização ajustada pelo Cider", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "Efeito de espacialização prĆ©-ajustado, desactiva as configuraƧƵes personalizĆ”veis de espacialização de Ć”udio.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Perfil de espacialização do Cider", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Altera o perfil de ajuste da espacialização.", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "PadrĆ£o", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Palco", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separação", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "MĆ­nimo", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "Audiófilo", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "Difundido", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "Encore", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "Encore expandido", + "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "A espacialização nĆ£o Ć© compatĆ­vel com o CAP. Por favor, desative o CAP para continuar.", + "settings.option.audio.dbspl.display": "Mostrar dB SPL", + "settings.option.audio.dbspl.description": "(Apenas para utilizadores avanƧados) Mostrar dB SPL em vez de dBFS no controlo de volume.", + "settings.option.audio.dbfs.calibration": "Calibração de 0 dBFS", + "settings.option.audio.dbfs.description": "Introduza o pico de SPL com ponderação Z quando o Cider estĆ” a 0 dBFS.", + "settings.header.visual": "AparĆŖncia", + "settings.header.visual.description": "Ajustar as definiƧƵes visuais do Cider.", + "settings.option.visual.windowStyle": "Estilo da janela", + "settings.option.visual.customAccentColor": "Cor de destaque personalizada", + "settings.option.visual.accentColor": "Cor de destaque", + "settings.option.visual.purplePodcastPlaybackBar": "Barra de reprodução roxa para Podcasts", + "settings.option.visual.windowColor": "Tonalidade da cor da janela", + "settings.header.visual.windowBackgroundStyle.color": "Tonalidade da cor", + "settings.option.visual.windowBackgroundStyle": "Estilo do fundo da janela", + "settings.header.visual.windowBackgroundStyle.none": "Nenhum", + "settings.header.visual.windowBackgroundStyle.artwork": "Grafismo", + "settings.header.visual.windowBackgroundStyle.image": "Imagem", + "settings.option.visual.animatedArtwork": "Grafismo animado", + "settings.header.visual.animatedArtwork.always": "Sempre", + "settings.header.visual.animatedArtwork.limited": "Limitado a pĆ”ginas e entradas especiais", + "settings.header.visual.animatedArtwork.disable": "Desativar em todo o lado", + "settings.option.visual.animatedArtworkQuality": "Qualidade dos grafismos animados", + "settings.header.visual.animatedArtworkQuality.low": "Baixa", + "settings.header.visual.animatedArtworkQuality.medium": "MĆ©dia", + "settings.header.visual.animatedArtworkQuality.high": "Alta", + "settings.header.visual.animatedArtworkQuality.veryHigh": "Muito alta", + "settings.header.visual.animatedArtworkQuality.extreme": "Extrema", + "settings.option.visual.animatedWindowBackground": "Fundo da janela animado", + "settings.option.visual.hardwareAcceleration": "Aceleração de hardware", + "settings.option.visual.hardwareAcceleration.description": "Requer reinĆ­cio", + "settings.header.visual.hardwareAcceleration.default": "PadrĆ£o", + "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.option.visual.uiscale": "Escala da UI", + "settings.header.visual.theme": "Tema", + "settings.option.visual.theme.github.download": "Instalar a partir de um URL do GitHub", + "settings.option.visual.theme.github.openfolder": "Abrir pasta de temas", + "settings.option.visual.theme.github.explore": "Explorar temas do GitHub", + "settings.header.visual.theme.github.page": "Temas do GitHub", + "settings.option.visual.theme.github.install.confirm": "Tem a certeza de que pretende instalar {{ repo }}?", + "settings.prompt.visual.theme.github.URL": "Introduza o URL do tema que pretende instalar", + "settings.prompt.visual.theme.uninstallTheme": "Tem a certeza de que pretende desinstalar {{ theme }}?", + "settings.option.visual.theme.checkForUpdates": "Procurar por atualizaƧƵes", + "settings.option.visual.theme.manageStyles": "Gerir estilos", + "settings.option.visual.theme.uninstall": "Desinstalar", + "settings.option.visual.theme.viewInfo": "Ver informação", + "settings.option.visual.theme.github.available": "DisponĆ­vel", + "settings.option.visual.theme.github.applied": "Aplicado", + "settings.notyf.visual.theme.install.success": "Tema instalado com sucesso", + "settings.notyf.visual.theme.install.error": "A instalação do tema falhou", + "settings.header.visual.plugin": "Plug-in", + "settings.option.visual.plugin.github.download": "Instalar a partir de um URL do GitHub", + "settings.option.visual.plugin.github.explore": "Explorar plug-ins do GitHub", + "settings.header.visual.plugin.github.page": "Plug-ins do GitHub", + "settings.option.visual.plugin.github.install.confirm": "Tem a certeza de que pretende instalar {{ repo }}?", + "settings.prompt.visual.plugin.github.URL": "Introduza o URL do plug-in que pretende instalar", + "settings.prompt.visual.plugin.github.success": "Plug-in instalado com sucesso. Pressione OK para reiniciar o Cider", + "settings.notyf.visual.plugin.install.success": "Plug-in instalado com sucesso", + "settings.notyf.visual.plugin.install.error": "A instalação do plug-in falhou", + "settings.option.visual.theme.default": "Cider", + "settings.option.visual.theme.dark": "Escuro", + "settings.option.visual.showPersonalInfo": "Mostrar informação pessoal", + "settings.header.window": "Janela", + "settings.header.window.description": "Ajustar as definiƧƵes da janela para o Cider.", + "settings.option.window.openOnStartup": "Abrir o Cider no arranque", + "settings.option.window.openOnStartup.hidden": "Abrir escondido", + "settings.option.window.useNativeTitleBar": "Usar barra de tĆ­tulo nativa", + "settings.option.window.windowControlStyle": "Estilo de controlo da janela", + "settings.option.window.windowControlStyle.right": "Direita", + "settings.option.window.windowControlStyle.left": "Esquerda", + "settings.header.lyrics": "Letras", + "settings.header.lyrics.description": "Ajustar as definiƧƵes de letras para o Cider.", + "settings.option.lyrics.enableMusixmatch": "Ativar letras do Musixmatch", + "settings.option.lyrics.enableMusixmatchKaraoke": "Ativar o modo Karaoke (apenas para o Musixmatch)", + "settings.option.lyrics.musixmatchPreferredLanguage": "LĆ­ngua preferida para traduƧƵes do Musixmatch", + "settings.option.lyrics.enableYoutubeLyrics": "Ativar letras do Youtube para videoclipes", + "settings.option.lyrics.enableQQLyrics": "Ativar letras do QQ", + "settings.header.connectivity": "Conectividade", + "settings.header.connectivity.description": "Ajustar as definiƧƵes de conectividade para o Cider.", + "settings.option.connectivity.playbackNotifications": "NotificaƧƵes de reprodução", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", + "settings.option.connectivity.discordRPC.clientName": "Nome do cliente", + "settings.option.connectivity.discordRPC.clearOnPause": "Limpar o Discord Rich Presence ao colocar em pausa", + "settings.option.connectivity.discordRPC.hideButtons": "Esconder botƵes no Discord Rich Presence", + "settings.option.connectivity.discordRPC.hideTimestamp": "Esconder timestamp no Discord Rich Presence", + "settings.option.connectivity.discordRPC.detailsFormat": "Formato dos detalhes", + "settings.option.connectivity.discordRPC.stateFormat": "Formato do estado", + "settings.option.connectivity.discordRPC.reload": "Reiniciar o DiscordRPC", + "settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC ligação restabelecida ao utilizador: {{user}} ({{userid}})", + "settings.option.connectivity.lastfmScrobble": "Last.fm Scrobbling", + "settings.option.connectivity.lastfmScrobble.delay": "Last.fm atraso do scrobble (%)", + "settings.option.connectivity.lastfmScrobble.nowPlaying": "Ativar Last.fm Now Playing", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remover artistas do tĆ­tulo da mĆŗsica (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop": "Filtrar mĆŗsica em loop (Last.fm)", + "settings.header.debug": "Debug", + "settings.option.debug.copy_log": "Copiar logs para a Ć”rea de transferĆŖncia", + "settings.option.debug.openAppData": "Abrir pasta do Cider", + "settings.header.experimental": "Experimental", + "settings.header.experimental.description": "Ajustar as definiƧƵes experimentais para o Cider.", + "settings.option.experimental.reinstallwidevine": "Reinstalar WidevineCDM", + "settings.option.experimental.reinstallwidevine.confirm": "Tem a certeza de que pretende reinstalar o Widevine?", + "settings.option.experimental.unknownPlugin": "Fontes desconhecidas", + "settings.option.experimental.unknownPlugin.description": "Permitir a instalação de plug-ins de outros repositórios que nĆ£o o repositório de plug-ins do Cider", + "settings.option.experimental.compactUI": "UI compacta", + "settings.option.window.close_button_hide": "BotĆ£o fechar oculta a aplicação", + "settings.option.experimental.inline_playlists": "Listas de reprodução e Ć”lbuns \"inline\"", + "settings.option.advanced.playlistTrackMapping": "Mapeamento de mĆŗsicas de listas de reprodução", + "settings.option.advanced.playlistTrackMapping.description": "Ativa uma anĆ”lise profunda das listas de reprodução para determinar que mĆŗsicas estĆ£o em que listas de reprodução. O tempo de construção da cache das listas de reprodução pode aumentar significativamente.", + "settings.option.visual.transparent": "Moldura transparente", + "settings.option.visual.transparent.description": "Necessita de suporte do tema, requer reinĆ­cio", + "settings.header.advanced": "AvanƧado", + "settings.header.connect": "Sincronização", + "settings.option.connect.link_account": "Ativar a sincronização com o Cider Connect", + "settings.option.connect.link_account.description": "Ligar a sua conta Discord ao Cider Connect permite-lhe armazenar dados de utilizador incluindo definiƧƵes, EQ's, e eventualmente mais uma vez terminado (trabalho em curso).", + "spatial.notTurnedOn": "A espacialização de Ć”udio estĆ” desativada. Para utilizar, por favor, ative-a primeiro.", + "spatial.spatialProperties": "Propriedades espaciais", + "spatial.width": "Largura", + "spatial.height": "Altura", + "spatial.depth": "Profundidade", + "spatial.gain": "Ganho", + "spatial.roomMaterials": "Materiais da sala", + "spatial.roomDimensions": "DimensƵes da sala", + "spatial.roomPositions": "PosiƧƵes na sala", + "spatial.setDimensions": "Definir dimensƵes", + "spatial.setPositions": "Definir posiƧƵes", + "spatial.up": "Acima", + "spatial.front": "Frente", + "spatial.left": "Esquerda", + "spatial.right": "Direita", + "spatial.back": "AtrĆ”s", + "spatial.down": "Em baixo", + "spatial.listener": "Ouvinte", + "spatial.audioSource": "Fonte de Ć”udio", + "settings.header.unfinished": "Inacabado", + "remote.web.title": "Cider Remote", + "remote.web.description": "Digitalize o código QR para emparelhar o seu telemóvel com esta instĆ¢ncia do Cider", + "share.platform.twitter.tweet": "OuƧa {{song}} na Apple Music.\n\n{{url}}\n\n#AppleMusic #Cider", + "share.platform.twitter": "Twitter", + "share.platform.facebook": "Facebook", + "share.platform.reddit": "Reddit", + "share.platform.telegram": "Telegram", + "share.platform.whatsapp": "WhatsApp", + "share.platform.messenger": "Messenger", + "share.platform.email": "Email", + "share.platform.songLink": "Copiar com song.link", + "share.platform.clipboard": "Copiar ligação", + "about.thanks": "Um grande obrigado Ć  equipa da Cider Collective e a todos os nossos contribuidores." } diff --git a/src/i18n/ru_RU.json b/src/i18n/ru_RU.json index 9120d764..2506e85f 100644 --- a/src/i18n/ru_RU.json +++ b/src/i18n/ru_RU.json @@ -10,6 +10,7 @@ "notification.updatingLibrarySongs": "ŠžŠ±Š½Š¾Š²Š»ŠµŠ½ŠøŠµ меГиатеки песен...", "notification.updatingLibraryAlbums": "ŠžŠ±Š½Š¾Š²Š»ŠµŠ½ŠøŠµ меГиатеки альбомов...", "notification.updatingLibraryArtists": "ŠžŠ±Š½Š¾Š²Š»ŠµŠ½ŠøŠµ меГиатеки артистов...", + "term.variables": "ŠŸŠµŃ€ŠµŠ¼ŠµŠ½Š½Ń‹Šµ", "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", "term.applePodcasts": "ŠŸŠ¾Š“ŠŗŠ°ŃŃ‚Ń‹ Apple", @@ -18,17 +19,24 @@ "term.discord": "Discord", "term.learnMore": "Š£Š·Š½Š°Ń‚ŃŒ больше", "term.accountSettings": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠø Š°ŠŗŠŗŠ°ŃƒŠ½Ń‚Š°", - "term.logout": "Выйти", + "term.logout": "Выйти ŠøŠ· Š°ŠŗŠŗŠ°ŃƒŠ½Ń‚Š°", "term.login": "Войти", - "term.cast": "Š¢Ń€Š°Š½ŃŠ»ŠøŃ€Š¾Š²Š°Ń‚ŃŒ", + "term.quickNav": "Š‘Ń‹ŃŃ‚Ń€Š°Ń Š½Š°Š²ŠøŠ³Š°Ń†ŠøŃ", "term.about": "Šž Cider", "term.privateSession": "Š§Š°ŃŃ‚Š½Š°Ń ŃŠµŃŃŠøŃ", "term.disablePrivateSession": "Š’Ń‹ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ Ń‡Š°ŃŃ‚Š½ŃƒŃŽ ŃŠµŃŃŠøŃŽ", "term.queue": "ŠžŃ‡ŠµŃ€ŠµŠ“ŃŒ", + "term.autoplay": "АвтовоспроизвеГение", "term.lyrics": "Текст", "term.miniplayer": "Мини-ŠæŃ€Š¾ŠøŠ³Ń€Ń‹Š²Š°Ń‚ŠµŠ»ŃŒ", "term.history": "Š˜ŃŃ‚Š¾Ń€ŠøŃ", "term.search": "Поиск", + "term.scroll": "ŠŸŃ€Š¾ŠŗŃ€ŃƒŃ‚ŠŗŠ°", + "term.scroll.infinite": "Š‘ŠµŃŠŗŠ¾Š½ŠµŃ‡Š½Š°Ń", + "term.scroll.paged": "${songsPerPage} на ŃŃ‚Ń€Š°Š½ŠøŃ†Ńƒ", + "term.live": "LIVE", + "term.showSearch": "ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ панель поиска", + "term.hideSearch": "Š”ŠŗŃ€Ń‹Ń‚ŃŒ панель поиска", "term.library": "ŠœŠµŠ“ŠøŠ°Ń‚ŠµŠŗŠ°", "term.listenNow": "Š”Š»ŃƒŃˆŠ°Š¹Ń‚Šµ сейчас", "term.browse": "ŠžŠ±Š·Š¾Ń€", @@ -39,18 +47,28 @@ "term.artists": "Артисты", "term.podcasts": "ŠŸŠ¾Š“ŠŗŠ°ŃŃ‚Ń‹", "term.playlists": "ŠŸŠ»ŠµŠ¹Š»ŠøŃŃ‚Ń‹", + "term.charts": "Чарты", "term.playlist": "ŠŸŠ»ŠµŠ¹Š»ŠøŃŃ‚", "term.newPlaylist": "ŠŠ¾Š²Ń‹Š¹ ŠŸŠ»ŠµŠ¹Š»ŠøŃŃ‚", "term.newPlaylistFolder": "ŠŠ¾Š²Š°Ń Папка ŠŸŠ»ŠµŠ¹Š»ŠøŃŃ‚а", "term.createNewPlaylist": "Š”Š¾Š·Š“Š°Ń‚ŃŒ новый плейлист", "term.createNewPlaylistFolder": "Š”Š¾Š·Š“Š°Ń‚ŃŒ Š½Š¾Š²ŃƒŃŽ папку", "term.deletePlaylist": "Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŃŃ‚Š¾Ń‚ плейлист?", + "term.navigateBack": "ŠŠ°Š·Š°Š“", + "term.navigateForward": "ВпереГ", "term.play": "Воспроизвести", + "term.playpause": "Воспроизвести/Пауза", "term.pause": "Пауза", + "term.stop": "ŠžŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ", "term.previous": "ŠŸŃ€ŠµŠ“Ń‹Š“ŃƒŃ‰ŠøŠ¹", "term.next": "Š”Š»ŠµŠ“ŃƒŃŽŃ‰ŠøŠ¹", "term.shuffle": "ŠŸŠµŃ€ŠµŠ¼ŠµŃˆŠ°Ń‚ŃŒ", + "term.enableShuffle": "ŠŸŠµŃ€ŠµŠ¼ŠµŃˆŠ°Ń‚ŃŒ", + "term.disableShuffle": "ŠŸŠµŃ€ŠµŠ¼ŠµŃˆŠ°Ń‚ŃŒ", "term.repeat": "ŠŸŠ¾Š²Ń‚Š¾Ń€ŃŃ‚ŃŒ", + "term.enableRepeatOne": "Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ повтор оГной композиции", + "term.disableRepeatOne": "Š’Ń‹ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ повтор оГной композиции", + "term.disableRepeat": "Š’Ń‹ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ повторение", "term.volume": "Š“Ń€Š¾Š¼ŠŗŠ¾ŃŃ‚ŃŒ", "term.mute": "Š—Š°Š³Š»ŃƒŃˆŠøŃ‚ŃŒ", "term.unmute": "Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ звук", @@ -72,6 +90,7 @@ "term.viewAs": "ŠŸŠ¾ŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒ", "term.viewAs.coverArt": "ŠžŠ±Š»Š¾Š¶ŠŗŠø", "term.viewAs.list": "Дписок", + "term.dynamic": "Динамический", "term.size": "Размер", "term.size.normal": "ŠžŠ±Ń‹Ń‡Š½Ń‹Š¹", "term.size.compact": "ŠšŠ¾Š¼ŠæŠ°ŠŗŃ‚Š½Ń‹Š¹", @@ -113,12 +132,14 @@ "few": "ŃŠµŠŗŃƒŠ½Š“Ń‹", "other": "секунГ" }, - "term.fullscreenView": "ŠŸŠ¾Š»Š½Š¾ŃŠŗŃ€Š°Š½Š½Š¾Šµ отображение", + "term.fullscreenView": "ŠŸŠ¾Š»Š½Š¾ŃŠŗŃ€Š°Š½Š½Ń‹Š¹ режим", "term.defaultView": "ДтанГартное отображение", "term.audioSettings": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠø звука", "term.audioControls": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠ° громкости", "term.clearAll": "ŠžŃ‡ŠøŃŃ‚ŠøŃ‚ŃŒ", "term.recentStations": "Š’Ń‹ неГавно слушали", + "term.personalStations": "ŠŸŠµŃ€ŃŠ¾Š½Š°Š»ŃŒŠ½Ń‹Šµ станции", + "term.amLive": "Apple Music Live", "term.language": "Язык", "term.funLanguages": "Забавные", "term.noLyrics": "Текст песни не найГен.", @@ -139,6 +160,7 @@ }, "term.videos": "ВиГео", "term.menu": "ŠœŠµŠ½ŃŽ", + "term.themeManaged": "Š£ŠæŃ€Š°Š²Š»ŃŠµŃ‚ŃŃ темой", "term.check": "ŠŸŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ", "term.aboutArtist": "Šž {{artistName}}", "term.topResult": "Топ Ń€ŠµŠ·ŃƒŠ»ŃŒŃ‚Š°Ń‚Š¾Š²", @@ -162,7 +184,8 @@ "term.top": "Top", "term.version": "Š’ŠµŃ€ŃŠøŃ", "term.noVideos": "ВиГео не найГено.", - "term.plugin": "ŠŸŠ»Š°Š³ŠøŠ½Ń‹", + "term.plugins": "ŠŸŠ»Š°Š³ŠøŠ½Ń‹", + "term.plugin": "Плагин", "term.pluginMenu": "ŠœŠµŠ½ŃŽ плагинов", "term.pluginMenu.none": "ŠŠµŃ‚ плагинов", "term.replay": "Мой гоГ", @@ -186,6 +209,22 @@ "term.confirmLogout": "Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите выйти?", "term.creditDesignedBy": "Разработано ${authorUsername}", "term.discNumber": "Диск ${discNumber}", + "term.reload" : "ŠŸŠµŃ€ŠµŠ·Š°Š³Ń€ŃƒŠ·ŠøŃ‚ŃŒ Cider?", + "term.toggleprivate" : "ŠŸŠµŃ€ŠµŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ Ń‡Š°ŃŃ‚Š½ŃƒŃŽ ŃŠµŃŃŠøŃŽ", + "term.webremote" : "Web Remote", + "term.cast" : "Š¢Ń€Š°Š½ŃŠ»ŠøŃ€Š¾Š²Š°Ń‚ŃŒ", + "term.cast2" : "Š¢Ń€Š°Š½ŃŠ»ŃŃ†ŠøŃ на ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š°", + "term.quit" : "ВыхоГ", + "term.zoomin" : "ŠŸŃ€ŠøŠ±Š»ŠøŠ·ŠøŃ‚ŃŒ", + "term.zoomout" : "ŠžŃ‚Š“Š°Š»ŠøŃ‚ŃŒ", + "term.zoomreset" : "Š”Š±Ń€Š¾ŃŠøŃ‚ŃŒ Š¼Š°ŃŃˆŃ‚Š°Š±", + "term.fullscreen" : "ŠŸŠ¾Š»Š½Ń‹Š¹ ŃŠŗŃ€Š°Š½", + "term.nowPlaying": "Дейчас играет", + "home.syncFavorites": "Š”ŠøŠ½Ń…Ń€Š¾Š½ŠøŠ·ŠøŃ€Š¾Š²Š°Ń‚ŃŒ", + "home.syncFavorites.gettingArtists": "ŠŸŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŠµ отслеживаемых исполнителей...", + "action.favorite": "ŠžŃ‚ŃŠ»ŠµŠ¶ŠøŠ²Š°Ń‚ŃŒ", + "action.removeFavorite": "ŠŸŠµŃ€ŠµŃŃ‚Š°Ń‚ŃŒ Š¾Ń‚ŃŠ»ŠµŠ¶ŠøŠ²Š°Ń‚ŃŒ", + "action.refresh": "ŠžŠ±Š½Š¾Š²ŠøŃ‚ŃŒ", "home.title": "Š“Š»Š°Š²Š½Š°Ń", "home.recentlyPlayed": "ŠŠµŠ“Š°Š²Š½Š¾ ŠæŃ€Š¾ŃŠ»ŃƒŃˆŠ°Š½Š½Ń‹Šµ", "home.recentlyAdded": "ŠŠµŠ“Š°Š²Š½Š¾ Гобавленные", @@ -206,6 +245,16 @@ "podcast.episodes": "Š’Ń‹ŠæŃƒŃŠŗŠø Ń€Š°Š“ŠøŠ¾ŃˆŠ¾Ńƒ", "podcast.playEpisode": "Воспроизвести", "podcast.website": "Веб-сайт", + "action.hideLibrary": "Š”ŠŗŃ€Ń‹Ń‚ŃŒ Š±ŠøŠ±Š»ŠøŠ¾Ń‚ŠµŠŗŃƒ", + "action.showLibrary": "ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ Š±ŠøŠ±Š»ŠøŠ¾Ń‚ŠµŠŗŃƒ", + "action.cut": "Š’Ń‹Ń€ŠµŠ·Š°Ń‚ŃŒ", + "action.paste": "Š’ŃŃ‚Š°Š²ŠøŃ‚ŃŒ", + "action.selectAll": "Š’Ń‹Š±Ń€Š°Ń‚ŃŒ всё", + "action.delete": "Š£Š“Š°Š»ŠøŃ‚ŃŒ", + "action.edit": "Š˜Š·Š¼ŠµŠ½ŠøŃ‚ŃŒ", + "action.done": "Готово", + "action.submit": "ŠŸŠ¾Š“Ń‚Š²ŠµŃ€Š“ŠøŃ‚ŃŒ", + "action.editTracklist": "Š ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ треклист", "action.addToLibrary": "Š”Š¾Š±Š°Š²ŠøŃ‚ŃŒ в Š¼ŠµŠ“ŠøŠ°Ń‚ŠµŠŗŃƒ", "action.addToLibrary.success": "Добавлено в Š¼ŠµŠ“ŠøŠ°Ń‚ŠµŠŗŃƒ", "action.addToLibrary.error": "ŠžŃˆŠøŠ±ŠŗŠ° Š”Š¾Š±Š°Š²Š»ŠµŠ½ŠøŃ в Š¼ŠµŠ“ŠøŠ°Ń‚ŠøŠŗŃƒ", @@ -241,7 +290,7 @@ "action.unlove": "Š‘Š¾Š»ŃŒŃˆŠµ не Š½Ń€Š°Š²ŠøŃ‚ся", "action.dislike": "Меньше поГобных рекоменГаций", "action.undoDislike": "Š’ŠµŃ€Š½ŃƒŃ‚ŃŒ поГобные рекоменГации", - "action.showWebRemoteQR": "Веб-интерфейс", + "action.showWebRemoteQR": "Web Remote", "action.playTracksNext": "Воспроизвести ${app.selectedMediaItems.length} песен ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŠøŠ¼Šø", "action.playTracksLater": "Воспроизвести ${app.selectedMediaItems.length} песен позже", "action.removeTracks": "Š£Š“Š°Š»ŠøŃ‚ŃŒ ${self.selectedItems.length} песен ŠøŠ· очереГи", @@ -249,13 +298,15 @@ "action.export": "Экспорт", "action.showAlbum": "ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ весь альбом", "action.tray.minimize": "Š”Š²ŠµŃ€Š½ŃƒŃ‚ŃŒ в трей", - "action.tray.quit": "Выйти", + "action.tray.show": "ŠŸŠ¾ŠŗŠ°Š·Š°Ń‚ŃŒ Cider", + "action.tray.listento": "Listen To:", "action.update": "ŠžŠ±Š½Š¾Š²ŠøŃ‚ŃŒ", "action.install": "Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ", "action.copy": "Š”ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ", "action.newpreset": "ŠŠ¾Š²Ń‹Š¹ пресет...", "action.deletepreset": "Š£Š“Š°Š»ŠøŃ‚ŃŒ пресет", "action.open": "ŠžŃ‚ŠŗŃ€Ń‹Ń‚ŃŒ", + "action.close": "Š—Š°ŠŗŃ€Ń‹Ń‚ŃŒ", "action.relaunch.confirm": "Š’Ń‹ хотите ŠæŠµŃ€ŠµŠ·Š°ŠæŃƒŃŃ‚ŠøŃ‚ŃŒ Cider?", "action.cast.chromecast": "Chromecast", "action.cast.todevices": "Š¢Ń€Š°Š½ŃŠ»ŠøŃ€Š¾Š²Š°Ń‚ŃŒ на ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š°", @@ -266,6 +317,27 @@ "action.cast.scanning": "Поиск...", "action.createNew": "Š”Š¾Š·Š“Š°Ń‚ŃŒ новый...", "action.openArtworkInBrowser": "ŠžŃ‚ŠŗŃ€Ń‹Ń‚ŃŒ обложку в Š±Ń€Š°ŃƒŠ·ŠµŃ€Šµ", + "action.scrollToTop": "Scroll to top", + "menubar.options.view": "View", + "menubar.options.reload": "ŠŸŠµŃ€ŠµŠ·Š°Š³Ń€ŃƒŠ·ŠøŃ‚ŃŒ", + "menubar.options.forcereload": "Š–ŠµŃŃ‚ŠŗŠ°Ń ŠæŠµŃ€ŠµŠ·Š°Š³Ń€ŃƒŠ·ŠŗŠ°", + "menubar.options.toggledevtools": "Toggle Developer Tools", + "menubar.options.window": "Window", + "menubar.options.minimize": "Minimize", + "menubar.options.plugins": "ŠœŠµŠ½ŃŽ плагинов", + "menubar.options.controls": "Управление", + "menubar.options.volumeup": "Громче", + "menubar.options.volumedown": "Тише", + "menubar.options.account": "ŠŠŗŠŗŠ°ŃƒŠ½Ń‚", + "menubar.options.signout": "Выйти ŠøŠ· Š°ŠŗŠŗŠ°ŃƒŠ½Ń‚Š°", + "menubar.options.support": "ŠŸŠ¾Š“Š“ŠµŃ€Š¶Š°Ń‚ŃŒ", + "menubar.options.report": "Š”Š¾Š¾Š±Ń‰ŠøŃ‚ŃŒ о...", + "menubar.options.bug": "Баг", + "menubar.options.feature": "Feature Request", + "menubar.options.trans": "Translation Report/Request", + "menubar.options.license": "ŠŸŃ€Š¾ŃŠ¼Š¾Ń‚Ń€ŠµŃ‚ŃŒ Š»ŠøŃ†ŠµŠ½Š·ŠøŃŽ", + "menubar.options.conf": "ŠžŃ‚ŠŗŃ€Ń‹Ń‚ŃŒ файл ŠŗŠ¾Š½Ń„ŠøŠ³ŃƒŃ€Š°Ń†ŠøŠø в реГакторе", + "menubar.options.zoom": "Zoom", "settings.header.general": "ŠžŠ±Ń‰ŠøŠµ", "settings.header.general.description": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠ° общих параметров Cider.", "settings.option.general.language": "Язык", @@ -275,18 +347,52 @@ "settings.option.general.resumebehavior.locally.description": "Cider возобновит ваш послеГний сеанс на ŃŃ‚Š¾Š¼ ŠŗŠ¾Š¼ŠæŃŒŃŽŃ‚ŠµŃ€Šµ.", "settings.option.general.resumebehavior.history": "Š˜ŃŃ‚Š¾Ń€ŠøŃ", "settings.option.general.resumebehavior.history.description": "Cider поставит в Š¾Ń‡ŠµŃ€ŠµŠ“ŃŒ ŠæŠ¾ŃŠ»ŠµŠ“Š½ŃŽŃŽ ŠæŠµŃŠ½ŃŽ ŠøŠ· вашей общей истории Apple Music на разных ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š°Ń….", + "settings.option.general.resumetabs" : "РазГел при запуске", + "settings.option.general.resumetabs.description" : "Š’Ń‹ можете Š²Ń‹Š±Ń€Š°Ń‚ŃŒ, какой разГел Š±ŃƒŠ“ет Š¾Ń‚ŠŗŃ€Ń‹Ń‚ŃŒŃŃ при запуске Cider.", + "settings.option.general.resumetabs.dynamic" : "Динамически", + "settings.option.general.resumetabs.dynamic.description" : "Cider откроет послеГний ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½Š½Ń‹Š¹ разГел.", "settings.option.general.language.main": "Языки", "settings.option.general.language.fun": "Забавные ŃŠ·Ń‹ŠŗŠø", "settings.option.general.language.unsorted": "ŠŠµŠ¾Ń‚ŃŠ¾Ń€Ń‚ŠøŃ€Š¾Š²Š°Š½Š½Ń‹Šµ", "settings.option.general.customizeSidebar": "ŠŠ°ŃŃ‚Ń€Š¾ŠøŃ‚ŃŒ ŃŠ»ŠµŠ¼ŠµŠ½Ń‚Ń‹ боковой панели", "settings.option.general.customizeSidebar.customize": "ŠŠ°ŃŃ‚Ń€Š¾ŠøŃ‚ŃŒ", + "settings.option.general.keybindings": "Š”Š¾Ń‡ŠµŃ‚Š°Š½ŠøŃ клавиш", + "settings.option.general.keybindings.library": "Библиотека", + "settings.option.general.keybindings.session": "Š”ŠµŃŃŠøŃ", + "settings.option.general.keybindings.control": "Элементы ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ", + "settings.option.general.keybindings.interface": "Š˜Š½Ń‚ŠµŃ€Ń„ŠµŠ¹Ń", + "settings.option.general.keybindings.advanced": "Š Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Šµ", + "settings.option.general.keybindings.pressCombination": "ŠŠ°Š¶Š¼ŠøŃ‚Šµ ŠŗŠ¾Š¼Š±ŠøŠ½Š°Ń†ŠøŃŽ Š“Š²ŃƒŃ… клавиш, чтобы Š¾Š±Š½Š¾Š²ŠøŃ‚ŃŒ ŠæŃ€ŠøŠ²ŃŠ·ŠŗŃƒ клавиш.", + "settings.option.general.keybindings.pressEscape": "ŠŠ°Š¶Š¼ŠøŃ‚Šµ клавишу Escape, чтобы Š²ŠµŃ€Š½ŃƒŃ‚ŃŒŃŃ.", + "settings.notyf.general.keybindings.update.success": "ŠšŠ¾Š¼Š±ŠøŠ½Š°Ń†ŠøŃ клавиш успешно обновлена", + "settings.prompt.general.keybindings.update.success": "ŠšŠ¾Š¼Š±ŠøŠ½Š°Ń†ŠøŃ клавиш успешно обновлена. ŠŠ°Š¶Š¼ŠøŃ‚Šµ OK, чтобы ŠæŠµŃ€ŠµŠ·Š°ŠæŃƒŃŃ‚ŠøŃ‚ŃŒ Cider", + "settings.option.general.themeUpdateNotification": "Автоматически ŠæŃ€Š¾Š²ŠµŃ€ŃŃ‚ŃŒ наличие обновлений темы", + "settings.option.general.showLovedTracksInline": "ŠŸŠ¾ŠŗŠ°Š·Ń‹Š²Š°Ń‚ŃŒ Š»ŃŽŠ±ŠøŠ¼Ń‹Šµ треки в строке", + "settings.description.search": "Поиск", + "settings.description.albums": "ŠŠ»ŃŒŠ±Š¾Š¼Ń‹ меГиатеки", + "settings.description.artists": "Артисты", + "settings.description.browse": "ŠžŠ±Š·Š¾Ń€", + "settings.description.private": "ŠŸŠµŃ€ŠµŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ Ń‡Š°ŃŃ‚Š½ŃƒŃŽ ŃŠµŃŃŠøŃŽ", + "settings.description.remote": "Web Remote", + "settings.description.audio": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠø ауГио", + "settings.description.plugins": "ŠœŠµŠ½ŃŽ плагинов", + "settings.description.cast": "Š¢Ń€Š°Š½ŃŠ»ŃŃ†ŠøŃ на ŃƒŃŃ‚Ń€Š¾Š¹ŃŃ‚Š²Š°", + "settings.description.settings": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠø", + "settings.description.developer": "Š˜Š½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚Ń‹ разработчика", + "settings.description.listnow": "Дейчас играет", + "settings.description.recentAdd": "ŠŠµŠ“Š°Š²Š½Š¾ Гобавлено", + "settings.description.songs": "Песни", "settings.notyf.updateCider.update-not-available": "ŠŠµŃ‚ Š“Š¾ŃŃ‚ŃƒŠæŠ½Ń‹Ń… обновлений", "settings.notyf.updateCider.update-downloaded": "ŠžŠ±Š½Š¾Š²Š»ŠµŠ½ŠøŠµ Š·Š°Š³Ń€ŃƒŠ¶ŠµŠ½Š¾, ŠæŠµŃ€ŠµŠ·Š°ŠæŃƒŃŃ‚ŠøŃ‚Šµ, чтобы Š¾Š±Š½Š¾Š²ŠøŃ‚ŃŒ", "settings.notyf.updateCider.update-timeout": "Š’Ń€ŠµŠ¼Ń Š¾Š¶ŠøŠ“Š°Š½ŠøŃ Š¾Š±Š½Š¾Š²Š»ŠµŠ½ŠøŃ истекло", "settings.header.audio": "Š—Š²ŃƒŠŗ", "settings.header.audio.description": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠ° звука Cider.", "settings.option.audio.volumeStep": "Шаг громкости", + "settings.option.audio.advanced": "Š Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Šµ настройки громкости", "settings.option.audio.maxVolume": "ŠœŠ°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Š°Ń Š³Ń€Š¾Š¼ŠŗŠ¾ŃŃ‚ŃŒ", + "settings.option.audio.changePlaybackRate": "Š˜Š·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŃŠŗŠ¾Ń€Š¾ŃŃ‚ŃŒ Š²Š¾ŃŠæŃ€Š¾ŠøŠ·Š²ŠµŠ“ŠµŠ½ŠøŃ", + "settings.option.audio.playbackRate": "Š”ŠŗŠ¾Ń€Š¾ŃŃ‚ŃŒ Š²Š¾ŃŠæŃ€Š¾ŠøŠ·Š²ŠµŠ“ŠµŠ½ŠøŃ", + "settings.option.audio.playbackRate.change": "Š˜Š·Š¼ŠµŠ½ŠøŃ‚ŃŒ", "settings.option.audio.quality": "ŠšŠ°Ń‡ŠµŃŃ‚Š²Š¾ звука", "settings.header.audio.quality.hireslossless": "Высокое Ń€Š°Š·Ń€ŠµŃˆŠµŠ½ŠøŠµ, без ŠæŠ¾Ń‚ŠµŃ€ŃŒ", "settings.header.audio.quality.hireslossless.description": "ALAC Го 24 бит/192 кГц", @@ -295,27 +401,46 @@ "settings.header.audio.quality.high": "Высокое качество", "settings.header.audio.quality.high.description": "AAC 256 кб/с", "settings.header.audio.quality.standard": "Š’Ń‹ŃŠ¾ŠŗŠ°Ń ŃŃ„Ń„ŠµŠŗŃ‚ŠøŠ²Š½Š¾ŃŃ‚ŃŒ", - "settings.header.audio.quality.standard.description": "ŠŠ•-ААД Š“Š»Ń ŃŠŗŠ¾Š½Š¾Š¼ŠøŠø трафика(64 кб/с)", + "settings.header.audio.quality.standard.description": "64 кб/с", "settings.option.audio.seamlessTransition": "ŠŸŠ»Š°Š²Š½Ń‹Š¹ перехоГ межГу ŠæŠµŃŠ½ŃŠ¼Šø", "settings.option.audio.enableAdvancedFunctionality": "Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ Ń€Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Š¹ Ń„ŃƒŠ½ŠŗŃ†ŠøŠ¾Š½Š°Š»", "settings.option.audio.enableAdvancedFunctionality.description": "Š’ŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµ Ń„ŃƒŠ½ŠŗŃ†ŠøŠø AudioContext позволит ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Ń€Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Šµ Ń„ŃƒŠ½ŠŗŃ†ŠøŠø звука, такие как Š½Š¾Ń€Š¼Š°Š»ŠøŠ·Š°Ń†ŠøŃ звука, ŃŠŗŠ²Š°Š»Š°Š¹Š·ŠµŃ€Ń‹ Šø Š²ŠøŠ·ŃƒŠ°Š»ŠøŠ·Š°Ń‚Š¾Ń€Ń‹, оГнако в некоторых системах ŃŃ‚Š¾ может Š²Ń‹Š·Š²Š°Ń‚ŃŒ заикание звука.", "settings.warn.audio.enableAdvancedFunctionality.lowcores": "Cider считает, что ваш ŠŗŠ¾Š¼ŠæŃŒŃŽŃ‚ŠµŃ€ не ŃŠæŃ€Š°Š²ŠøŃ‚ŃŃ с ŃŃ‚ŠøŠ¼Šø Ń„ŃƒŠ½ŠŗŃ†ŠøŃŠ¼Šø. Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹ что хотите ŠæŃ€Š¾Š“Š¾Š»Š¶ŠøŃ‚ŃŒ?", "settings.option.audio.audioLab": "Cider Audio Lab", "settings.option.audio.audioLab.description": "Ассортимент Š·Š²ŃƒŠŗŠ¾Š²Ń‹Ń… обработок собственной разработки Š“Š»Ń Cider.", + "settings.option.audio.audioLab.subheader": "Разработано Cider Acoustic Technologies в ŠšŠ°Š»ŠøŃ„орнии", "settings.warn.audioLab.withoutAF": "AudioContext (Š Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Š¹ Ń„ŃƒŠ½ŠŗŃ†ŠøŠ¾Š½Š°Š») Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ Š“Š»Ń Š²ŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŃ Cider Audio Laboratory.", + "settings.warn.enableAdvancedFunctionality": "Š”Š»Ń Š²ŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŃ ŃŃ‚Š¾Š¹ Ń„ŃƒŠ½ŠŗŃ†ŠøŠø Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ AudioContext (Ń€Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Š¹ Ń„ŃƒŠ½ŠŗŃ†ŠøŠ¾Š½Š°Š»).", "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Аналоговое Š·Š²ŃƒŃ‡Š°Š½ŠøŠµ", "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Š˜Š¼ŠøŃ‚ŠøŃ€ŃƒŠµŃ‚ аналоговое Š·Š²ŃƒŃ‡Š°Š½ŠøŠµ по Š¾Š±Ń€Š°Š·Ń†Ńƒ Korg Nutube 6P1", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Š˜Š½Ń‚ŠµŠ½ŃŠøŠ²Š½Š¾ŃŃ‚ŃŒ аналогового Š·Š²ŃƒŃ‡Š°Š½ŠøŃ", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.description": "Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ ŠøŠ½Ń‚ŠµŠ½ŃŠøŠ²Š½Š¾ŃŃ‚ŃŒ Аналогового Š·Š²ŃƒŃ‡Š°Š½ŠøŃ.", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "ŠžŠ±Ń‹Ń‡Š½Š°Ń", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "Дильнее", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider Atmosphere Realizerā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "Š ŠµŠ°Š»ŠøŠ·ŃƒŠµŃ‚ Š“Ń€ŃƒŠ³ŃƒŃŽ Š¼ŃƒŠ·Ń‹ŠŗŠ°Š»ŃŒŠ½ŃƒŃŽ Š°Ń‚Š¼Š¾ŃŃ„ŠµŃ€Ńƒ, ŃŠ¾Š·Š“Š°Š½Š½ŃƒŃŽ по Š¾Š±Ń€Š°Š·Ń†Ńƒ современных Š°ŃƒŠ“ŠøŠ¾ŃŠøŃŃ‚ŠµŠ¼.", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Режим работы Cider Atmosphere Realizerā„¢ļø", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ режим работы Atmosphere Realizer.", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "Hōjicha Cheese Foam Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_PLUS": "Genmaicha Tapioca Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_1": "Rock Salt Cheese Foam Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E68_2": "Uji Matcha Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "Jasmine Macchiato", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "Hokkaido Milk Tea", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "Moonlight Softcake", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Brown Sugar Creme BrĆ»lĆ©e Milk", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "Clafoutis aux Cerises", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "Uji Matcha Mochi", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Cuddle Warmth", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Š£Š»ŃƒŃ‡ŃˆŠ°ŠµŃ‚ воспринимаемое качество звука AAC 256 кбит/с за счет ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ алгоритма Ń€ŠµŠ°Š»ŃŒŠ½Š¾Š³Š¾ времени, ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŃŽŃ‰ŠµŠ³Š¾ как ŠæŃŠøŃ…Š¾Š°ŠŗŃƒŃŃ‚ŠøŃ‡ŠµŃŠŗŠøŠµ моГели человеческого ŃŠ»ŃƒŃ…Š°, так Šø характеристики ŠŗŠ¾Š“ŠøŃ€Š¾Š²Š°Š½ŠøŃ AAC.", "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "CAP не совместим с пространственным Š·Š²ŃƒŃ‡Š°Š½ŠøŠµŠ¼. ŠŸŠ¾Š¶Š°Š»ŃƒŠ¹ŃŃ‚Š°, Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠøŃ‚Šµ пространственное Š·Š²ŃƒŃ‡Š°Š½ŠøŠµ, чтобы ŠæŃ€Š¾Š“Š¾Š»Š¶ŠøŃ‚ŃŒ.", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "Режим CAP", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ режим обработки звука. (Режим агрессии может привести Šŗ нежелаемым Ń€ŠµŠ·ŃƒŠ»ŃŒŃ‚Š°Ń‚Š°Š¼)", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "ДтанГартный", - "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Агрессивный", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "АГаптивный", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "Legacy", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "Агрессивный", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "ŠŠ¾Ń€Š¼Š°Š»ŠøŠ·Š°Ń†ŠøŃ звука", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "ŠŠ¾Ń€Š¼Š°Š»ŠøŠ·ŃƒŠµŃ‚ ŠæŠøŠŗŠ¾Š²ŃƒŃŽ Š³Ń€Š¾Š¼ŠŗŠ¾ŃŃ‚ŃŒ Š“Š»Ń Š¾Ń‚Š“ŠµŠ»ŃŒŠ½Ń‹Ń… треков, чтобы ŃŠ¾Š·Š“Š°Ń‚ŃŒ более оГнороГное впечатление от ŠæŃ€Š¾ŃŠ»ŃƒŃˆŠøŠ²Š°Š½ŠøŃ.", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "Š£ŠæŃ€Š°Š²Š»ŃŠµŃ‚ŃŃ Audio Lab", @@ -324,8 +449,18 @@ "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "ŠŸŃ€Š¾Ń„ŠøŠ»ŃŒ пространственного Š·Š²ŃƒŃ‡Š°Š½ŠøŃ Cider", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "Š˜Š·Š¼ŠµŠ½ŃŠµŃ‚ ŠæŃ€Š¾Ń„ŠøŠ»ŃŒ пространственного Š·Š²ŃƒŃ‡Š°Š½ŠøŃ.", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "ДтанГарт", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "Š—Š²ŃƒŠŗŠ¾Š²Š°Ń сцена", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "Separation", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "ŠœŠøŠ½ŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "ŠŃƒŠ“ŠøŠ¾Ń„ŠøŠ»", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "Š Š°ŃŃŠµŃŠ½Š½Ń‹Š¹", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "Encore", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "Expanded Encore", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "ŠŸŃ€Š¾ŃŃ‚Ń€Š°Š½ŃŃ‚Š²ŠµŠ½Š½Š°Ń обработка несовместима с CAP. ŠŸŠ¾Š¶Š°Š»ŃƒŠ¹ŃŃ‚Š°, Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠøŃ‚Šµ CAP, чтобы ŠæŃ€Š¾Š“Š¾Š»Š¶ŠøŃ‚ŃŒ.", + "settings.option.audio.dbspl.display": "ŠžŃ‚Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ dB SPL", + "settings.option.audio.dbspl.description": "(Только Š“Š»Ń опытных ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹) ŠžŃ‚Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŠµ dB SPL вместо dBFS на ползунке громкости.", + "settings.option.audio.dbfs.calibration": "0 dBFS ŠšŠ°Š»ŠøŠ±Ń€Š¾Š²ŠŗŠ°", + "settings.option.audio.dbfs.description": "ВвеГите пиковый Z-Š²Š·Š²ŠµŃˆŠµŠ½Š½Ń‹Š¹ ŃƒŃ€Š¾Š²ŠµŠ½ŃŒ звукового Š“Š°Š²Š»ŠµŠ½ŠøŃ в ГБ, когГа Cider Š½Š°Ń…Š¾Š“ŠøŃ‚ŃŃ на ŃƒŃ€Š¾Š²Š½Šµ 0 ГБ полной ŃˆŠŗŠ°Š»Ń‹.", "settings.header.visual": "Š’Š½ŠµŃˆŠ½ŠøŠ¹ виГ", "settings.header.visual.description": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠ° внешнего виГа Cider.", "settings.option.visual.windowStyle": "Š”Ń‚ŠøŠ»ŃŒ окна", @@ -351,10 +486,19 @@ "settings.option.visual.uiscale": "Размер интерфейса", "settings.header.visual.theme": "Тема", "settings.option.visual.theme.github.download": "Š£ŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ с GitHub", + "settings.option.visual.theme.github.openfolder": "ŠžŃ‚ŠŗŃ€Ń‹Ń‚ŃŒ папку с темами", "settings.option.visual.theme.github.explore": "Š˜ŃŃŠ»ŠµŠ“Š¾Š²Š°Ń‚ŃŒ темы с GitHub", "settings.header.visual.theme.github.page": "Темы с GitHub", "settings.option.visual.theme.github.install.confirm": "Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ {{ repo }}?", "settings.prompt.visual.theme.github.URL": "ВвеГите URL темы, ŠŗŠ¾Ń‚Š¾Ń€ŃƒŃŽ хотите ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ", + "settings.prompt.visual.theme.uninstallTheme": "Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ {{ theme }}?", + "settings.option.visual.theme.checkForUpdates": "ŠŸŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ наличие обновлений", + "settings.header.visual.styles": "Дтили", + "settings.option.visual.theme.manageStyles": "Управление ŃŃ‚ŠøŠ»ŃŠ¼Šø", + "settings.option.visual.theme.uninstall": "Š£Š“Š°Š»ŠøŃ‚ŃŒ", + "settings.option.visual.theme.viewInfo": "ŠŸŃ€Š¾ŃŠ¼Š¾Ń‚Ń€ŠµŃ‚ŃŒ ŠøŠ½Ń„Š¾Ń€Š¼Š°Ń†ŠøŃŽ", + "settings.option.visual.theme.github.available": "Š”Š¾ŃŃ‚ŃƒŠæŠ½Ń‹Šµ", + "settings.option.visual.theme.github.applied": "ŠŸŃ€ŠøŠ¼ŠµŠ½Ń‘Š½Š½Ń‹Šµ", "settings.notyf.visual.theme.install.success": "Тема успешно ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½Š°", "settings.notyf.visual.theme.install.error": "ŠŠµ уГалось ŃƒŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ Ń‚ŠµŠ¼Ńƒ", "settings.header.visual.plugin": "Плагин", @@ -383,17 +527,30 @@ "settings.option.lyrics.enableMusixmatchKaraoke": "Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ режим караоке (Ń‚Š¾Š»ŃŒŠŗŠ¾ с Musixmatch)", "settings.option.lyrics.musixmatchPreferredLanguage": "ŠŸŃ€ŠµŠ“ŠæŠ¾Ń‡Ń‚ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ ŃŠ·Ń‹Šŗ перевоГа Musixmatch", "settings.option.lyrics.enableYoutubeLyrics": "Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ Youtube Lyrics Š“Š»Ń Š¼ŃƒŠ·Ń‹ŠŗŠ°Š»ŃŒŠ½Ń‹Ń… клипов", + "settings.option.lyrics.enableQQLyrics": "ŠŸŠ¾Š»ŃƒŃ‡Š°Ń‚ŃŒ текст песен ŠøŠ· QQ Lyrics", "settings.header.connectivity": "ŠŸŃ€Š¾Ń‡ŠµŠµ", "settings.header.connectivity.description": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠ° прочих параметров Cider.", - "settings.option.connectivity.discordRPC": "Discord Rich Presence", "settings.option.connectivity.playbackNotifications": "Š£Š²ŠµŠ“Š¾Š¼Š»ŠµŠ½ŠøŃ о воспроизвеГении", + "settings.option.connectivity.discordRPC": "Discord Rich Presence", + "settings.option.connectivity.discordRPC.clientName": "ŠŠ°Š·Š²Š°Š½ŠøŠµ клиента", "settings.option.connectivity.discordRPC.clearOnPause": "ŠžŃ‚ŠŗŠ»ŃŽŃ‡Š°Ń‚ŃŒ Discord Rich Presence на паузе", "settings.option.connectivity.discordRPC.hideButtons": "Š”ŠŗŃ€Ń‹Ń‚ŃŒ кнопки в Discord Rich Presence", + "settings.option.connectivity.discordRPC.hideTimestamp": "Š”ŠŗŃ€Ń‹Ń‚ŃŒ Š¾Ń‚Š¼ŠµŃ‚ŠŗŃƒ времени в Discord Rich Presence", + "settings.option.connectivity.discordRPC.detailsFormat": "Формат Геталей", + "settings.option.connectivity.discordRPC.stateFormat": "Формат ŃŠ¾ŃŃ‚Š¾ŃŠ½ŠøŃ", + "settings.option.connectivity.discordRPC.reload": "ŠŸŠµŃ€ŠµŠ·Š°Š³Ń€ŃƒŠ·ŠøŃ‚ŃŒ DiscordRPC", + "settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC ŠæŠµŃ€ŠµŠæŠ¾Š“ŠŗŠ»ŃŽŃ‡ŠµŠ½ Šŗ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŽ: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Last.fm cкробблинг", "settings.option.connectivity.lastfmScrobble.delay": "Частота скробблинга Last.fm (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "Š’ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ Last.fm Дейчас играет", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Š£Š“Š°Š»ŃŃ‚ŃŒ фит-исполнителей ŠøŠ· Š½Š°Š·Š²Š°Š½ŠøŃ песни (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Š¤ŠøŠ»ŃŒŃ‚Ń€Š¾Š²Š°Ń‚ŃŒ зацикленный трек (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "ŠŸŃ€ŠµŠ“Š¾Ń‚Š²Ń€Š°Ń‰ŠµŠ½ŠøŠµ скробблинга или Š¾Ń‚Š¾Š±Ń€Š°Š¶ŠµŠ½ŠøŃ зацикленных треков в списке «Дейчас ŠøŃŠæŠ¾Š»Š½ŃŠµŃ‚ŃŃĀ» на Last.fm.", + "settings.option.connectivity.lastfmScrobble.filterTypes": "Š¤ŠøŠ»ŃŒŃ‚Ń€Š¾Š²Š°Ń‚ŃŒ меГиа типы (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "Ввести токен Last.fm Š²Ń€ŃƒŃ‡Š½ŃƒŃŽ", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Š’Ń€ŠµŠ¼Ń ŃŠ¾ŠµŠ“ŠøŠ½ŠµŠ½ŠøŃ истекло", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm ДоеГинение успешно", + "settings.notyf.connectivity.lastfmScrobble.connecting": "ŠŸŠ¾Š“ŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµ Šŗ Last.fm...", "settings.header.debug": "Debug", "settings.option.debug.copy_log": "ŠšŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ логи в Š±ŃƒŃ„ер обмена", "settings.option.debug.openAppData": "ŠžŃ‚ŠŗŃ€Ń‹Ń‚ŃŒ папку Cider", @@ -405,12 +562,21 @@ "settings.option.experimental.unknownPlugin.description": "Š Š°Š·Ń€ŠµŃˆŠøŃ‚ŃŒ ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŃƒ плагинов ŠøŠ· репозиториев, отличных от Ń€ŠµŠæŠ¾Š·ŠøŃ‚Š¾Ń€ŠøŃ плагинов Cider", "settings.option.experimental.compactUI": "ŠšŠ¾Š¼ŠæŠ°ŠŗŃ‚Š½Ń‹Š¹ интерфейс", "settings.option.window.close_button_hide": "Кнопка Ā«Š—Š°ŠŗŃ€Ń‹Ń‚ŃŒĀ» скрывает приложение", + "settings.option.window.maxElementScale": "ŠœŠ°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ Š¼Š°ŃŃˆŃ‚Š°Š± ŃŠ»ŠµŠ¼ŠµŠ½Ń‚Š°", "settings.option.experimental.inline_playlists": "Встроенные плейлисты Šø Š°Š»ŃŒŠ±Š¾Š¼Ń‹", "settings.option.advanced.playlistTrackMapping": "Дканирование песен в плейлистах", "settings.option.advanced.playlistTrackMapping.description": "Š’ŠŗŠ»ŃŽŃ‡Š°ŠµŃ‚ глубокое сканирование плейлистов, чтобы Š¾ŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŃŒ, какие треки Š½Š°Ń…Š¾Š“ŃŃ‚ŃŃ в каких плейлистах. Š’Ń€ŠµŠ¼Ń сборки кеша плейлиста может Š·Š½Š°Ń‡ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ ŃƒŠ²ŠµŠ»ŠøŃ‡ŠøŃ‚ŃŒŃŃ.", "settings.option.visual.transparent": "ŠŸŃ€Š¾Š·Ń€Š°Ń‡Š½Š¾ŃŃ‚ŃŒ", "settings.option.visual.transparent.description": "ŠŸŃ€Š¾Š·Ń€Š°Ń‡Š½Š¾ŃŃ‚ŃŒ окна (Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ поГГержка Тем, Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ ŠæŠµŃ€ŠµŠ·Š°ŠæŃƒŃŠŗ)", + "settings.option.visual.customAccentColor": "ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒŃŠŗŠøŠ¹ основной цвет", + "settings.option.visual.accentColor": "ŠžŃŠ½Š¾Š²Š½Š¾Š¹ цвет", + "settings.option.visual.purplePodcastPlaybackBar": "Š¤ŠøŠ¾Š»ŠµŃ‚Š¾Š²Š°Ń полоса Š²Š¾ŃŠæŃ€Š¾ŠøŠ·Š²ŠµŠ“ŠµŠ½ŠøŃ Š“Š»Ń поГкастов", + "settings.option.visual.windowColor": "Цветовой оттенок", + "settings.header.visual.windowBackgroundStyle.color": "Цвет", "settings.header.advanced": "Š Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Šµ", + "settings.header.connect": "Sync", + "settings.option.connect.link_account": "Enable Sync with Cider Connect", + "settings.option.connect.link_account.description": "Linking your Discord account with Cider Connect allows you to store userdata including Settings, EQ's, and eventually more once finished. (Work In Progress)", "spatial.notTurnedOn": "ŠŸŃ€Š¾ŃŃ‚Ń€Š°Š½ŃŃ‚Š²ŠµŠ½Š½Š¾Šµ ауГио Š¾Ń‚ŠŗŠ»ŃŽŃ‡ŠµŠ½Š¾. Чтобы ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ, сначала Š²ŠŗŠ»ŃŽŃ‡ŠøŃ‚е его.", "spatial.spatialProperties": "ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠ° пространственного ауГио", "spatial.width": "Ширина", @@ -443,5 +609,44 @@ "share.platform.email": "Email", "share.platform.songLink": "Š”ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ с song.link", "share.platform.clipboard": "Š”ŠŗŠ¾ŠæŠøŃ€Š¾Š²Š°Ń‚ŃŒ ŃŃŃ‹Š»ŠŗŃƒ", - "about.thanks": "Š‘Š¾Š»ŃŒŃˆŠ¾Šµ спасибо команГе Cider Collective Šø всем нашим вклаГчикам." + "about.thanks": "Š‘Š¾Š»ŃŒŃˆŠ¾Šµ спасибо команГе Cider Collective Šø всем нашим вклаГчикам.", + "oobe.yes": "Да", + "oobe.no": "ŠŠµŃ‚", + "oobe.next": "Š”Š»ŠµŠ“ŃƒŃŽŃ‰ŠøŠ¹", + "oobe.previous": "ŠŸŃ€ŠµŠ“Ń‹Š“ŃƒŃ‰ŠøŠ¹", + "oobe.done": "Готово", + "oobe.amupsell.title": "ŠŸŃ€ŠµŠ¶Š“Šµ чем мы начнем", + "oobe.amupsell.text": "Š”Š»Ń Cider Ń‚Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ Š“ŠµŠ¹ŃŃ‚Š²ŃƒŃŽŃ‰Š°Ń ŠæŠ»Š°Ń‚Š½Š°Ń поГписка на Apple Music\nCider не Š±ŃƒŠ“ет Ń€Š°Š±Š¾Ń‚Š°Ń‚ŃŒ с тарифным планом Apple Music Voice или некоторыми рекламными пробными поГписками. Если у вас уже ŠµŃŃ‚ŃŒ ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŃŽŃ‰Š°Ń поГписка Apple Music, нажмите «Далее», чтобы ŠæŃ€Š¾Š“Š¾Š»Š¶ŠøŃ‚ŃŒ.", + "oobe.amupsell.subscribeBtn": "ŠŸŠ¾Š“ŠæŠøŃˆŠøŃ‚ŠµŃŃŒ на Apple Music", + "oobe.amupsell.explainBtn": "ŠžŠ±ŃŠŃŃŠ½ŃŃ‚ŃŒ", + "oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ", + "oobe.amupsell.amWebUrl": "https://beta.music.apple.com/", + "oobe.amupsell.promoExplained": "ŠŠµŠŗŠ¾Ń‚Š¾Ń€Ń‹Šµ рекламные Šø пробные поГписки на Apple Music за преГелами ДША не ŠøŠ¼ŠµŃŽŃ‚ Š“Š¾ŃŃ‚ŃƒŠæŠ° Šŗ необхоГимым API-интерфейсам Apple Music Web Player, необхоГимым Š“Š»Ń работы Cider. Чтобы ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ, Š±ŃƒŠ“ŠµŃ‚ ли ваша Š“ŠµŠ¹ŃŃ‚Š²ŃƒŃŽŃ‰Š°Ń ŠæŃ€Š¾Š±Š½Š°Ń Š²ŠµŃ€ŃŠøŃ Ń€Š°Š±Š¾Ń‚Š°Ń‚ŃŒ с Cider, перейГите на ŃŃ‚Ń€Š°Š½ŠøŃ†Ńƒ {{ amWebUrl }}, войГите в ŃŠøŃŃ‚ŠµŠ¼Ńƒ Šø ŠæŠ¾ŠæŃ€Š¾Š±ŃƒŠ¹Ń‚Šµ Š²ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ Š¼ŃƒŠ·Ń‹ŠŗŃƒ. Если ŃŃ‚Š¾ работает, отлично! ŠžŠ“Š½Š°ŠŗŠ¾ вы готовы ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Cider, если он не рассматривает Š²Š¾Š·Š¼Š¾Š¶Š½Š¾ŃŃ‚ŃŒ поГписки на Apple Music зГесь: {{ subscribeUrl }}", + "oobe.intro.title": "Добро ŠæŠ¾Š¶Š°Š»Š¾Š²Š°Ń‚ŃŒ в Cider", + "oobe.intro.subtitle": "", + "oobe.intro.text": "Давайте настроим кое-что, чтобы вы могли ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒ Cider, как хотите. Š’Ń‹ всегГа можете ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ ŃŃ‚Šø настройки позже.", + "oobe.general.title": "ŠžŃŠ½Š¾Š²Š½Ń‹Šµ", + "oobe.general.subtitle": "", + "oobe.general.text": "", + "oobe.audio.title": "АуГио", + "oobe.audio.subtitle": "", + "oobe.audio.text": "Š’ Cider ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ ŃŠæŠµŃ†ŠøŠ°Š»ŃŒŠ½Š¾ настроенный Šø разработанный звуковой стек, который обеспечивает богатое высококачественное Š·Š²ŃƒŃ‡Š°Š½ŠøŠµ.\nŠ’ŠŗŠ»ŃŽŃ‡Š°Ń Cider Adrenaline, Atmosphere Realizer Šø Spatialized Audio.\nŠ”Š»Ń Š²ŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŃ ŃŃ‚Š¾Š¹ Ń„ŃƒŠ½ŠŗŃ†ŠøŠø необхоГимо Š²ŠŗŠ»ŃŽŃ‡ŠøŃ‚ŃŒ \"Š Š°ŃŃˆŠøŃ€ŠµŠ½Š½Ń‹Šµ Ń„ŃƒŠ½ŠŗŃ†ŠøŠø звука\".\nŠ’ŠŗŠ»ŃŽŃ‡ŠµŠ½ŠøŠµ Ń€Š°ŃŃˆŠøŃ€ŠµŠ½Š½Š¾Š³Š¾ звука Š¤ŃƒŠ½ŠŗŃ†ŠøŠ¾Š½Š°Š»ŃŒŠ½Š¾ŃŃ‚ŃŒ Гаст вам Š“Š¾ŃŃ‚ŃƒŠæ Šŗ ŃŃ‚ŠøŠ¼ ŃƒŠ»ŃƒŃ‡ŃˆŠµŠ½ŠøŃŠ¼ в Cider Audio Labs, которые можно найти в настройках ŠæŃ€ŠøŠ»Š¾Š¶ŠµŠ½ŠøŃ.", + "oobe.audio.advancedFunctionality": "", + "oobe.visual.title": "Visual", + "oobe.visual.subtitle": "", + "oobe.visual.text": "", + "oobe.visual.layout.text": "Š’ Cider ŠµŃŃ‚ŃŒ Гва разных макета окна.\nMaverick – ŃŃ‚Š¾ макет, похожий на iTunes, с проигрывателем в верхней части окна.\nMojave – ŃŃ‚Š¾ новый вариант, созГанный Cider Collective.\n\nŠ’Ń‹ можете ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ макет в Š»ŃŽŠ±Š¾Šµ Š²Ń€ŠµŠ¼Ń в настройках.", + "oobe.visual.suggestingThemes": "Темы — отличный способ ŠæŠµŃ€ŃŠ¾Š½Š°Š»ŠøŠ·ŠøŃ€Š¾Š²Š°Ń‚ŃŒ ваш опыт. Вот некоторые ŠøŠ· них, которые мы преГлагаем: ", + "oobe.visual.suggestingThemes.subtext": "(Эти темы Š±ŃƒŠ“ŃƒŃ‚ Š·Š°Š³Ń€ŃƒŠ¶ŠµŠ½Ń‹ с GitHub)", + "oobe.visual.suggestingThemes.default": "Cider", + "oobe.visual.suggestingThemes.default.text": "ŠšŠ»Š°ŃŃŠøŃ‡ŠµŃŠŗŠ°Ń тема Cider.", + "oobe.visual.suggestingThemes.dark": "Dark", + "oobe.visual.suggestingThemes.dark.text": "Darkness.", + "oobe.visual.suggestingThemes.community1": "Groovy", + "oobe.visual.suggestingThemes.community1.text": "Тема поГ Š²Š»ŠøŃŠ½ŠøŠµŠ¼ WinUI", + "oobe.visual.suggestingThemes.community2": "iTheme", + "oobe.visual.suggestingThemes.community2.text": "The classic big fruit layout.", + "oobe.visual.suggestingThemes.community3": "Dracula", + "oobe.visual.suggestingThemes.community3.text": "ŠšŃƒŠ»ŃŒŃ‚Š¾Š²Š°Ń Ń†Š²ŠµŃ‚Š¾Š²Š°Ń гамма Š”Ń€Š°ŠŗŃƒŠ»Ń‹.", + "oobe.amsignin.title": "" } diff --git a/src/i18n/source/en_US.json b/src/i18n/source/en_US.json index e202b0bf..ba797af7 100644 --- a/src/i18n/source/en_US.json +++ b/src/i18n/source/en_US.json @@ -22,7 +22,6 @@ "term.logout": "Logout", "term.login": "Log In", "term.quickNav": "Quick Nav", - "term.cast": "Cast", "term.about": "About", "term.privateSession": "Private Session", "term.disablePrivateSession": "Disable Private Session", @@ -32,6 +31,12 @@ "term.miniplayer": "MiniPlayer", "term.history": "History", "term.search": "Search", + "term.scroll": "Scroll Mode", + "term.scroll.infinite": "Infinite", + "term.scroll.paged": "${songsPerPage} per page", + "term.live": "LIVE", + "term.showSearch": "Show search bar", + "term.hideSearch": "Hide search bar", "term.library": "Library", "term.listenNow": "Listen Now", "term.browse": "Browse", @@ -42,6 +47,7 @@ "term.artists": "Artists", "term.podcasts": "Podcasts", "term.playlists": "Playlists", + "term.charts": "Charts", "term.playlist": "Playlist", "term.newPlaylist": "New Playlist", "term.newPlaylistFolder": "New Playlist Folder", @@ -51,6 +57,7 @@ "term.navigateBack": "Navigate back", "term.navigateForward": "Navigate forward", "term.play": "Play", + "term.playpause": "Play/Pause", "term.pause": "Pause", "term.stop": "Stop", "term.previous": "Previous", @@ -135,7 +142,7 @@ "term.amLive": "Apple Music Live", "term.language": "Language", "term.funLanguages": "Fun", - "term.noLyrics": "Loading... / Lyrics not found./ Instrumental.", + "term.noLyrics": "Instrumental Track / No Lyrics.", "term.copyright": "Copyright", "term.rightsReserved": "All Rights Reserved.", "term.sponsor": "Sponsor this project", @@ -153,6 +160,7 @@ }, "term.videos": "Videos", "term.menu": "Menu", + "term.themeManaged": "Managed by a theme", "term.check": "Check", "term.aboutArtist": "About {{artistName}}", "term.topResult": "Top Result", @@ -176,8 +184,9 @@ "term.top": "Top", "term.version": "Version", "term.noVideos": "No videos found.", - "term.plugin": "Plug-in", - "term.pluginMenu": "Plug-in Menu", + "term.plugins": "Plugins", + "term.plugin": "Plugin", + "term.pluginMenu": "Plugins Menu", "term.pluginMenu.none": "No interactive plugins", "term.replay": "Replay", "term.uniqueAlbums": "Unique Albums", @@ -192,6 +201,22 @@ "term.confirmLogout": "Are you sure you want to logout?", "term.creditDesignedBy": "Designed by ${authorUsername}", "term.discNumber": "Disc ${discNumber}", + "term.reload" : "Reload Cider?", + "term.toggleprivate" : "Toggle Private Session", + "term.webremote" : "Web Remote", + "term.cast" : "Cast", + "term.cast2" : "Cast to Devices", + "term.quit" : "Quit", + "term.zoomin" : "Zoom In", + "term.zoomout" : "Zoom Out", + "term.zoomreset" : "Reset Zoom", + "term.fullscreen" : "Fullscreen", + "term.nowPlaying": "Now Playing", + "home.syncFavorites": "Sync Favorites", + "home.syncFavorites.gettingArtists": "Getting Favorited Artists...", + "action.favorite": "Favorite", + "action.removeFavorite": "Remove Favorite", + "action.refresh": "Refresh", "home.title": "Home", "home.recentlyPlayed": "Recently Played", "home.recentlyAdded": "Recently Added", @@ -220,6 +245,7 @@ "action.delete": "Delete", "action.edit": "Edit", "action.done": "Done", + "action.submit": "Submit", "action.editTracklist": "Edit Tracklist", "action.addToLibrary": "Add to Library", "action.addToLibrary.success": "Added to Library", @@ -264,11 +290,7 @@ "action.export": "Export", "action.showAlbum": "Show Complete Album", "action.tray.minimize": "Minimize to Tray", - "action.tray.quit": "Quit", "action.tray.show": "Show Cider", - "action.tray.playpause": "Play/Pause", - "action.tray.next": "Next", - "action.tray.previous": "Previous", "action.tray.listento": "Listen To:", "action.update": "Update", "action.install": "Install", @@ -288,45 +310,26 @@ "action.createNew": "Create New...", "action.openArtworkInBrowser": "Open artwork in browser", "action.scrollToTop": "Scroll to top", - "menubar.options.about": "About", - "menubar.options.settings": "Settings", - "menubar.options.quit": "Quit Cider", - "menubar.options.view": "View ", + "menubar.options.view": "View", "menubar.options.reload": "Reload", "menubar.options.forcereload": "Force Reload", "menubar.options.toggledevtools": "Toggle Developer Tools", "menubar.options.window": "Window", "menubar.options.minimize": "Minimize", - "menubar.options.toggleprivate": "Toggle Private Session", - "menubar.options.webremote": "Web Remote", - "menubar.options.audio": "Audio Settings", "menubar.options.plugins": "Plu-gins Menu", "menubar.options.controls": "Controls", - "menubar.options.next": "Next", - "menubar.options.playpause": "Play/Pause", - "menubar.options.previous": "Previous", "menubar.options.volumeup": "Volume Up", "menubar.options.volumedown": "Volume Down", - "menubar.options.browse": "Browse", - "menubar.options.artists": "Artists", - "menubar.options.search": "Search", - "menubar.options.albums": "Albums", - "menubar.options.cast": "Cast To Devices", "menubar.options.account": "Account", - "menubar.options.accountsettings": "Account Settings", "menubar.options.signout": "Sign Out", "menubar.options.support": "Support", - "menubar.options.discord": "Discord", - "menubar.options.github": "GitHub Wiki", "menubar.options.report": "Report a...", "menubar.options.bug": "Bug", "menubar.options.feature": "Feature Request", "menubar.options.trans": "Translation Report/Request", "menubar.options.license": "View License", "menubar.options.conf": "Open Configuration File in Editor", - "menubar.options.listennow": "Listen Now", - "menubar.options.recentlyAdded": "Recently Added", - "menubar.options.songs": "Songs", + "menubar.options.zoom": "Zoom", "settings.header.general": "General", "settings.header.general.description": "Adjust the general settings for Cider.", "settings.option.general.language": "Language", @@ -346,11 +349,15 @@ "settings.option.general.customizeSidebar": "Customize Sidebar Items", "settings.option.general.customizeSidebar.customize": "Customize", "settings.option.general.keybindings": "Keybindings", + "settings.option.general.keybindings.library": "Library", + "settings.option.general.keybindings.session": "Session", + "settings.option.general.keybindings.control": "Controls", + "settings.option.general.keybindings.interface": "Interface", + "settings.option.general.keybindings.advanced": "Advanced", "settings.option.general.keybindings.pressCombination": "Press a combination of two keys to update keybind.", "settings.option.general.keybindings.pressEscape": "Press Escape key to go back.", "settings.notyf.general.keybindings.update.success": "Keybind updated successfully", "settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider", - "settings.option.general.keybindings.open": "Open", "settings.option.general.themeUpdateNotification": "Automatically check for theme updates", "settings.option.general.showLovedTracksInline": "Show loved tracks inline", "settings.description.search": "Search", @@ -414,6 +421,8 @@ "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "Hokkaido Milk Tea", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "Moonlight Softcake", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "Brown Sugar Creme BrĆ»lĆ©e Milk", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "Clafoutis aux Cerises", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "Uji Matcha Mochi", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "Cuddle Warmth", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider Adrenaline Processorā„¢ļø", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "Enhances the perceived audio quality of AAC encoded audio by using a real-time algorithm that takes advantage of both psychoacoustic models of human hearing and AAC encoding characteristics.", @@ -476,6 +485,7 @@ "settings.prompt.visual.theme.github.URL": "Enter the URL of the theme you want to install", "settings.prompt.visual.theme.uninstallTheme": "Are you sure you want to uninstall {{ theme }}?", "settings.option.visual.theme.checkForUpdates": "Check for updates", + "settings.header.visual.styles": "Styles", "settings.option.visual.theme.manageStyles": "Manage Styles", "settings.option.visual.theme.uninstall": "Uninstall", "settings.option.visual.theme.viewInfo": "View Info", @@ -527,6 +537,12 @@ "settings.option.connectivity.lastfmScrobble.nowPlaying": "Enable Last.fm Now Playing", "settings.option.connectivity.lastfmScrobble.removeFeatured": "Remove featuring artists from song title (Last.fm)", "settings.option.connectivity.lastfmScrobble.filterLoop": "Filter looped track (Last.fm)", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "Prevent looped tracks from being scrobbled or displayed in the Now Playing list on Last.fm.", + "settings.option.connectivity.lastfmScrobble.filterTypes": "Filter Media Types (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "Enter Last.fm Token Manually", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm Connection Timed Out", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm Connection Successful", + "settings.notyf.connectivity.lastfmScrobble.connecting": "Connecting to Last.fm...", "settings.header.debug": "Debug", "settings.option.debug.copy_log": "Copy logs to clipboard", "settings.option.debug.openAppData": "Open Cider Folder", @@ -538,11 +554,18 @@ "settings.option.experimental.unknownPlugin.description": "Allow installation of plugins from repos other than the Cider Plugin Repository", "settings.option.experimental.compactUI": "Compact UI", "settings.option.window.close_button_hide": "Close Button Should Hide the Application", + "settings.option.window.maxElementScale": "Maximum Element Scale", "settings.option.experimental.inline_playlists": "Inline Playlists and Albums", "settings.option.advanced.playlistTrackMapping": "Playlist Track Mapping", "settings.option.advanced.playlistTrackMapping.description": "Enables deep scanning of playlists to determine which tracks are in which playlists. Playlist cache build times can increase significantly.", "settings.option.visual.transparent": "Transparent frame", "settings.option.visual.transparent.description": "needs Theme Support, requires relaunch", + "settings.option.visual.customAccentColor": "Custom Accent Color", + "settings.option.visual.accentColor": "Accent Color", + "settings.option.visual.purplePodcastPlaybackBar": "Purple Playback Bar for Podcasts", + "settings.option.visual.compactArtistHeader": "Compact Artist Header", + "settings.option.visual.windowColor": "Window Tint Color", + "settings.header.visual.windowBackgroundStyle.color": "Color Tint", "settings.header.advanced": "Advanced", "settings.header.connect": "Sync", "settings.option.connect.link_account": "Enable Sync with Cider Connect", @@ -619,4 +642,4 @@ "oobe.visual.suggestingThemes.community3": "Dracula", "oobe.visual.suggestingThemes.community3.text": "The iconic Dracula color scheme.", "oobe.amsignin.title": "" -} +} \ No newline at end of file diff --git a/src/i18n/zh_CN.json b/src/i18n/zh_CN.json index 493a6395..100546db 100644 --- a/src/i18n/zh_CN.json +++ b/src/i18n/zh_CN.json @@ -2,7 +2,7 @@ "i18n.languageName": "ē®€ä½“äø­ę–‡ļ¼ˆäø­å›½ļ¼‰", "i18n.languageNameEnglish": "Simp. Chinese (China)", "i18n.category": "main", - "i18n.authors": "@notmaikiwi @BillKerman @jay900604", + "i18n.authors": "@notmaikiwi @BillKerman @jay900604 @sakura0224", "app.name": "Cider", "date.format": "${y}幓${m}月${d}ę—„", "dialog.cancel": "å–ę¶ˆ", @@ -10,6 +10,7 @@ "notification.updatingLibrarySongs": "ę­£åœØę›“ę–°ę­Œę›²čµ„ę–™åŗ“...", "notification.updatingLibraryAlbums": "ę­£åœØę›“ę–°äø“č¾‘čµ„ę–™åŗ“...", "notification.updatingLibraryArtists": "ę­£åœØę›“ę–°č‰ŗäŗŗčµ„ę–™åŗ“...", + "term.variables": "Variables", "term.appleInc": "Apple Inc.", "term.appleMusic": "Apple Music", "term.applePodcasts": "Apple Podcasts", @@ -20,13 +21,22 @@ "term.accountSettings": "蓦户设置", "term.logout": "退出登录", "term.login": "登录", + "term.quickNav": "åæ«é€ŸåÆ¼čˆŖ", "term.about": "å…³äŗŽ", - "term.privateSession": "私人聆听", - "term.lyrics": "ę­ŒčÆ", + "term.privateSession": "éščŗ«č†å¬", + "term.disablePrivateSession": "åœę­¢éščŗ«č†å¬", "term.queue": "å¾…ę’­ęø…å•", - "term.history": "åŽ†å²č®°å½•", + "term.autoplay": "č‡ŖåŠØę’­ę”¾", + "term.lyrics": "ę­ŒčÆ", "term.miniplayer": "迷你播放器", + "term.history": "åŽ†å²č®°å½•", "term.search": "搜瓢", + "term.scroll": "ę»šåŠØęØ”å¼", + "term.scroll.infinite": "ę— é™åˆ¶", + "term.scroll.paged": "ęÆé”µ${songsPerPage}首", + "term.live": "LIVE", + "term.showSearch": "ę˜¾ē¤ŗęœē“¢ę ", + "term.hideSearch": "éšč—ęœē“¢ę ", "term.library": "资料库", "term.listenNow": "ēŽ°åœØå°±å¬", "term.browse": "ęµč§ˆ", @@ -37,23 +47,33 @@ "term.artists": "艺人", "term.podcasts": "播客", "term.playlists": "ę’­ę”¾åˆ—č”Ø", + "term.charts": "ęŽ’č”Œę¦œ", "term.playlist": "ę’­ę”¾åˆ—č”Ø", "term.newPlaylist": "ę–°ę’­ę”¾åˆ—č”Ø", "term.newPlaylistFolder": "ę–°ę’­ę”¾åˆ—č”Øę–‡ä»¶å¤¹", "term.createNewPlaylist": "ę–°å»ŗę’­ę”¾åˆ—č”Ø", "term.createNewPlaylistFolder": "ę–°å»ŗę’­ę”¾åˆ—č”Øę–‡ä»¶å¤¹", "term.deletePlaylist": "ę‚Øē”®å®šč¦åˆ é™¤čÆ„ę’­ę”¾åˆ—č”Øå—?", + "term.navigateBack": "äøŠäø€é”µ", + "term.navigateForward": "下一锵", "term.play": "播放", + "term.playpause": "播放/ęš‚åœ", "term.pause": "ęš‚åœ", + "term.stop": "停止", "term.previous": "äøŠäø€é¦–", "term.next": "下一首", "term.shuffle": "éšęœŗę’­ę”¾", - "term.repeat": "é‡å¤ę’­ę”¾", + "term.enableShuffle": "å¼€åÆéšęœŗę’­ę”¾", + "term.disableShuffle": "å…³é—­éšęœŗę’­ę”¾", + "term.repeat": "å¾ŖēŽÆę’­ę”¾", + "term.enableRepeatOne": "å¼€åÆå•ę›²å¾ŖēŽÆ", + "term.disableRepeatOne": "å…³é—­å•ę›²å¾ŖēŽÆ", + "term.disableRepeat": "å…³é—­å¾ŖēŽÆę’­ę”¾", "term.volume": "音量", "term.mute": "静音", "term.unmute": "č§£é™¤é™éŸ³", "term.share": "åˆ†äŗ«", - "term.share.success": "å·²ę‹·č²åˆ°å‰Ŗč““ęæ", + "term.share.success": "å·²ę‹·č“åˆ°å‰Ŗč““ęæ", "term.settings": "设置", "term.seeAll": "ęŸ„ēœ‹å…ØéƒØ", "term.sortBy": "ęŽ’åŗ", @@ -63,12 +83,14 @@ "term.sortBy.genre": "ē±»åž‹", "term.sortBy.releaseDate": "å‘č”Œę—„ęœŸ", "term.sortBy.duration": "时长", + "term.sortBy.dateAdded": "åŠ å…„ę—„ęœŸ", "term.sortOrder": "å­—ęÆęŽ’åŗ", "term.sortOrder.ascending": "å‡åŗ", "term.sortOrder.descending": "å€’åŗ", "term.viewAs": "ę˜¾ē¤ŗęØ”å¼", "term.viewAs.coverArt": "äø“č¾‘å°é¢", "term.viewAs.list": "åˆ—č”Ø", + "term.dynamic": "åŠØę€", "term.size": "大小", "term.size.normal": "正常", "term.size.compact": "瓧凑", @@ -90,6 +112,8 @@ "term.time.added": "ę·»åŠ äŗŽ", "term.time.released": "å‘č”ŒäŗŽ", "term.time.updated": "ę›“ę–°äŗŽ", + "term.time.days": "天", + "term.time.day": "天", "term.time.hours": "å°ę—¶", "term.time.hour": "å°ę—¶", "term.time.minutes": "分钟", @@ -101,7 +125,9 @@ "term.audioControls": "éŸ³é¢‘ęŽ§åˆ¶", "term.audioSettings": "éŸ³é¢‘č®¾ē½®", "term.clearAll": "清空", - "term.recentStations": "ęœ€čæ‘ę’­ę”¾ēš„é¢‘é“", + "term.recentStations": "ęœ€čæ‘ę’­ę”¾ēš„å¹æę’­", + "term.personalStations": "ęœ€čæ‘ę’­ę”¾ēš„äøŖäŗŗå¹æę’­", + "term.amLive": "Apple Music Live", "term.language": "语言", "term.funLanguages": "ꁶꐞ", "term.noLyrics": "加载中... / ę— ęœē“¢ē»“ęžœ / 纯音乐", @@ -115,13 +141,11 @@ "term.contributors": "č“”ēŒ®č€…", "term.equalizer": "å‡č””å™Ø", "term.reset": "é‡ē½®", - "term.track": { - "one": "é¦–ę­Œę›²", - "other": "é¦–ę­Œę›²" - }, "term.tracks": "ę­Œę›²", + "term.track": "é¦–ę­Œę›²", "term.videos": "éŸ³ä¹č§†é¢‘", "term.menu": "čœå•", + "term.themeManaged": "ē”±äø»é¢˜ę‰€ē®”ē†", "term.check": "ę£€ęŸ„", "term.aboutArtist": "å…³äŗŽ{{artistName}}", "term.topResult": "ēƒ­é—Øęœē“¢ē»“ęžœ", @@ -137,13 +161,47 @@ "term.song.link.generate": "čŽ·å– song.link å…±äŗ«é“¾ęŽ„...", "term.musicVideos": "éŸ³ä¹č§†é¢‘", "term.stations": "ē”µå°", + "term.curators": "策展人", + "term.appleCurators": "Apple 策展人", "term.radioShows": "å¹æę’­å•é›†", "term.recordLabels": "å”±ē‰‡å…¬åø", "term.videoExtras": "视频特辑", + "term.top": "锶部", "term.version": "ē‰ˆęœ¬", + "term.noVideos": "无视频", + "term.plugins": "ę’ä»¶", "term.plugin": "ę’ä»¶", "term.pluginMenu": "ę’ä»¶čœå•", "term.pluginMenu.none": "ę²’ęœ‰äŗ¤äŗ’å¼ę’ä»¶", + "term.replay": "éŸ³ä¹å›žåæ†", + "term.uniqueAlbums": "独特专辑", + "term.uniqueArtists": "č¶…ē»č‰ŗäŗŗ", + "term.uniqueSongs": "åˆ«č‡“å•ę›²", + "term.topArtists": "ēƒ­é—Øč‰ŗäŗŗ", + "term.listenedTo": "听过", + "term.times": "ꬔ", + "term.topAlbums": "ēƒ­é—Øäø“č¾‘", + "term.plays": "ꬔ", + "term.topGenres": "ēƒ­é—Øē±»åž‹", + "term.confirmLogout": "ä½ ē”®å®šč¦é€€å‡ŗē™»å½•å—?", + "term.creditDesignedBy": "ē”± ${authorUsername} 设讔", + "term.discNumber": "碟 ${discNumber}", + "term.reload" : "é‡ę–°č½½å…„ Cider?", + "term.toggleprivate": "åˆ‡ę¢éščŗ«č†å¬", + "term.webremote": "čæœēØ‹ęŽ§åˆ¶", + "term.cast": "ęŠ•å°„", + "term.cast2" : "ęŠ•å°„åˆ°č®¾å¤‡", + "term.quit" : "退出应用", + "term.zoomin" : "放大", + "term.zoomout" : "ē¼©å°", + "term.zoomreset" : "é‡ē½®ē¼©ę”¾", + "term.fullscreen" : "å…Øå±ęØ”å¼", + "term.nowPlaying": "ę­£åœØę’­ę”¾", + "home.syncFavorites": "åŒę­„å–œēˆ±č‰ŗäŗŗ", + "home.syncFavorites.gettingArtists": "čŽ·å–å–œēˆ±č‰ŗäŗŗ...", + "action.favorite": "å–œēˆ±", + "action.removeFavorite": "å–ę¶ˆå–œēˆ±", + "action.refresh": "åˆ·ę–°", "home.title": "主锵", "home.recentlyPlayed": "ęœ€čæ‘ę’­ę”¾", "home.recentlyAdded": "ęœ€čæ‘ę·»åŠ ", @@ -164,8 +222,15 @@ "podcast.episodes": "单集", "podcast.playEpisode": "ę’­ę”¾å•é›†", "podcast.website": "Podcast 网站", + "action.hideLibrary": "éšč—čµ„ę–™åŗ“", + "action.showLibrary": "ę˜¾ē¤ŗčµ„ę–™åŗ“", + "action.cut": "å‰Ŗåˆ‡", + "action.paste": "粘蓓", + "action.selectAll": "全选", + "action.delete": "删除", "action.edit": "编辑", "action.done": "完成", + "action.submit": "ęäŗ¤", "action.editTracklist": "ē¼–č¾‘ę­Œę›²ęø…å•", "action.addToLibrary": "åŠ å…„čµ„ę–™åŗ“", "action.addToLibrary.success": "ęˆåŠŸåŠ å…„čµ„ę–™åŗ“", @@ -181,7 +246,7 @@ "action.createPlaylist": "ę–°å»ŗę’­ę”¾åˆ—č”Ø", "action.addToPlaylist": "ę·»åŠ åˆ°ę’­ę”¾åˆ—č”Ø", "action.removeFromPlaylist": "ä»Žę’­ę”¾åˆ—č”Øē§»é™¤", - "action.addToFavorites": "åŠ č‡³ę”¶č—", + "action.addToFavorites": "ę·»åŠ č‡³ę”¶č—", "action.follow": "关注", "action.follow.success": "已关注", "action.follow.error": "å°čÆ•å…³ę³Øēš„čæ‡ēØ‹å‘ē”Ÿäŗ†é”™čÆÆ", @@ -193,7 +258,8 @@ "action.startRadio": "å¼€å§‹ē”µå°", "action.goToArtist": "å‰å¾€č‰ŗäŗŗ", "action.goToAlbum": "å‰å¾€äø“č¾‘", - "action.showInAppleMusic": "ę˜¾ē¤ŗäŗŽ Apple Music", + "action.showInPlaylist": "åœØę’­ę”¾åˆ—č”Øäø­ę˜¾ē¤ŗ", + "action.showInAppleMusic": "在 Apple Music 中显示", "action.moveToTop": "移到锶部", "action.share": "åˆ†äŗ«ę­Œę›²", "action.rename": "重命名", @@ -209,24 +275,49 @@ "action.export": "导出", "action.showAlbum": "ę˜¾ē¤ŗäø“č¾‘", "action.tray.minimize": "ęœ€å°åŒ–", - "action.tray.quit": "退出", + "action.tray.show": "显示 Cider", + "action.tray.listento": "Listen To:", "action.update": "ꛓꖰ", + "action.install": "安装", "action.copy": "复制", "action.newpreset": "ę–°å»ŗé»˜č®¤...", "action.deletepreset": "åˆ é™¤é»˜č®¤", "action.open": "打开", + "action.close": "关闭", + "action.relaunch.confirm": "ä½ ęƒ³é‡ę–°åÆåŠØ Cider 吗?", "action.cast.chromecast": "Chromecast", "action.cast.todevices": "ęŠ•å°„åˆ°č®¾å¤‡", "action.cast.stop": "åœę­¢ęŠ•å°„åˆ°ę‰€ęœ‰č®¾å¤‡", - "action.cast.airplay": "AirPlay", - "action.cast.airplay.underdevelopment": "AirPlay ä»å¤„äŗŽå¼€å‘é˜¶ę®µäø­ļ¼Œę•¬čÆ·ęœŸå¾…ć€‚", + "action.cast.airplay": "éš”ē©ŗę’­ę”¾", + "action.cast.airplay.underdevelopment": "éš”ē©ŗę’­ę”¾ä»å¤„äŗŽå¼€å‘é˜¶ę®µäø­ļ¼Œę•¬čÆ·ęœŸå¾…ć€‚", "action.cast.scan": "搜瓢", "action.cast.scanning": "搜瓢中...", "action.createNew": "添加...", + "action.openArtworkInBrowser": "åœØęµč§ˆå™Øäø­ę‰“å¼€äø“č¾‘å°é¢", + "action.scrollToTop": "å›žåˆ°é”¶éƒØ", + "menubar.options.view": "ęŸ„ēœ‹ ", + "menubar.options.reload": "é‡ę–°č½½å…„", + "menubar.options.forcereload": "å¼ŗåˆ¶é‡ę–°č½½å…„", + "menubar.options.toggledevtools": "åˆ‡ę¢å¼€å‘äŗŗå‘˜å·„å…·", + "menubar.options.window": "ēŖ—å£", + "menubar.options.minimize": "ęœ€å°åŒ–", + "menubar.options.plugins": "ę’ä»¶ē›®å½•", + "menubar.options.controls": "ęŽ§åˆ¶", + "menubar.options.volumeup": "增大音量", + "menubar.options.volumedown": "减小音量", + "menubar.options.account": "蓦ꈷ", + "menubar.options.signout": "注销", + "menubar.options.support": "ę”ÆęŒ", + "menubar.options.report": "ęŠ„å‘Š...", + "menubar.options.bug": "Bug", + "menubar.options.feature": "åŠŸčƒ½čÆ·ę±‚", + "menubar.options.trans": "ēæ»čÆ‘ęŠ„å‘Š/请求", + "menubar.options.license": "ęŸ„ēœ‹ęŽˆęƒ", + "menubar.options.conf": "åœØē¼–č¾‘å™Øę‰“å¼€é…ē½®ę–‡ä»¶", + "menubar.options.zoom": "缩放", "settings.header.general": "é€šē”Ø", "settings.header.general.description": "č°ƒę•“ Cider ēš„é€šē”Øč®¾ē½®", - "settings.option.audio.volumeStep": "éŸ³é‡ę”¹å˜é‡", - "settings.option.audio.maxVolume": "ęœ€å¤§éŸ³é‡", + "settings.option.general.language": "语言", "settings.option.general.resumebehavior": "ę¢å¤č”Œäøŗ", "settings.option.general.resumebehavior.description": "会影响你回到 Cider åŗ”ē”ØēØ‹åŗę—¶ļ¼Œę¢å¤ę­Œę›²ēš„ę–¹å¼ć€‚", "settings.option.general.resumebehavior.locally": "本地", @@ -237,32 +328,66 @@ "settings.option.general.resumetabs.description": "ä½ åÆä»„é€‰ę‹©åÆåŠØ Cider ę—¶č¦é»˜č®¤ę‰“å¼€ēš„é”µé¢ć€‚", "settings.option.general.resumetabs.dynamic": "åŠØę€", "settings.option.general.resumetabs.dynamic.description": "Cider å°†č‡ŖåŠØę‰“å¼€ä½ äøŠę¬”åœē•™ēš„é”µé¢ć€‚", - "settings.option.general.language": "语言", "settings.option.general.language.main": "语言", "settings.option.general.language.fun": "ę¶ęžčÆ­čØ€", "settings.option.general.language.unsorted": "ęœŖåˆ†ē±»", "settings.option.general.customizeSidebar": "č‡Ŗå®šä¹‰ä¾§č¾¹ę ēš„åŠŸčƒ½", "settings.option.general.customizeSidebar.customize": "č‡Ŗå®šä¹‰", "settings.option.general.keybindings": "åæ«ę·ę“ä½œé”®", - "settings.option.general.keybindings.open": "打开", + "settings.option.general.keybindings.library": "资料库", + "settings.option.general.keybindings.session": "聆听", + "settings.option.general.keybindings.control": "ęŽ§åˆ¶", + "settings.option.general.keybindings.interface": "ē•Œé¢", + "settings.option.general.keybindings.advanced": "高级", + "settings.option.general.keybindings.pressCombination": "ęŒ‰äø‹äø¤äøŖé”®ē»„åˆę„ę›“ę–°ę“ä½œč®¾å®šć€‚", + "settings.option.general.keybindings.pressEscape": "ęŒ‰äø‹ Esc é”®čæ”å›žć€‚", + "settings.notyf.general.keybindings.update.success": "åæ«ę·é”®ę›“ę–°ęˆåŠŸć€‚", + "settings.prompt.general.keybindings.update.success": "åæ«ę·é”®ę›“ę–°ęˆåŠŸļ¼ŒęŒ‰äø‹ OK é‡ę–°åÆåŠØ Cider怂", + "settings.option.general.themeUpdateNotification": "č‡ŖåŠØę£€ęŸ„äø»é¢˜ę›“ę–°", + "settings.option.general.showLovedTracksInline": "č”Œå†…ę˜¾ē¤ŗå–œēˆ±ę›²ē›®", + "settings.description.search": "搜瓢", + "settings.description.albums": "资料库专辑", + "settings.description.artists": "资料库艺人", + "settings.description.browse": "ęµč§ˆ", + "settings.description.private": "éščŗ«č†å¬", + "settings.description.remote": "čæœēØ‹ęŽ§åˆ¶", + "settings.description.audio": "éŸ³é¢‘č®¾å®š", + "settings.description.plugins": "ę’ä»¶ē›®å½•", + "settings.description.cast": "ęŠ•å°„åˆ°č£…ē½®", + "settings.description.settings": "设置", + "settings.description.developer": "å¼€å‘č€…", + "settings.description.listnow": "ēŽ°åœØå°±å¬", + "settings.description.recentAdd": "ęœ€čæ‘åŠ å…„", + "settings.description.songs": "ę­Œę›²", "settings.notyf.updateCider.update-not-available": "ę²”ęœ‰åÆē”Øēš„ę›“ę–°", "settings.notyf.updateCider.update-downloaded": "ę›“ę–°å·²ęˆåŠŸäø‹č½½ļ¼Œé‡åÆåŽčæ›č”Œę›“ę–°", "settings.notyf.updateCider.update-timeout": "ꛓꖰ超ꗶ", "settings.header.audio": "音频", "settings.header.audio.description": "č°ƒę•“ Cider ēš„éŸ³é¢‘č®¾ē½®", + "settings.option.audio.volumeStep": "éŸ³é‡ę”¹å˜é‡", + "settings.option.audio.advanced": "高级功能", + "settings.option.audio.maxVolume": "ęœ€å¤§éŸ³é‡", + "settings.option.audio.changePlaybackRate": "äæ®ę”¹ę’­ę”¾é€Ÿåŗ¦", + "settings.option.audio.playbackRate": "ę’­ę”¾é€Ÿåŗ¦", + "settings.option.audio.playbackRate.change": "修改", "settings.option.audio.quality": "音蓨", "settings.header.audio.quality.hireslossless": "é«˜č§£ęžåŗ¦ę— ęŸ", "settings.header.audio.quality.hireslossless.description": "(ęœ€é«˜ 24 位/192 kHz)", "settings.header.audio.quality.lossless": "ꗠꍟ", "settings.header.audio.quality.lossless.description": "(ęœ€é«˜ 24 位/48 kHz)", "settings.header.audio.quality.high": "高音蓨", + "settings.header.audio.quality.high.description": "256 kbps", "settings.header.audio.quality.standard": "é«˜ę•ˆēŽ‡", + "settings.header.audio.quality.standard.description": "64 kbps", "settings.option.audio.seamlessTransition": "ę— ē¼ę’­ę”¾", "settings.option.audio.enableAdvancedFunctionality": "é«˜ēŗ§éŸ³é¢‘åŠŸčƒ½", "settings.option.audio.enableAdvancedFunctionality.description": "打开 AudioContext å°†åÆē”Øē±»ä¼¼éŸ³é‡å¹³č””å’Œē­‰åŒ–å™Øēš„é«˜ēŗ§č®¾ē½®ć€‚ä½†čæ™å¹¶äøäø€å®šé€‚åˆęÆéƒØē”µč„‘ļ¼ŒåÆčƒ½ä¼šå‘ē”ŸéŸ³ä¹å”é”æć€‚", + "settings.warn.audio.enableAdvancedFunctionality.lowcores": "ę‚Øēš„ē”µč„‘åÆčƒ½ę— ę³•å¤„ē†čæ™äŗ›åŠŸčƒ½, ę‚Øē”®å®šč¦ē»§ē»­?", "settings.option.audio.audioLab": "Cider éŸ³é¢‘å®žéŖŒå®¤", "settings.option.audio.audioLab.description": "åŒ…å«ē”± Cider å¼€å‘å›¢é˜Ÿčæ›č”Œēš„å„ē§éŸ³é¢‘ä¼˜åŒ–åŠŸčƒ½ć€‚", + "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", "settings.warn.audioLab.withoutAF": "使用 Cider éŸ³é¢‘å®žéŖŒå®¤éœ€č¦ę‰“å¼€čæ›é˜¶éŸ³é¢‘åŠŸčƒ½ę‰åÆä½æē”Øć€‚", + "settings.warn.enableAdvancedFunctionality": "ę­¤åŠŸčƒ½éœ€č¦å¼€åÆé«˜ēŗ§éŸ³é¢‘åŠŸčƒ½ę‰åÆä½æē”Øć€‚", "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "ęØ”ę‹Ÿęø©ęš–", "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "仄 Korg Nutube 6P1 äøŗč“ęœ¬ēš„ęØ”ę‹Ÿęø©ęš–ć€‚", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "ęØ”ę‹Ÿęø©ęš–å¼ŗåŗ¦", @@ -280,11 +405,18 @@ "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.E168_1": "ę˜„ęÆ«čŒ‰čŽ‰ēŽ›ēŖé›…ęœµ", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z3600": "åŒ—ęµ·é“å„¶čŒ¶", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500A": "ęœˆå…‰č½Æé„¼å¹²", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.BSCBM": "åøƒč•¾é»‘ē³–é²œå„¶", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500B": "ęØ±ę”ƒå…‹ę‹‰čŠ™ē¼‡", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.Z8500C": "å®‡ę²»ęŠ¹čŒ¶éŗ»ē³¬", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.CUDDLE": "ęø©ęš–ęŠ±ęŠ±", "settings.option.audio.enableAdvancedFunctionality.ciderPPE": "Cider ę•°ē å¢žå¼ŗéŸ³é¢‘å¤„ē†ā„¢ļø", "settings.option.audio.enableAdvancedFunctionality.ciderPPE.description": "é€ščæ‡äŗŗē±»ēš„å¬åŠ›åæƒē†å­¦ęØ”åž‹å’Œ AAC ē¼–ē ē‰¹č‰²ēš„å³ę—¶ē®—ę³•ļ¼Œå¼ŗåŒ– AAC éŸ³é¢‘ēš„ę„ŸēŸ„éŸ³é¢‘č“Øé‡ć€‚", + "settings.warn.audio.enableAdvancedFunctionality.ciderPPE.compatibility": "ę•°ē å¢žå¼ŗéŸ³é¢‘å¤„ē†äøŽē©ŗé—“éŸ³é¢‘äøå…¼å®¹ļ¼ŒčÆ·å…ˆåœē”Øē©ŗé—“éŸ³é¢‘ć€‚", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength": "ę•°ē å¢žå¼ŗéŸ³é¢‘å¤„ē†č®¾ē½®", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.description": "å°†ę›“ę”¹éŸ³é¢‘å¤„ē†ēš„ęæ€čæ›/ęŒÆå„‹ēØ‹åŗ¦ļ¼ˆå¢žå¼ŗé€‰é”¹ęœ‰åÆčƒ½ä¼šå¼•čµ·ę‚č®Æļ¼‰ć€‚", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.standard": "标准", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.adaptive": "自适应", + "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.legacy": "传统", "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "å¢žå¼ŗ", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "éŸ³é‡å¹³č””", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "č‡ŖåŠØå°†ę­Œę›²ę’­ę”¾éŸ³é‡č°ƒę•“åˆ°ē›øåŒę°“å¹³ļ¼Œäŗ«å—ę›“čˆ’é€‚ēš„č†å¬ä½“éŖŒć€‚", @@ -294,11 +426,21 @@ "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider éŸ³é¢‘ē©ŗé—“é…ē½®ę”£", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.description": "å˜ę›“éŸ³é¢‘ē©ŗé—“ēš„é…ē½®ę”£ļ¼Œéœ€é‡ę–°åÆåŠØåŗ”ē”ØēØ‹åŗć€‚", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.standard": "标准", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.soundstage": "声场", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.separation": "åˆ†ē¦»ę„Ÿ", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.minimal": "微调", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.audiophile": "å‘ēƒ§å‹", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.diffused": "扩散", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.bplk": "å®‰åÆ", + "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile.hw2k": "å»¶é•æē‰ˆå®‰åÆ", "settings.warn.audio.enableAdvancedFunctionality.audioSpatialization.compatibility": "éŸ³é¢‘ē©ŗé—“ę— ę³•äøŽ CAP ē›øå®¹ļ¼ŒčÆ·å…³é—­ CAP åœØčæ›č”Œę“ä½œć€‚", - "settings.option.visual.uiscale": "UIē•Œé¢å¤§å°", + "settings.option.audio.dbspl.display": "显示 dB SPL(声压)", + "settings.option.audio.dbspl.description": "(äø“äøšē”Øęˆ·é€‰é”¹) éŸ³é‡ę»‘åŠØę”ę˜¾ē¤ŗ dB SPL 而非 dBFS怂", + "settings.option.audio.dbfs.calibration": "0 dBFS 栔正", + "settings.option.audio.dbfs.description": "输兄当 Cider äøŗ 0 dBFS ę—¶ēš„å³°å€¼ Z åŠ ęƒ dB SPL怂", "settings.header.visual": "外观", "settings.header.visual.description": "č°ƒę•“ Cider ēš„å¤–č§‚", + "settings.option.visual.windowStyle": "ēŖ—å£é£Žę ¼", "settings.option.visual.windowBackgroundStyle": "ēŖ—å£čƒŒę™Æę ·å¼", "settings.header.visual.windowBackgroundStyle.none": "ꗠ", "settings.header.visual.windowBackgroundStyle.artwork": "äø“č¾‘ę’å›¾", @@ -318,10 +460,22 @@ "settings.option.visual.hardwareAcceleration.description": "éœ€č¦é‡åÆ Cider ę‰ä¼šē”Ÿę•ˆ", "settings.header.visual.hardwareAcceleration.default": "默认", "settings.header.visual.hardwareAcceleration.webGPU": "WebGPU", + "settings.option.visual.uiscale": "UIē•Œé¢å¤§å°", "settings.header.visual.theme": "主题", "settings.option.visual.theme.github.download": "从 GitHub é“¾ęŽ„å®‰č£…", + "settings.option.visual.theme.github.openfolder": "å¼€åÆäø»é¢˜ę–‡ä»¶å¤¹", "settings.option.visual.theme.github.explore": "ęµč§ˆ GitHub äøŠēš„äø»é¢˜", + "settings.header.visual.theme.github.page": "GitHub äøŠēš„äø»é¢˜", + "settings.option.visual.theme.github.install.confirm": "ä½ ē”®å®šč¦å®‰č£… {{ repo }}", "settings.prompt.visual.theme.github.URL": "č¾“å…„ę‚Øč¦å®‰č£…ēš„ēŖ—å£äø»é¢˜é“¾ęŽ„", + "settings.prompt.visual.theme.uninstallTheme": "ä½ ē”®å®šč¦åˆ é™¤ {{ theme }}", + "settings.option.visual.theme.checkForUpdates": "ę£€ęŸ„ę›“ę–°", + "settings.header.visual.styles": "主题", + "settings.option.visual.theme.manageStyles": "ē®”ē†äø»é¢˜", + "settings.option.visual.theme.uninstall": "åøč½½", + "settings.option.visual.theme.viewInfo": "ęŸ„ēœ‹äæ”ęÆ", + "settings.option.visual.theme.github.available": "åÆä½æē”Øēš„äø»é¢˜", + "settings.option.visual.theme.github.applied": "已应用", "settings.notyf.visual.theme.install.success": "äø»é¢˜ęˆåŠŸå®‰č£…", "settings.notyf.visual.theme.install.error": "äø»é¢˜å®‰č£…å¤±č“„", "settings.header.visual.plugin": "ę’ä»¶", @@ -353,18 +507,27 @@ "settings.option.lyrics.enableQQLyrics": "启用 QQ éŸ³ä¹ēš„ę­ŒčÆ", "settings.header.connectivity": "å¤–éƒØčæžęŽ„", "settings.header.connectivity.description": "č°ƒę•“ Cider äøŽå¤–éƒØåŗ”ē”Øēš„äŗ¤äŗ’č®¾ē½®", - "settings.option.connectivity.discordRPC": "Discord åŠØę€", "settings.option.connectivity.playbackNotifications": "ę­Œę›²ę’­ę”¾é€šēŸ„", + "settings.option.connectivity.discordRPC": "Discord åŠØę€", "settings.option.connectivity.discordRPC.clientName": "åŗ”ē”ØēØ‹åŗåē§°", "settings.option.connectivity.discordRPC.clearOnPause": "ęš‚åœę—¶ęø…é™¤ Discord åŠØę€", "settings.option.connectivity.discordRPC.hideButtons": "隐藏 Discord åŠØę€äøŠēš„ęŒ‰é’®", + "settings.option.connectivity.discordRPC.hideTimestamp": "隐藏 Discord åŠØę€äøŠēš„ę—¶é—“ęˆ³", "settings.option.connectivity.discordRPC.detailsFormat": "čÆ¦ē»†äæ”ęÆę ¼å¼", "settings.option.connectivity.discordRPC.stateFormat": "åŠØę€ę ¼å¼", + "settings.option.connectivity.discordRPC.reload": "é‡ę–°åŠ č½½ DiscordRPC", + "settings.option.connectivity.discordRPC.reconnectedToUser": "DiscordRPC é‡ę–°čæžęŽ„č‡³ē”Øęˆ·: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Last.FM éŸ³ä¹č®°å½•", "settings.option.connectivity.lastfmScrobble.delay": "Last.FM ę­Œę›²čæ½čøŖå»¶čæŸ (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "打开 Last.FM ę­£åœØč†å¬", "settings.option.connectivity.lastfmScrobble.removeFeatured": "ä»Žę­Œåé‡ŒåŽ»é™¤åˆä½œč€… (Last.FM)", "settings.option.connectivity.lastfmScrobble.filterLoop": "äøč®°å½•å•ę›²å¾ŖēŽÆ (Last.FM)", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "é˜²ę­¢å¾ŖēŽÆå•ę›²č¢«č®°å½•ęˆ–å±•ē¤ŗåœØLast.FM ēš„ę­£åœØę’­ę”¾åˆ—č”Øäø­ć€‚", + "settings.option.connectivity.lastfmScrobble.filterTypes": "čæ‡ę»¤åŖ’ä½“ē±»åž‹ (Last.fm)", + "settings.option.connectivity.lastfmScrobble.manualToken": "ę‰‹åŠØč¾“å…„ Last.fm 验证码", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.fm čæžęŽ„č¶…ę—¶", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.fm čæžęŽ„ęˆåŠŸ", + "settings.notyf.connectivity.lastfmScrobble.connecting": "ę­£åœØčæžęŽ„č‡³ Last.fm...", "settings.header.debug": "Debug", "settings.option.debug.copy_log": "ę‹·č“ę—„åæ—č‡³å‰Ŗč““ęæ", "settings.option.debug.openAppData": "打开 Cider ēØ‹åŗę–‡ä»¶å¤¹", @@ -376,12 +539,21 @@ "settings.option.experimental.unknownPlugin.description": "å…č®øä»Ž Cider ę„ęŗä»„å¤–ēš„ repo å®‰č£…ę’ä»¶", "settings.option.experimental.compactUI": "ē“§å‡‘åž‹ UI", "settings.option.window.close_button_hide": "å…³é—­ęŒ‰é’®å°† Cider éšč—č‡³ē³»ē»Ÿę ", + "settings.option.window.maxElementScale": "ęœ€å¤§å…ƒē“ ęÆ”ä¾‹", "settings.option.experimental.inline_playlists": "å°†ę’­ę”¾åˆ—č”Øåšäøŗč”Œå†…å…ƒē“ ę˜¾ē¤ŗ", "settings.option.advanced.playlistTrackMapping": "ę’­ę”¾åˆ—č”Øčæ½čøŖę˜ å°„", "settings.option.advanced.playlistTrackMapping.description": "ę‰“å¼€åÆ¹ę’­ę”¾åˆ—č”Øēš„ę·±åŗ¦ę‰«ęļ¼Œä»„ē”®č®¤ę­Œę›²åœØå“Ŗäŗ›ę’­ę”¾åˆ—č”Øäø­ć€‚ä½†ę’­ę”¾åˆ—č”ØåŠ č½½ę—¶é—“ä¼šę˜¾č‘—å¢žåŠ ć€‚", "settings.option.visual.transparent": "é€ę˜ŽēŖ—å£ę”†ęž¶", "settings.option.visual.transparent.description": "éœ€äø»é¢˜ęœ‰ę”ÆęŒé€ę˜Žę”†ęž¶ļ¼Œäø”é”»é‡ę–°åÆåŠØę‰ä¼šē”Ÿę•ˆć€‚", + "settings.option.visual.customAccentColor": "č‡Ŗå®šä¹‰å¼ŗč°ƒč‰²", + "settings.option.visual.accentColor": "å¼ŗč°ƒč‰²", + "settings.option.visual.purplePodcastPlaybackBar": "ę’­ę”¾ę’­å®¢ę—¶ä½æē”Øē“«č‰²čæ›åŗ¦ę”", + "settings.option.visual.windowColor": "ēŖ—å£č‰²č°ƒ", + "settings.header.visual.windowBackgroundStyle.color": "č‰²č°ƒ", "settings.header.advanced": "高级", + "settings.header.connect": "同歄", + "settings.option.connect.link_account": "开启 Cider Connect 同歄", + "settings.option.connect.link_account.description": "å°†ę‚Øēš„ Discord åøęˆ·äøŽ Cider Connect å…³č”åŽļ¼Œę‚ØåÆä»„å‚Øå­˜ē”Øęˆ·čµ„ę–™ļ¼ŒåŒ…ę‹¬č®¾å®šć€å‡č””å™Øļ¼Œå¹¶åœØåŽē»­ē‰ˆęœ¬äø­åŠ å…„ę›“å¤šåÆåŒę­„é€‰é”¹ć€‚ļ¼ˆę­£åœØę›“ę–°äø­ļ¼‰", "spatial.notTurnedOn": "čÆ·åœØč®¾ē½®äø­å¼€åÆē©ŗé—“éŸ³é¢‘ć€‚", "spatial.spatialProperties": "ē©ŗé—“å±žę€§", "spatial.width": "宽度", @@ -404,5 +576,54 @@ "settings.header.unfinished": "未完成", "remote.web.title": "Cider čæœēØ‹ęŽ§åˆ¶", "remote.web.description": "ę‰«ęä»„äø‹ēš„äŗŒē»“ē ä»„ęŽ§åˆ¶ Cider", - "about.thanks": "éƒ‘é‡ę„Ÿč°¢ Cider Collective ä»„åŠäøŗčæ™äøŖé”¹ē›®ęä¾›ę”ÆęŒēš„č“”ēŒ®č€…ć€‚" + "share.platform.twitter.tweet": "在 Apple Music äøŠč†å¬ {{song}}怂 \n\n{{url}}\n\n#AppleMusic #Cider", + "share.platform.twitter": "Twitter", + "share.platform.facebook": "Facebook", + "share.platform.reddit": "Reddit", + "share.platform.telegram": "Telegram", + "share.platform.whatsapp": "WhatsApp", + "share.platform.messenger": "Messenger", + "share.platform.email": "电子邮件", + "share.platform.songLink": "复制 song.link é“¾ęŽ„", + "share.platform.clipboard": "å¤åˆ¶åˆ°å‰Ŗč““ęæ", + "about.thanks": "éƒ‘é‡ę„Ÿč°¢ Cider Collective ä»„åŠäøŗčæ™äøŖé”¹ē›®ęä¾›ę”ÆęŒēš„č“”ēŒ®č€…ć€‚", + "oobe.yes": "å„½ēš„", + "oobe.no": "äø", + "oobe.next": "下一歄", + "oobe.previous": "äøŠäø€ę­„", + "oobe.done": "完成", + "oobe.amupsell.title": "åœØęˆ‘ä»¬å¼€å§‹ä¹‹å‰", + "oobe.amupsell.text": "使用 Cider éœ€č¦ä»˜č“¹ēš„ Apple Music č®¢é˜…ć€‚\nCider äøčƒ½åœØ Apple Music Voice č®”åˆ’ęˆ–ęŸäŗ›äæƒé”€čÆ•ē”Øč®¢é˜…ēŠ¶ę€äø‹ä½æē”Øć€‚ å¦‚ęžœę‚Øå·²ē»č®¢é˜… Apple Musicļ¼ŒčÆ·ē‚¹å‡»äø‹äø€ę­„ē»§ē»­ć€‚", + "oobe.amupsell.subscribeBtn": "č®¢é˜… Apple Music", + "oobe.amupsell.explainBtn": "čæ™ę˜Æä»€ä¹ˆ?", + "oobe.amupsell.subscribeUrl": "https://apple.co/3MdqJVQ", + "oobe.amupsell.amWebUrl": "https://beta.music.apple.com/", + "oobe.amupsell.promoExplained": "Cider ę— ę³•čŽ·å–éƒØåˆ†äæƒé”€ę“»åŠØäøŽéžē¾ŽåŒŗ Apple Muisc čÆ•ē”ØēŠ¶ę€äø‹ēš„ē½‘ē»œę’­ę”¾å™ØAPI. č¦éŖŒčÆę‚Øēš„čÆ•ē”Øč®¢é˜…ę˜Æå¦čƒ½å¤ŸåœØCider内使用, 点击{{ amWebUrl }}, ē™»é™†åŽå°čÆ•ę’­ę”¾éŸ³ä¹ć€‚å¦‚ęžœčƒ½å¤Ÿę’­ę”¾ļ¼Œę‚Øå°±åÆä»„ä½æē”Ø Cider äŗ†ļ¼å¦åˆ™čÆ·č€ƒč™‘č®¢é˜… Apple Music ęœåŠ”: {{ subscribeUrl }}怂", + "oobe.intro.title": "ę¬¢čæŽä½æē”Ø Cider", + "oobe.intro.subtitle": "", + "oobe.intro.text": "äøŗäŗ†ęŒ‰ę‚Øå–œę¬¢ēš„ę–¹å¼ä½æē”Ø Cider ļ¼ŒčÆ·å…ˆå®Œęˆäø€äŗ›č®¾ē½®ć€‚ę‚Øä¹‹åŽåÆä»„éšę—¶ę”¹å˜čæ™äŗ›č®¾ē½®ć€‚", + "oobe.general.title": "é€šē”Øč®¾ē½®", + "oobe.general.subtitle": "", + "oobe.general.text": "", + "oobe.audio.title": "éŸ³é¢‘č®¾ē½®", + "oobe.audio.subtitle": "", + "oobe.audio.text": "Cider čƒ½å¤Ÿč‡Ŗå®šä¹‰č°ƒę•“å’Œč®¾ē½®ēš„éŸ³é¢‘å±žę€§ļ¼Œęä¾›äø°åÆŒēš„é«˜å“č“ØéŸ³é¢‘ä½“éŖŒļ¼ŒåŒ…ę‹¬Cider Adrenaline Processorļ¼Œę°”ę°›å®žēŽ°å™Øå’Œē©ŗé—“éŸ³é¢‘ć€‚č¦åÆē”Øčæ™äŗ›åŠŸčƒ½ļ¼Œåæ…é”»åÆē”Ø \"é«˜ēŗ§éŸ³é¢‘åŠŸčƒ½\"怂", + "oobe.audio.advancedFunctionality": "", + "oobe.visual.title": "外观设置", + "oobe.visual.subtitle": "", + "oobe.visual.text": "", + "oobe.visual.layout.text": "Cider ę‹„ęœ‰äø¤ē§äøåŒēš„ēŖ—å£åøƒå±€ć€‚Maverick ę˜Æäø€äøŖē±»ä¼¼ iTunes ēš„åøƒå±€ļ¼Œę’­ę”¾å™ØåœØēŖ—å£ēš„é”¶éƒØć€‚Mojave ę˜Æē”± Cider å›¢é˜Ÿč®¾č®”ēš„äø€ē§ę–°ēš„åøƒå±€ć€‚ę‚ØåÆä»„åœØč®¾ē½®äø­éšę—¶ę”¹å˜åøƒå±€ć€‚", + "oobe.visual.suggestingThemes": "äø»é¢˜čƒ½å¤ŸäøŖę€§åŒ–ę‚Øēš„ę’­ę”¾å™Øć€‚ä»„äø‹ę˜ÆęŽØčēš„å‡ äøŖäø»é¢˜ļ¼š", + "oobe.visual.suggestingThemes.subtext": "ļ¼ˆäø»é¢˜ä¼šä»Ž GitHub äøŠäø‹č½½ļ¼‰", + "oobe.visual.suggestingThemes.default": "Cider", + "oobe.visual.suggestingThemes.default.text": "ē»å…øēš„ Cider äø»é¢˜ć€‚", + "oobe.visual.suggestingThemes.dark": "Dark", + "oobe.visual.suggestingThemes.dark.text": "ęš—é»‘ęØ”å¼ć€‚", + "oobe.visual.suggestingThemes.community1": "Groovy", + "oobe.visual.suggestingThemes.community1.text": "ē±» WinUI äø»é¢˜ć€‚", + "oobe.visual.suggestingThemes.community2": "iTheme", + "oobe.visual.suggestingThemes.community2.text": "ē»å…øēš„č‹¹ęžœé£Žäø»é¢˜ć€‚", + "oobe.visual.suggestingThemes.community3": "Dracula", + "oobe.visual.suggestingThemes.community3.text": "č‘—åēš„å¾·å¤ę‹‰åøč”€é¬¼äø»é¢˜ć€‚", + "oobe.amsignin.title": "" } diff --git a/src/i18n/zh_TW.json b/src/i18n/zh_TW.json index 745bb613..6d30e581 100644 --- a/src/i18n/zh_TW.json +++ b/src/i18n/zh_TW.json @@ -19,7 +19,10 @@ "term.accountSettings": "帳戶設定", "term.logout": "登出", "term.login": "登兄", + "term.quit" : "ēµęŸ", "term.about": "é—œę–¼", + "term.cast" : "ęŠ•å½±", + "term.cast2" : "ęŠ•å½±åˆ°č£ē½®", "term.privateSession": "私人時間", "term.queue": "å¾…ę’­ęø…å–®", "term.lyrics": "ę­Œč©ž", @@ -37,6 +40,7 @@ "term.podcasts": "Podcasts", "term.playlists": "ę’­ę”¾åˆ—č”Ø", "term.playlist": "ę’­ę”¾åˆ—č”Ø", + "term.charts": "åœ–č”Ø", "term.newPlaylist": "ę–°ēš„ę’­ę”¾åˆ—č”Ø", "term.newPlaylistFolder": "ę–°ēš„ę’­ę”¾åˆ—č”ØęŖ”ę”ˆå¤¾", "term.createNewPlaylist": "ę–°å¢žę’­ę”¾åˆ—č”Ø", @@ -45,6 +49,7 @@ "term.navigateBack": "å›žäøŠäø€é ", "term.navigateForward": "åˆ°äø‹äø€é ", "term.play": "播放", + "term.playpause": "播放/暫停", "term.pause": "暫停", "term.stop": "停止", "term.previous": "äøŠäø€é¦–", @@ -53,8 +58,9 @@ "term.repeat": "é‡č¤‡ę’­ę”¾", "term.enableShuffle": "é–‹å•ŸéšØę©Ÿę’­ę”¾", "term.disableShuffle": "å–ę¶ˆéšØę©Ÿę’­ę”¾", - "term.repeat": "é–‹å•Ÿå–®ę›²å¾Ŗē’°", - "term.enableRepeatOne": "å–ę¶ˆå–®ę›²å¾Ŗē’°", + "term.disableRepeat": "å–ę¶ˆé‡č¤‡", + "term.enableRepeatOne": "é–‹å•Ÿå–®ę›²å¾Ŗē’°", + "term.disableRepeatOne": "å–ę¶ˆå–®ę›²å¾Ŗē’°", "term.volume": "音量", "term.mute": "靜音", "term.unmute": "å–ę¶ˆéœéŸ³", @@ -110,11 +116,11 @@ "term.clearAll": "清空", "term.recentStations": "ęœ€čæ‘ę”¶č½ēš„å»£ę’­", "term.language": "čŖžčØ€", - "term.noLyrics": "ę²’ęœ‰åÆē”Øēš„ę­Œč©ž", + "term.noLyrics": "ę²’ęœ‰åÆē”Øēš„ę­Œč©ž/ē“”éŸ³ęØ‚äŗ«å—", "term.copyright": "ē‰ˆę¬Šč²ę˜Ž", "term.rightsReserved": "äæē•™ę‰€ęœ‰ę¬Šåˆ©ć€‚", "term.sponsor": "č“ŠåŠ©ęˆ‘å€‘", - "term.socials": "ē¤¾ē¾¤å¹³å°", + "term.socials": "čæ½č¹¤ęˆ‘å€‘", "term.ciderTeam": "Cider 團隊", "term.developer": "開發者", "term.socialTeam": "公關團隊", @@ -129,26 +135,32 @@ "term.videos": "éŸ³ęØ‚éŒ„å½±åø¶", "term.menu": "選單", "term.check": "檢柄", + "term.themeManaged": "ę­¤åŠŸčƒ½ē¾åœØē”±äø»é”Œē®”ē†ć€‚", "term.aboutArtist": "é—œę–¼{{artistName}}", "term.requestError": "č«‹ę±‚ē™¼ē”ŸéŒÆčŖ¤ć€‚", "term.song.link.generate": "ę­£åœØå–å¾— song.link ēš„åˆ†äŗ«ē¶²å€...", + "term.musicVideos": "éŸ³ęØ‚éŒ„å½±åø¶", "term.version": "ē‰ˆęœ¬", "term.creditDesignedBy": "ē”± ${authorUsername} 設計", "term.plugin": "樔組", + "term.plugins": "樔組", "term.pluginMenu": "樔組選單", "term.pluginMenu.none": "ę²’ęœ‰äŗ¤äŗ’å¼ęØ”ēµ„", + "term.fullscreen" : "å…Øčž¢å¹•ęØ”å¼", "home.title": "首頁", "home.recentlyPlayed": "ęœ€čæ‘ę’­ę”¾", "home.recentlyAdded": "ęœ€čæ‘åŠ å…„", "home.artistsFeed": "č—äŗŗčæ½č¹¤", "home.artistsFeed.noArtist": "čæ½č¹¤ä½ å–œę„›ēš„č—äŗŗä¾†å–å¾—ä»–å€‘ēš„ęœ€ę–°ē™¼č”Œę­Œę›²ć€‚", + "home.syncFavorites" : "同歄追蹤" , + "home.syncFavorites.gettingArtists" : "å–å¾—čæ½č¹¤ēš„č—äŗŗę­Œę‰‹åˆ—č”Ø... " , "home.madeForYou": "ē‚ŗę‚ØęŽØč–¦", "home.friendsListeningTo": "ęœ‹å‹ę­£åœØč†č½", "home.followedArtists": "čæ½č¹¤ēš„č—äŗŗ", - "error.appleMusicSubRequired": "éœ€č¦čØ‚é–± Apple Music ęœå‹™ä»„ä½æē”Ø Cider", + "error.appleMusicSubRequired": "ä½ éœ€č¦ę“ęœ‰ Apple Music čØ‚é–±ļ¼Œę‰čƒ½ä½æē”Ø Cider č»Ÿé«”ć€‚", "error.connectionError": "ē„”ę³•é€£ē·šåˆ° Apple Music怂", "error.noResults": "ę²’ęœ‰ēµęžœ", - "error.noResults.description": "å˜—č©¦ę–°ēš„ęœå°‹é …ē›®ć€‚", + "error.noResults.description": "č«‹å˜—č©¦é€éŽęœå°‹åŠŸčƒ½å°‹ę‰¾å…§å®¹ć€‚", "podcast.followOnCider": "在 Cider 上追蹤", "podcast.followedOnCider": "已追蹤", "podcast.subscribeOnItunes": "在 iTunes äøŠčØ‚é–±", @@ -159,6 +171,8 @@ "podcast.website": "Podcast 網站", "action.edit": "編輯", "action.done": "完成", + "action.hideLibrary": "éš±č—å“é‚Šę¬„", + "action.showLibrary": "é”Æē¤ŗå“é‚Šę¬„", "action.editTracklist": "ē·Øč¼Æę­Œę›²ęø…å–®", "action.addToLibrary": "åŠ å…„åˆ°č³‡ę–™åŗ«", "action.addToLibrary.success": "ęˆåŠŸåŠ å…„č³‡ę–™åŗ«", @@ -213,13 +227,15 @@ "action.deletepreset": "åˆŖé™¤é čØ­", "action.open": "開啟", "action.cast.chromecast": "Chromecast", - "action.cast.todevices": "ęŠ•å°„åˆ°č£ē½®", - "action.cast.stop": "åœę­¢ęŠ•å°„åˆ°ę‰€ęœ‰č£ē½®", + "action.cast.todevices": "ęŠ•å½±åˆ°č£ē½®", + "action.cast.stop": "åœę­¢ęŠ•å½±åˆ°ę‰€ęœ‰č£ē½®", "action.cast.airplay": "AirPlay", "action.cast.airplay.underdevelopment": "AirPlay ä»č™•ę–¼é–‹ē™¼éšŽę®µäø­ļ¼Œę•¬č«‹ęœŸå¾…ć€‚", "action.cast.scan": "尋找", "action.cast.scanning": "尋找中...", "action.createNew": "ę–°å¢ž...", + "action.refresh": "é‡ę–°ę•“ē†", + "menubar.options.reload": "é‡ę–°č¼‰å…„", "settings.header.general": "äø€čˆ¬", "settings.header.general.description": "čŖæę•“ Cider ēš„äø€čˆ¬čØ­å®š", "settings.option.general.resumebehavior": "é‚„åŽŸč”Œē‚ŗ", @@ -252,6 +268,9 @@ "settings.header.audio.description": "čŖæę•“ Cider ēš„éŸ³čØŠčØ­å®š", "settings.option.audio.volumeStep": "éŸ³é‡ę”¹č®Šé‡", "settings.option.audio.maxVolume": "ęœ€å¤§éŸ³é‡", + "settings.option.audio.changePlaybackRate": "ę›“ę”¹ę’­ę”¾é€ŸēŽ‡", + "settings.option.audio.playbackRate": "ę’­ę”¾é€ŸēŽ‡", + "settings.option.audio.playbackRate.change": "曓改", "settings.option.audio.quality": "éŸ³čØŠå“č³Ŗ", "settings.header.audio.quality.hireslossless": "é«˜å“č³Ŗē„”ęå£“ēø®", "settings.header.audio.quality.hireslossless.description": "ļ¼ˆęœ€é«˜24位元/192 kHz)", @@ -261,7 +280,7 @@ "settings.header.audio.quality.standard": "é«˜ę•ˆēŽ‡", "settings.option.audio.seamlessTransition": "焔間斷播放", "settings.option.audio.enableAdvancedFunctionality": "é€²éšŽéŸ³čØŠåŠŸčƒ½", - "settings.option.audio.enableAdvancedFunctionality.description": "開啟 AudioContext å°‡å•Ÿē”Øé”žä¼¼éŸ³é‡å¹³č””å’Œē­‰åŒ–å™Øēš„é€²éšŽčØ­å®šć€‚ä½†é€™äø¦äøäø€å®šé©åˆęÆéƒØé›»č…¦ļ¼ŒåÆčƒ½ęœƒē™¼ē”ŸéŸ³ęØ‚å”é “ć€‚", + "settings.option.audio.enableAdvancedFunctionality.description": "é–‹å•Ÿé€²éšŽéŸ³čØŠåŠŸčƒ½å°‡ęä¾›åŒ…å«éŸ³é‡å¹³č””å’Œē­‰åŒ–å™Øē­‰é€²éšŽčØ­å®šć€‚ä½†é€™äøäø€å®šé©åˆęÆéƒØé›»č…¦ļ¼ŒåÆčƒ½ęœƒē™¼ē”ŸéŸ³ęØ‚å”é “ć€‚", "settings.option.audio.audioLab": "Cider éŸ³čØŠåÆ¦é©—å®¤", "settings.option.audio.audioLab.description": "åŒ…å«ē”± Cider é–‹ē™¼åœ˜éšŠé€²č”Œēš„å„ēØ®éŸ³čØŠę”¹å–„åŠŸčƒ½ć€‚", "settings.warn.audioLab.withoutAF": "使用 Cider éŸ³čØŠåÆ¦é©—å®¤éœ€č¦é–‹å•Ÿé€²éšŽéŸ³čØŠåŠŸčƒ½ę‰čƒ½ä½æē”Øć€‚", @@ -272,7 +291,7 @@ "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.smooth": "ęŗ«å’Œ", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity.warm": "ęŗ«ęš–", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer": "Cider č‡Øå “éŸ³ę•ˆā„¢ļø", - "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "ä»„ę„­ē•Œé ‚å°–ēš„ē®—ę³•ļ¼ŒåÆ¦ē¾ę“ęœ‰č‡Øå “ę„Ÿēš„éŸ³ęØ‚é«”é©—ć€‚", + "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizer.description": "ä»„ę„­ē•Œé ‚å°–ēš„ē®—ę³•ļ¼ŒåÆ¦ē¾ę“ęœ‰č‡Øå “ę„Ÿēš„éŸ³ęØ‚č†č½é«”é©—ć€‚", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode": "Cider č‡Øå “éŸ³ę•ˆā„¢ļøęØ”å¼", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.description": "ę›“ę”¹č‡Øå “éŸ³ę•ˆę„Ÿēš„ęØ”å¼ć€‚", "settings.option.audio.enableAdvancedFunctionality.atmosphereRealizerMode.NATURAL_STANDARD": "č‡Ŗē„¶ļ¼ˆęØ™ęŗ–ļ¼‰", @@ -285,7 +304,7 @@ "settings.option.audio.enableAdvancedFunctionality.ciderPPEStrength.aggressive": "增強", "settings.option.audio.enableAdvancedFunctionality.audioNormalization": "éŸ³é‡å¹³č””", "settings.option.audio.enableAdvancedFunctionality.audioNormalization.description": "č‡Ŗå‹•å°‡ę­Œę›²ę’­ę”¾éŸ³é‡čŖæę•“č‡³ē›øåŒä½ęŗ–ļ¼Œäŗ«å—ę›“čˆ’é©ēš„č†č½é«”é©—ć€‚", - "settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "ę­¤åŠŸčƒ½ē”±éŸ³čØŠåÆ¦é©—å®¤ē®”ē†", + "settings.option.audio.enableAdvancedFunctionality.audioNormalization.disabled": "ę­¤åŠŸčƒ½ē¾åœØē”± Cider éŸ³čØŠåÆ¦é©—å®¤ē®”ē†ć€‚", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization": "Cider ē©ŗé–“éŸ³čØŠę•ˆęžœ", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.description": "é å…ˆčŖæę•“ē©ŗé–“éŸ³čØŠę•ˆęžœļ¼Œé—œé–‰ē©ŗé–“éŸ³čØŠåÆč‡ŖčØ‚čØ­å®šć€‚", "settings.option.audio.enableAdvancedFunctionality.tunedAudioSpatialization.profile": "Cider ē©ŗé–“éŸ³čØŠé…ē½®ęŖ”ę”ˆ", @@ -300,6 +319,11 @@ "settings.option.visual.uiscale": "ä»‹é¢é”Æē¤ŗå¤§å°", "settings.header.visual": "外觀", "settings.header.visual.description": "čŖæę•“ Cider ēš„å¤–č§€", + "settings.option.visual.windowStyle": "č¦–ēŖ—åøƒå±€é¢Øę ¼", + "settings.option.visual.customAccentColor": "自訂強調色", + "settings.option.visual.accentColor": "強調色", + "settings.option.visual.purplePodcastPlaybackBar": "Podcasts åŠŸčƒ½ēš„ē“«č‰²ę’­ę”¾åˆ—", + "settings.option.visual.windowColor": "č¦–ēŖ—č‰²čŖæé”č‰²", "settings.option.visual.windowBackgroundStyle": "č¦–ēŖ—čƒŒę™ÆęØ£å¼", "settings.header.visual.windowBackgroundStyle.none": "空白", "settings.header.visual.windowBackgroundStyle.artwork": "å°ˆč¼Æę’åœ–", @@ -324,6 +348,8 @@ "settings.option.visual.theme.github.openfolder": "é–‹å•Ÿäø»é”Œå­˜ę”¾ä½ē½®", "settings.option.visual.theme.github.explore": "ęŽ¢ē“¢ GitHub äøŠēš„äø»é”Œ", "settings.prompt.visual.theme.github.URL": "č¼øå…„ä½ č¦å®‰č£ēš„äø»é”Œē¶²å€", + "settings.option.visual.theme.checkForUpdates": "ęŖ¢ęŸ„ę›“ę–°", + "settings.header.visual.styles": "主锌", "settings.option.visual.theme.manageStyles": "ē®”ē†äø»é”Œ", "settings.option.visual.theme.uninstall": "移除", "settings.option.visual.theme.viewInfo": "ęŸ„ēœ‹č³‡čØŠ", @@ -345,6 +371,7 @@ "settings.option.visual.showPersonalInfo": "é”Æē¤ŗå€‹äŗŗęŖ”ę”ˆ", "settings.header.window": "視窗", "settings.header.window.description": "čŖæę•“ Cider ēš„č¦–ēŖ—čØ­å®š", + "settings.option.window.maxElementScale": "ęœ€å¤§å…ƒē“ ęÆ”ä¾‹", "settings.option.window.openOnStartup": "é–‹ę©Ÿę™‚ļ¼Œå•Ÿå‹• Cider ", "settings.option.window.openOnStartup.hidden": "å•Ÿå‹•ę™‚ļ¼Œč‡Ŗå‹•éš±č—č‡³ē³»ēµ±åˆ—", "settings.option.window.useNativeTitleBar": "ä½æē”ØåŽŸē”Ÿč¦–ēŖ—ęØ™é”Œåˆ—", @@ -358,7 +385,7 @@ "settings.option.lyrics.musixmatchPreferredLanguage": "Musixmatch ę­Œč©žå„Ŗå…ˆčŖžčØ€åå„½éøé …", "settings.option.lyrics.enableYoutubeLyrics": "播放 MV ę™‚ļ¼Œä½æē”Ø YouTube ę­Œč©ž", "settings.option.lyrics.enableQQLyrics": "開啟 QQ éŸ³ęØ‚ēš„ę­Œč©ž", - "settings.header.connectivity": "å¤–éƒØé€£ęŽ„", + "settings.header.connectivity": "é€£ęŽ„", "settings.header.connectivity.description": "čŖæę•“ Cider čˆ‡å¤–éƒØēš„é€£ęŽ„", "settings.option.connectivity.playbackNotifications": "ę­Œę›²ę’­ę”¾é€šēŸ„", "settings.option.connectivity.discordRPC": "Discord å‹•ę…‹", @@ -368,11 +395,19 @@ "settings.option.connectivity.discordRPC.hideTimestamp": "éš±č— Discord å‹•ę…‹ēš„ę™‚é–“ęˆ³", "settings.option.connectivity.discordRPC.detailsFormat": "č©³ē“°č³‡čØŠę ¼å¼", "settings.option.connectivity.discordRPC.stateFormat": "ē‹€ę…‹ę ¼å¼", + "settings.option.connectivity.discordRPC.reload": "é‡ę–°č¼‰å…„ Discord å‹•ę…‹", + "settings.option.connectivity.discordRPC.reconnectedToUser": "Discord å‹•ę…‹é‡ę–°é€£ē·šåˆ°ä½æē”Øč€…: {{user}} ({{userid}})", "settings.option.connectivity.lastfmScrobble": "Last.FM éŸ³ęØ‚čØ˜éŒ„", "settings.option.connectivity.lastfmScrobble.delay": "Last.FM ę­Œę›²čæ½č¹¤å»¶é² (%)", "settings.option.connectivity.lastfmScrobble.nowPlaying": "開啟 Last.FM ę­£åœØč†č½", - "settings.option.connectivity.lastfmScrobble.removeFeatured": "å¾žę­Œåäø­ē§»é™¤å®¢äø²č—äŗŗ (Last.FM)", - "settings.option.connectivity.lastfmScrobble.filterLoop": "äøčØ˜éŒ„å–®ę›²å¾Ŗē’° (Last.FM)", + "settings.option.connectivity.lastfmScrobble.removeFeatured": "從 Last.FM ēš„ę­Œåäø­ē§»é™¤å®¢äø²č—äŗŗ", + "settings.option.connectivity.lastfmScrobble.filterLoop": "讓 Last.FM äøčØ˜éŒ„å–®ę›²å¾Ŗē’°", + "settings.option.connectivity.lastfmScrobble.filterLoop.description": "é˜²ę­¢å¾Ŗē’°å–®ę›²č¢«ę‰“äŗ‚ęˆ–é”Æē¤ŗåœØ Last.FM ēš„ę­£åœØę’­ę”¾åˆ—č”Øäø­ć€‚", + "settings.option.connectivity.lastfmScrobble.filterTypes": "éŽęæ¾åŖ’é«”é”žåž‹ (Last.FM)", + "settings.option.connectivity.lastfmScrobble.manualToken": "手動輸兄 Last.FM 驗證碼", + "settings.notyf.connectivity.lastfmScrobble.connectError": "Last.FM é€£ē·šč¶…ę™‚", + "settings.notyf.connectivity.lastfmScrobble.connectSuccess": "Last.FM é€£ē·šęˆåŠŸ", + "settings.notyf.connectivity.lastfmScrobble.connecting": "ę­£åœØé€£ē·šåˆ° Last.FM...", "settings.header.debug": "é™¤éŒÆ", "settings.option.debug.copy_log": "č¤‡č£½åŸ·č”Œē“€éŒ„ęŖ”č‡³å‰Ŗč²¼ē°æ", "settings.option.debug.openAppData": "ꉓ開 Cider 資料夾", @@ -380,7 +415,7 @@ "settings.header.experimental.description": "čŖæę•“ Cider ēš„åÆ¦é©—ę€§åŠŸčƒ½", "settings.option.experimental.reinstallwidevine": "é‡ę–°å®‰č£ WidevineCDM", "settings.option.experimental.reinstallwidevine.confirm": "ä½ ē¢ŗå®šč¦é‡ę–°å®‰č£ WidevineCDM å—Žļ¼Ÿ", - "settings.option.experimental.unknownPlugin": "ęœŖēŸ„ä¾†ęŗ", + "settings.option.experimental.unknownPlugin": "其他來源", "settings.option.experimental.unknownPlugin.description": "å…čØ±å¾ž Cider ä¾†ęŗä»„å¤–ēš„ repo å®‰č£å„—ä»¶", "settings.option.experimental.compactUI": "ä½æē”Øē·ŠåÆ†ēš„ä»‹é¢čØ­čØˆ", "settings.option.window.close_button_hide": "é—œé–‰ęŒ‰éˆ•å°‡ Cider éš±č—č‡³ē³»ēµ±åˆ—", @@ -392,7 +427,7 @@ "settings.header.advanced": "進階", "settings.header.connect": "同歄", "settings.option.connect.link_account": "é–‹å•Ÿčˆ‡ Cider Connect 同歄", - "settings.option.connect.link_account.description": "å°‡ę‚Øēš„ Discord åø³ęˆ¶čˆ‡ Cider Connect é€£ęŽ„å¾Œļ¼Œä½ åÆä»„å„²å­˜ä½æē”Øč€…č³‡ę–™ļ¼ŒåŒ…ę‹¬čØ­å®šć€ē­‰åŒ–å™Øļ¼Œäø¦ęœ€ēµ‚åœØå®Œęˆå¾Œå„²å­˜ę›“å¤šč³‡ę–™ć€‚ļ¼ˆę­£åœØé€²č”Œäø­ļ¼‰", + "settings.option.connect.link_account.description": "å°‡ä½ ēš„ Discord åø³ęˆ¶čˆ‡ Cider é€£ē·šå¾Œļ¼Œä½ å°‡åÆä»„å„²å­˜ä½æē”Øč€…č³‡ę–™ļ¼Œäø”åŒ…ę‹¬čØ­å®šć€ē­‰åŒ–å™Øä»„åŠę›“å¤šč³‡ę–™ć€‚ļ¼ˆč©²åŠŸčƒ½é–‹ē™¼äø­...)", "spatial.notTurnedOn": "ē©ŗé–“éŸ³čØŠē›®å‰ę˜Æé—œé–‰ē‹€ę…‹ļ¼Œč«‹å…ˆé–‹å•Ÿå†ä½æē”Øć€‚", "spatial.spatialProperties": "ē©ŗé–“éŸ³čØŠå±¬ę€§čØ­å®š", "spatial.width": "寬度", diff --git a/src/main/base/app.ts b/src/main/base/app.ts index 58ccda47..fe54b158 100644 --- a/src/main/base/app.ts +++ b/src/main/base/app.ts @@ -162,13 +162,10 @@ export class AppEvents { // LastFM Auth URL if (arg.includes('auth')) { - let authURI = arg.split('/auth/')[1] + const authURI = arg.split('/auth/')[1] if (authURI.startsWith('lastfm')) { // If we wanted more auth options - const authKey = authURI.split('lastfm?token=')[1]; - utils.setStoreValue('lastfm.enabled', true); - utils.setStoreValue('lastfm.auth_token', authKey); - utils.getWindow().webContents.send('LastfmAuthenticated', authKey); - this.plugin.callPlugin('lastfm', 'authenticate', authKey); + console.log('token: ', authURI.split('lastfm?token=')[1]) + utils.getWindow().webContents.executeJavaScript(`ipcRenderer.send('lastfm:auth', "${authURI.split('lastfm?token=')[1]}")`).catch(console.error) } } // Play @@ -335,7 +332,7 @@ export class AppEvents { { visible: !visible, - label: this.i18n['action.tray.playpause'], + label: this.i18n['term.playpause'], click: () => { utils.getWindow().webContents.executeJavaScript('MusicKitInterop.playPause()') } @@ -343,7 +340,7 @@ export class AppEvents { { visible: !visible, - label: this.i18n['action.tray.next'], + label: this.i18n['term.next'], click: () => { utils.getWindow().webContents.executeJavaScript(`MusicKitInterop.next()`) } @@ -351,7 +348,7 @@ export class AppEvents { { visible: !visible, - label: this.i18n['action.tray.previous'], + label: this.i18n['term.previous'], click: () => { utils.getWindow().webContents.executeJavaScript(`MusicKitInterop.previous()`) } @@ -372,7 +369,7 @@ export class AppEvents { } }, { - label: this.i18n['action.tray.quit'], + label: this.i18n['term.quit'], click: () => { app.quit() } diff --git a/src/main/base/browserwindow.ts b/src/main/base/browserwindow.ts index 89c54e55..a63dec93 100644 --- a/src/main/base/browserwindow.ts +++ b/src/main/base/browserwindow.ts @@ -1,9 +1,9 @@ -import {join} from "path"; -import {app, BrowserWindow as bw, ipcMain, ShareMenu, shell, screen} from "electron"; +import { join } from "path"; +import { app, BrowserWindow as bw, ipcMain, ShareMenu, shell, screen, dialog } from "electron"; import * as windowStateKeeper from "electron-window-state"; import * as express from "express"; import * as getPort from "get-port"; -import {search} from "youtube-search-without-api-key"; +import { search } from "youtube-search-without-api-key"; import { existsSync, rmSync, @@ -16,19 +16,18 @@ import { rmdirSync, lstatSync, } from "fs"; -import {Stream} from "stream"; -import {networkInterfaces} from "os"; +import { Stream } from "stream"; +import { networkInterfaces } from "os"; import * as mm from 'music-metadata'; import fetch from 'electron-fetch' -import {wsapi} from "./wsapi"; -import {utils} from './utils'; -import {Plugins} from "./plugins"; -import {watch} from "chokidar"; +import { wsapi } from "./wsapi"; +import { utils } from './utils'; +import { Plugins } from "./plugins"; +import { watch } from "chokidar"; import * as os from "os"; import wallpaper from "wallpaper"; import * as AdmZip from "adm-zip"; -import * as path from 'path'; -const { readdir } = require('fs').promises; +import { LocalFiles } from "../providers/local/"; /** @@ -40,11 +39,11 @@ const { readdir } = require('fs').promises; export class BrowserWindow { public static win: any | undefined = null; private devMode: boolean = !app.isPackaged; + public static express: any | undefined = null; private audioStream: any = new Stream.PassThrough(); private headerSent: any = false; private chromecastIP: any = []; - private localSongs: any = []; private clientPort: number = 0; private remotePort: number = 6942; private EnvironmentVariables: object = { @@ -53,6 +52,7 @@ export class BrowserWindow { dev: app.isPackaged, osRelease: os.release(), updatable: !process.windowsStore || !process.mas, + useV3: utils.getStoreValue('advanced.experiments').includes("ampv3"), components: [ "pages/podcasts", "pages/apple-account-settings", @@ -63,8 +63,7 @@ export class BrowserWindow { "pages/browse", "pages/groupings", "pages/charts", - "pages/settings", - "pages/installed-themes", + //"pages/installed-themes", "pages/listen_now", "pages/radio", "pages/home", @@ -80,14 +79,16 @@ export class BrowserWindow { "pages/about", "pages/library-videos", "pages/remote-pair", - "pages/themes-github", - "pages/plugins-github", + //"pages/themes-github", + //"pages/plugins-github", "pages/replay", "pages/audiolabs", "pages/zoo", "pages/plugin-renderer", - "pages/keybinds", "pages/oobe", + "pages/cider-profile", + "components/app-content", + "components/sidebar", "components/mediaitem-artwork", "components/artwork-material", "components/menu-panel", @@ -118,159 +119,174 @@ export class BrowserWindow { "components/fullscreen", "components/miniplayer", "components/castmenu", + "components/pathmenu", "components/airplay-modal", "components/artist-chip", "components/hello-world", "components/inline-collection-list", + "components/settings-window", + "components/pagination", + "components/settings-keybinds", + "components/settings-themes", + "components/settings-themes-github", + "components/settings-plugins-github", ], appRoutes: [ { page: "library-recentlyadded", component: ``, - condition: "page == 'library-recentlyadded'" + condition: "$root.page == 'library-recentlyadded'" }, { page: "plugin-renderer", component: ``, - condition: "page == 'plugin-renderer'" + condition: "$root.page == 'plugin-renderer'" }, { page: "zoo", component: "", - condition: "page == 'zoo'" + condition: "$root.page == 'zoo'" }, { page: "podcasts", component: ``, - condition: `page == 'podcasts'` + condition: `$root.page == 'podcasts'` }, { page: "library-videos", component: ``, - condition: `page == 'library-videos'` + condition: `$root.page == 'library-videos'` }, { page: "apple-account-settings", component: ``, - condition: `page == 'apple-account-settings'` + condition: `$root.page == 'apple-account-settings'` }, { page: "about", component: ``, - condition: `page == 'about'` + condition: `$root.page == 'about'` }, { page: "cider-artist", - component: ``, - condition: `page == 'artist-page' && artistPage.data.attributes` + component: ``, + condition: `$root.page == 'artist-page' && $root.artistPage.data.attributes` }, { page: "collection-list", - component: ``, - condition: `page == 'collection-list'` + component: ``, + condition: `$root.page == 'collection-list'` }, { page: "home", component: ``, - condition: `page == 'home'` + condition: `$root.page == 'home'` }, { page: "artist-feed", component: ``, - condition: `page == 'artist-feed'` + condition: `$root.page == 'artist-feed'` }, { page: "playlist-inline", - component: ``, - condition: `modals.showPlaylist` + component: ``, + condition: `$root.modals.showPlaylist` }, { page: "playlist_", - component: ``, - condition: `page.includes('playlist_')` + component: ``, + condition: `$root.page.includes('playlist_')` }, { page: "album_", - component: ``, - condition: `page.includes('album_')` + component: ``, + condition: `$root.page.includes('album_')` }, { page: "recordLabel_", - component: ``, - condition: `page.includes('recordLabel_')` + component: ``, + condition: `$root.page.includes('recordLabel_')` + }, { + page: "social-profiles_", + component: ``, + condition: `$root.page.includes('social-profiles_')` }, { page: "multiroom", - component: ``, - condition: `page.includes('multiroom')` + component: ``, + condition: `$root.page.includes('multiroom')` }, { page: "curator_", - component: ``, - condition: `page.includes('curator_')` + component: ``, + condition: `$root.page.includes('curator_')` }, { page: "browsepage", - component: ``, - condition: `page == 'browse'`, + component: ``, + condition: `$root.page == 'browse'`, onEnter: `` - },{ + }, { page: "groupings", - component: ``, - condition: `page == 'groupings'`, + component: ``, + condition: `$root.page == 'groupings'`, onEnter: `` - },{ + }, { page: "charts", - component: ``, - condition: `page == 'charts'`, + component: ``, + condition: `$root.page == 'charts'`, onEnter: `` }, { page: "listen_now", - component: ``, - condition: `page == 'listen_now'`, + component: ``, + condition: `$root.page == 'listen_now'`, onEnter: `` }, { page: "radio", - component: ``, - condition: `page == 'radio'`, + component: ``, + condition: `$root.page == 'radio'`, onEnter: `` }, { page: "settings", component: ``, - condition: `page == 'settings'` + condition: `$root.page == 'settings'` }, { page: "installed-themes", component: ``, - condition: `page == 'installed-themes'` + condition: `$root.page == 'installed-themes'` }, { page: "search", - component: ``, - condition: `page == 'search'` + component: ``, + condition: `$root.page == 'search'` }, { page: "library-songs", - component: ``, - condition: `page == 'library-songs'`, + component: ``, + condition: `$root.page == 'library-songs'`, onEnter: `` }, { page: "library-albums", - component: ``, - condition: `page == 'library-albums'`, + component: ``, + condition: `$root.page == 'library-albums'`, onEnter: `` }, { page: "library-artists", component: ``, - condition: `page == 'library-artists'`, + condition: `$root.page == 'library-artists'`, onEnter: `` }, { page: "appleCurator", - component: ``, - condition: `page.includes('appleCurator')` + component: ``, + condition: `$root.page.includes('appleCurator')` }, { page: "themes-github", component: ``, - condition: `page == 'themes-github'` + condition: `$root.page == 'themes-github'` }, { page: "plugins-github", component: ``, - condition: `page == 'plugins-github'` + condition: `$root.page == 'plugins-github'` }, { page: "remote-pair", component: ``, - condition: `page == 'remote-pair'` + condition: `$root.page == 'remote-pair'` }, { page: "audiolabs", component: ``, - condition: `page == 'audiolabs'` + condition: `$root.page == 'audiolabs'` }, { page: "replay", component: ``, - condition: `page == 'replay'` + condition: `$root.page == 'replay'` + }, { + page: "keydinds", + component: ``, + condition: `$root.page == 'keybinds-settings'` } ] }, @@ -291,7 +307,7 @@ export class BrowserWindow { show: false, // backgroundColor: "#1E1E1E", titleBarStyle: 'hidden', - trafficLightPosition: {x: 15, y: 20}, + trafficLightPosition: { x: 15, y: 20 }, webPreferences: { experimentalFeatures: true, nodeIntegration: true, @@ -357,7 +373,8 @@ export class BrowserWindow { * @yields {object} Electron browser window */ async createWindow(): Promise { - this.clientPort = await getPort({port: 9000}); + const envPort = process.env?.CIDER_PORT || '9000' + this.clientPort = await getPort({ port: parseInt(envPort, 10) || 9000 }); BrowserWindow.verifyFiles(); this.StartWatcher(utils.getPath('themes')); @@ -404,9 +421,10 @@ export class BrowserWindow { } // Start the webserver for the browser window to load - + // LocalFiles.DB.init() this.startWebServer(); + BrowserWindow.win = new bw(this.options); // cant be built in CI // if (process.platform === "win32" && (utils.getStoreValue('visual.transparent') ?? false)) { @@ -462,7 +480,7 @@ export class BrowserWindow { */ private startWebServer(): void { const app = express(); - + BrowserWindow.express = app; app.use(express.static(join(utils.getPath('srcPath'), "./renderer/"))); app.set("views", join(utils.getPath('srcPath'), "./renderer/views")); app.set("view engine", "ejs"); @@ -494,9 +512,9 @@ export class BrowserWindow { app.get("/cideraudio/impulses/:file", (req, res) => { const impulseExternals = join(utils.getPath("externals"), "/impulses/") const impulseFile = join(impulseExternals, req.params.file) - if(existsSync(impulseFile)) { + if (existsSync(impulseFile)) { res.sendFile(impulseFile) - }else{ + } else { res.sendFile(join(utils.getPath('srcPath'), "./renderer/audio/impulses/" + req.params.file)) } }) @@ -546,14 +564,6 @@ export class BrowserWindow { res.send(`// Theme not found - ${userThemePath}`); } }); - app.get("/ciderlocal/:songs", (req, res) => { - const audio = atob(req.params.songs.replace(/_/g, '/').replace(/-/g, '+')); - console.log('auss', audio) - let data = {data: - this.localSongs.filter((f: any) => audio.split(',').includes(f.id))}; - res.send(data); - }); - app.get("/themes/:theme/*", (req: { params: { theme: string, 0: string } }, res) => { const theme = req.params.theme; @@ -614,10 +624,12 @@ export class BrowserWindow { //region Connect Integration app.get("/connect/set-cc-user/:data", (req, res) => { //utils.getStoreValue('connectUser', JSON.parse()) // [Connect] Save user in store - utils.setStoreValue('connectUser', JSON.parse(req.params.data)) - utils.getWindow().reload() + utils.getWindow().webContents.send('setStoreValue', 'connectUser', JSON.parse(req.params.data)) res.redirect(`https://connect.cidercollective.dev/linked.html`) }); + + LocalFiles.setupHandlers() + // [Connect] Set auth URL in store for `shell.openExternal` utils.setStoreValue('cc_authURL', `https://connect.cidercollective.dev/callback/discord?app=cider&appPort=${this.clientPort}`) console.log(`[Connect] Auth URL: ${utils.getStoreValue('cc_authURL')}`) @@ -637,7 +649,7 @@ export class BrowserWindow { remote.use(express.static(join(utils.getPath('srcPath'), "./web-remote/"))) remote.set("views", join(utils.getPath('srcPath'), "./web-remote/views")); remote.set("view engine", "ejs"); - getPort({port: 6942}).then((port: number) => { + getPort({ port: 6942 }).then((port: number) => { this.remotePort = port; // Start Remote Discovery this.broadcastRemote() @@ -668,13 +680,13 @@ export class BrowserWindow { callback({ redirectURL: `http://localhost:${this.clientPort}/apple-hls.js`, }); - } else if (details.url.includes("ciderlocal")) { + } else if (details.url.includes("ciderlocal") && !details.url.includes("https://apic-desktop.musixmatch.com") ) { let text = details.url.toString().includes('ids=') ? decodeURIComponent(details.url.toString()).split("?ids=")[1] : decodeURIComponent(details.url.toString().substring(details.url.toString().lastIndexOf('/') + 1)); - console.log('localurl',text) + //console.log('localurl',text) callback({ redirectURL: `http://localhost:${this.clientPort}/ciderlocal/${Buffer.from(text).toString('base64url')}`, }); - }else { + } else { callback({ cancel: false, }); @@ -716,7 +728,7 @@ export class BrowserWindow { 'KHTML, like Gecko) Mobile/17D50 UCBrowser/12.8.2.1268 Mobile AliApp(TUnionSDK/0.1.20.3) ' details.requestHeaders['Referer'] = "https://y.qq.com/portal/player.html" } - callback({requestHeaders: details.requestHeaders}); + callback({ requestHeaders: details.requestHeaders }); } ); @@ -773,7 +785,7 @@ export class BrowserWindow { const Jimp = require("jimp") const img = await Jimp.read(wpPath) const blurAmount = args.blurAmount ?? 256 - if(blurAmount) { + if (blurAmount) { img.blur(blurAmount) } const screens = await screen.getAllDisplays() @@ -810,7 +822,7 @@ export class BrowserWindow { } // if path is directory, delete it if (lstatSync(path).isDirectory()) { - await rmdirSync(path, {recursive: true}); + await rmdirSync(path, { recursive: true }); } else { // if path is file, delete it await unlinkSync(path); @@ -841,7 +853,7 @@ export class BrowserWindow { // remove WidevineCDM from appdata folder const widevineCdmPath = join(app.getPath("userData"), "./WidevineCdm"); if (existsSync(widevineCdmPath)) { - rmSync(widevineCdmPath, {recursive: true, force: true}) + rmSync(widevineCdmPath, { recursive: true, force: true }) } // reinstall WidevineCDM app.relaunch() @@ -849,6 +861,7 @@ export class BrowserWindow { }) ipcMain.handle("get-github-plugin", async (event, url) => { + await this.StopWatcher() const returnVal = { success: true, theme: null, @@ -893,9 +906,11 @@ export class BrowserWindow { returnVal.success = false; } BrowserWindow.win.webContents.send("plugin-installed", returnVal); + this.StartWatcher(utils.getPath('themes')); }); ipcMain.handle("get-github-theme", async (event, url) => { + await this.StopWatcher() const returnVal = { success: true, theme: null, @@ -940,6 +955,8 @@ export class BrowserWindow { returnVal.success = false; } BrowserWindow.win.webContents.send("theme-installed", returnVal); + this.StartWatcher(utils.getPath('themes')); + BrowserWindow.win.webContents.send("theme-update", "") }); ipcMain.on("get-themes", (event, _key) => { @@ -1128,7 +1145,7 @@ export class BrowserWindow { // Move window ipcMain.on("windowmove", (_event, x, y) => { - BrowserWindow.win.setBounds({x, y}); + BrowserWindow.win.setBounds({ x, y }); }); //Fullscreen @@ -1143,7 +1160,7 @@ export class BrowserWindow { //Fullscreen ipcMain.on('detachDT', (_event, _) => { - BrowserWindow.win.webContents.openDevTools({mode: 'detach'}); + BrowserWindow.win.webContents.openDevTools({ mode: 'detach' }); }) ipcMain.handle('relaunchApp', (_event, _) => { @@ -1162,6 +1179,10 @@ export class BrowserWindow { app.quit(); }) + ipcMain.handle("quit-app", (_event, _) => { + app.quit(); + }) + app.on('before-quit', () => { }) @@ -1176,102 +1197,17 @@ export class BrowserWindow { }); - ipcMain.on("scanLibrary", async (event, folders) => { - async function getFiles(dir : any) { - const dirents = await readdir(dir, { withFileTypes: true }); - const files = await Promise.all(dirents.map((dirent: any) => { - const res = path.resolve(dir, dirent.name); - return dirent.isDirectory() ? getFiles(res) : res; - })); - return Array.prototype.concat(...files); - } - if (folders == null || folders.length == null || folders.length == 0) folders = ["D:\\Music"] - console.log('folders', folders) - let files: any[] = [] - for (var folder of folders){ - // get files from the Music folder - files = files.concat(await getFiles(folder)) - } - - //console.log("cider.files", files2); - let supporttedformats = ["mp3", "aac", "webm", "flac", "m4a", "ogg", "wav", "opus"] - let audiofiles = files.filter(f => supporttedformats.includes(f.substring(f.lastIndexOf('.') + 1))); - // console.log("cider.files2", audiofiles, audiofiles.length); - let metadatalist = [] - let numid = 0; - for (var audio of audiofiles) { - try{ - const metadata = await mm.parseFile(audio); - if (metadata != null){ - let form = { - "id": "ciderlocal" + numid, - "type": "podcast-episodes", - "href": audio, - "attributes": { - "artwork": { - "width": 3000, - "height": 3000, - "url": metadata.common.picture != undefined ? "data:image/png;base64,"+metadata.common.picture[0].data.toString('base64')+"" : "", - }, - "topics": [], - "url": "", - "subscribable": true, - "mediaKind": "audio", - "genreNames": [ - "" - ], - // "playParams": { - // "id": "ciderlocal" + numid, - // "kind": "podcast", - // "isLibrary": true, - // "reporting": false }, - "trackNumber": metadata.common.track?.no ?? 0, - "discNumber": metadata.common.disk?.no ?? 0, - "name": metadata.common.title ?? audio.substring(audio.lastIndexOf('\\') + 1), - "albumName": metadata.common.album, - "artistName": metadata.common.artist, - "copyright": metadata.common.copyright ?? "", - "assetUrl": "file:///" +audio, - "contentAdvisory": "", - "releaseDateTime": "2022-05-13T00:23:00Z", - "durationInMilliseconds": Math.floor((metadata.format.duration?? 0) * 1000), - - "offers": [ - { - "kind": "get", - "type": "STDQ" - } - ], - "contentRating": "clean" - } - }; - numid += 1; - - // let form = {"id": "/ciderlocal?" + audio, - // "type": "library-songs", - // "href": "/ciderlocal?" + audio, - // "artwork": { - // "url": metadata.common.picture != undefined ? "data:image/png;base64,"+metadata.common.picture[0].data.toString('base64')+"" : "", - // }, - // "attributes": - // { "durationInMillis": Math.floor((metadata.format.duration?? 0) * 1000), - // "hasLyrics": false, - // "playParams": { "id": "/ciderlocal?" + audio, "kind": "song", "isLibrary": true, "reporting": false }, - // "trackNumber": 0, - // "discNumber": 0, - // "genreNames": [""], - // "name": metadata.common.title, - // "albumName": metadata.common.album, - // "artistName": metadata.common.artist}} - metadatalist.push(form)} - } catch (e){} - } - // console.log('metadatalist', metadatalist); - this.localSongs = metadatalist; - BrowserWindow.win.webContents.send('getUpdatedLocalList', metadatalist); - } + ipcMain.handle("scanLibrary", async (event, folders) => { + const oldmetadatalist = await LocalFiles.sendOldLibrary() + BrowserWindow.win.webContents.send('getUpdatedLocalList', oldmetadatalist); + const metadatalist = await LocalFiles.scanLibrary() + BrowserWindow.win.webContents.send('getUpdatedLocalList', metadatalist); + LocalFiles.cleanUpDB() + }) - ) + LocalFiles.eventEmitter.on('newtracks', (data) => { + BrowserWindow.win.webContents.send('getUpdatedLocalList', data); + }); ipcMain.on('writeWAV', (event, leftpcm, rightpcm, bufferlength) => { @@ -1439,13 +1375,13 @@ export class BrowserWindow { console.log('sc', SoundCheckTag) BrowserWindow.win.webContents.send('SoundCheckTag', SoundCheckTag) }).catch(err => { - console.log(err) - }); + console.log(err) + }); }); ipcMain.on('share-menu', async (_event, url) => { - if (process.platform != 'darwin') return; + if (process.platform !== 'darwin') return; //https://www.electronjs.org/docs/latest/api/share-menu console.log('[Share Sheet - App.ts]', url) const options = { @@ -1464,10 +1400,17 @@ export class BrowserWindow { } }); + ipcMain.on('open-appdata', (_event) => { shell.openPath(app.getPath('userData')); }); + ipcMain.handle('folderSelector', async (_event) => { + let u = await dialog.showOpenDialog({ + properties: ['openDirectory', 'multiSelections'] + }); + return u.filePaths + }); //#region Cider Connect ipcMain.on('cc-auth', (_event) => { @@ -1492,35 +1435,38 @@ export class BrowserWindow { /* ********************************************************************************************* * Window Events * **********************************************************************************************/ - if (process.platform === "win32") { - let WND_STATE = { - MINIMIZED: 0, - NORMAL: 1, - MAXIMIZED: 2, - FULL_SCREEN: 3, - }; - let wndState = WND_STATE.NORMAL; + let WND_STATE = { + MINIMIZED: 0, + NORMAL: 1, + MAXIMIZED: 2, + FULL_SCREEN: 3, + }; + let wndState = WND_STATE.NORMAL; + + BrowserWindow.win.on("resize", (_: any) => { + const isMaximized = BrowserWindow.win.isMaximized(); + const isMinimized = BrowserWindow.win.isMinimized(); + const isFullScreen = BrowserWindow.win.isFullScreen(); + const state = wndState; + if (isMinimized && state !== WND_STATE.MINIMIZED) { + wndState = WND_STATE.MINIMIZED; + BrowserWindow.win.webContents.send('window-state-changed', 'minimized'); + } else if (isFullScreen && state !== WND_STATE.FULL_SCREEN) { + wndState = WND_STATE.FULL_SCREEN; + BrowserWindow.win.webContents.send('window-state-changed', 'fullscreen') + } else if (isMaximized && state !== WND_STATE.MAXIMIZED) { + wndState = WND_STATE.MAXIMIZED; + BrowserWindow.win.webContents.send('window-state-changed', 'maximized') + BrowserWindow.win.webContents.executeJavaScript(`app.chrome.maximized = true`); + } else if (state !== WND_STATE.NORMAL) { + wndState = WND_STATE.NORMAL; + BrowserWindow.win.webContents.send('window-state-changed', 'normal') + BrowserWindow.win.webContents.executeJavaScript( + `app.chrome.maximized = false` + ); + } + }); - BrowserWindow.win.on("resize", (_: any) => { - const isMaximized = BrowserWindow.win.isMaximized(); - const isMinimized = BrowserWindow.win.isMinimized(); - const isFullScreen = BrowserWindow.win.isFullScreen(); - const state = wndState; - if (isMinimized && state !== WND_STATE.MINIMIZED) { - wndState = WND_STATE.MINIMIZED; - } else if (isFullScreen && state !== WND_STATE.FULL_SCREEN) { - wndState = WND_STATE.FULL_SCREEN; - } else if (isMaximized && state !== WND_STATE.MAXIMIZED) { - wndState = WND_STATE.MAXIMIZED; - BrowserWindow.win.webContents.executeJavaScript(`app.chrome.maximized = true`); - } else if (state !== WND_STATE.NORMAL) { - wndState = WND_STATE.NORMAL; - BrowserWindow.win.webContents.executeJavaScript( - `app.chrome.maximized = false` - ); - } - }); - } let isQuiting = false @@ -1563,10 +1509,10 @@ export class BrowserWindow { // Set window Handler BrowserWindow.win.webContents.setWindowOpenHandler((x: any) => { if (x.url.includes("apple") || x.url.includes("localhost")) { - return {action: "allow"}; + return { action: "allow" }; } shell.openExternal(x.url).catch(console.error); - return {action: "deny"}; + return { action: "deny" }; }); } @@ -1622,7 +1568,7 @@ export class BrowserWindow { "CtlN": "Cider", "iV": "196623" }; - let server2 = mdns.createAdvertisement(x, `${await getPort({port: 3839})}`, { + let server2 = mdns.createAdvertisement(x, `${await getPort({ port: 3839 })}`, { name: encoded, txt: txt_record }); diff --git a/src/main/base/plugins.ts b/src/main/base/plugins.ts index d51e8a85..5873af4c 100644 --- a/src/main/base/plugins.ts +++ b/src/main/base/plugins.ts @@ -16,10 +16,10 @@ import {utils} from './utils'; * @see {@link https://github.com/ciderapp/Cider/wiki/Plugins|Documentation} */ export class Plugins { + private static PluginMap: any = {}; private basePluginsPath = path.join(__dirname, '../plugins'); private userPluginsPath = path.join(electron.app.getPath('userData'), 'Plugins'); private readonly pluginsList: any = {}; - private static PluginMap: any = {}; constructor() { this.pluginsList = this.getPlugins(); @@ -35,8 +35,8 @@ export class Plugins { public getPlugins(): any { let plugins: any = {}; - - + + if (fs.existsSync(this.basePluginsPath)) { fs.readdirSync(this.basePluginsPath).forEach(file => { if (file.endsWith('.ts') || file.endsWith('.js')) { @@ -49,8 +49,8 @@ export class Plugins { } }); } - - + + if (fs.existsSync(this.userPluginsPath)) { fs.readdirSync(this.userPluginsPath).forEach(file => { // Plugins V1 @@ -104,10 +104,11 @@ export class Plugins { public callPlugins(event: string, ...args: any[]) { for (const plugin in this.pluginsList) { if (this.pluginsList[plugin][event]) { - try{ + try { this.pluginsList[plugin][event](...args); - }catch(e) { - console.log(`[${plugin}] Plugin error: ${e}`); + } catch (e) { + console.error(`[${plugin}] An error was encountered: ${e}`); + console.error(e) } } } diff --git a/src/main/base/store.ts b/src/main/base/store.ts index 3190e8e5..d7881352 100644 --- a/src/main/base/store.ts +++ b/src/main/base/store.ts @@ -2,6 +2,7 @@ import * as ElectronStore from 'electron-store'; import * as electron from "electron"; import {app} from "electron"; import fetch from "electron-fetch"; + export class Store { static cfg: ElectronStore; @@ -12,15 +13,6 @@ export class Store { }, "general": { "close_button_hide": false, - "discordrpc": { - "enabled": true, - "client": "Cider", - "clear_on_pause": true, - "hide_buttons": false, - "hide_timestamp": false, - "state_format": "by {artist}", - "details_format": "{title}", - }, "language": "en_US", // electron.app.getLocale().replace('-', '_') this can be used in future "playbackNotifications": true, "resumeOnStartupBehavior": "local", @@ -39,7 +31,8 @@ export class Store { "applemusic": false, "library": false, "amplaylists": false, - "playlists": false + "playlists": false, + "localLibrary": false }, "onStartup": { "enabled": false, @@ -66,7 +59,7 @@ export class Store { "CommandOrControl", "G" ], - "songs" : [ + "songs": [ "CommandOrControl", "J" ], @@ -89,23 +82,35 @@ export class Store { ], "audioSettings": [ "CommandOrControl", - process.platform == "darwin" ? "Option" : (process.platform == "linux" ? "Shift": "Alt"), + process.platform == "darwin" ? "Option" : (process.platform == "linux" ? "Shift" : "Alt"), "A" ], "pluginMenu": [ "CommandOrControl", - process.platform == "darwin" ? "Option" : (process.platform == "linux" ? "Shift": "Alt"), + process.platform == "darwin" ? "Option" : (process.platform == "linux" ? "Shift" : "Alt"), "P" ], "castToDevices": [ "CommandOrControl", - process.platform == "darwin" ? "Option" : (process.platform == "linux" ? "Shift": "Alt"), + process.platform == "darwin" ? "Option" : (process.platform == "linux" ? "Shift" : "Alt"), "C" ], "settings": [ "CommandOrControl", // Who the hell uses a different key for this? Fucking Option? "," ], + "zoomn": [ + "Control", + "numadd", + ], + "zoomt": [ + "Control", + "numsub", + ], + "zoomrst": [ + "Control", + "num0", + ], "openDeveloperTools": [ "CommandOrControl", "Shift", @@ -114,21 +119,50 @@ export class Store { }, "showLovedTracksInline": true }, + "connectivity": { + "discord_rpc": { + "enabled": true, + "client": "Cider", + "clear_on_pause": true, + "hide_buttons": false, + "hide_timestamp": false, + "state_format": "by {artist}", + "details_format": "{title}", + }, + "lastfm": { + "enabled": false, + "scrobble_after": 50, + "filter_loop": false, + "filter_types": {}, + "secrets": { + "username": "", + "key": "" + } + + }, + }, "home": { "followedArtists": [], "favoriteItems": [] }, "libraryPrefs": { "songs": { + "scroll": "paged", "sort": "name", "sortOrder": "asc", "size": "normal" }, "albums": { + "scroll": "paged", "sort": "name", "sortOrder": "asc", "viewAs": "covers" }, + "playlists": { + "scroll": "infinite" + }, + "localPaths": [], + "pageSize": 250 }, "audio": { "volume": 1, @@ -139,18 +173,19 @@ export class Store { "playbackRate": 1, "quality": "HIGH", "seamless_audio": true, - "normalization": false, + "normalization": true, "dBSPL": false, "dBSPLcalibration": 90, "maikiwiAudio": { - "ciderPPE": false, + "ciderPPE": true, "ciderPPE_value": "MAIKIWI", + "opportunisticCorrection_state": "OFF", "atmosphereRealizer1": false, "atmosphereRealizer1_value": "NATURAL_STANDARD", "atmosphereRealizer2": false, "atmosphereRealizer2_value": "NATURAL_STANDARD", "spatial": false, - "spatialProfile": "71_420maikiwi", + "spatialProfile": "BPLK", "vibrantBass": { // Hard coded into the app. Don't include any of this config into exporting presets in store.ts 'frequencies': [17.182, 42.169, 53.763, 112.69, 119.65, 264.59, 336.57, 400.65, 505.48, 612.7, 838.7, 1155.3, 1175.6, 3406.8, 5158.6, 5968.1, 6999.9, 7468.6, 8862.9, 9666, 10109], 'Q': [2.5, 0.388, 5, 5, 2.5, 7.071, 14.14, 10, 7.071, 14.14, 8.409, 0.372, 7.071, 10, 16.82, 7.071, 28.28, 20, 8.409, 40, 40], @@ -206,31 +241,25 @@ export class Store { }, "windowControlPosition": 0, // 0 default right "nativeTitleBar": false, - "uiScale": 1.0, "windowColor": "#000000", "customAccentColor": false, - "accentColor": "#fc3c44" + "accentColor": "#fc3c44", + "purplePodcastPlaybackBar": false, + "maxElementScale": -1 // -1 default, anything else is a custom scale }, "lyrics": { - "enable_mxm": false, + "enable_mxm": true, "mxm_karaoke": false, - "mxm_language": "en", + "mxm_language": "disabled", "enable_qq": false, "enable_yt": false, }, - "lastfm": { - "enabled": false, - "scrobble_after": 30, - "auth_token": "", - "enabledRemoveFeaturingArtists": true, - "filterLoop": true, - "NowPlaying": "true" - }, "advanced": { - "AudioContext": false, + "AudioContext": true, "experiments": [], "playlistTrackMapping": true, - "ffmpegLocation": "" + "ffmpegLocation": "", + "disableLogging": true }, "connectUser": { "auth": null, @@ -241,15 +270,9 @@ export class Store { } }, } - private migrations: any = { - '>=1.4.3': (store: ElectronStore) => { - if (typeof store.get('general.discordrpc') == 'number' || typeof store.get('general.discordrpc') == 'string') { - store.delete('general.discordrpc'); - } - }, - } + private migrations: any = {} private schema: ElectronStore.Schema = { - "general.discordrpc": { + "connectivity.discord_rpc": { type: 'object' }, } @@ -260,57 +283,13 @@ export class Store { defaults: this.defaults, schema: this.schema, migrations: this.migrations, - clearInvalidConfig: true + clearInvalidConfig: false //disabled for now }); Store.cfg.set(this.mergeStore(this.defaults, Store.cfg.store)) this.ipcHandler(); } - /** - * Merge Configurations - * @param target The target configuration - * @param source The source configuration - */ - private mergeStore = (target: { [x: string]: any; }, source: { [x: string]: any; }) => { - // Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties - for (const key of Object.keys(source)) { - if (key.includes('migrations')) { - continue; - } - if (source[key] instanceof Array) { - continue - } - if (source[key] instanceof Object) Object.assign(source[key], this.mergeStore(target[key], source[key])) - } - // Join `target` and modified `source` - Object.assign(target || {}, source) - return target - } - - - /** - * IPC Handler - */ - private ipcHandler(): void { - electron.ipcMain.handle('getStoreValue', (_event, key, defaultValue) => { - return (defaultValue ? Store.cfg.get(key, true) : Store.cfg.get(key)); - }); - - electron.ipcMain.handle('setStoreValue', (_event, key, value) => { - Store.cfg.set(key, value); - }); - - electron.ipcMain.on('getStore', (event) => { - event.returnValue = Store.cfg.store - }) - - electron.ipcMain.on('setStore', (_event, store) => { - Store.cfg.store = store - }) - } - - static pushToCloud(): void { if (Store.cfg.get('connectUser.auth') === null) return; var syncData = Object(); @@ -324,7 +303,7 @@ export class Store { plugins: Store.cfg.store.plugins }) } - + if (Store.cfg.get('connectUser.sync.settings')) { syncData.push({ general: Store.cfg.get('general'), @@ -348,4 +327,46 @@ export class Store { body: JSON.stringify(postBody) }) } + + /** + * Merge Configurations + * @param target The target configuration + * @param source The source configuration + */ + private mergeStore = (target: { [x: string]: any; }, source: { [x: string]: any; }) => { + // Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties + for (const key of Object.keys(source)) { + if (key.includes('migrations')) { + continue; + } + if (source[key] instanceof Array) { + continue + } + if (source[key] instanceof Object) Object.assign(source[key], this.mergeStore(target[key], source[key])) + } + // Join `target` and modified `source` + Object.assign(target || {}, source) + return target + } + + /** + * IPC Handler + */ + private ipcHandler(): void { + electron.ipcMain.handle('getStoreValue', (_event, key, defaultValue) => { + return (defaultValue ? Store.cfg.get(key, true) : Store.cfg.get(key)); + }); + + electron.ipcMain.handle('setStoreValue', (_event, key, value) => { + Store.cfg.set(key, value); + }); + + electron.ipcMain.on('getStore', (event) => { + event.returnValue = Store.cfg.store + }) + + electron.ipcMain.on('setStore', (_event, store) => { + Store.cfg.store = store + }) + } } diff --git a/src/main/base/utils.ts b/src/main/base/utils.ts index 41e0ae12..da47e917 100644 --- a/src/main/base/utils.ts +++ b/src/main/base/utils.ts @@ -2,18 +2,39 @@ import * as fs from "fs"; import * as path from "path"; import {Store} from "./store"; import {BrowserWindow as bw} from "./browserwindow"; -import {app, dialog, ipcMain, Notification, shell } from "electron"; +import {app, BrowserWindow, ipcMain} from "electron"; import fetch from "electron-fetch"; -import {AppImageUpdater, NsisUpdater} from "electron-updater"; -import * as log from "electron-log"; import ElectronStore from "electron-store"; export class utils { + /** + * Playback Functions + */ + static playback = { + pause: () => { + bw.win.webContents.executeJavaScript("MusicKitInterop.pause()") + }, + play: () => { + bw.win.webContents.executeJavaScript("MusicKitInterop.play()") + }, + playPause: () => { + bw.win.webContents.executeJavaScript("MusicKitInterop.playPause()") + }, + next: () => { + bw.win.webContents.executeJavaScript("MusicKitInterop.next()") + }, + previous: () => { + bw.win.webContents.executeJavaScript("MusicKitInterop.previous()") + }, + seek: (seconds: number) => { + bw.win.webContents.executeJavaScript(`MusicKit.getInstance().seekToTime(${seconds})`) + } + } /** * Paths for the application to use */ - private static paths: any = { + static paths: any = { srcPath: path.join(__dirname, "../../src"), rendererPath: path.join(__dirname, "../../src/renderer"), mainPath: path.join(__dirname, "../../src/main"), @@ -43,6 +64,21 @@ export class utils { return app; } + /** + * Get the IPCMain + */ + static getIPCMain(): Electron.IpcMain { + return ipcMain + } + + /* + * Get the Express instance + * @returns {any} + */ + static getExpress(): any { + return bw.express + } + /** * Fetches the i18n locale for the given language. * @param language {string} The language to fetch the locale for. @@ -64,7 +100,7 @@ export class utils { } else { i18n = Object.assign(i18n, JSON.parse(fs.readFileSync(path.join(this.paths.i18nPath, `en_US.json`), "utf8"))); } - }) + }) } if (key) { return i18n[key] @@ -90,7 +126,6 @@ export class utils { return Store.cfg.store } - /** * Get the store instance * @returns {Store} @@ -116,15 +151,15 @@ export class utils { return Store.pushToCloud } - - - - /** * Gets the browser window */ static getWindow(): Electron.BrowserWindow { - return bw.win + if (bw.win) { + return bw.win + } else { + return BrowserWindow.getAllWindows()[0] + } } static loadPluginFrontend(path: string): void { @@ -134,25 +169,4 @@ export class utils { static loadJSFrontend(path: string): void { bw.win.webContents.executeJavaScript(fs.readFileSync(path, "utf8")); } - - /** - * Playback Functions - */ - static playback = { - pause: () => { - bw.win.webContents.executeJavaScript("MusicKitInterop.pause()") - }, - play: () => { - bw.win.webContents.executeJavaScript("MusicKitInterop.play()") - }, - playPause: () => { - bw.win.webContents.executeJavaScript("MusicKitInterop.playPause()") - }, - next: () => { - bw.win.webContents.executeJavaScript("MusicKitInterop.next()") - }, - previous: () => { - bw.win.webContents.executeJavaScript("MusicKitInterop.previous()") - } - } } diff --git a/src/main/base/vcomponents.json b/src/main/base/vcomponents.json index 42f86c68..fcbc115c 100644 --- a/src/main/base/vcomponents.json +++ b/src/main/base/vcomponents.json @@ -6,7 +6,6 @@ "pages/library-artists", "pages/browse", "pages/groupings", - "pages/settings", "pages/installed-themes", "pages/listen_now", "pages/radio", @@ -60,6 +59,7 @@ "components/fullscreen", "components/miniplayer", "components/castmenu", + "components/pathmenu", "components/airplay-modal", "components/artist-chip", "components/hello-world", diff --git a/src/main/base/vrouting.json b/src/main/base/vrouting.json index 6d69582c..613103d1 100644 --- a/src/main/base/vrouting.json +++ b/src/main/base/vrouting.json @@ -69,6 +69,11 @@ "component": "", "condition": "page.includes('album_')" }, + { + "page": "social-profiles_", + "component": "", + "condition": "$root.page.includes('social-profiles_')" + }, { "page": "recordLabel_", "component": "", diff --git a/src/main/base/wsapi.ts b/src/main/base/wsapi.ts index a10fd529..58f1affd 100644 --- a/src/main/base/wsapi.ts +++ b/src/main/base/wsapi.ts @@ -64,6 +64,15 @@ export class wsapi { electron.ipcMain.on('wsapi-returnvolumeMax', (_event: any, arg: any) => { this.returnmaxVolume(JSON.parse(arg)); }); + electron.ipcMain.on('wsapi-libraryStatus', (_event: any, inLibrary: boolean, rating: number) => { + this.returnLibraryStatus(inLibrary, rating); + }); + electron.ipcMain.on('wsapi-rate', (_event: any, kind: string, id: string, rating: number) => { + this.returnRatingStatus(kind, id, rating); + }); + electron.ipcMain.on('wsapi-change-library', (_event: any, kind: string, id: string, shouldAdd: boolean) => { + this.returnLibraryChange(kind, id, shouldAdd); + }); this.wss = new WebSocketServer({ port: this.port, perMessageDeflate: { @@ -242,6 +251,15 @@ export class wsapi { case "get-currentmediaitem": this._win.webContents.executeJavaScript(`wsapi.getPlaybackState()`); break; + case "library-status": + this._win.webContents.executeJavaScript(`wsapi.getLibraryStatus("${data.type}", "${data.id}")`); + break; + case "rating": + this._win.webContents.executeJavaScript(`wsapi.rate("${data.type}", "${data.id}", ${data.rating})`); + break; + case "change-library": + this._win.webContents.executeJavaScript(`wsapi.changeLibrary("${data.type}", "${data.id}", ${data.add})`); + break; case "quit": electron.app.quit(); break; @@ -317,4 +335,35 @@ export class wsapi { client.send(JSON.stringify(response)); }); } + + returnLibraryStatus(inLibrary: boolean, rating: number) { + const response: standardResponse = { + status: 0, data: { + inLibrary, rating + }, message: "OK", type: "libraryStatus" + } + this.clients.forEach(function each(client: any) { + client.send(JSON.stringify(response)); + }); + } + + returnRatingStatus(kind: string, id: string, rating: number) { + const response: standardResponse = { + status: 0, data: { kind, id, rating }, + message: "OK", type: "rate" + }; + this.clients.forEach(function each(client: any) { + client.send(JSON.stringify(response)); + }); + } + + returnLibraryChange(kind: string, id: string, shouldAdd: boolean) { + const response: standardResponse = { + status: 0, data: { kind, id, add: shouldAdd }, + message: "OK", type: "change-library" + }; + this.clients.forEach(function each(client: any) { + client.send(JSON.stringify(response)); + }); + } } \ No newline at end of file diff --git a/src/main/index.ts b/src/main/index.ts index ce2d043d..dcb407c2 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,18 +1,18 @@ -require('v8-compile-cache'); - -const {app, components, ipcMain} = require('electron'); -import {join} from 'path'; +require("v8-compile-cache"); +import {join} from "path"; +import {app} from "electron" if (!app.isPackaged) { - app.setPath('userData', join(app.getPath('appData'), 'Cider')); + app.setPath("userData", join(app.getPath("appData"), "Cider")); } import {Store} from "./base/store"; import {AppEvents} from "./base/app"; import {Plugins} from "./base/plugins"; import {BrowserWindow} from "./base/browserwindow"; -import {init as Sentry} from '@sentry/electron'; +import {init as Sentry} from "@sentry/electron"; import {RewriteFrames} from "@sentry/integrations"; +import {components, ipcMain} from "electron" // Analytics for debugging fun yeah. Sentry({ @@ -32,13 +32,13 @@ const CiderPlug = new Plugins(); * App Event Handlers * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ -app.on('ready', () => { +app.on("ready", () => { Cider.ready(CiderPlug); - console.log('[Cider] Application is Ready. Creating Window.') + console.log("[Cider] Application is Ready. Creating Window.") if (!app.isPackaged) { - console.info('[Cider] Running in development mode.') - require('vue-devtools').install() + console.info("[Cider] Running in development mode.") + require("vue-devtools").install() } components.whenReady().then(async () => { @@ -49,11 +49,11 @@ app.on('ready', () => { console.log(gpuInfo) }) - console.log('[Cider][Widevine] Status:', components.status()); + console.log("[Cider][Widevine] Status:", components.status()); Cider.bwCreated(); win.on("ready-to-show", () => { - console.debug('[Cider] Window is Ready.') - CiderPlug.callPlugins('onReady', win); + console.debug("[Cider] Window is Ready.") + CiderPlug.callPlugins("onReady", win); win.show(); }); }); @@ -68,20 +68,16 @@ ipcMain.handle("renderer-ready", (event) => { CiderPlug.callPlugins("onRendererReady", event); }) -ipcMain.on('playbackStateDidChange', (_event, attributes) => { - CiderPlug.callPlugins('onPlaybackStateDidChange', attributes); +ipcMain.on("playbackStateDidChange", (_event, attributes) => { + CiderPlug.callPlugins("onPlaybackStateDidChange", attributes); }); -ipcMain.on('nowPlayingItemDidChange', (_event, attributes) => { - CiderPlug.callPlugins('onNowPlayingItemDidChange', attributes); +ipcMain.on("nowPlayingItemDidChange", (_event, attributes) => { + CiderPlug.callPlugins("onNowPlayingItemDidChange", attributes); }); -ipcMain.on('nowPlayingItemDidChangeLastFM', (_event, attributes) => { - CiderPlug.callPlugin('lastfm.js', 'nowPlayingItemDidChangeLastFM', attributes); -}) - -app.on('before-quit', () => { - CiderPlug.callPlugins('onBeforeQuit'); +app.on("before-quit", () => { + CiderPlug.callPlugins("onBeforeQuit"); console.warn(`${app.getName()} exited.`); }); @@ -90,21 +86,21 @@ app.on('before-quit', () => { * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ // @ts-ignore -app.on('widevine-ready', (version, lastVersion) => { +app.on("widevine-ready", (version, lastVersion) => { if (null !== lastVersion) { - console.log('[Cider][Widevine] Widevine ' + version + ', upgraded from ' + lastVersion + ', is ready to be used!') + console.log("[Cider][Widevine] Widevine " + version + ", upgraded from " + lastVersion + ", is ready to be used!") } else { - console.log('[Cider][Widevine] Widevine ' + version + ' is ready to be used!') + console.log("[Cider][Widevine] Widevine " + version + " is ready to be used!") } }) // @ts-ignore -app.on('widevine-update-pending', (currentVersion, pendingVersion) => { - console.log('[Cider][Widevine] Widevine ' + currentVersion + ' is ready to be upgraded to ' + pendingVersion + '!') +app.on("widevine-update-pending", (currentVersion, pendingVersion) => { + console.log("[Cider][Widevine] Widevine " + currentVersion + " is ready to be upgraded to " + pendingVersion + "!") }) // @ts-ignore -app.on('widevine-error', (error) => { - console.log('[Cider][Widevine] Widevine installation encountered an error: ' + error) +app.on("widevine-error", (error) => { + console.log("[Cider][Widevine] Widevine installation encountered an error: " + error) app.exit() }) diff --git a/src/main/plugins/discordrpc.ts b/src/main/plugins/discordrpc.ts index 9cc7baf1..9c606d17 100644 --- a/src/main/plugins/discordrpc.ts +++ b/src/main/plugins/discordrpc.ts @@ -52,29 +52,57 @@ export default class DiscordRPC { const self = this this.connect(); console.debug(`[Plugin][${this.name}] Ready.`); - ipcMain.on('updateRPCImage', (_event, imageurl) => { + ipcMain.on('updateRPCImage', async (_event, imageurl) => { if (!this._utils.getStoreValue("general.privateEnabled")) { - fetch('https://api.cider.sh/v1/images', { + let b64data = "" + let postbody = "" + if (imageurl.startsWith("/ciderlocalart")){ + let port = await _win.webContents.executeJavaScript( + `app.clientPort` + ); + console.log("http://localhost:"+port+imageurl) + const response = await fetch("http://localhost:"+port+imageurl) + b64data = (await response.buffer()).toString('base64'); + postbody = JSON.stringify({data: b64data}) + fetch('https://api.cider.sh/v1/images', { - method: 'POST', - body: JSON.stringify({url: imageurl}), - headers: { - 'Content-Type': 'application/json', - 'User-Agent': _win.webContents.getUserAgent() - }, - }) - .then(res => res.json()) - .then(function (json) { - self._attributes["artwork"]["url"] = json.url - self.setActivity(self._attributes) + method: 'POST', + body: postbody, + headers: { + 'Content-Type': 'application/json', + 'User-Agent': _win.webContents.getUserAgent() + }, }) + .then(res => res.json()) + .then(function (json) { + self._attributes["artwork"]["url"] = json.url + self.setActivity(self._attributes) + }) + } else { + postbody = JSON.stringify({url: imageurl}) + fetch('https://api.cider.sh/v1/images', { + + method: 'POST', + body: postbody, + headers: { + 'Content-Type': 'application/json', + 'User-Agent': _win.webContents.getUserAgent() + }, + }) + .then(res => res.json()) + .then(function (json) { + self._attributes["artwork"]["url"] = json.url + self.setActivity(self._attributes) + }) + } + } }) ipcMain.on("reloadRPC", () => { console.log(`[DiscordRPC][reload] Reloading DiscordRPC.`); this._client.destroy() - this._client.endlessLogin({clientId: this._utils.getStoreValue("general.discordrpc.client") === "Cider" ? '911790844204437504' : '886578863147192350'}) + this._client.endlessLogin({clientId: this._utils.getStoreValue("connectivity.discord_rpc.client") === "Cider" ? '911790844204437504' : '886578863147192350'}) .then(() => { this.ready = true this._utils.getWindow().webContents.send("rpcReloaded", this._client.user) @@ -88,6 +116,7 @@ export default class DiscordRPC { }) } + /** * Runs on app stop */ @@ -125,7 +154,7 @@ export default class DiscordRPC { * @private */ private connect() { - if (!this._utils.getStoreValue("general.discordrpc.enabled")) { + if (!this._utils.getStoreValue("connectivity.discord_rpc.enabled")) { return; } @@ -143,7 +172,7 @@ export default class DiscordRPC { }) // Login to Discord - this._client.endlessLogin({clientId: this._utils.getStoreValue("general.discordrpc.client") === "Cider" ? '911790844204437504' : '886578863147192350'}) + this._client.endlessLogin({clientId: this._utils.getStoreValue("connectivity.discord_rpc.client") === "Cider" ? '911790844204437504' : '886578863147192350'}) .then(() => { this.ready = true }) @@ -161,8 +190,8 @@ export default class DiscordRPC { // Check if show buttons is (true) or (false) let activity: Object = { - details: this._utils.getStoreValue("general.discordrpc.details_format"), - state: this._utils.getStoreValue("general.discordrpc.state_format"), + details: this._utils.getStoreValue("connectivity.discord_rpc.details_format"), + state: this._utils.getStoreValue("connectivity.discord_rpc.state_format"), largeImageKey: attributes?.artwork?.url?.replace('{w}', '1024').replace('{h}', '1024'), largeImageText: attributes.albumName, instance: false // Whether the activity is in a game session @@ -177,7 +206,7 @@ export default class DiscordRPC { } // Set the activity - if (!attributes.status && this._utils.getStoreValue("general.discordrpc.clear_on_pause")) { + if (!attributes.status && this._utils.getStoreValue("connectivity.discord_rpc.clear_on_pause")) { this._client.clearActivity() } else if (activity && this._activityCache !== activity) { this._client.setActivity(activity) @@ -191,7 +220,7 @@ export default class DiscordRPC { private filterActivity(activity: any, attributes: any): Object { // Add the buttons if people want them - if (!this._utils.getStoreValue("general.discordrpc.hide_buttons")) { + if (!this._utils.getStoreValue("connectivity.discord_rpc.hide_buttons")) { activity.buttons = [ {label: 'Listen on Cider', url: attributes.url.cider}, {label: 'View on Apple Music', url: attributes.url.appleMusic} @@ -199,13 +228,13 @@ export default class DiscordRPC { } // Add the timestamp if its playing and people want them - if (!this._utils.getStoreValue("general.discordrpc.hide_timestamp") && attributes.status) { + if (!this._utils.getStoreValue("connectivity.discord_rpc.hide_timestamp") && attributes.status) { activity.startTimestamp = Date.now() - (attributes?.durationInMillis - attributes?.remainingTime) activity.endTimestamp = attributes.endTime } // If the user wants to keep the activity when paused - if (!this._utils.getStoreValue("general.discordrpc.clear_on_pause")) { + if (!this._utils.getStoreValue("connectivity.discord_rpc.clear_on_pause")) { activity.smallImageKey = attributes.status ? 'play' : 'pause'; activity.smallImageText = attributes.status ? 'Playing' : 'Paused'; } diff --git a/src/main/plugins/lastfm.ts b/src/main/plugins/lastfm.ts index 5018c01b..027f997c 100644 --- a/src/main/plugins/lastfm.ts +++ b/src/main/plugins/lastfm.ts @@ -1,278 +1,236 @@ -import * as electron from 'electron'; -import * as fs from 'fs'; -import {resolve} from 'path'; +export default class lastfm { -export default class LastFMPlugin { - private sessionPath = resolve(electron.app.getPath('userData'), 'session.json'); - private apiCredentials = { + /** + * Base Plugin Information + */ + public name: string = 'LastFM Plugin'; + public version: string = '2.0.0'; + public author: string = 'Core (Cider Collective)'; + + + private _apiCredentials = { key: "f9986d12aab5a0fe66193c559435ede3", secret: "acba3c29bd5973efa38cc2f0b63cc625" } /** - * Private variables for interaction in plugins + * Plugin Initialization */ - private _win: any; - private _app: any; - private _lastfm: any; - private _store: any; - private _timer: any; - - private authenticateFromFile() { - let sessionData = require(this.sessionPath) - console.log("[LastFM][authenticateFromFile] Logging in with Session Info.") - this._lastfm.setSessionCredentials(sessionData.username, sessionData.key) - console.log("[LastFM][authenticateFromFile] Logged in.", sessionData.username, sessionData.key) - } - - - authenticate() { - try { - if (this._store.lastfm.auth_token) { - this._store.lastfm.enabled = true; - } - - if (!this._store.lastfm.enabled || !this._store.lastfm.auth_token) { - this._store.lastfm.enabled = false; - return - } - /// dont move this require to top , app wont load - const LastfmAPI = require('lastfmapi'); - const lfmAPI = new LastfmAPI({ - 'api_key': this.apiCredentials.key, - 'secret': this.apiCredentials.secret - }); - - this._lastfm = Object.assign(lfmAPI, {cachedAttributes: false, cachedNowPlayingAttributes: false}); - - fs.stat(this.sessionPath, (err: any) => { - if (err) { - console.error("[LastFM][Session] Session file couldn't be opened or doesn't exist,", err) - console.log("[LastFM][Auth] Beginning authentication from configuration") - console.log("[LastFM][tk]", this._store.lastfm.auth_token) - this._lastfm.authenticate(this._store.lastfm.auth_token, (err: any, session: any) => { - if (err) { - throw err; - } - console.log("[LastFM] Successfully obtained LastFM session info,", session); // {"name": "LASTFM_USERNAME", "key": "THE_USER_SESSION_KEY"} - console.log("[LastFM] Saving session info to disk.") - let tempData = JSON.stringify(session) - fs.writeFile(this.sessionPath, tempData, (err: any) => { - if (err) - console.log("[LastFM][fs]", err) - else { - console.log("[LastFM][fs] File was written successfully.") - this.authenticateFromFile() - new electron.Notification({ - title: electron.app.getName(), - body: "Successfully logged into LastFM using Authentication Key." - }).show() - } - }) - }); - } else { - this.authenticateFromFile() - } - }) - } catch (err) { - console.log(err) - } - } - - private scrobbleSong(attributes: any) { - if (this._timer) clearTimeout(this._timer); - var self = this; - this._timer = setTimeout(async () => { - const currentAttributes = attributes; - - if (!self._lastfm || self._lastfm.cachedAttributes === attributes) { - return - } - - if (self._lastfm.cachedAttributes) { - if (self._lastfm.cachedAttributes.playParams.id === attributes.playParams.id) return; - } - - const artist = await this.getPrimaryArtist(attributes) - const album = this.getAlbumName(attributes) - - if (currentAttributes.status && currentAttributes === attributes) { - if (fs.existsSync(this.sessionPath)) { - // Scrobble playing song. - if (attributes.status === true) { - self._lastfm.track.scrobble({ - 'artist': artist, - 'track': attributes.name, - 'album': album, - 'albumArtist': artist, - 'timestamp': new Date().getTime() / 1000 - }, function (err: any, scrobbled: any) { - if (err) { - return console.error('[LastFM] An error occurred while scrobbling', err); - } - - console.log('[LastFM] Successfully scrobbled: ', scrobbled); - }); - self._lastfm.cachedAttributes = attributes - } - } else { - self.authenticate(); - } - } else { - return console.log('[LastFM] Did not add ', attributes.name, '—', artist, 'because now playing a other song.'); - } - }, Math.round(attributes.durationInMillis * Math.min((self._store.lastfm.scrobble_after / 100), 0.8))); - } - - private async updateNowPlayingSong(attributes: any) { - if (!this._lastfm || this._lastfm.cachedNowPlayingAttributes === attributes || !this._store.lastfm.NowPlaying) { - return - } - - if (this._lastfm.cachedNowPlayingAttributes) { - if (this._lastfm.cachedNowPlayingAttributes.playParams.id === attributes.playParams.id) return; - } - - if (fs.existsSync(this.sessionPath)) { - const artist = await this.getPrimaryArtist(attributes) - const album = this.getAlbumName(attributes) - - // update Now Playing - if (attributes.status === true) { - this._lastfm.track.updateNowPlaying({ - 'artist': artist, - 'track': attributes.name, - 'album': album, - 'albumArtist': artist - }, function (err: any, nowPlaying: any) { - if (err) { - return console.error('[LastFM] An error occurred while updating nowPlayingSong', err); - } - - console.log('[LastFM] Successfully updated nowPlayingSong', nowPlaying); - }); - this._lastfm.cachedNowPlayingAttributes = attributes - } - - } else { - this.authenticate() - } - } - - private getAlbumName(attributes: any): string { - return attributes.albumName.replace(/ - Single| - EP/g, ''); - } - - private async getPrimaryArtist(attributes: any) { - const songId = attributes.playParams.catalogId || attributes.playParams.id - - if (!this._store.lastfm.enabledRemoveFeaturingArtists || !songId) return attributes.artistName; - - const res = await this._win.webContents.executeJavaScript(` - (async () => { - const subMk = await MusicKit.getInstance().api.v3.music("/v1/catalog/" + MusicKit.getInstance().storefrontId + "/songs/${songId}", { - include: { - songs: ["artists"] - } - }) - if (!subMk) console.error('[LastFM] Request failed: /v1/catalog/us/songs/${songId}') - return subMk.data - })() - `).catch(console.error) - if (!res) return attributes.artistName - - const data = res.data - if (!data.length) { - console.error(`[LastFM] Unable to locate song with id of ${songId}`) - return attributes.artistName; - } - - const artists = res.data[0].relationships.artists.data - if (!artists.length) { - console.error(`[LastFM] Unable to find artists related to the song with id of ${songId}`) - return attributes.artistName; - } - - const primaryArtist = artists[0] - return primaryArtist.attributes.name - } + private _lfm: any = null; + private _authenticated: boolean = false; + private _scrobbleDelay: any = null; + private _utils: any = null; + private _scrobbleCache: any = {}; + private _nowPlayingCache: any = {}; /** - * Base Plugin Details (Eventually implemented into a GUI in settings) + * Public Methods */ - public name: string = 'LastFMPlugin'; - public description: string = 'LastFM plugin for Cider'; - public version: string = '0.0.1'; - public author: string = 'vapormusic / Cider Collective'; - /** - * Runs on plugin load (Currently run on application start) - */ - constructor(utils: { getApp: () => any; getStore: () => any; }) { - this._app = utils.getApp(); - this._store = utils.getStore() - utils.getApp().on('second-instance', (_e: any, argv: any) => { - // Checks if first instance is authorized and if second instance has protocol args - argv.forEach((value: any) => { - if (value.includes('auth')) { - console.log('[LastFMPlugin ok]') - let authURI = String(argv).split('/auth/')[1]; - if (authURI.startsWith('lastfm')) { // If we wanted more auth options - const authKey = authURI.split('lastfm?token=')[1]; - this._store.lastfm.enabled = true; - this._store.lastfm.auth_token = authKey; - console.log(authKey); - this._win.webContents.send('LastfmAuthenticated', authKey); - this.authenticate(); - } - } - }) + constructor(utils: any) { + this._utils = utils; + } + + onReady(_win: Electron.BrowserWindow): void { + this.initializeLastFM("", this._apiCredentials) + + // Register the ipcMain handlers + this._utils.getIPCMain().handle('lastfm:url', (event: any) => { + console.debug(`[${lastfm.name}:url] Called.`) + return this._lfm.getAuthenticationUrl({"cb": "cider://auth/lastfm"}) }) - electron.app.on('open-url', (event: any, arg: any) => { - console.log('[LastFMPlugin] yes') - event.preventDefault(); - if (arg.includes('auth')) { - let authURI = String(arg).split('/auth/')[1]; - if (authURI.startsWith('lastfm')) { // If we wanted more auth options - const authKey = authURI.split('lastfm?token=')[1]; - this._store.lastfm.enabled = true; - this._store.lastfm.auth_token = authKey; - this._win.webContents.send('LastfmAuthenticated', authKey); - console.log(authKey); - this.authenticate(); - } - } + + this._utils.getIPCMain().on('lastfm:auth', (event: any, token: string) => { + console.debug(`[${lastfm.name}:auth] Token: `, token) + this.authenticateLastFM(token) + }) + + this._utils.getIPCMain().on('lastfm:disconnect', (_event: any) => { + this._lfm.setSessionCredentials(null, null); + this._authenticated = false; + console.debug(`[${lastfm.name}:disconnect] Disconnected`) + }) + + this._utils.getIPCMain().on('lastfm:nowPlayingChange', (event: any, attributes: any) => { + if (this._utils.getStoreValue("connectivity.lastfm.filter_loop") || this._utils.getStoreValue("general.privateEnabled")) return; + this.updateNowPlayingTrack(attributes) + }) + + this._utils.getIPCMain().on('lastfm:scrobbleTrack', (event: any, attributes: any) => { + if (this._utils.getStoreValue("general.privateEnabled")) return; + this.scrobbleTrack(attributes) }) } /** - * Runs on app ready + * Runs on playback State Change + * @param attributes Music Attributes (attributes.status = current state) */ - onReady(win: any): void { - this._win = win; - this.authenticate(); - } - - /** - * Runs on app stop - */ - onBeforeQuit(): void { - console.log('Example plugin stopped'); + onPlaybackStateDidChange(attributes: object): void { } /** * Runs on song change * @param attributes Music Attributes + * @param scrobble */ - nowPlayingItemDidChangeLastFM(attributes: any): void { - if (!this._store.general.privateEnabled) { - attributes.status = true - if (!this._store.lastfm.filterLoop) { - this._lastfm.cachedNowPlayingAttributes = false; - this._lastfm.cachedAttributes = false - } - this.updateNowPlayingSong(attributes) - this.scrobbleSong(attributes) + onNowPlayingItemDidChange(attributes: any, scrobble = false): void { + if (this._utils.getStoreValue("general.privateEnabled")) return; + this.updateNowPlayingTrack(attributes) + } + + /** + * Initialize LastFM + * @param token + * @param api + * @private + */ + private initializeLastFM(token: string, api: { key: string, secret: string }): void { + console.debug(`[${lastfm.name}:initialize] Initializing LastFM`) + const LastfmAPI = require("lastfmapi") + this._lfm = new LastfmAPI({ + 'api_key': api.key, + 'secret': api.secret, + }); + + if (this._utils.getStoreValue("connectivity.lastfm.secrets.username") && this._utils.getStoreValue("connectivity.lastfm.secrets.key")) { + this._lfm.setSessionCredentials(this._utils.getStoreValue("connectivity.lastfm.secrets.username"), this._utils.getStoreValue("connectivity.lastfm.secrets.key")); + this._authenticated = true; + } else { + this.authenticateLastFM(token) } } -} + /** + * Authenticate the user with the given token + * @param token + * @private + */ + private authenticateLastFM(token: string): void { + if (!token) return; + this._lfm.authenticate(token, (err: any, session: any) => { + if (err) { + console.error(`[${lastfm.name}:authenticate] Error: ${typeof err === "string" ? err : err.message}`); + + this._utils.getWindow().webContents.executeJavaScript(`app.notyf.error("${err.message}");`) + return; + } + this._utils.getWindow().webContents.send('lastfm:authenticated', session) + this._authenticated = true; + console.debug(`[${lastfm.name}:authenticate] Authenticated as ${session.username}`) + }); + } + + /** + * Verifies the track information with lastfm + * @param attributes + * @param callback + * @private + */ + private verifyTrack(attributes: any, callback: Function): void { + if (!attributes) return attributes; + + if (!attributes.lfmAlbum) { + this._lfm.album.getInfo({ + "artist": attributes.artistName, + "album": attributes.albumName + }, (err: any, data: any) => { + if (err) { + console.error(`[${lastfm.name}] [album.getInfo] Error: ${typeof err === "string" ? err : err.message}`) + return {}; + } + if (data) { + attributes.lfmAlbum = data + callback(attributes) + } + }) + } else { + this._lfm.track.getCorrection(attributes.artistName, attributes.name, (err: any, data: any) => { + if (err) { + console.error(`[${lastfm.name}] [track.getCorrection] Error: ${typeof err === "string" ? err : err.message}`) + return {}; + } + if (data) { + attributes.lfmTrack = data.correction.track + callback(attributes) + } + }) + } + + + } + + /** + * Scrobbles the track to lastfm + * @param attributes + * @private + */ + private scrobbleTrack(attributes: any): void { + if (!attributes?.lfmTrack || !attributes?.lfmAlbum) { + this.verifyTrack(attributes, (a: any) => { + this.scrobbleTrack(a) + }) + return + } + + if (!this._authenticated || !attributes || this._utils.getStoreValue("connectivity.lastfm.filter_types")[attributes.playParams.kind] || (this._utils.getStoreValue("connectivity.lastfm.filter_loop") && this._scrobbleCache.track === attributes.lfmTrack.name)) return; + + // Scrobble + const scrobble = { + 'artist': attributes.lfmTrack.artist.name, + 'track': attributes.lfmTrack.name, + 'album': attributes.lfmAlbum.name, + 'albumArtist': attributes.lfmAlbum.artist, + 'timestamp': new Date().getTime() / 1000, + 'trackNumber': attributes.trackNumber, + 'duration': attributes.durationInMillis / 1000, + } + + // Easy Debugging + console.debug(`[${lastfm.name}:scrobble] Scrobbling ${scrobble.artist} - ${scrobble.track}`) + + // Scrobble the track + this._lfm.track.scrobble(scrobble, (err: any, _res: any) => { + if (err) { + console.error(`[${lastfm.name}:scrobble] Scrobble failed: ${err.message}`); + } else { + console.debug(`[${lastfm.name}:scrobble] Track scrobbled: ${scrobble.artist} - ${scrobble.track}`); + this._scrobbleCache = scrobble + } + }); + } + + /** + * Updates the now playing track + * @param attributes + * @private + */ + private updateNowPlayingTrack(attributes: any): void { + if (!attributes?.lfmTrack || !attributes?.lfmAlbum) { + this.verifyTrack(attributes, (a: any) => { + this.updateNowPlayingTrack(a) + }) + return + } + + if (!this._authenticated || !attributes || this._utils.getStoreValue("connectivity.lastfm.filter_types")[attributes.playParams.kind] || (this._utils.getStoreValue("connectivity.lastfm.filter_loop") && this._nowPlayingCache.track === attributes.lfmTrack.name)) return; + + const nowPlaying = { + 'artist': attributes.lfmTrack.artist.name, + 'track': attributes.lfmTrack.name, + 'album': attributes.lfmAlbum.name, + 'trackNumber': attributes.trackNumber, + 'duration': attributes.durationInMillis / 1000, + 'albumArtist': attributes.lfmAlbum.artist, + } + + this._lfm.track.updateNowPlaying(nowPlaying, (err: any, res: any) => { + if (err) { + console.error(`[${lastfm.name}:updateNowPlaying] Now Playing Update failed: ${err.message}`); + } else { + console.debug(`[${lastfm.name}:updateNowPlaying] Now Playing Updated: ${nowPlaying.artist} - ${nowPlaying.track}`); + this._nowPlayingCache = nowPlaying + } + }); + } + +} \ No newline at end of file diff --git a/src/main/plugins/menubar.ts b/src/main/plugins/menubar.ts index 5b9f47a1..a51b6b05 100644 --- a/src/main/plugins/menubar.ts +++ b/src/main/plugins/menubar.ts @@ -17,6 +17,8 @@ export default class Thumbar { * Menubar Assets * @private */ + + private isNotMac: boolean = process.platform !== 'darwin'; private isMac: boolean = process.platform === 'darwin'; private _menuTemplate: any = [ { @@ -28,14 +30,14 @@ export default class Thumbar { }, {type: 'separator'}, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.toggleprivate'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.toggleprivate'), accelerator: utils.getStoreValue("general.keybindings.togglePrivateSession").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.cfg.general.privateEnabled = !app.cfg.general.privateEnabled`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.settings'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.settings'), accelerator: utils.getStoreValue("general.keybindings.settings").join('+'), - click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('settings')`) + click: () => utils.getWindow().webContents.executeJavaScript(`app.openSettingsPage()`) }, ...(this.isMac ? [ {type: 'separator'}, @@ -47,11 +49,21 @@ export default class Thumbar { {type: 'separator'}, {role: 'quit'} ] : []), + ...(this.isNotMac ? [ + {type: 'separator'}, + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.quit'), + accelerator: 'Control+Q', + click: () => app.quit() + + } + ] : []) ] }, { label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.view'), submenu: [ + ...(this.isMac ? [ {role: 'reload'}, {role: 'forceReload'}, {role: 'toggleDevTools'}, @@ -62,40 +74,41 @@ export default class Thumbar { {type: 'separator'}, {role: 'togglefullscreen'}, {type: 'separator'}, + ] : []), { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.search'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.search'), accelerator: utils.getStoreValue("general.keybindings.search").join('+'), click: () => utils.getWindow().webContents.executeJavaScript('app.focusSearch()') }, {type:'separator'}, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.listennow'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.listenNow'), accelerator: utils.getStoreValue('general.keybindings.listnow').join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('listen_now')`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.browse'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.browse'), accelerator: utils.getStoreValue("general.keybindings.browse").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('browse')`) }, {type: 'separator'}, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.recentlyAdded') + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.recentlyAdded') ,accelerator: utils.getStoreValue("general.keybindings.recentAdd").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-recentlyadded')`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.songs'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.songs'), accelerator: utils.getStoreValue("general.keybindings.songs").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-songs')`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.albums'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.albums'), accelerator: utils.getStoreValue("general.keybindings.albums").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-albums')`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.artists'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.artists'), accelerator: utils.getStoreValue("general.keybindings.artists").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('library-artists')`) }, @@ -105,29 +118,16 @@ export default class Thumbar { label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.window'), submenu: [ {role: 'minimize', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.minimize')}, + {type: 'separator'}, ...(this.isMac ? [ { label: 'Show', click: () => utils.getWindow().show() }, - {role: 'toggleDevTools'}, + {role: 'zoom'}, {type: 'separator'}, - { - label:'Zoom', - submenu: [ - {role: 'zoom'}, - {role: 'resetZoom'}, - {role: 'zoomIn'}, - {role: 'zoomOut'}, - ] - }, - {type: 'separator'}, - {role: 'togglefullscreen'}, - - - {type: 'separator'}, - {role: 'front'}, - {role: 'close'}, + {role: 'front'}, + {role: 'close'}, { label: 'Edit', submenu: [ @@ -139,29 +139,74 @@ export default class Thumbar { {role: 'paste'}, ] }, - ] : [ + {type: 'separator'}, + ] : [ ]), + ...(this.isNotMac ? [ + + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.zoom'), + submenu: [ + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.zoomin'), + role: 'zoomIn', + accelerator: utils.getStoreValue("general.keybindings.zoomn").join('+') + + }, + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.zoomout'), + role: 'zoomOut', + accelerator: utils.getStoreValue("general.keybindings.zoomt").join('+') + + }, + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.zoomreset'), + role: 'resetZoom', + accelerator: utils.getStoreValue("general.keybindings.zoomrst").join('+') + } + ] + }, + {type: 'separator'}, + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.fullscreen'), + accelerator: 'Control+Enter', + role: 'togglefullscreen' + }, + {type: 'separator'}, + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'action.close'), + accelerator: 'Control+W', + role: 'close' + }, {type:'separator'}, - {role: 'reload', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.reload')}, - {role: 'forceReload', label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.forcereload')}, - ]), - ] + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.reload'), + accelerator: 'Control+R', + role: 'reload' + }, + { + label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.forcereload'), + accelerator: 'Control+Shift+R', + role: 'forceReload' + }, + ] : []), + ], }, { label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.controls'), submenu: [ { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.playpause'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.playpause'), accelerator: 'Space', click: () => utils.getWindow().webContents.executeJavaScript(`app.SpacePause()`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.next'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.next'), accelerator: 'CommandOrControl+Right', click: () => utils.getWindow().webContents.executeJavaScript(`MusicKitInterop.next()`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.previous'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.previous'), accelerator: 'CommandOrControl+Left', click: () => utils.getWindow().webContents.executeJavaScript(`MusicKitInterop.previous()`) }, @@ -178,19 +223,19 @@ export default class Thumbar { }, {type: 'separator'}, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.cast'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.cast2'), accelerator: utils.getStoreValue("general.keybindings.castToDevices").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.modals.castMenu = true`) }, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.webremote'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.webremote'), accelerator: utils.getStoreValue("general.keybindings.webRemote").join('+'), sublabel: 'Opens in external window', click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('remote-pair')`) }, {type: 'separator'}, { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.audio'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.audioSettings'), accelerator: utils.getStoreValue("general.keybindings.audioSettings").join('+'), click: () => utils.getWindow().webContents.executeJavaScript(`app.modals.audioSettings = true`) }, @@ -207,7 +252,7 @@ export default class Thumbar { label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.account'), submenu: [ { - label: utils.getLocale(utils.getStoreValue('general.language'), 'menubar.options.accountsettings'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.accountSettings'), click: () => utils.getWindow().webContents.executeJavaScript(`app.appRoute('apple-account-settings')`) }, { @@ -221,11 +266,11 @@ export default class Thumbar { role: 'help', submenu: [ { - label: utils.getLocale('Discord', 'menubar.options.discord'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.discord'), click: () => shell.openExternal("https://discord.gg/AppleMusic").catch(console.error) }, { - label: utils.getLocale('GitHub Wiki', 'menubar.options.github'), + label: utils.getLocale(utils.getStoreValue('general.language'), 'term.github'), click: () => shell.openExternal("https://github.com/ciderapp/Cider/wiki/Troubleshooting").catch(console.error) }, {type: 'separator'}, diff --git a/src/main/plugins/mpris.ts b/src/main/plugins/mpris.ts index 25730ee9..2dcfa64d 100644 --- a/src/main/plugins/mpris.ts +++ b/src/main/plugins/mpris.ts @@ -6,7 +6,10 @@ export default class mpris { * Private variables for interaction in plugins */ private static utils: any; - + /** + * MPRIS Service + */ + private static player: Player.Player; /** * Base Plugin Details (Eventually implemented into a GUI in settings) */ @@ -15,30 +18,17 @@ export default class mpris { public version: string = '1.0.0'; public author: string = 'Core'; - /** - * MPRIS Service - */ - private static player: Player.Player; - private static mprisEvents: Object = { - "playpause": "playPause", - "play": "play", - "pause": "pause", - "next": "next", - "previous": "previous", - } - /******************************************************************************************* * Private Methods * ****************************************************************************************/ /** - * Runs a media event - * @param type - pausePlay, next, previous - * @private + * Runs on plugin load (Currently run on application start) */ - private static runMediaEvent(type: string) { - console.debug(`[Plugin][${this.name}] ${type}.`); - mpris.utils.getWindow().webContents.executeJavaScript(`MusicKitInterop.${type}()`).catch(console.error) + constructor(utils: any) { + mpris.utils = utils + + console.debug(`[Plugin][${mpris.name}] Loading Complete.`); } /** @@ -54,7 +44,6 @@ export default class mpris { } } - /** * Connects to MPRIS Service */ @@ -63,29 +52,49 @@ export default class mpris { const player = Player({ name: 'cider', identity: 'Cider', - supportedUriSchemes: [], - supportedMimeTypes: [], supportedInterfaces: ['player'] }); - console.debug(`[Plugin][${mpris.name}] Successfully connected.`); + console.debug(`[${mpris.name}:connect] Successfully connected.`); - const pos_atr = {durationInMillis: 0}; - player.getPosition = function () { - const durationInMicro = pos_atr.durationInMillis * 1000; - const percentage = parseFloat("0") || 0; - return durationInMicro * percentage; + const renderer = mpris.utils.getWindow().webContents + const loopType: { [key: string]: number; } = { + 'none': 0, + 'track': 1, + 'playlist': 2, } - for (const [key, value] of Object.entries(mpris.mprisEvents)) { - player.on(key, function () { - mpris.runMediaEvent(value) - }); - } + player.on('next', () => mpris.utils.playback.next()) + player.on('previous', () => mpris.utils.playback.previous()) + player.on('playpause', () => mpris.utils.playback.playPause()) + player.on('play', () => mpris.utils.playback.play()) + player.on('pause', () => mpris.utils.playback.pause()) + player.on('quit', () => mpris.utils.getApp().exit()) + player.on('position', (args: { position: any; }) => mpris.utils.playback.seek(args.position / 1000 / 1000)) + player.on('loopStatus', (status: string) => renderer.executeJavaScript(`app.mk.repeatMode = ${loopType[status.toLowerCase()]}`)) + player.on('shuffle', () => renderer.executeJavaScript('app.mk.shuffleMode = (app.mk.shuffleMode === 0) ? 1 : 0')) - player.on('quit', function () { - process.exit(); - }); + mpris.utils.getIPCMain().on('mpris:playbackTimeDidChange', (event: any, time: number) => { + player.getPosition = () => time; + }) + + mpris.utils.getIPCMain().on('repeatModeDidChange', (_e: any, mode: number) => { + switch (mode) { + case 0: + player.loopStatus = Player.LOOP_STATUS_NONE; + break; + case 1: + player.loopStatus = Player.LOOP_STATUS_TRACK; + break; + case 2: + player.loopStatus = Player.LOOP_STATUS_PLAYLIST; + break; + } + }) + + mpris.utils.getIPCMain().on('shuffleModeDidChange', (_e: any, mode: number) => { + player.shuffle = mode === 1 + }) mpris.player = player; } @@ -93,9 +102,9 @@ export default class mpris { /** * Update M.P.R.I.S Player Attributes */ - private static updatePlayer(attributes: any) { + private static updateMetaData(attributes: any) { - const MetaData = { + mpris.player.metadata = { 'mpris:trackid': mpris.player.objectPath(`track/${attributes.playParams.id.replace(/[.]+/g, "")}`), 'mpris:length': attributes.durationInMillis * 1000, // In microseconds 'mpris:artUrl': (attributes.artwork.url.replace('/{w}x{h}bb', '/512x512bb')).replace('/2000x2000bb', '/35x35bb'), @@ -103,33 +112,12 @@ export default class mpris { 'xesam:album': `${attributes.albumName}`, 'xesam:artist': [`${attributes.artistName}`], 'xesam:genre': attributes.genreNames - } - - if (mpris.player.metadata["mpris:trackid"] === MetaData["mpris:trackid"]) { - return - } - - mpris.player.metadata = MetaData; + }; } - /** - * Update M.P.R.I.S Player State - * @private - * @param attributes - */ - private static updatePlayerState(attributes: any) { - switch (attributes.status) { - case true: // Playing - mpris.player.playbackStatus = Player.PLAYBACK_STATUS_PLAYING; - break; - case false: // Paused - mpris.player.playbackStatus = Player.PLAYBACK_STATUS_PAUSED; - break; - default: - mpris.player.playbackStatus = Player.PLAYBACK_STATUS_STOPPED; - break - } - } + /******************************************************************************************* + * Public Methods + * ****************************************************************************************/ /** * Clear state @@ -143,26 +131,12 @@ export default class mpris { mpris.player.playbackStatus = Player.PLAYBACK_STATUS_STOPPED; } - - /******************************************************************************************* - * Public Methods - * ****************************************************************************************/ - - /** - * Runs on plugin load (Currently run on application start) - */ - constructor(utils: any) { - mpris.utils = utils - - console.debug(`[Plugin][${mpris.name}] Loading Complete.`); - } - /** * Runs on app ready */ @mpris.linuxOnly onReady(_: any): void { - console.debug(`[Plugin][${mpris.name}] Ready.`); + console.debug(`[${mpris.name}:onReady] Ready.`); } /** @@ -187,9 +161,8 @@ export default class mpris { * @param attributes Music Attributes (attributes.status = current state) */ @mpris.linuxOnly - onPlaybackStateDidChange(attributes: object): void { - console.debug(`[Plugin][${mpris.name}] onPlaybackStateDidChange.`); - mpris.updatePlayerState(attributes) + onPlaybackStateDidChange(attributes: any): void { + mpris.player.playbackStatus = attributes?.status ? Player.PLAYBACK_STATUS_PLAYING : Player.PLAYBACK_STATUS_PAUSED } /** @@ -198,8 +171,7 @@ export default class mpris { */ @mpris.linuxOnly onNowPlayingItemDidChange(attributes: object): void { - console.debug(`[Plugin][${mpris.name}] onMetadataDidChange.`); - mpris.updatePlayer(attributes); + mpris.updateMetaData(attributes); } } diff --git a/src/main/providers/local/db/index.ts b/src/main/providers/local/db/index.ts new file mode 100644 index 00000000..89063d20 --- /dev/null +++ b/src/main/providers/local/db/index.ts @@ -0,0 +1,12 @@ +import * as PouchDB from 'pouchdb-node'; +import {join} from 'path'; +import {app} from "electron"; +PouchDB.plugin(require('pouchdb-upsert')); +export class ProviderDB { + public static db: any = null + static init() { + if (ProviderDB.db == null){ + ProviderDB.db = new PouchDB(join(app.getPath('userData'), 'tracksdb')) + } + } +} \ No newline at end of file diff --git a/src/main/providers/local/index.ts b/src/main/providers/local/index.ts new file mode 100644 index 00000000..bdcf547c --- /dev/null +++ b/src/main/providers/local/index.ts @@ -0,0 +1,180 @@ +import { ProviderDB } from "./db"; +import * as path from 'path'; +const { readdir } = require('fs').promises; +import { utils } from '../../base/utils'; +import * as mm from 'music-metadata'; +import {Md5} from 'ts-md5/dist/md5'; +import e from "express"; +import { EventEmitter } from 'events'; + +export class LocalFiles { + static localSongs: any = []; + static localSongsArts: any = []; + public static DB = ProviderDB.db; + static eventEmitter = new EventEmitter(); + + static getDataType(item_id : String | any){ + if ((item_id ?? ('')).startsWith('ciderlocalart')) + return 'artwork' + else if ((item_id ?? ('')).startsWith('ciderlocal')) + return 'track' + } + + static async sendOldLibrary() { + ProviderDB.init() + let rows = (await ProviderDB.db.allDocs({include_docs: true, + attachments: true})).rows.map((item: any)=>{return item.doc}) + let tracks = rows.filter((item: any) => {return this.getDataType(item._id) == "track"}) + let arts = rows.filter((item: any) => {return this.getDataType(item._id) == "artwork"}) + this.localSongs = tracks; + this.localSongsArts = arts; + return tracks; + } + + static async scanLibrary() { + ProviderDB.init() + let folders = utils.getStoreValue("libraryPrefs.localPaths") + if (folders == null || folders.length == null || folders.length == 0) folders = [] + let files: any[] = [] + for (var folder of folders) { + // get files from the Music folder + files = files.concat(await LocalFiles.getFiles(folder)) + } + + let supporttedformats = ["mp3", "aac", "webm", "flac", "m4a", "ogg", "wav", "opus"] + let audiofiles = files.filter(f => supporttedformats.includes(f.substring(f.lastIndexOf('.') + 1))); + let metadatalist = [] + let metadatalistart = [] + let numid = 0; + for (var audio of audiofiles) { + try { + const metadata = await mm.parseFile(audio); + let lochash = Md5.hashStr(audio) ?? numid; + if (metadata != null) { + let form = { + "id": "ciderlocal" + lochash, + "_id": "ciderlocal" + lochash, + "type": "podcast-episodes", + "href": audio, + "attributes": { + "artwork": { + "width": 3000, + "height": 3000, + "url": "/ciderlocalart/" + "ciderlocal" + lochash, + }, + "topics": [], + "url": "", + "subscribable": true, + "mediaKind": "audio", + "genreNames": [ + "" + ], + // "playParams": { + // "id": "ciderlocal" + numid, + // "kind": "podcast", + // "isLibrary": true, + // "reporting": false }, + "trackNumber": metadata.common.track?.no ?? 0, + "discNumber": metadata.common.disk?.no ?? 0, + "name": metadata.common.title ?? audio.substring(audio.lastIndexOf('\\') + 1), + "albumName": metadata.common.album, + "artistName": metadata.common.artist, + "copyright": metadata.common.copyright ?? "", + "assetUrl": "file:///" + audio, + "contentAdvisory": "", + "releaseDateTime": `${metadata?.common?.year ?? '2022'}-05-13T00:23:00Z`, + "durationInMillis": Math.floor((metadata.format.duration ?? 0) * 1000), + "bitrate": Math.floor((metadata.format?.bitrate ?? 0) / 1000), + "offers": [ + { + "kind": "get", + "type": "STDQ" + } + ], + "contentRating": "clean" + }, + flavor: Math.floor((metadata.format?.bitrate ?? 0) / 1000), + localFilesMetadata: { + lossless: metadata.format?.lossless, + container: metadata.format?.container, + bitDepth: metadata.format?.bitsPerSample ?? 0, + sampleRate: metadata.format?.sampleRate ?? 0, + }, + }; + let art = { + id: "ciderlocal" + lochash, + _id: "ciderlocalart" + lochash, + url: metadata.common.picture != undefined ? metadata.common.picture[0].data.toString('base64') : "", + } + metadatalistart.push(art) + numid += 1; + ProviderDB.db.putIfNotExists(form) + ProviderDB.db.putIfNotExists(art) + metadatalist.push(form) + + if (this.localSongs.length === 0 && numid % 10 === 0) { // send updated chunks only if there is no previous database + this.eventEmitter.emit('newtracks', metadatalist)} + } + } catch (e) {console.error("localfiles error:", e)} + } + // console.log('metadatalist', metadatalist); + this.localSongs = metadatalist; + this.localSongsArts = metadatalistart; + return metadatalist; + } + static async getFiles(dir: any) { + const dirents = await readdir(dir, { withFileTypes: true }); + const files = await Promise.all(dirents.map((dirent: any) => { + const res = path.resolve(dir, dirent.name); + return dirent.isDirectory() ? this.getFiles(res) : res; + })); + return Array.prototype.concat(...files); + } + + static async cleanUpDB(){ + let folders = utils.getStoreValue("libraryPrefs.localPaths") + let rows = (await ProviderDB.db.allDocs({include_docs: true, + attachments: true})).rows.map((item: any)=>{return item.doc}) + let tracks = rows.filter((item: any) => {return this.getDataType(item._id) == "track" && !folders.some((i: String) => {return item["attributes"]["assetUrl"].startsWith("file:///" + i)})}) + let hashs = tracks.map((i: any) => {return i._id}) + for (let hash of hashs){ + try{ + ProviderDB.db.get(hash).then(function (doc: any) { + return ProviderDB.db.remove(doc); + });} catch(e){} + try{ + ProviderDB.db.get(hash.replace('ciderlocal','ciderlocalart')).then(function (doc: any) { + return ProviderDB.db.remove(doc); + });} catch(e){} + } + } + + static setupHandlers () { + const app = utils.getExpress() + console.log("Setting up handlers for local files") + app.get("/ciderlocal/:songs", (req: any, res: any) => { + const audio = atob(req.params.songs.replace(/_/g, '/').replace(/-/g, '+')); + //console.log('auss', audio) + let data = { + data: + LocalFiles.localSongs.filter((f: any) => audio.split(',').includes(f.id)) + }; + res.send(data); + }); + + app.get("/ciderlocalart/:songs", (req: any, res: any) => { + const audio = req.params.songs; + // metadata.common.picture[0].data.toString('base64') + + res.setHeader('Cache-Control', 'public, max-age=31536000'); + res.setHeader('Expires', new Date(Date.now() + 31536000000).toUTCString()); + res.setHeader('Content-Type', 'image/jpeg'); + + let data = + LocalFiles.localSongsArts.filter((f: any) => f.id == audio); + res.status(200).send(Buffer.from(data[0]?.url, 'base64')); + }); + + return app + } +} \ No newline at end of file diff --git a/src/preload/cider-preload.js b/src/preload/cider-preload.js index 44ba7589..8afae876 100644 --- a/src/preload/cider-preload.js +++ b/src/preload/cider-preload.js @@ -11,9 +11,6 @@ const MusicKitInterop = { if (MusicKitInterop.filterTrack(attributes, true, false)) { global.ipcRenderer.send('playbackStateDidChange', attributes) global.ipcRenderer.send('wsapi-updatePlaybackState', attributes); - // if (typeof _plugins != "undefined") { - // _plugins.execute("OnPlaybackStateChanged", {Attributes: MusicKitInterop.getAttributes()}) - // } } }); @@ -23,19 +20,18 @@ const MusicKitInterop = { }); /** wsapi */ + MusicKit.getInstance().addEventListener(MusicKit.Events.playbackTimeDidChange, () => { + ipcRenderer.send('mpris:playbackTimeDidChange', (MusicKit.getInstance()?.currentPlaybackTime * 1000 * 1000 ) ?? 0); + }) + MusicKit.getInstance().addEventListener(MusicKit.Events.nowPlayingItemDidChange, async () => { - console.debug('nowPlayingItemDidChange') + console.debug('[cider:preload] nowPlayingItemDidChange') const attributes = MusicKitInterop.getAttributes() - const trackFilter = MusicKitInterop.filterTrack(attributes, false, true) - if (trackFilter) { + if (MusicKitInterop.filterTrack(attributes, false, true)) { global.ipcRenderer.send('nowPlayingItemDidChange', attributes); - } - - // LastFM's Custom Call - await MusicKitInterop.modifyNamesOnLocale(); - if (trackFilter || !app.cfg.lastfm.filterLoop) { - global.ipcRenderer.send('nowPlayingItemDidChangeLastFM', attributes); + } else if (attributes.name !== 'no-title-found' && attributes.playParams.id !== "no-id-found") { + global.ipcRenderer.send('lastfm:nowPlayingChange', attributes); } if (MusicKit.getInstance().nowPlayingItem) { @@ -46,41 +42,27 @@ const MusicKitInterop = { MusicKit.getInstance().addEventListener(MusicKit.Events.authorizationStatusDidChange, () => { global.ipcRenderer.send('authorizationStatusDidChange', MusicKit.getInstance().authorizationStatus) - }) + }); MusicKit.getInstance().addEventListener(MusicKit.Events.mediaPlaybackError, (e) => { - console.warn(`[mediaPlaybackError] ${e}`); - }) + console.warn(`[cider:preload] mediaPlaybackError] ${e}`); + }); + + MusicKit.getInstance().addEventListener(MusicKit.Events.shuffleModeDidChange, () => { + global.ipcRenderer.send('shuffleModeDidChange', MusicKit.getInstance().shuffleMode) + }); + + MusicKit.getInstance().addEventListener(MusicKit.Events.repeatModeDidChange, () => { + global.ipcRenderer.send('repeatModeDidChange', MusicKit.getInstance().repeatMode) + }); }, sleep(ms) { return new Promise((resolve) => { - setTimeout(resolve, ms); + setTimeout(resolve, ms); }); }, - async modifyNamesOnLocale() { - if (app.mklang === '' || app.mklang == null) { - return; - } - const mk = MusicKit.getInstance() - const nowPlayingItem = mk.nowPlayingItem; - if ((nowPlayingItem?._songId ?? nowPlayingItem?.songId) == null){ - return; - } - const id = nowPlayingItem?._songId ?? (nowPlayingItem?.songId ?? nowPlayingItem?.id) - if (id != null && id !== -1) { - try{ - const query = await mk.api.v3.music(`/v1${(((nowPlayingItem?._songId ?? nowPlayingItem?.songId) != null) && ((nowPlayingItem?._songId ?? nowPlayingItem?.songId) !== -1)) ? `/catalog/${mk.storefrontId}/` : `/me/library/`}songs/${id}?l=${app.mklang}`); - if (query?.data?.data[0]){ - let attrs = query?.data?.data[0]?.attributes; - if (attrs?.name) { nowPlayingItem.attributes.name = attrs?.name ?? ''} - if (attrs?.albumName) { nowPlayingItem.attributes.albumName = attrs?.albumName ?? ''} - if (attrs?.artistName) { nowPlayingItem.attributes.artistName = attrs?.artistName ?? ''} - - }} catch (e) { } - } else {} - }, getAttributes: function () { const mk = MusicKit.getInstance() const nowPlayingItem = mk.nowPlayingItem; @@ -96,8 +78,8 @@ const MusicKitInterop = { attributes.playParams = attributes?.playParams ?? {id: 'no-id-found'}; attributes.playParams.id = attributes?.playParams?.id ?? 'no-id-found'; attributes.url = { - cider: `https://cider.sh/link?play/s/${nowPlayingItem?._songId ?? (nowPlayingItem?.songId ??'no-id-found')}`, - appleMusic: attributes.websiteUrl ? attributes.websiteUrl : `https://music.apple.com/${mk.storefrontId}/song/${nowPlayingItem?._songId ?? (nowPlayingItem?.songId ??'no-id-found')}` + cider: `https://cider.sh/link?play/s/${nowPlayingItem?._songId ?? (nowPlayingItem?.songId ?? 'no-id-found')}`, + appleMusic: attributes.websiteUrl ? attributes.websiteUrl : `https://music.apple.com/${mk.storefrontId}/song/${nowPlayingItem?._songId ?? (nowPlayingItem?.songId ?? 'no-id-found')}` } if (attributes.playParams.id === 'no-id-found') { attributes.playParams.id = nowPlayingItem?.id ?? 'no-id-found'; @@ -109,13 +91,14 @@ const MusicKitInterop = { ? remainingTimeExport * 1000 : 0; attributes.durationInMillis = attributes?.durationInMillis ?? 0; + attributes.currentPlaybackTime = mk?.currentPlaybackTime ?? 0; attributes.currentPlaybackProgress = currentPlaybackProgress ?? 0; attributes.startTime = Date.now(); attributes.endTime = Math.round( attributes?.playParams?.id === cache.playParams.id ? Date.now() + attributes?.remainingTime : attributes?.startTime + attributes?.durationInMillis - ); + ); return attributes; }, @@ -156,19 +139,19 @@ const MusicKitInterop = { // } catch (e) { } // if (MusicKit.getInstance().queue.nextPlayableItemIndex != -1 && MusicKit.getInstance().queue.nextPlayableItemIndex != null) // MusicKit.getInstance().changeToMediaAtIndex(MusicKit.getInstance().queue.nextPlayableItemIndex); - MusicKit.getInstance().skipToNextItem().then(r => console.debug(`[MusicKitInterop.next] Skipping to Next ${r}`)); + MusicKit.getInstance().skipToNextItem().then(r => console.debug(`[cider:preload] [next] Skipping to Next ${r}`)); }, previous: () => { // if (MusicKit.getInstance().queue.previousPlayableItemIndex != -1 && MusicKit.getInstance().queue.previousPlayableItemIndex != null) // MusicKit.getInstance().changeToMediaAtIndex(MusicKit.getInstance().queue.previousPlayableItemIndex); - MusicKit.getInstance().skipToPreviousItem().then(r => console.debug(`[MusicKitInterop.previous] Skipping to Previous ${r}`)); + MusicKit.getInstance().skipToPreviousItem().then(r => console.debug(`[cider:preload] [previous] Skipping to Previous ${r}`)); } } process.once('loaded', () => { - console.debug("Setting ipcRenderer") + console.debug("[cider:preload] IPC Listeners Created!") global.MusicKitInterop = MusicKitInterop; }); diff --git a/src/renderer/assets/angles-left.svg b/src/renderer/assets/angles-left.svg new file mode 100644 index 00000000..cc38eb23 --- /dev/null +++ b/src/renderer/assets/angles-left.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/assets/angles-right.svg b/src/renderer/assets/angles-right.svg new file mode 100644 index 00000000..7bc040ed --- /dev/null +++ b/src/renderer/assets/angles-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/assets/chevron-right.svg b/src/renderer/assets/chevron-right.svg new file mode 100644 index 00000000..538cc611 --- /dev/null +++ b/src/renderer/assets/chevron-right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/assets/discord.svg b/src/renderer/assets/discord.svg index f905d235..3b0fa57f 100644 --- a/src/renderer/assets/discord.svg +++ b/src/renderer/assets/discord.svg @@ -1,10 +1,41 @@ - - - - - - - - - + + + + + diff --git a/src/renderer/assets/feather/hard-drive.svg b/src/renderer/assets/feather/hard-drive.svg new file mode 100644 index 00000000..30305b6c --- /dev/null +++ b/src/renderer/assets/feather/hard-drive.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/renderer/assets/feather/headphones.svg b/src/renderer/assets/feather/headphones.svg new file mode 100644 index 00000000..6c197a70 --- /dev/null +++ b/src/renderer/assets/feather/headphones.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/renderer/assets/feather/pen-tool.svg b/src/renderer/assets/feather/pen-tool.svg new file mode 100644 index 00000000..304803a1 --- /dev/null +++ b/src/renderer/assets/feather/pen-tool.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/renderer/assets/feather/plugins.svg b/src/renderer/assets/feather/plugins.svg new file mode 100644 index 00000000..1ad5759a --- /dev/null +++ b/src/renderer/assets/feather/plugins.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/assets/feather/style.svg b/src/renderer/assets/feather/style.svg new file mode 100644 index 00000000..e6eae9e2 --- /dev/null +++ b/src/renderer/assets/feather/style.svg @@ -0,0 +1,41 @@ + + + + + + diff --git a/src/renderer/assets/feather/zap.svg b/src/renderer/assets/feather/zap.svg new file mode 100644 index 00000000..8e71dd07 --- /dev/null +++ b/src/renderer/assets/feather/zap.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/renderer/assets/github.svg b/src/renderer/assets/github.svg index 2180f759..e84df9e7 100644 --- a/src/renderer/assets/github.svg +++ b/src/renderer/assets/github.svg @@ -1,3 +1,41 @@ - - - \ No newline at end of file + + + + + + diff --git a/src/renderer/assets/ko_fi.svg b/src/renderer/assets/ko_fi.svg index 8630f586..dcd86131 100644 --- a/src/renderer/assets/ko_fi.svg +++ b/src/renderer/assets/ko_fi.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + diff --git a/src/renderer/assets/open_collective.svg b/src/renderer/assets/open_collective.svg index ea86a543..59e09857 100644 --- a/src/renderer/assets/open_collective.svg +++ b/src/renderer/assets/open_collective.svg @@ -1 +1,50 @@ - \ No newline at end of file + + + + + + + + + diff --git a/src/renderer/assets/search-alt.svg b/src/renderer/assets/search-alt.svg new file mode 100644 index 00000000..d21e9b73 --- /dev/null +++ b/src/renderer/assets/search-alt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/renderer/assets/settings.svg b/src/renderer/assets/settings.svg new file mode 100644 index 00000000..41f574c0 --- /dev/null +++ b/src/renderer/assets/settings.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/renderer/assets/spatialization.svg b/src/renderer/assets/spatialization.svg new file mode 100644 index 00000000..97c0ef77 --- /dev/null +++ b/src/renderer/assets/spatialization.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/renderer/assets/twitter.svg b/src/renderer/assets/twitter.svg index 1bbb2f50..ce724ef1 100644 --- a/src/renderer/assets/twitter.svg +++ b/src/renderer/assets/twitter.svg @@ -1,49 +1,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/src/renderer/audio/audio.js b/src/renderer/audio/audio.js index eaf0860d..de6b8d82 100644 --- a/src/renderer/audio/audio.js +++ b/src/renderer/audio/audio.js @@ -11,6 +11,7 @@ const CiderAudio = { intelliGainComp: null, atmosphereRealizer2: null, atmosphereRealizer1: null, + opportunisticCorrection: null }, ccON: false, mediaRecorder: null, @@ -23,7 +24,7 @@ const CiderAudio = { CiderAudio.connectContext(document.getElementById("apple-music-player"), 0); cb(); - clearInterval(searchInt); + clearInterval(searchInt); } }, 1000); }, @@ -40,6 +41,7 @@ const CiderAudio = { intelliGainComp: null, atmosphereRealizer2: null, atmosphereRealizer1: null, + opportunisticCorrection: null, } } catch (e) { } CiderAudio.source.connect(CiderAudio.context.destination); @@ -47,7 +49,8 @@ const CiderAudio = { }, connectContext: function (mediaElem) { if (!CiderAudio.context) { - CiderAudio.context = new window.AudioContext({ sampleRate: 96000 }); // Don't ever remove the sample rate arg. Ask Maikiwi. + CiderAudio.context = new window.AudioContext({ sampleRate: 96000, latencyHint: "playback"}); // Don't ever remove the sample rate arg. Ask Maikiwi. + app.lyricOffset = CiderAudio.context.baseLatency + CiderAudio.context.outputLatency } if (!CiderAudio.source) { CiderAudio.source = CiderAudio.context.createMediaElementSource(mediaElem); @@ -80,6 +83,7 @@ const CiderAudio = { } } catch (e) { + console.debug("[Cider][MaikiwiSoundCheck] normalizer func err: " + e) } }, normalizerOff: function () { @@ -225,6 +229,14 @@ const CiderAudio = { "description": "8500", } ], + opportunisticCorrectionProfiles: [ + { + "id": "CHU", + "file": './cideraudio/impulses/MoondropCHU_Cider.wav', + "name": "Moondrop CHU Specific", + "description": "", + } + ], spatial_ninf: function () { CiderAudio.audioNodes.spatialNode = null; CiderAudio.audioNodes.spatialNode = CiderAudio.context.createConvolver(); @@ -385,7 +397,7 @@ const CiderAudio = { if (this._isBufferFull()) { this._flush(); } - let dataLength = audioRawData[0].length; + let dataLength = audioRawData[0]?.length ?? 0; for (let idx=0; idx Spatial");} catch (e) { } + try { CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> Spatial");} catch (e) { } break; - case "n5": + case "n6": try { CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] atmosphereRealizer2_n5 -> atmosphereRealizer2"); + console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> atmosphereRealizer2"); + } catch (e) { } + break; + case 'n5': + try { + CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.atmosphereRealizer1); + console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> atmosphereRealizer1"); } catch (e) { } break; case 'n4': try { - CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] atmosphereRealizer2_n5 -> atmosphereRealizer1"); + CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> vibrantbassNode"); } catch (e) { } break; case 'n3': try { - CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] atmosphereRealizer2_n5 -> vibrantbassNode"); + CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.audioBands[0]); + console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> audioBands"); } catch (e) { } break; case 'n2': try { - CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.audioBands[0]); - console.debug("[Cider][Audio] atmosphereRealizer2_n5 -> audioBands"); + CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.opportunisticCorrection); + console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> opportunisticCorrection"); } catch (e) { } break; case 'n1': try { CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] atmosphereRealizer2_n5 -> llpw"); + console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> llpw"); } catch (e) { } break; case 'n0': - try { CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.context.destination); console.debug("[Cider][Audio] atmosphereRealizer2_n5 -> destination");} catch (e) { } + try { CiderAudio.audioNodes.atmosphereRealizer2.connect(CiderAudio.context.destination); console.debug("[Cider][Audio] atmosphereRealizer2_n6 -> destination");} catch (e) { } break; } @@ -547,7 +565,7 @@ const CiderAudio = { } }, - atmosphereRealizer1_n4: function (status, destination) { + atmosphereRealizer1_n5: function (status, destination) { if (status === true) { CiderAudio.audioNodes.atmosphereRealizer1 = CiderAudio.context.createConvolver(); CiderAudio.audioNodes.atmosphereRealizer1.normalize = false; @@ -565,40 +583,46 @@ const CiderAudio = { switch (destination) { case "spatial": - try { CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] atmosphereRealizer1_n4 -> Spatial");} catch (e) { } + try { CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> Spatial");} catch (e) { } break; - case "n5": + case "n6": try { CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] atmosphereRealizer1_n4 -> atmosphereRealizer2"); + console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> atmosphereRealizer2"); + } catch (e) { } + break; + case 'n5': + try { + CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.atmosphereRealizer1); + console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> atmosphereRealizer1"); } catch (e) { } break; case 'n4': try { - CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] atmosphereRealizer1_n4 -> atmosphereRealizer1"); + CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> vibrantbassNode"); } catch (e) { } break; case 'n3': try { - CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] atmosphereRealizer1_n4 -> vibrantbassNode"); + CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.audioBands[0]); + console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> audioBands"); } catch (e) { } break; case 'n2': try { - CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.audioBands[0]); - console.debug("[Cider][Audio] atmosphereRealizer1_n4 -> audioBands"); + CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.opportunisticCorrection); + console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> opportunisticCorrection"); } catch (e) { } break; case 'n1': try { CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] atmosphereRealizer1_n4 -> llpw"); + console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> llpw"); } catch (e) { } break; case 'n0': - try { CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.context.destination); console.debug("[Cider][Audio] atmosphereRealizer1_n4 -> destination");} catch (e) { } + try { CiderAudio.audioNodes.atmosphereRealizer1.connect(CiderAudio.context.destination); console.debug("[Cider][Audio] atmosphereRealizer1_n5 -> destination");} catch (e) { } break; } @@ -606,6 +630,64 @@ const CiderAudio = { } }, + opportunisticCorrection_n2: function (status, destination) { + if (status === true) { + CiderAudio.audioNodes.opportunisticCorrection = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.opportunisticCorrection.normalize = false; + let opportunisticCorrectionProfile = CiderAudio.opportunisticCorrectionProfiles.find(function (profile) { + return profile.id === app.cfg.audio.maikiwiAudio.opportunisticCorrection_state; + }); + + if (opportunisticCorrectionProfile === undefined) { + opportunisticCorrectionProfile = CiderAudio.opportunisticCorrectionProfiles[0]; + } + fetch(opportunisticCorrectionProfile.file).then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.opportunisticCorrection.buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + + switch (destination) { + case "spatial": + try { CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] opportunisticCorrection_n2 -> Spatial");} catch (e) { } + break; + case "n6": + try { + CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.audioNodes.atmosphereRealizer2); + console.debug("[Cider][Audio] opportunisticCorrection_n2 -> atmosphereRealizer2"); + } catch (e) { } + break; + case 'n5': + try { + CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.audioNodes.atmosphereRealizer1); + console.debug("[Cider][Audio] opportunisticCorrection_n2 -> atmosphereRealizer1"); + } catch (e) { } + break; + case 'n4': + try { CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug("[Cider][Audio] opportunisticCorrection_n2 -> vibrantbassNode");} catch (e) { } + break; + case 'n3': + try { CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] opportunisticCorrection_n2 -> audioBands");} catch (e) { } + break; + case 'n2': + try { + CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.audioNodes.opportunisticCorrection); + console.debug("[Cider][Audio] opportunisticCorrection_n2 -> opportunisticCorrection"); + } catch (e) { } + break; + case 'n1': + try { + CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.audioNodes.opportunisticCorrection[0]); + console.debug("[Cider][Audio] opportunisticCorrection_n2 -> opportunisticCorrection"); + } catch (e) { } + break; + case 'n0': + try { CiderAudio.audioNodes.opportunisticCorrection.connect(CiderAudio.context.destination); console.debug("[Cider][Audio] opportunisticCorrection_n2 -> destination");} catch (e) { } + break; + } + + } + }, llpw_n1: function (status, destination) { if (status === true) { let c_LLPW_Q = [1.250, 0.131, 10, 2.5, 2.293, 0.110, 14.14, 1.552, 28.28, 7.071, 2.847, 5, 0.625, 7.071, 3.856, 3.856, 20, 28.28, 20, 14.14, 2.102, 6.698, 3.536, 10]; @@ -619,89 +701,48 @@ const CiderAudio = { switch (app.cfg.audio.maikiwiAudio.ciderPPE_value) { case "MAIKIWI": - try { - switch (localStorage.getItem("playingBitrate")) { - case "64": - CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); - CiderAudio.audioNodes.llpw[0].normalize = false; - fetch('./cideraudio/impulses/CAP_64.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - }); - console.debug("[Cider][Audio] CAP Adaptive - 64kbps"); - - break; - case "256": - CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); CiderAudio.audioNodes.llpw[0].normalize = false; - CiderAudio.audioNodes.llpw[1] = CiderAudio.context.createGain(); CiderAudio.audioNodes.llpw[1].gain.value = 2.37; // Post Gain Compensation - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.llpw[1]); - fetch('./cideraudio/impulses/CAP_256_FINAL_48k.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - }); - console.debug("[Cider][Audio] CAP Adaptive - 256kbps_2_48k"); - - break; - default: - CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); CiderAudio.audioNodes.llpw[0].normalize = false; - CiderAudio.audioNodes.llpw[1] = CiderAudio.context.createGain(); CiderAudio.audioNodes.llpw[1].gain.value = 2.37; // Post Gain Compensation - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.llpw[1]); - fetch('./cideraudio/impulses/CAP_256_FINAL_48k.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - }); - console.debug("[Cider][Audio] CAP Adaptive - CONFIG FALLBACK - 256kbps_2_48k"); + try { + switch (localStorage.getItem("playingBitrate")) { + case "64": + CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); + CiderAudio.audioNodes.llpw[0].normalize = false; + fetch('./cideraudio/impulses/CAP_64.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + console.debug("[Cider][Audio] CAP Adaptive - 64kbps"); + + break; + case "256": + CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); CiderAudio.audioNodes.llpw[0].normalize = false; + CiderAudio.audioNodes.llpw[1] = CiderAudio.context.createGain(); CiderAudio.audioNodes.llpw[1].gain.value = 2.37; // Post Gain Compensation + CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.llpw[1]); + fetch('./cideraudio/impulses/CAP_256_FINAL_48k.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + console.debug("[Cider][Audio] CAP Adaptive - 256kbps"); + + break; + default: + CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createGain(); CiderAudio.audioNodes.llpw[0].gain.value = 1 + console.debug("[Cider][Audio] CAP Disabled (Passthrough) : Non-Lossy Bitrate."); - break; - } - - } catch (e) { - CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); CiderAudio.audioNodes.llpw[0].normalize = false; - CiderAudio.audioNodes.llpw[1] = CiderAudio.context.createGain(); CiderAudio.audioNodes.llpw[1].gain.value = 2.37; - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.llpw[1]); - fetch('./cideraudio/impulses/CAP_256_FINAL_48k.wav').then(async (impulseData) => { - let bufferedImpulse = await impulseData.arrayBuffer(); - CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); - }); - console.debug("[Cider][Audio] CAP Adaptive - (Error Fallback) 256kbps"); - } - - switch (destination) { - case "spatial": - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] llpw_n1 -> Spatial");} catch (e) { } - break; - case "n5": - try { - CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer2"); - } catch (e) { } - break; - case 'n4': - try { - CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer1"); - } catch (e) { } - break; - - case 'n3': - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] llpw_n1 -> vibrantbassNode");} catch (e) { } - break; - case 'n2': - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] llpw_n1 -> audioBands");} catch (e) { } - break; - case 'n1': - try { - CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] llpw_n1 -> llpw"); - } catch (e) { } - break; - case 'n0': - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.context.destination); console.debug("[Cider][Audio] llpw_n1 -> destination");} catch (e) { } - break; + break; } - - break; + + } catch (e) { + CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); CiderAudio.audioNodes.llpw[0].normalize = false; + CiderAudio.audioNodes.llpw[1] = CiderAudio.context.createGain(); CiderAudio.audioNodes.llpw[1].gain.value = 2.37; + CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.llpw[1]); + fetch('./cideraudio/impulses/CAP_256_FINAL_48k.wav').then(async (impulseData) => { + let bufferedImpulse = await impulseData.arrayBuffer(); + CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); + }); + console.debug("[Cider][Audio] CAP Adaptive - (Error Fallback) 256kbps"); + } + + break; case "MAIKIWI_LEGACY": CiderAudio.audioNodes.llpw[0] = CiderAudio.context.createConvolver(); CiderAudio.audioNodes.llpw[0].normalize = false; @@ -709,41 +750,6 @@ const CiderAudio = { let bufferedImpulse = await impulseData.arrayBuffer(); CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); }); - - switch (destination) { - case "spatial": - try { CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] llpw_n1 -> Spatial");} catch (e) { } - break; - case "n5": - try { - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer2"); - } catch (e) { } - break; - case 'n4': - try { - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer1"); - } catch (e) { } - break; - case 'n1': - try { - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] llpw_n1 -> llpw"); - } catch (e) { } - break; - case 'n3': - try { CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] llpw_n1 -> vibrantbassNode");} catch (e) { } - break; - case 'n2': - try { CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] llpw_n1 -> audioBands");} catch (e) { } - break; - case 'n0': - try { CiderAudio.audioNodes.llpw[0].connect(CiderAudio.context.destination); console.debug("[Cider][Audio] llpw_n1 -> destination");} catch (e) { } - break; - } - console.debug("[Cider][Audio] CAP - Maikiwi Signature Mode"); break; case "NATURAL": @@ -754,41 +760,6 @@ const CiderAudio = { CiderAudio.audioNodes.llpw[0].buffer = await CiderAudio.context.decodeAudioData(bufferedImpulse); }); - switch (destination) { - case "spatial": - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] llpw_n1 -> Spatial");} catch (e) { } - break; - case "n5": - try { - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer2"); - } catch (e) { } - break; - case 'n4': - try { - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer1"); - } catch (e) { } - break; - case 'n1': - try { - CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] llpw_n1 -> llpw"); - } catch (e) { } - break; - case 'n3': - try { CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] llpw_n1 -> vibrantbassNode");} catch (e) { } - break; - case 'n2': - try { CiderAudio.audioNodes.llpw[0].connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] llpw_n1 -> audioBands");} catch (e) { } - break; - case 'n0': - try { CiderAudio.audioNodes.llpw[0].connect(CiderAudio.context.destination); console.debug("[Cider][Audio] llpw_n1 -> destination");} catch (e) { } - break; - - } - console.debug("[Cider][Audio] CAP - Natural Mode"); break; @@ -803,41 +774,7 @@ const CiderAudio = { for (let i = 1; i < LLPW_FREQUENCIES.length; i ++) { CiderAudio.audioNodes.llpw[i-1].connect(CiderAudio.audioNodes.llpw[i]); } - - switch (destination) { - case "spatial": - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] llpw_n1 -> Spatial");} catch (e) { } - break; - case "n5": - try { - CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer2"); - } catch (e) { } - break; - case 'n4': - try { - CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer1"); - } catch (e) { } - break; - case 'n1': - try { - CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] llpw_n1 -> llpw"); - } catch (e) { } - break; - case 'n3': - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] llpw_n1 -> vibrantbassNode");} catch (e) { } - break; - case 'n2': - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] llpw_n1 -> audioBands");} catch (e) { } - break; - case 'n0': - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.context.destination); console.debug("[Cider][Audio] llpw_n1 -> destination");} catch (e) { } - break; - } - console.debug("[Cider][Audio] CAP - Legacy Mode"); + console.debug("[Cider][Audio] CAP - Legacy Mode"); break; @@ -851,46 +788,53 @@ const CiderAudio = { }); app.cfg.audio.maikiwiAudio.ciderPPE_value = "MAIKIWI"; - switch (destination) { - case "spatial": - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] llpw_n1 -> Spatial");} catch (e) { } - break; - case "n5": - try { - CiderAudio.audioNodes.llpw[1].connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer2"); - } catch (e) { } - break; - case 'n4': - try { - CiderAudio.audioNodes.llpw[1].connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer1"); - } catch (e) { } - break; - case 'n1': - try { - CiderAudio.audioNodes.llpw[1].connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] llpw_n1 -> llpw"); - } catch (e) { } - break; - case 'n3': - try { CiderAudio.audioNodes.llpw[1].connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] llpw_n1 -> vibrantbassNode");} catch (e) { } - break; - case 'n2': - try { CiderAudio.audioNodes.llpw[1].connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] llpw_n1 -> audioBands");} catch (e) { } - break; - case 'n0': - try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.context.destination); console.debug("[Cider][Audio] llpw_n1 -> destination");} catch (e) { } - break; - } console.debug("[Cider][Audio] CAP - Maikiwi Adaptive Mode (Defaulted from broki config)"); break; } + + switch (destination) { + case "spatial": + try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] llpw_n1 -> Spatial");} catch (e) { } + break; + case "n6": + try { + CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer2); + console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer2"); + } catch (e) { } + break; + case 'n5': + try { + CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer1); + console.debug("[Cider][Audio] llpw_n1 -> atmosphereRealizer1"); + } catch (e) { } + break; + case 'n4': + try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug("[Cider][Audio] llpw_n1 -> vibrantbassNode");} catch (e) { } + break; + case 'n3': + try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] llpw_n1 -> audioBands");} catch (e) { } + break; + case 'n2': + try { + CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.opportunisticCorrection); + console.debug("[Cider][Audio] llpw_n1 -> opportunisticCorrection"); + } catch (e) { } + break; + case 'n1': + try { + CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.audioNodes.llpw[0]); + console.debug("[Cider][Audio] llpw_n1 -> llpw"); + } catch (e) { } + break; + case 'n0': + try { CiderAudio.audioNodes.llpw.at(-1).connect(CiderAudio.context.destination); console.debug("[Cider][Audio] llpw_n1 -> destination");} catch (e) { } + break; + } } }, - vibrantbass_n3: function (status, destination) { + vibrantbass_n4: function (status, destination) { if (status === true) { let VIBRANTBASSBANDS = app.cfg.audio.maikiwiAudio.vibrantBass.frequencies; let VIBRANTBASSGAIN = app.cfg.audio.maikiwiAudio.vibrantBass.gain; @@ -911,41 +855,47 @@ const CiderAudio = { switch (destination) { case "spatial": - try { CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] vibrantbass_n3 -> Spatial");} catch (e) { } + try { CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] vibrantbass_n4 -> Spatial");} catch (e) { } break; - case "n5": + case "n6": try { - CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.atmosphereRealizer2); - console.debug("[Cider][Audio] vibrantbass_n3 -> atmosphereRealizer2"); + CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer2); + console.debug("[Cider][Audio] vibrantbass_n4 -> atmosphereRealizer2"); + } catch (e) { } + break; + case 'n5': + try { + CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer1); + console.debug("[Cider][Audio] vibrantbass_n4 -> atmosphereRealizer1"); } catch (e) { } break; case 'n4': try { - CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] vibrantbass_n3 -> atmosphereRealizer1"); + CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug("[Cider][Audio] vibrantbass_n4 -> vibrantbassNode"); } catch (e) { } break; case 'n3': try { - CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] vibrantbass_n3 -> vibrantbassNode"); + CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.audioNodes.audioBands[0]); + console.debug("[Cider][Audio] vibrantbass_n4 -> audioBands"); } catch (e) { } break; case 'n2': try { - CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.audioBands[0]); - console.debug("[Cider][Audio] vibrantbass_n3 -> audioBands"); + CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.audioNodes.opportunisticCorrection); + console.debug("[Cider][Audio] vibrantbass_n4 -> opportunisticCorrection"); } catch (e) { } break; case 'n1': try { - CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.audioNodes.llpw[0]); - console.debug("[Cider][Audio] vibrantbass_n3 -> llpw"); + CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.audioNodes.llpw[0]); + console.debug("[Cider][Audio] vibrantbass_n4 -> llpw"); } catch (e) { } break; case 'n0': - try { CiderAudio.audioNodes.vibrantbassNode[0].connect(CiderAudio.context.destination); console.debug("[Cider][Audio] vibrantbass_n3 -> destination");} catch (e) { } + try { CiderAudio.audioNodes.vibrantbassNode.at(-1).connect(CiderAudio.context.destination); console.debug("[Cider][Audio] vibrantbass_n4 -> destination");} catch (e) { } break; } } @@ -958,15 +908,17 @@ const CiderAudio = { try { for (var i of CiderAudio.audioNodes.llpw) { i.disconnect(); } CiderAudio.audioNodes.llpw = null } catch (e) { } try { for (var i of CiderAudio.audioNodes.vibrantbassNode) { i.disconnect(); } CiderAudio.audioNodes.vibrantbassNode = null } catch (e) { } try { for (var i of CiderAudio.audioNodes.audioBands) { i.disconnect(); } CiderAudio.audioNodes.vibrantbassNode = null} catch (e) { }; + try {CiderAudio.audioNodes.opportunisticCorrection.disconnect(); CiderAudio.audioNodes.opportunisticCorrection = null } catch (e) { }; console.debug("[Cider][Audio] Finished hierarchical unloading") }, hierarchical_loading: async function () { const configMap = new Map([ ['spatial', app.cfg.audio.maikiwiAudio.spatial === true], - ['n5', app.cfg.audio.maikiwiAudio.atmosphereRealizer2 === true], - ['n4', app.cfg.audio.maikiwiAudio.atmosphereRealizer1 === true], - ['n3', app.cfg.audio.equalizer.vibrantBass != 0], - ['n2', Math.max(...app.cfg.audio.equalizer.gain) != 0], + ['n6', app.cfg.audio.maikiwiAudio.atmosphereRealizer2 === true], + ['n5', app.cfg.audio.maikiwiAudio.atmosphereRealizer1 === true], + ['n4', app.cfg.audio.equalizer.vibrantBass != 0], + ['n3', Math.max(...app.cfg.audio.equalizer.gain) != 0], + ['n2', app.cfg.audio.maikiwiAudio.opportunisticCorrection_state !== "OFF"], ['n1', app.cfg.audio.maikiwiAudio.ciderPPE === true] ]); @@ -979,22 +931,26 @@ const CiderAudio = { CiderAudio.spatial_ninf(); lastNode = 'spatial'; break; + case 'n6': + app.cfg.audio.normalization = true; + CiderAudio.atmosphereRealizer2_n6(true, lastNode); + lastNode = 'n6'; + break; case 'n5': app.cfg.audio.normalization = true; - CiderAudio.atmosphereRealizer2_n5(true, lastNode); + CiderAudio.atmosphereRealizer1_n5(true, lastNode); lastNode = 'n5'; - break; - case 'n4': - app.cfg.audio.normalization = true; - CiderAudio.atmosphereRealizer1_n4(true, lastNode); - lastNode = 'n4'; break; - case 'n3': - CiderAudio.vibrantbass_n3(true, lastNode); - lastNode = 'n3'; + case 'n4': + CiderAudio.vibrantbass_n4(true, lastNode); + lastNode = 'n4'; break; - case 'n2': + case 'n3': CiderAudio.equalizer(true, lastNode); + lastNode = 'n3'; + break; + case 'n2': + CiderAudio.opportunisticCorrection_n2(true, lastNode); lastNode = 'n2'; break; case 'n1': @@ -1011,22 +967,28 @@ const CiderAudio = { CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] gainNode -> Spatial"); break; - case 'n5': + case 'n6': CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer2); console.debug("[Cider][Audio] gainNode -> atmosphereRealizer2"); break; - case 'n4': + case 'n5': CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.atmosphereRealizer1); console.debug("[Cider][Audio] gainNode -> atmosphereRealizer1"); break; - case 'n3': + case 'n4': CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.vibrantbassNode[0]); console.debug("[Cider][Audio] gainNode -> vibrantbass"); break; - case 'n2': + case 'n3': CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.audioBands[0]); console.debug("[Cider][Audio] gainNode -> audioBands"); + break; + case 'n2': + try { + CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.opportunisticCorrection); + console.debug("[Cider][Audio] gainNode -> opportunisticCorrection"); + } catch (e) { } break; case 'n1': CiderAudio.audioNodes.gainNode.connect(CiderAudio.audioNodes.llpw[0]); @@ -1045,7 +1007,7 @@ const CiderAudio = { }, - equalizer: function (status, destination) { // n2_1 + equalizer: function (status, destination) { // n3_1 if (status === true) { let BANDS = app.cfg.audio.equalizer.frequencies; let GAIN = app.cfg.audio.equalizer.gain; @@ -1066,41 +1028,47 @@ const CiderAudio = { switch (destination) { case 'spatial': - CiderAudio.audioNodes.audioBands[BANDS.length - 1].connect(CiderAudio.audioNodes.spatialNode); + CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.audioNodes.spatialNode); console.debug("[Cider][Audio] Equalizer -> Spatial"); break; - case "n5": + case "n6": try { - CiderAudio.audioNodes.audioBands[BANDS.length - 1].connect(CiderAudio.audioNodes.atmosphereRealizer2); + CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer2); console.debug("[Cider][Audio] Equalizer -> atmosphereRealizer2"); } catch (e) { } break; + case 'n5': + try { + CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.audioNodes.atmosphereRealizer1); + console.debug("[Cider][Audio] Equalizer -> atmosphereRealizer1"); + } catch (e) { } + break; case 'n4': try { - CiderAudio.audioNodes.audioBands[BANDS.length - 1].connect(CiderAudio.audioNodes.atmosphereRealizer1); - console.debug("[Cider][Audio] Equalizer -> atmosphereRealizer1"); + CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.audioNodes.vibrantbassNode[0]); + console.debug("[Cider][Audio] Equalizer -> vibrantbassNode"); } catch (e) { } break; case 'n3': try { - CiderAudio.audioNodes.audioBands[BANDS.length - 1].connect(CiderAudio.audioNodes.vibrantbassNode[0]); - console.debug("[Cider][Audio] Equalizer -> vibrantbassNode"); + CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.audioNodes.audioBands[0]); + console.debug("[Cider][Audio] Equalizer -> audioBands"); } catch (e) { } break; case 'n2': try { - CiderAudio.audioNodes.audioBands[BANDS.length - 1].connect(CiderAudio.audioNodes.audioBands[0]); - console.debug("[Cider][Audio] Equalizer -> audioBands"); + CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.audioNodes.opportunisticCorrection); + console.debug("[Cider][Audio] Equalizer -> opportunisticCorrection"); } catch (e) { } break; case 'n1': try { - CiderAudio.audioNodes.audioBands[BANDS.length - 1].connect(CiderAudio.audioNodes.llpw[0]); + CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.audioNodes.llpw[0]); console.debug("[Cider][Audio] Equalizer -> llpw"); } catch (e) { } break; case 'n0': - try { CiderAudio.audioNodes.audioBands[BANDS.length - 1].connect(CiderAudio.context.destination); console.debug("[Cider][Audio] Equalizer -> destination");} catch (e) { } + try { CiderAudio.audioNodes.audioBands.at(-1).connect(CiderAudio.context.destination); console.debug("[Cider][Audio] Equalizer -> destination");} catch (e) { } break; } diff --git a/src/renderer/audio/impulses/CAP_64.wav b/src/renderer/audio/impulses/CAP_64.wav index ed2f442bc27f1de6a63721fcebd7817da66e8bdc..ac60adcc1b2ffdd584a2b46563f97c780e05d807 100644 GIT binary patch literal 34604 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 literal 26836 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

mI{V_c9L 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

s9wokzEBuVE|io1VQD{mNV&)o6e4@eHl;=b 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

ExNs%+uIIot+^~Zw+xY7_b~|R87k;_LToFam zIo$!G2)tLv5X-fW-(3??zVNn%x^a7o*F?5^$uI#`5{&*6mB5K9Cgrp}ldhVnWbf3i zQDKz22bRdZML9HfoivijmV-1a?~}}wT5{j88oZUYFK0C`L{&2lAZvZF<9&P_g(}l9 z?mfJjg~^}bk8g1B8|?Z5Q@=*FNeKQ37y7}rKN9sslGoS4fKA$Eu{4|O@0kLcK3CaK zJ)UB2Co}H8d0+H;$WAXf;toGdFxhHZvo;*1$78-Y#jUTH5oc&!U#r>N1IygZ#qg0o zE;>S!z$C3u$+NeO+wkQfx<2KUU5r)P^dX8bt?aNAtuy!8?zyQGVmwo>aL0Y_-EROX zdH=G-a~@k^(9>2M^z@;tYDwcb@v<=tpS{d;yLkQx!`IVc12=4D>fanLkN0M}C-Q@f z%(lQUsu8S>CxvvaXI}TCm0M5YB`-sec9JjRC}jd{x|;``@x7D{2Y8?1L>nj&t>dJ8 zL|R=r{^v%!W{VX{8@b@)$DCNp@Bx0Q1HC%GRriMlgd^^1Z_aT)D?eDsO?AwQwm1O$ zWiARuD+lxH{K*GX!cBEiY<(p6L|sn=DTN^(*KnK?-mMF=_4ulXqgQzu`1=aqYH53i z;X3a;V`VJk(>dfSl{aaAibr1=;J~F9v{#BPnH#oJ-oLF) zL(#Xn#dI1P2;x?kisBE_qS#y;gb0tI!EB$RETq!IsvV!LYcl( zn$<(i5l^&L7r1jT z8{K91^=zKV1#9V$&0~AnUiEzXdkSBcPSuES&t-o>OaHpivM=Va~#QXd{k=JgRcF3?=ea43buRHQ;4c}g)M|8>iD3wOz|#?M zm#aSr^`9_YEzJ7etT8Qo z*#eGg>I{dAH3~eSL$3ahb`?CN6mwNmUa+h-z7u<`6;A8*Hx%1~P<1knHb=~4{LlFr?!EQJ6mri#wq9G?Zz__c=m5@MMx%ecH$mpTd}y z=$^z-9U{~X7m9wiI1`35^302tUk}6mP~Y3sN;-<7Q^~_Ba8YpQ8fp08_N8;@R-p~d=nN>p2GmCEikT+7r&|6ecWshr5S!j#v_c_`PfdT~x zuW`?SI6isG$zu)aeeg5{6m!*7h|af7O?j2v&;YB%VJM|gjk998{44u+O~|GE)E%Az z+y&uxjZ*si+oAJ7^e*Bi?e(5>-3T~e;j}?md6*$Rv2`~sJK>kT%oKj%u*p=8)p{Zj z6ZaUwvv92;Ufx|ynQWte<2P4KpOIS6BL6TDr_O(|^+Wpo!*A6LvV~r++4cw*rc?Dd zN|M?=;!6=+Q#kCtsr*h9_U9>+^O<$iG~13kO`R`J9inpF3Ci+EV(NKDw8dBV=&7{JI`a=F6| zAHCyiSG+HDWKC#MD}?^YEDAt6T&5I}zH(W|9%|*D>;*qByl#OO;aE8U-C84a4DLo_ z&TzaC;-)RmHN4;Mah)c@NxJDA zxu3yC>712ewk`67{-GtZg=xfSuT*|*OznguFN}X5i#+lDXn3i5cmSpV-PE^Rz^nC* zAu!k-c8SyhaJX0~SsZ(+ec_4>%v98I6%+m)C`|eWF%jq|0al}TFU4I z>PFanfkUqvUqpt!m-TGDkAn^|V~?@fTkT_^HO8yYJqV#!SiL#YQ~76w!^fL678?{tdJjp8?Dd0n z2@iBLg5KPY_*p8V;KR+4*%_;vVue=lI$QNL;i=NB{_Ek{GqQNhy+77-`aUlxd4n}%M z%7SGt)TeK2oxvJ?iGMWnYvf zan3;OzQXIhFlHZR$gjPHF3Pm-;0sSoJj&WN;BtkFs>4|XEffO-%4aX~PnL!T`W?q|HMjCh@eVkr}ikYbQH_GQ=$8Y$3CVW0Od(SaL@LcnAxG{tuwlZ?)2T#~_7jGQo zsg=CHl2;e-%u;&(M2qc|z<5CZpE(BGUa^SMMf0|D)(~vE#7>{#rcO8WVP_Ake~i0n z<3Hw}IyV=!THx47ENF<|v{Mc=hyB4ymF7}kQ)^W=^u{4ThEbic{%vb|8w0%{D_Tw= zqo4DrU~%{P*C|d`zh8Rha_co?O9O)Uh}NAp^!At$6O1awmInTrR$l|%BsBB3xx<80ZeZH{b6 zp6FX?qSn7x!%T0~bunF{&Yni${J;|uVYKwjb2F){pOsq|IU$FO^C_WhYd+VVWmgUG zM~tOJ>%8%Sh6WHWgYIRX*7bj$M{=0Ei|5X8*RM?dlTo9&|07QBNUu@MXwT~t`0)sy z`i5tI<)UR=aG3kH8bq_p9*)i6#NB+9$$oqI<|TI@V%HZOcA7tmnRbra%g;W=!wT2$ zHJiSI4eT4sYpeM6Ar4>7QA*rz;1_ebdOJV(j?4G6!7m(eide;tH|c$hkCHh1A&(Uh z@;~c|YG+ywRoHzmnFsvv@-`#uV)Zpn_cPi5jXqeO&$_;N?SNuGv=D~c4+9kc@r0kF z*(nUJ3j5cL6Z+ylL-k+JbD1;RT;OF%#Ntv0qqBVbA*M7zi!jHwh_^w%_86DLX%R?G z;&3nXAVp0?7qi6ER9M!ikJ@$cT?FQO;)789s5P`Fx|TDciea{NR~u9THz~mUw? z@8u(=JS$PO$@P4BlnahB>JBxNoGCOmuwQf`z2l*93@&FuGaOS=H53PuIiePt$1=hS z+J3glp*(;UxZLm3uUy~`hoTF@V9^LNps)or^ zyrrLIkNM{hZ{nkqOx8K&5I4`~FUOfUi=NlG;3F=6&bO19`j!J{aYc2s`d zVGxe>aTp5Q8}8Pqq1dCPc3=2dnSAtY;Jnh8R=8D6jc|Q(*j2uoe9o2qwTRJ{SXgB0 zmSo!5lR$?OQ~oQ{?<+0H!!bM@|L5pDqq4lxF1$gifHV;i5fKn8V(-28UZb(6Xf#e@ zjU^^glh~7}F&bluz4wkNiWMthK~X@8AXTL!d-lnnZ_T$>W{fYq&vVXw?|ofK!x1?V z^=9CgWoY^Z2COjAj*@RN*BVm?VBUSMX@cX2sW{F3y=+_?N6%94uhb}3R0}NI1P=yV zqOa2IwrJ*pNDHhG7A%jgt74pp!Id#PiP}?qNaF9-_&VL37B0N!UJIn@M1T(OPm*kV?`XCN2fV!6l!fWU#@0LI9 zAI!b@-5RdF!K^(@xx$eb%tKXc-+`BDeTD-r^ZWh0a)Y(@n}^Sfi}X+D);Ky8X%J$j z+3P*wV2|Fu80QZEDiGQAbOns5fxvR6Lp{3K^e7j8pqF5|x%55FNjbc(s@(^=OZ*`< z@OuubfY*wyRfAtGl-9-XHPKyfD>-Z0VptgmcgD;#j_rzZFIgnFQ6j6hhincP+M$*+ zN;^X6kAp2^9SRmL=D6KL18d|r73)WQpQ%&up~L7({{u@N>pqH8CV zE8*b*sFu&vQD`U%#3xXB?My$6aYDK>kXDG+dobTXjMrxHZ?T@TS<%N(dj4z#WwCm- zGm=wr10t+2A`qG>4b`PyBM}emEaR}6_(RG6=9p2;0!2*6~`E$h>sUKEU30__I>J;hcGp z-`}Qt80W^Y$1_GgrN;;EdB7bC7=#(YR@gpnl;m+E`zCVzADk4;%UhWK$i!=BKR4F< z>ZyjZwdEai9MFkI46XarKSB7`2b1e!KwYzciD+u3d8=B(wIS{*W7ZV5%}n%5V?B>n zC|4a(EpcCf(^mNCi#csDAQ&H8K>+8J23Xb}n=2u>vC&p)JT+463uiPsNp%ThPI7wy zV((E1(5iC3irMQ2|8|IM3-@5O>uD&3KlCt{yR^<2Cc1A&>>rK=ZILm?3@Zw|ny{RU z8|J@Z;3F1YUC??b@K6*tKjiIW{Pq&N z?_$gSwAn}Z&D?*Q?>8`2v6-!$@`~4v@YH)+U87w&jCw*B2dqosS|?1_V@k=)e2VNk z?juX8;-tP@wV`YHji%V%5_at{tvhyvZ03E#z4FR^%AX;jWjQF532U+DP6iHNzoJj^^kCM)tS-5ZgzZ z;JV}>BA?VvW#4cnNk4j%E47ul%Zud0C_XEqdfA;n@JIr^-_cL}Iu!(xsaw28;+h!W zDqw^KK3HIsy(#Fa%33FxWp-#1#=>HH@8E}2s)MWxj?E3aJ~VrTH_Bf%#hl07+Sdp~ z-gm^5L?-DHt^fUEDh;I!Qsp4HCU9wMM2phg$z1DF+hJee3>5!uR`V8=&()7)5tf2?N|@NK-& z;UQI0+Z1h*hw+J=S4IW)G!SU#jA&SmRwHzm;%2-Ap63_8RDiM>4WCMh$1g zw?(7_0@`4-1&%eu;X--`;m;xt6S>hEVun|(h>f_y##07fnyfDnA7WcR-loJFsJ;$x#=07+-;-Lp@`5O<@+!j9j?tuc)bn&vfW{xKvmNHV;;7cB{f7Sw!HHD1s{yf_ER|__!&Dno z($KYp`9)mzj?Mo2jvUZGnM~iujE^&O`@upIX|t)GQ8as>=la)tc9fN~+5Z6L$BEs? z?jP9lAb-y`DbtBE>Yk^&etg#%6v0c6*)H7dGIUj3A$+Bc*~(Sxf^(g5^E(U~fbfl& z)f=C0z@sMkd@d%t;7o7qOW{uS^uxKVlqvh^kimO94OqMQFxRM>eT{D`o4r6_JK!f=IO;K?-Fon&RX zBQLOJ0>kbz?j`%B^VD;?SRh710Vhm~qk!SMkiLi?hVevQAv;nuKOhS4n$xdGK`Vc#ax z>Ke1g$bjn3#`Gjk8G=aB-T$j7`U*cA#w1G=Tr{8Lq;QtgE$I>WX)7ecq^hs3xYZaB zT3~(;oEeF`!w~!xmJWsIG`O}yg!oskINTdGRmg3DS?5@-HclU)f-ZJ)K6>CtI3J3l zc9$1a6OdcM7pougaxIgom|h>R(;3ykO!GpTBgO+Ydf?|k>>OuQ#b3@vVFz4YhC%&N zYXv+;qT)(i9FD20vA+kt_zky%v2zU`2$H`9IzU$X2Deh!XFPIMZ5xiPY<3?CcS{T$ zi1|_*cSevGy4J&~ig=?mvP5#$Ci`uv0DLx60d1oWma_YEew$5Q@U^A-K{seoK-2i? z8EV#d=mdAz;P-P3^T0h-6@m-_e?m) zglw*l;HLkmai=OHvD7dyl~DS!E1vqGb3e58M0kH3)oZjbob$~r_m?bc*{Ynt>_$d~ zGavwWoDoym_@>qAQ>|4QOI;8omyD7*Q5bwTjQ$kkywG_Zey)Oc194RCjMn(v&d|NI zW^$H|PAi)Z=8M2?=<}Y5EzwU%KrgHkaVU>lUeWQDA)?2MixS0NqPD&;xrKwd++H62 zoeW0fN3nyfaj_}>XN8F7SYn3}^|8ePqlJIhL#EW2LshJ10>z448O?8QvTig}9kWbd&4O*$QC)D6x#zyXoeZ$;aC=7BcxmZ4)Ez0Bh>q+Bp?OP4Sz-TLos9(c_E zJ!R1i4oYBZI7doKdxPU&((N&SdSS2?+h22nm~S80xgyTV=B)j14K%6%jX3g3Ske}% zuGq8zetxiu=HGsp9c9+a zw)af4AmkQxAQv$>n|ykY{)L>Ogr2mpT6dQ6NBsvmL9DR39R3o`zKFwJ@V_)R)eP-9 zi^*e8Iafa>ov{TG5^Xz=O$1G~z=b<3tc1urY~B#!69)H0RC$wf3~Y)@gD_8pzBYK# z1?fKUlDf_smddUOQ2fShw^eFr(hxs58}Fp*04D}u^}P;?Ev>tQsYQNprWVuVt5Dy}}@h)3+UpJOAK_nXn9Z1|nq?{N5jBlQ*{erPgR ziv_9$gdP5}GTpQoH(2=~MZb#fXjcg}gt&J=(>M;Zf}-GVy3Af-aYamwq^D}3FZsAR z)+;RC9x)|!5XxSdtj1_x-Z<}snbHYI%@nZ#wOCg>VBRfW4X3`X)$baH>eunKxx)wl zT^x#JIge#IaUdU4yyye>jj2K7qk{>YD7xG=(G1C{z*TKIU5|^2Hf0b{{Pk-YWY^{NjeK5EI*0)A}3(U~cU!o$dFq&cP z2in%hbm0djm(1kON``Z|${wNBF|UN9r5ny-Z5>=+6IC$n6}=11X+I>Ep;;!s(N9bj z{hoNh@)cJEK#9A&+J@hfBW860zp9K{IXs{yS|T?qt$N>_?X?5#6wf}p>66OsTRFdk zMf+K`5*CK@c3rq@QqdI8wS&{v?>ToUh4P3^8ld1I1De7=fg{vzF6FPC&6sXdH=`YC z*d0HpE~FWPlFwc7r~~%5g?}p)HGp3;Eb=u%^Eoc??uJofF^Q~I%C;k+*wV`W_?XQ@ zEs-gfU=34_>!}XA_N3*pSa@~|oDp;@lh!516d;0D{{V3iIzVsR9)j~e-I*j5pX z>YA5eSbNMKjrG0p-F#U0L*7s5+Rdm%;~JxT7vn=epm@}qKH|q*}i5H~*iduvcLU|kO>*?xneZl9|&78cd)~vbI zEIr!-S1qy69rX)YzPj;Bt0K3rh=~gAl+q@b_49b*AzSJze~!H`@z@d0`IpsB^2A2- zrM|n31<|Z>#;ov^6Px^jS`94zXewsvlH99|c1rRDVq*sTH!zaW#Vzq6ow1$q97yhk zs@1Wu7s|EAtPa>Z6pO@?RU2B-V@*VMnemvcg4>ixu_$0m&d+NC|?!ZdO$Ofas!O|w&5`B zu73)P~|U&(uV9rOSeG`l0FObky*z zk%4R;bz% zzH!6BIAcrH+P85wqtz4CL;f9Y5)5p=M303!P$K%&lB6NAPNfY+=MkR@}sq=lSbS zGd=J-$yRn)7sgkWuqvF-oH6(kFP8AgX)bxg^DFuCha|-%X?8$u9=E z_FxHDSfJ%EW{vLu8^1fm(VOYCnFDum_f7^L<7tKT!s#Vf`*YJr7+c87717EaX`cAQ z9~&#cTCUY%mU>`vB0E^%;av{VbNd>HzGe7z{`ig$?s6IpDf(7`6EU=x#ZKv*nqXuC?+2Kvd!$OK`jo2TSPNXL2ge?8?SPFP4Z!)9 zzY(QP(ulYX_C@n>eW(??A_zYGFll{$_KDZa2xL`(WZ2riX zwb3q-%G+2*7;|FIVfJyulfC>P;NdCy$+hv2OLW4|GMbf{YC7AaBdM>LPU9Yrxcrq# zI`zNDqN}FPqw;B`E4-gfHHMCoJ7cLC+Rxdhd-Vyhv<3brJF3{x<#4<*QuFy9$V}nV zT&Bfva3+7bW|W#^l!eRZYB9=+8FqlWE;T+zze1Ls<1oFg^fS%ipa&G??B7?^Sw+L= zZ)~t1IH5qSy;%tQ3t(6c-U@72M|KiZWu1=X;sCU|$m6mJpW!UUt1cSnW7likrizf9 zjMmtH+i-6zB2AD(A=tUuW~_8Hll7nSpEM>!n={^K9h;x>_iKFjhy%jeKbp&LvLKdC zV@&+M)@!=FW<(~FUz)AKm(Tb#&k($1|{Wjg> z6sU8~E1j0DsTHkcqhcEmlv$-OtU1xASm}>wpK{P)_c)Rv1?u8O_j2r_Hu_+z_>TVrX}) z7=+BB_;mV-2w$jrv(HV2T!5zV|rx*g;un|~U1rIuy ze({gBaj&A5#0Hrz+|wc-c-x^scSCzPRKZ!%30x86jviXQ`65gJ;b2%gp)4gaYsXaaR|Xzx#qFI zM$MXhhDiXSE{r5E7r5sZBldH{4fff?R?_DkH{ZcKwbcG-Y5eghqeZaaWzOg04)D@#reEZ{`+O);qLc*j9HXe!8-^Ae8Nqr>=o-7f9PFa` znKk0?P)q!0Y94uFULud{%vMTIov~fvC2P(z0hYVY@mqUYi_s4i6>OcPi^8^Ld%9RC6=Y?4&URKktV6qI)#9XQ#`&|y(_(4mDR58y>43S&6mA6(%wTDhAp5pw-@a2Nl z+Sy6FAQYiary0h_Bazb}CG6K!-^PpB}-wI_Nabg5g^bMM5POVQQ4fn)^ zmRMK;Cw;Kd89pvZtc0N+$n-Tein>8~)Eawg;ZQeJ@WY(Ws3=N&Q!{9q8;BsqjJ=Va z!t&mDpUlg;Jta|v{rFd=IQdU3m$_o_3+}eZ`nSC5h+DR};*F-Yjg#&3>}T7%Q1d3s{Mr>Ut-RmST_j`m!i`U)RR)Y z6t6i!*F>ytC&P_&qhXcUb7ck zr}5=z1ZT1RMC=3>jxd?Y$88a!*i2Pi>w@!YME1p{Eb3~rF_9J2S$@o_TAS)y;|n)! zpxiJ~LKZDM?wX_H#W%d?jLkrVF9a3b)Z756Ru9Cc_e`CL5z^vJM(hjzHVAuOu|p%M zDY?r9FUz<g0Ky7B;fD3qu+`dE9!RmR?mSX~+UzNY2D!U;h`4RjSx}`tDEDavWp#|osNBPh!axW3*(CUi8AntW!A(;Av#^q z@-{`Tkca3GJ)NFW;q9Mu%|@VsE%G|yoHM@cf--B|YmWDstX%`!Gz`~s^%hUrK-H3b zH{8#oe?zqN#SbH3(*>Ce@Yg6xS$SlCaZqr zz2~fz&OKtSr_o9)s$x?ETwKwZpd96hf9+A z?{!|wGRTgBZcDg4AZOm@zq>j193A(w*#Xu(!E^sI z;u1gZV%BYHsd_nvYp(Ie3oeP~M_r4wE05;wNW*l>JjrKg8MB42PBM7|f4a=^d%6A@ ztKR3be5RKge%Df8!|6R=2R$9(>|?$Qhsg;dzQ!A~lE(X@8d_fG<`*WkdF=(O-8ZK- z4g4Jw**b!ElQ`p?v7vQ6VcMGhr_F4Cinug70$t0UUlJ9rRAyyK~0e4?9O2)@u<8*7Hm2M#7QaDTX##~PFLK|hwDxj{GC)Uu_ zM(^cjrHm`4NPRmL)mHNYI9tf!4oE69MdLo!2vSnl7CU^gwwxJB`6?`jxWy2{l6bGu5ml#L&=6_j!`}FjHUgasp>0nFWvv7l#Vi#unWyu}tel z8%T)bXM&iP8-krgd6Od%F0U5W*8f(J{(PYN8s$lcn!;AXxT*i*54%i; zcp+O)QQ>Q{X;s9Ux+Nv^(^8(5V9_0G9&uAMh?QM_48-?PH9%6WEej29F?E_Lzvm1x zd!nyf85+4Fd}*pb2V$!=1_v6Y`0^ll`oSd_(d`UGB5Mrx48-A?So9@&%t!lq@c9}W zW*hrJ<*~Tf5W%gmu_8L^AZLw=7T977*D`*qx`z#%G%c@y_jR#P{DJy7SOLR?p>{RN zmVQ1cKMWR)5I!B>bjQbeSU$uYU;7Njo&mVm8wY~%ybV69h-UST!%j!yovP%>++ECV za=Yhomld9>N|R>@U9VGksf!iu zw%SSR5zFxc?mcD`xqe=;Wko!E&#m@2>wt+R+@bzUE}z$c(%>O_X};rZ2lUBiOdUz3H(I(qXZgoRqqDr=Z1gU9Dru763i+-Tp)=~H zFtLp1Z*W8w)ApN$@E;qQ`J9d$82gF`cJrKgjPlwm@+W>#9RvK_)D1UgB7YdhY&8FO z#11U#fePy}sWE!aMPonI8;Xm%CNwhZ@8F8as9*-O;lig&0HL#FGP~+Sea!~)XuM|4 zDn@(Sx(+hlu|XrKaJ@YQIW-MNZ$K9`^ueXU80Cb~y>P0K2ZL}Xp6l|t>Nf4Prcp)u z2tN~v_b|s^;2)Q0b%j4fGvGRXQ+e!`$+7=%hfjf`Tiok}=~ubj3%{OcgX-9S${?N^ zoi|l(O)&cF6&cGCaWzvYB7sjD-#y^wRNi__b;0JxnbwBybK{)VKz?BsGs3t#jZ=j7 zP2$-b)LGZ_CC9xmi`q3Y#sKxDjuu&ba+}ojIEGfL#AdOdE%d_OTp3X{F;x%z<{0me z3mq^NIHiPVCeL@ld|*BafLK*I;C zs-|$%wUC+!*}i1Yx9s$auWaD(k$E+-u@+8uF!P-A{ZTX#{f1-p=NL2wMH3J`9%W-t z_$hjg!jk@IF$BLiM)~gMN-i*FgM2d)x}0qOrz$6ymA9TD!c$u&G2Gq!OZp1>p*})m zXf7At1`qY(>xlbGn0Gc!I;}NV+8clUjf&=0n_dZ4Rg6L++!5Es0C7MUA0wye5P&C* z;T?dzz2Gce^-%mQa-+DNHc+No-+d*AJsj{&H4Jyc1PAC`qv1sjwDWmX@a1dH%37pajsX>?;gwg)+^FnvMV};j<%xw|G0_TFgJGY>$nuE4%Uv3{U1XojEIH4< zN7?bZ*%>u@%$i{wpTJ*lnOR?*dt94D_b5{kRy18B_oKk1a<~&{?hfnPLxsmp9dO$c zU4jhVqD>h`#`9@3Jv8Y(!LgAn-NfJVOUtuy!Q+e}RG1 z5IY&R^D$-&UVV?P{eZcqR(W#*>U*O>S5%T4T{9V>x2hsHg>U4`%c1<{(=E}iqd6Ea z>yD^k?CW51J0T4b+7kz>qgxj^C}I>0H!ZXDV{$NYEI*mqqdBtJ3|hE@`;5EN87u1ihI zzw~PqRK>2ZO;o$zmr!h`(Fkl0!dCfwD`2NL8f6*aymKVGz2=KUtn-Lo8;vCN*lKPM zVjCLgy*GNRQ z;Mb;HW}n5W>HPX5pQiCANpRlMyE;cO<5*jW|B&N| z;p8eQUn`?&5E|4(l_r=KfM44nNTHezCQJFQBcgPi&hX-%#Vw9w<$Qd=vG>{YJj=BI z-N7fPjHxG6k|5z~kMrb7exVWib8d`h7ErZ}ue_jT%0pkM=W^T?)jjdOMkOi{+@nSr zu}93$%X=$-+|Q%`(D!fN-p7)^dF?E%_jBP5MqOaf$Mn3-<+)K zh&vCBKI2RID>WFgg03wZq%81+X9uICT-n1+t-tMnl1dm?54+v*tG1BJ*XdZ2ZwAgo zBs_Y?dy&+U`{@mSDjK9LW41_oP0a(p%%HW%@rnp0@aiKjyUxznXmifk{i zMK8fopK+`m)+ZTVTDf%Q7V*Se#%J?Z2E7zD)W*RXEAzRlky*9a4a8YhIL8_|Ud~AT zrsP{U{7+);`go}i%>xBbS;Z2EW7tbj#iLF=M?`at>PHr$-#`gq_dntw-@oj+L7H1?TufsSKOS20@%@gS@-^EuY7( z(lLWUp|lmMC7e%l_*@?~`5>R?Tuskqhd;X1!>R@-{13Wr-4N*w@kJeYD=8F+(Tx!# zr=lhxQ(AJ=HA2f{*_;ca_K+3Ax)&r z4lh{n#277;viW%yN6LJiMsX~k>IW+MS1dpEfv#!O>cKCYQlwS4K)qguYSpk06729* z2UJuEqK^6S?+T`UnXgOfb(n?nn(bwDEK~l0AkaSEc)%~OvbH9`&zLH_xxDuI?2*Cm^SG#heg*v35$i3W?x9A?zjVg( z`WQVBd(<);fVv$psXItc#zZYilf=h{#5;8D_p{ zfy!m&@qa8QED4soV8haYeBOK65kc@9h=wi>mQn=v2xlz8IT8`&!Ve zxkU&XUE$hh7^cxp3sg#AY-3oKaE>+(`ZadJa~HIif6W?)G>XaPhilxfv2ZBEqbcU( zqF7#hOncdTvzTmQ9s+gUF-Zdl*_tY0z0^@M4XIY6wM8O>lG*9L`7Vol_UtCVjH1_V zR!!w!k6HMUq6W>B@Ez#vVKfllH&L-2_ zYZ8)6*yVd%SAt?CK8XGPE7mnYo4I(=9971`qMeziP3&k|1A97Px(|w4!OTxIa(&D_ZdNUL6my9_t5VuG!f>(m>LI;6;zVtg zpwl&NThU2a8a{6P*_z*cOwfnX#2_@tQ67Y=|LB z=9I@ID_lt7JRt6#!N`1ehc`a3wesi1#)>N|Q}rMND1M+xV23pq~je_UVDD zqu|^TD<&A-dGePC)5=Uonn3jX7B{OQ@@r&OL(TCJjB7!6xYotYTIR1))5!>T(n{%S zZF;GfGl=(W9z)rshh64(|1tOc!?}AuAD-cZQ%nnGCHcW0@)%4Zw`vG%%BWMi#=kC~ z;cqusPBiGSiv!R%2s4^tcLQ`*p*t9YT95U^F{n!V}V zY>9Q*rfgL^pPy916)}GO@J^nxTE-{1Bldu8(mGj`BrLF>A^)F9(w!)<|?4h%v&G)<-j% zF7n?u9DInvvSsWxqCNfdx}GdO&q8OTQ;BfL)hP1`j}Ybiy$Sf;N}@}?8L*3Wa8}bT zH*7BDTQ?*q!fK1Z$q(;YMVLpWpp|NSO4}%|i(|}Vewx8=Q>e3dy%H{WFqefmXXN`} zu9lm%pbbu>ehC$`X^P9baVU82jITPwvO3Q6L?4C3dZMHm;@Voaqba^w8w;JJktQRbO!TBvwY)u{J{p*nqZYXUUo%{7mf^olVDB# zVeN>YyPJ^MpB*qKo8>#0?T`A@`hA$%3IEHbdlO76;$lyX6Vpc20-eV+@>SRS29-w* zxXB+YV_OtEI2a7V*?itf_GVq^~gDq{snmdltdN6C9;IT+T~jOx(UtY=+>NAXf^Sl(xmH(Fie z`*MgsZpcgC|1#|kmu_cTm_edxsp%ibHM(3_p+^-YSHa*m5E11`SE$FT3iElzM=K-r zEw_}IhJw)OUszz8wrLfhkr!nWOf$f}gKs$)n4-%_nIWQxdwJ&(p9SEjNQQQVMHK%x z4678W8ifKI4C-q_hWndfN(lOTgh5Y)P5>zA>40JpVdh5 zcr#73#v`4z_py#d^G6MQvd1Ml+d+9bA8QClqepAI*PQZ@)+uavkohlpY9-I#Vbpwn za-7u{8OB=bT5=1Y9$=HBre9-!kI7HyEigp_^{4CDAMc6Aik1Z%)xzJMaZIwv{!m2C zz6XZC=a>diopyq1HB#FYaxodIrjHeT3yg?rrXI^xjN&JvHjcH!9|Bd4ghhMQor-Sl z@YQr&X@+qV@Mm50>4OWth;EDmcLQ(K_kEZ6?L}16VXuf`4_GsSmqOVnj=j$E^H&@l zW;6#yiuxq8&U4zo=A=}EdUJel?Gc@bBgW3yD&zDT?@{^bDu8mF3Dutxz`=Q6yA zOD*vzj~At8ld>=f4RwBKjJ>uP&=S^_aassp9ow3tO%t?j3b(ds-4xy(;L`%vTA^-R zgD>vh3Hq=9)CCD;Y}ygpZZvF;b1zLVrfampXh+@TRD1k>f$qS|!}M21PHDXl-2M+= zWioU#HTzn&g-LH2wU>KJm>13?l^`DGj>b@}CaMdTtIX9NS)EM6XlK)eQ4qIVMZB%ZCZdI_jJ`!z>JX*~ZnPRkdiL*mk zlKD*=mdc5C*rK&j1xzhrv}o-Xc;$g0J+3{mx0v;-z&oD`>deeHM`)K4s&yi8YZqU9 zWdqMZysv;I^^IWSQX|Z+ZAhf5+jkVYyb<13LzmhZ;EhxvJ$(&5ctMZ>MMkNoRvl8t zD|n-_XQBim4WZ+%M@_>)k}O!{+ZRQ~bGka22lS!6pl2D^yyj**ocq8e57_8|?1y>o zm{}L9aV>6QWcPY#>k%=ts~N6p_$=39Rula8pFyBaWhjmFi5J#IajqYh-ryI?*50M9 z%ms05t%sH5DgKaa%-S)*b_UqkA`e7y!F2I5ZI7wm_Cb@_{D7sN}|y zhWJXY`9NILU*89BUo+7QU&XV!J2cIRvVzztOR`uN!xd89Me+M^mXGGpi>wsOh7oi~ z;e)3}aWx{F1y0ywX#|%ST(GJ+KGSrr11<*|N!eXZk{cLBqkgzO+8KCkNDF+I$z?$( zj5ZG0xuNtcGB?EVG>+P6HYr_Ku%%!`KXIwXI7?XT9?Pv~vrCLU!!^eZ_~rC5&aP&x z7GsrNf5`I_5Sq-r6HVu9;Q**$8{G&$X-A{<)JM*@#u&BaEDSrSosBsLudzoDnd5Bm zua`OPpOffQjfNtg%rxLim4y{t)Ok;BQ!m*)BOO|NV7tF* z5zpO!F;<0_ZHE1O@eo@(K(O4s-X_%ao%WK?IlVc2GmLldsZ2C|@vjZejKCrn1Wm>l zRj~FOl=sJi?{QH%|6lP*H7s3?FbAwyVW@!f7C_C5^`AnF&|S@NS;RsY?B2r{`TXZB z{c~CTkh)R+CgGGlj^t6<42`y8J+Vz+Jva0%<4PsEZSb*>8!A9~{@AKTzQK`dZ{0I1`=wEg*~Xw4 zHe5mHXwIK+E-%aHaJ{%>Ke6>A3X3%L35zfB@Jmj8X?`N@KbYy?lrqkIZ7v!m|8?l% zqRpxM6REzf;PjZy6eNDZBjs>RHJKt-Of+CF2?rM>a))4jNt|Yn8QL}b8LWMT2%Of4 z4MKIGvIp+xnkw|mG{;b?6pAL zSseX>zepeXlDc+@KdjbRzc`+)Y0k`PEuq#=_ntVB$s>cz-ha(tvxzi4~mdhFW6lpwIKa>)BK4-8p z_Ts)en>B8AKV(>ARuf}N{h>3`YM9-DDs@A8m>XY%uBKcZ-5FCNIl40rgmG1SoV~`= zO)yA&k^pqfWMh$DO8K1)dMn>06i*J9=5yH#x}=$yx5E<_T;Ylv{PBiC9Q+=`PMSRm zz5a-e1frB5=OI7jazH3$)0=#h0h+8H=M>FkuCQk-oO!^DbqxtbUyvsWJpGniGfbvJ zqo>zz=%W`&z`q7Wr8W_ENg3 zm?I9=X*1XybcP2qn0=K)WMp{42c>+YZ+AIN$fw#UTKh%-{u)cFMJ|eUHa}z-+3ti4 zo_fuMOs^b8jIVX{) zpYpE{RQ6tdoJ?WOByrBC%!y%n+}<9M@431Qj=iJqhJD`AyFOxb4VzJmwv#$z=Nj{J zwRb#PYFKuYKT_wb4{Est#w;K7T4>y|83R#QJ@Fb)Jn2(K8N=!RjE&Co zxE9|ROc-9hVBZK9$ip7V>(AKsDet}JZ^>rItxlOwf&i%u{tmXG#w!82AmVB$=rr`a=}XRjKw zTd`v5GB?GrLK#C|bB70X9KBo5n1*~?LDSR?GCzhOH5fgEpx}y|J68FErTiigs?79k zfbuV?rQ35sAe-RJTNEgGS}0!&*>{Wy)iHBF|MJ1KL)4SM<^}fl#LauWEqT)`CToG4 zN?}#{y`h)hfN5;l3WJ4fXpKRFFgG{ON(a^0{ZOI{OAY+mR7(g{ZDVYAp6!q*I#4s5 z^2CmsX1 zLS?j*dGwaMR)8ZPIOefwFzzeQraY?3Xv2}v23Ditq{7`m>}rL-+Zk6*N^Jyq8ue~3kYnlmLb zxNQ_~1D`RmBHAZ#w==}EDsh7STef$`Gj*MuAsY5r2W*o~qnt5rY!;9t&UDrHi+(T1 z%2A3M)O8E1UFNIbX|tP0*VFS)zTHjd&72#~Lx-t=qOAZ;A6QfMQecsy<~ocOaf*)t zL}<|0&;h^qGuS0ZWfJVLVKmb1Fl~S#FzfwWQW0mx3Ko>r4+Gthyh;-liI$(Y8Ko1O9M76(>@5}2}0X~{me#4Kv>XP7FSa>506(6u)~ zA|9pA)NT&MzPbpl1>YcCsSK;?Sf{?Hmst~NHMT5@)}D}rYl}B@!GXv*<#4+uoa*3e z5Y`SfL)ymQ;G!S0mLS3px0j+}E!3HfgYu`0#`TUk-wB<1n8-w0SFEXx&h2m_2%`ke z7J;@QzNw8C!6*_MNa>4U6bE8;2xhAQ8-m0t5ZUHkMXU(HPZiLvDSowsUpp+aMvI;X zjFveFqsn8we(mjWZ3y-YquL9TGL4S5K^(uYh0G^x?S)?wSl0zt^Y~i@6O13{ihn$? zQCoI5+;W6=mtJM&?a)D*HaX6ovXM%`_jpq=-TT}sYTsk_eap@Yu4nRxB(_w0F`08; zvZaU?a;&`OwwD~JW?UKrb?4H7P>2KB^n@`f564nItbn{ceq8~RwYV&gvP9|ur38W| zY>Kn$eH2*8^WuuTqpLf1H$+YloOa*)qj!$!8=R7E_bATz{S8^Xa44w*_49Ge-3> z9R)2+4L_`i-O@Ntl;&)c*3e>ouszD&bBUL+>TJ;-@iaAoh#(HYWN9KWqH*DpN4YF{0V{{VL{r61cM?2^PcPpl%ZncEmtcA_7 z9MS>)k=)oHcfuGw7*)?QT6L{6Tqcd$CFVEB{p+-?11mN3g=M&DS}p5BO%7+tVdg}0 z?hdZJOsB0ZJHv=wOuWQfC%E?!k6ty1*WnLnS;Rakdy37wUVy2}FO6?ST}A&V{4t(~ z9`c8HZhgRC;@S2gcO>%ZL$gz}jxu(kA0C_C&FvSgrBC%WQ!3#^3ioQ>sN1@v_753y zmv=)cYk=&l3;yM>z5G^!m;?O$0>h7T?l;$Z+?Ka zzIJV6yPI#@VyCLcBN5mNk1GLJZ@@I!Dt74Jt~jlRluAYjPe-OTaj>7YOaHBIGA|Ux z*|PX>B(~h*2w4=;=`E-FJ`T|xco*NhNuT4^@_g(nQvt6=ekIbcD+*n4)ydwO+wL&J z1CC{UHXP9<{J958YngnP?V%>lhFc20nPT$PCp{tIv{Agl&i4H4Js@D9lLO9G(5s%S zg^qE+6xFW>;jwV2A#rXPa@8j*r?iG;S5%8|1-k=`aYP4q{NRb}e%KibX(s*&a8aj; zV1N(7u_IC*u`;aUiIyU9>V*FTx{795!PB}Vl(1e6!d3j9{K5mjiA+M`4-+z8ebpMg0b2m!E>uc)0b ziY_wD6~~mzYvu!|`Kc;AGPt(VJXdcO@#0Nx%Vcy7vrh8``B#teF;8Tj;ACM>&e69$ zMqK9JF8Dr&+TMzn@=iBAQ^j#9&|R*$EvkhA4uS}x!EO+xDy5F?Hdv+d)E~@G9{DXF zFQn5SJXpyMN9iciNF9s)aG!v&VHh(Q63UKEz-tkBegf7B7e4}f;_*&j97)9sU9d;5 zly-0&fY2yx9b#(9mJzti2Zu)?*b7^SqpLT%^+k%0!EcXyLJ6RmF0e_enb+dcPGx63 zZ4p0wq&?XEC*hVjf#b0&0xu3U^QR`$okBndBRI)gi4`l8rmAeh$Qr{__|{UH@%~L* zB^03xeBvN4nL?dQLLjwG;Ie3EBh-zQnKKD-F&2Z`*B6Cd@$+36+Yui3SRhWm)?02C zP}R0nFi(wFhmY`MsVLhyxq_Sj<;5mGDOPt))qdS`szL4F$%o`~M)Q7HDF&_&? zT8(umtOSzV*d_THe_U>+C#jy_2a9<_z}U-Nq#eN-D!?^Yi<<=KR{T|(1uFFe?5=~p z51MMYSao1Re|JPe3CFZU)n(3!#_D61WZ8R|xlU+(fx|_HFEe)QR3)9Wxh4h*K})Vz z2<85ENEGTP1Z|{>I3VT*YlT7*IbU2>fx8t5Dq&C#tL%5@+W{$v(>+zBeo<*hRIuktn&w z?2b@NwZkyOZr9v{dLg{-gP-aPM_bLe5)kjEm``|pJYFlNd`BxU@vIJ!vm9Q)kc)ip zEZgK!7sV<)R~PxKp5c6+)Rm@~1067~m`%03rN*>U{(ae$#(OTX<28PkK_NAo3)xeF zCOw3bn(KLb8!wb`=ub=%h3r#a-NMq(IC>3(mhtZGmS0QDFs#JV2HxwArG6INb_l{N z4v=|6E8_w649nzXZ4Zxe&UyC#moMxgx3KM6KDLdyi|M(aW#7}~9N&>QCXa6{W?&J& zSZ`aH`%hUbYgi?(9^?P{W8(oHlm+Dszv+&ZmDD66!|>@uoF8W|sAG?zlN$P-#OEGX zg0oMpjw)qtVDIiwvO}q~qDqFQVx;P`J77gMm&aOJ;S*}ZZ01Z4L)nNRy4w%$dLcd% z&xE2b7P{K)QMZm_M7lk8#CN`UH4dM+nXl|UN8AutKoHt;9;oBvSB;0n9)pZA0N9gg?K0SAlH_wlk*_+V??X^Vb-2JfB! zpMd<86SgNB@K#$?5oWHn$A_(<&~!@x&bG%`KP-+zKTiX?)_Y>KYKX3l4QzhpD9jFU@Pe20n+e$&Lc+TGXkFLx}FD5Pt^agGu4Wi5ZK7=%vjjp(rjK?U`KP6=DUa zcZ2#;J1K+qH+@CGTgXx3e9q(R4XpjxKCL&t;3%~|Eubu*p}+Dit&LVPY!f3k^5!NA z8r)`wE%epIch4om2tTg(wgBK7>aQ`rglj9zz19}^yqPOQ@T;)2UCo}iXAI&z&~6&E z(a4yJxgzzAMNbDz?FspXHmiJD05{on95MY4+qmK5G9K{2f$Pk4Lu3vQG;o%7f7jS? zHyuv$-ZdP&i-Z1P>m6LZg4Yi6qkl}$?jn8WCNH1hEa1VjZ1Tg0>FgK-24-jeAx$^L?+|wmr>sqT_1%YNHgxj=|JO39g4t7;j`K!A=VnE z%A>JVSLfX0mGl)Hsg_@hx#0xt;%PtJImlJvNIJ>;qcHk3Lj(snMdx5>Dy;Oi zkH*(pfmQRQm@|b&bdFKw*swQDvFv+0SW&!X8-ZW!JHe%S7ZrvvbZelq@8*vxNz zY}q}`1A@iOaz#ZM6UCKk;LCddxM60Qflu`fE_T3}Tz0!{Jj20PshDKg6+Ya=376=q z_rqmg)LD>ChnvO#eCh_bH*)iJn?zcRsnQ-(3;13)yW;-S2|s7@T$Hu@wYcHaLQbx> z{+Avld{4f|Qgizcsih9tyIs*$Hr)_(B>T6A)UdtXa99lRo~YKfIu-i9;=>T$#QjZN zTgS!uTw8DLgi{@H@+iCequnW<6T&E+&fSolMWGQjJt@Ge#ld&#A3RM#CdVD3Lm7YA zW8jO(eQYY=-6yHeuXpkc2{KXf!$e39{b?{31fqwk31!;33r`23Vi4weV{Rgza74Wq zKEJ~Un>kcG{|4@5DPC^cgae*Iz<*O<1QZ~lVk^?ca_nkUnrs$wev2qe>I;u z%>K%A?cv0OT&Dury$rp=xu-1M|KL^gW!2SEOWt~2I3uh@{q=D45cD_{eN;9Visz%P zndn436wI$ognoBAtp8D5F%~joNY-#403pZE4TeVxU4}sd(YO&?Ia7s&YOU6U;I1@Egq;Cj9F^G>W2;uoZbufS5lPq&ZX>>imkS zo8s`NtkiAI>G7^QOkMC}j3Eb8qVT2k3ONjGsTZ}I;z+@Gw~TE?T)=Sx!DoNE3D%(sE!IVs<)yz&Rzx2_C>#V%pQl?sn~rNsygHU#^QHj z5c=ZLNX&@0a;0E*$P_oBg6nQs4n@&`cSO}FGoDhh?$1qD+S|tk`PX@fcFEsc$y+yh z^#;ot__f|99+;t}TNqw*HRa*4R#v4d+ORzH(+gSQgF6@L>WmDfDMiXuqD@k>cuhW# z4fv^G+;lKG?sdVvJ&>e9xQ5C#y%mQuf#}{A-J`HK*c>=|OIM`9vx)J70@d(;lOT!y_*6`+=e(&%ZRYZESkc0w zUdU7_aI8V^C$zT6iGHW=w%DJgC3~))ZHSJA+8?wk#svAF+GCXu0=rnk`n}#3s2n-S z{91Zx2o@^i!3R=p0`7s)ca18mte5)D|{GKK2&V zEpt@!dWpyCY}t`m$vzwTTnW?vq~^HXm3-_br~GZTjN`U*zbl?R#3OMTEq#wVFn z68!LWX19Yz!av%X-SMG#yf0`;ggKPXiAq|>#s&{g=jSuM?xJnS|y?n8Ra|9XF^j%Id zT`#&=o0$Agtpps(9A!0LXWPPi0_G%R));fux{X2EKzue9 zdBbsXEIu6#Z^?t>@Khfh91j^eGDjiW6aUu>O}8lEYIY`-b@f+2$T@y^h)El{M7ivr z*nJ1bf5GMJ`0q#T@jGvP%%2wW&-py@9Y?HT#LpaXjP2L)fqedYj4w%;DzGWOq=K)W zV@Nr_*~hnXIb!`AD@=rK*0Hp?3uyso4BT!uWq7;?2eo0RLvOWEA?VO!q3zwm&5mVGo+p~ zcJg`vGLCX*5=LKTUN4)}UK)z%P*jaWw*(xz2hIs7xX*^rA$J=N`f_h{yw1^q@IFd8 z3OXs4dzRN$vh`6*-z(Ao^bY>7ko`_EzmD^DiaBD7YM@D9)!8U-xY}Cq27YI?q+iYD zxBv3pkNL@NUip@@j?w22K5&UIY+`V(rKF$EvCLZ0Wn-UixJc=-&t$N>5cF4hyEWcX z_%r~wYpKs;yyA^|;|ZIlJjD%0x|yp`n4R!*yn35|A7{1@IwzS3A`XY+MG3ym%_~7mr(ddBgPXe`+b0fBlGX`QnA-{_>xY;i{M^thl zfYL24JZV?uohR5@3)ysQtI@x(S;3+zj>_aHH9;R>KrL6SvP}Bqg&cQ@m%d{DQ4adi zvVkks@%%xCo#NUPTqd!%-6S}qvd^m zO@v}Kx+vEgNeV14zD zQAV|ra1ba-fig#ARI#r+B*n{YDS={}B3HiHE-SmAWt1Y_Az^Bl&PqpQm(xwy9EFmU z1&}Z0HYe9ug6SJAA3fn7h<~EdBL)jna6;vblG)o~Z34cF#r`PVAAz6$tHCXaFb_3~7@f0)5_|Zjs0<&(?L&fNR=-J+;fR9rVGT54_MKRJ(wW0&U z18}&t%^k89rwNE%&eULgF>Y>)74?)^Vx?U7ol!5yd?y69#heaM`X}xgw$}$ z9n=a5(g~6B=g8Zyg47g9SR0@Q-iv&pjaAvc9|G4qTqx_lH!g)BD-wUHYda2oV-b~L z9Fm$uq^4N@ZjlyheQ-}VD5X--1)C-zBiX#`KSW{HI3)Ywfno4=wnWCF7A{J|aH-SX z(8>ohx*#nIA9h8XPB`8R4-G)XAKvU`t_J^TOl;i|NwBt@F)B{?QLSlFyfxnWfNU3)dGj_!!lhTcKv0Cdx%NshNvwt+iZI zK-?W(_rbmm ztV`$8J*K}c*km*NptXFVjF0}s*K2riCC@Z);9tyY=A`vZ*IngbssmSxyahE}lWPf- z)1_1|UdwGB%VK3M%d_~eLNo<@r-{Y7Shldd)`r}8N9#*fP);NS-B;E4^H>B5Zcth5 z{nz<$45r@XEoqxHD{p=%KGg%<4O;zIjl{|%l;3Tl)4s{bO2zbX_`C~_4MeN1c&`hF zbi(8Dh>}nl2G@9;ZjC(=klc6J2NRt!Q!OwK`0AD!O@F${C&I9~fk(Q*H4x*+#Fr%LF?QtTH+5S+%QLml*j?+iuc|KP*@{AkaYK6#-2opwZ z5GDqrst;cGvCh+1#CLVGmMGbzf4WV%yoL$?c!%y4{Jn_}Rx3k8n2&1V~_CeTh! zPz#2eDO5YCqx>0(JfJFjNfvwZIt zHtc5Q=bZNsufD;X8#wDZcHF_8&v5WjzW*v;zr+)B*{o3c_Y^hp{l$EujDP<|Z79;0 z61sS=U_S@!T5o)eulMkC1xZfP&j(LjVoECa=Rto2M@Y9+SIerC5l?C=|_Bpak!yVX*}-k zk9UXJIrVH8^ozlp!Il(zT5W(DWAhlSLYXrZ`?vEk+xksCL2X*=&l&gWi41<$#9ksd zR#C!^Tnhb9GF@F8hb%gJ;V|#YWtVdd6{bJ|+j7eOCv>XwEvnJxnNst=$zCO~NM~`U zGR9}wGE3l;aT#2s<-W9B55!(&a5O%w;Pejg5gRQ9cNBGu$H8WsVzizRG^U}32Xrf_ z;U8|0-`mB(YPFs2SUJo8L}n|ql#M>=T2960*>CNQOn#?+@GE>u;(QKYY_!K?;~fiW zs*O5Pk!0=KWLU~)cqp!3F;=aZDv!xyDg2is5>HWHkta^`RwUY9-~(w`bA>A=z+YnH zbi9(!s;L;3!<^A5zr>#EvOmq17(9H)S|fMucEa76Y$sQSz%?}tUBzk{cSM}h+YOHA42V7M6u)%Dd;8d1 z%Sv6UODx89Glz?Q_+tUJ}02>`;E86PV9)ktkCc zs}rVduq(ur|4JbXma;{AleM;eSR)g1F(<1D(arYAO$k`xhP*!b(jT`6;oe}J>tz?M zZS9O_xIX~zxZxLt6CEH*##7BaU&7_eDHO7#nOWCaO6r7N=785rxWo|>QvQ)qywa*b z^v+DAwGPRD(qFEgdZvV-XFX-((Ng|dy#bo6eP&2KcTdE!Tbwk|q^EPS(CY1L7i=%$ zbJbRqd2cOsfn2P()>zxA4SN9Z55%}f&FFaUK`ft!hiAcQI=p7U@jm=C4LQ@`a5tWq zj(0}j)O2L^!i;;cyMq<%c8I~guJ}Utq9`-iJnfJBeX%S6(II$30NzBLNI_;#oal@M zwOqwx>JW_8`v)mOVAuw}+8RUG^T*bBX%CkNL6F1y!%Z!GAj(v-5G6F7 z;S!6)7G90PH(LEiLCeiN(YK_-$i5j5E@Ljq!Le7;*zS>BSlFoWKnChs@ZTI$gCd{}K?c=aB6$?b) z?QYkwFVoOD1!3JVCc#=lo(#7u{Zendc88J>=a=wQqrqDw`_EK7ycOQ`g8Jy+kt-<< zS#qW&;^#m+%GUoq4OBlP8z6Gq_#UtWK9OF|0ie~WV95ZmfP{=jf z@0U}ffiidVl!Z}Qo;rnvPrt}lg_l3W8CQAXIM-$nM=ZmVsSwZ!?%T|v2l?bmUfju^ zzi|5&CjG+ScUqrCt26XF!M&>Hxy3Rc1O?!W1bB2rUI!DLCAK6F!;t`#tGUb>re1{1>$gQVvZ94kjt+UOt-n3`E@Ki02cw*Eo%ZteYby9qlbiSvOi+x`! zer45WcKVVF|6%T225e#SJU+9FTNiTeLC#xaJysv@w~LxrXC7s|_5&6#(Y zR%-IyzxiC^fetzRNWz_f!*Tdhibp4O*NNW?&oxqk(3Tn|rec@Qns8`cdqUR$eE}uL z9csM9wdriD)A<~S9^s;MoOOiqpsEhn_6_!J}&kYjy8pALs29?oh<81_c zO*h+HxIB+T@@zw~d@nm{pkB%Fz5HwuTQ=An`o!-H|ATHn@bYH9KcDv=w^k$Fke!xt zU?ID&p-U;(Z=sNDX?qx6!q$iFpWl1ZNWXe1$$GI=Mb&4yI)}%O@%{q-AwA(bo6qo6 z5%10C&@wwCIx58K3b&iwuR378AH1;kD%1b>;M#UnlEpj^HF+37Drkq%nBE9kPev%Z~O!JKGg|l~wPK*sc~>>#EFhGIj=xGzehepsU+0uM`ekv3bnMG^L3$;F;dwls$-o?r`Y)|1k-S?TPs(1H z&yIyQ0cky#lq*~yKhL6yQ3?frzHXfzmrAH-Qeg)r{U2>IZn<_Jjgk1x8Q;aDt&7>1 z6?ZL(!g84*|Lb#{>|w%!F7`pd{jCh_|Ghv!C1(9<5!P5#kZKAKyEg4O#zL$Qr_mOmSUc2On=ue;`{3R__@h6>t^KDbzK_Ql6^jJmOJ6K?GM`dG z0~LA5s${X3s z1Xep?!GF+HP0dS0l9A&s1dpD#5aQ+iRPp!1?R>%uleh5?JwN|4r-f4l$ycZ633GYr zt=sMn*9(9tWY!7(uZGLd@OL$HU12;qOwHp;%hvH>o$v0b5DGvYd~qm>$Js<9LN7?f zIZMQXbq1@2ZHw6N5Z#x1xCFmaMWc ztuUjl!I8R07*1L9&M>jTJrR>_{SNI;vVS4Hwe&pC5l8viaYkI`u`?zNew4?<3SQ}e zP)^MiX-;@w5Kd=29gZFD(B4hmwfe|B6=?y|b@CO2+iOH_koGZ14Z!JehywR!knKs8 z5snLhODoJ4IK9c%sXgT<7bh))@#&m=h}gtQTexqL)mR9odVLG$E#%WDIdVOp(q{h> zclzKi2lQ))6YUVw84km7BMD#Ji&{CoXJU~D)=slQDRmt7*6@kmm|4j~aqt#n$`6-s za;P&7DKM+HtP&&Yzb3%AH}Zv%_kr9pf|>WvxadGMEsLO_$k81#P;1YjV8KQ30rvvM1H6 zj64fk<`J+pPhpqVcg&@KQc`7)Lws?ZXKslX8cE_nytK-Q~bHrfi>s&S( zGdiI2U8s$3?AwVWe) zs)282QI5wYCwN-UgyU@Ege>Jo^_*8zSL<1R7@^N#0%Syy3$C9B-ccmY2~iQ4rP3=8 zv?=6W!%RWl?U1W?CcBk8G z`BJ8tAxm@3;s34*>rZfWHvM<;R619$=TJ2l%g1<#N4MBYXwPw$A7=7(E7h9OXmv%g zZrG}1gmB#T{HTGGo2)*drH&`_>{BpRtslkKw)~2$eb+c!t$F|T3(Qb}S7?H2-V}JM zjxTy6xtS4xxXTeMgYk!eGwRD$T2L}_Ak<3vbpY}sFu?<_wK2Jd@>yM{au8cpzT*j9 zgO$4!*z<8WJX%F@4v#CtE+@ROZ{l5#M~@Ud`5+RNEO-W*o*sGu(&$z{i%qSN@+c-~ zx|xFNCf4`E$Kn$zHKy;v4M%`4s+j9yHGiqX`rYInbpxrmO57*d_I9}|{%GJfH|)P< za$JG>(G-ZtF^KWdOPuM5ZWpMRlIX#?(rQG`Ea&1f-YDZg4ID3vqZ1CaP-zrN%G2v@ z*7&BJiejY~Q#6K7DhKp6(KsXsN=9qp?yNkE3P;*tS}e{-SYG&ZSrC(7WG2@c%A*O(Os2Eh5Ym!W#cbB$x&)Q5eqJx51!(Zi`;gG zd*$~&&%ZD5r3gJol99O0}; zY|7;Tan5D4kB5HdN7SGymqi3Vx<+~4_FtiUC=xTcE(~Af^DRXKDw!nukQ270nH+I( zjFpn4%!HF%b93-SES5crHM-Qz#JnKv8ILw<{~UlQVY@nEtOITm^bD6p=nmDJCO$~PVzH*1>N)7v5bDfXWQ@$y^6OI+x zQ}<%2br4?@Z%UpPML~mcwSaHBo2^LJyM0yEx__oKUaDlJKc?KKU!>8HWYTVPix0-& z?-J7@9Io?tIJS$h5rVt|ZVSQ4684nnTF;+_Me;M;<(yR9n1#Zz=UGL~SSp_)Q4Hq{UDWf}}halwbG4M9WwZ|>Jy;JSf zxX>4UL-5>K)ThF4Dn1>7HPbBc`@;mYVSn1stVc@ECG@spk)DZY8)NMNehKgizz^+k zLzmmOMsA-Y7(y`acZMP=(n)md&@*#Q@dx=UT4AFgfhq)XM3yLXvc9N0Okl1?_D({H z6Q*~y?~7e=sF|~qkfsJDVF@pDDX{7Q)sEV{k?pg%b%kv+YnHG?sEsA;SIUy*_JYk= zM~z6gxASrmmhI)l_K?B5o4Cq*c(9(WciQncd^=|zV5?p1v6T%1n{Txp_Y3>k?gD3= z=g*h(_lTHl`Drab&C3;R* z@c#-q@;Z0Q3ZBWxi|llkZyuu8Ax_!Ml`25_lMDai!aum-SI%6;*q<5vFJE8ENmnQx z^+*GKj&Np(UG)|4uUEXKopI_u4#VfS8LRhLA>Y1b7J3~MFC4O)ZO(Q}4?Vt#TW|1V zea$ymu#4UW+^yo33^rt1m$xi=Llg}bsOK^}1mcSud@UMjbyR}sw(9NTjY;bmYs=sJ zL`{jo&;U%(zS0#-x?xW}MGlOqa_$SomwpAj7aD^xOv5 z^1KAza#m{lP{xreH>sdDMB8tf?{{_urwAHW!U5t-U*|koi?4EpFD6~*Cv7a}^+24Z zWq*jqM%DSLKHdSoIyIcIOg^;#%$&2tD~`b>C)9VvC@0)M*g~v-kHE{Wcz+OHS6fGC z%xsO^FeC&UAmYtX#MJVKQ0N6EaYF@64{NLz2Pp*q=WF28Uxix?LY-_;(mJ%bkzF|y z`lQGEqshe(F(cjZk^o$u_)K%OuNik02YcHA{rwGtAjRogh=B^T6Y!dcxr=YPL!{G9 zUKrIG)BI5<6hkP!&{jPH4JsfIudjjAd~xVD4>}tXU*o{uMmlPR>Sk}1hkWs;^0R*E zbkjCd)dd6W~D?HyF>%6gPfc3BpA829EfZmv`|5Z(@ABsET zPOuU4H1qzO4At!JPQXQ=;%gDr5{^Bxr^( zSxGh#pNxh~?|VejXlAx2WFY@Qthq+sa)J^KT3(O!F!$pVY96mnBfH9z^Un>oy~IH(u+B2x?_f1>k=^U~f*fyN=B99sLW~zQ zRhH^goP_gEcre-k#q%UI$*buI?JI?qYv0V?cc@I$*;+nR!4GR~`;KX{2YDF=dr;c_2^qs9~8dEm6_-J5tsTusRfF4!&e zOcM+8`A?a_RDZ}~+6hLSq0nL7bY{lAykF9?OI zmI%Z>TiMDR+y3NZa!vojR=1h3zz)q17trGpqnFrdIctNJZT;^UV~-n%czU|wzq;wI zrF{KuYqirmO3`LnN8U@t8o(vh()V{KAs09i2X#lzX^WHE#;Wkn3n?9NTabz_<`H_K zE3SrFsj(9MJrgiA2#>ch$>o7Ci`2aoh9A_xu5P0+1;{V}jTIw&uef}f-Ub-+!X3mvRV@2idm z)B9a5mjC&R<*Dwk=2J0+((rsMtnF+)r%~;Y9|UpvM2G%35T1TW*2~!ef_v|mx4hC? z>}54iKFfJo76-dOj|Va=ekgLR^7yam!V`{6S17e74ZJ=ceSNJoN6)irn?xnu=V7=K z4_5?~@{|*zE4W)d^(~y|Xy}P`P6+5=0+b@>LGGA06pwo#V~C}h8Wf**LRwb@D2J5{ zk47rw?$E-P6l2MrPP5Xhh@se}E8=Lpt)<2YjOc@R`{5p0HBxYQcX)=`Nmu7;tLoVe z{H`?~RV$)9<~N#acaxg1T|-ga z`eZ|QzCHq~0{m^dy?*CD3_F?>XY6JYju|O!c+Zlqzfu!J&Hr3e2=1t#N#(b{DLr{(ELVfZmG;Z66h18$bB8vDiSAD! zhHl7}T&(d|=%(s7SUbQQwd~-H9ycg` zUfW6ersjz_q}9erCbV#@<^`E-Wo1#Ep~U9p;T2qao2PGD;mG_OoKnf#xzrU=yUT}U zOUR_o;)e??NM5Bz`&z4_Rvy2*Gv?o>G=VKQjppHBMpqB9)H&B1IfWcUlgrYw9yDegRz$F^5b~UET@NSqNg>gL*AB}^(jra11 z%H_q6?Qev65%x5ZP3Z%TYzuoLDBMtuD_Y^j&e+mGccrmv`F>Z+sx0n>U9GWT2%?km z_Cz!aqB0X3$6?K*NSuIJ&DtZdWHvl|nOpKp4Q}1A#TU9ND@6863zKu1RL1n<99Y1d zeUzgh`Upo9QbNjNkzQ)7tzJtg4_)VCG1<##Gua*((E-;S(IycCM6is)=^GSS(j}8R zLr0(IN+(;v$Rao@%N(bV2xqOPj7DBndd?ly4(JtV7~Xf<*z;ebz-bM4^@Lo?K0`6S zn!`uo;c9+71gFI17FnW{^>Xt6=Urlu zxroQC;?nah|C7(}rsq0yo4>J@+kWAbyX~;Me?R}XfGr2O;V0%D)e@h+4|QmBud_~49Z6_RRYcx@?=_Xi?Pd>e(l z8o5j8QN1ChQMd5Ob?S`xM)hQ_SgwVd6ISiBX?oNFK2gQ5PMTIc>k8jj^~6enr)U5GHyh7oDYYKD4-oMxGTE!$HC6X8;cN~3scNR zd~-6cwZ>}`;OL1(V!g`Fq(ealya@;n!rsZ)7KGpKh8A{1M<8CIkB-o=-&?qz8upVI zC0LdKo&{X;Cx6PO?_yR+VOzrK#caKr;%w~RX>FVHPZ}jgm6WJ^PbeJIquE9l2XC4js!rio8G;-NCG7V zJwZ41IGktXDL!_ABTupCd3HQ!Ow{7bblAh_d|q0^14VrGC(gTRE_xZ3Hh#tOA}0RC z!aOFfVW^CMN<&}dhsU|@3fEm=aUnmH6RegKZ`u@d0~ScpakfMi9s=J5;kmZ3K_D0< zZLr)4pT_9$Uk&Z*Y78=gPn!sXUiW zhk3bx!}juxVrvfVRms0p?tF*dtN2PI-&w}SMtZKW+hD;uE2kc~+c>Brj$5eYh11sI z^~*8dxX8!%GW#HV?4a*PzPFQemT;c9n%|h^Z4+_JvTIfV=h0WX<;E@kFTV8lT-DLs0OqV;}pnUCr1UCQa% z=5Q9%Y_22LoTHOm3g@hB?thoLi?-cZp#G+6z9B$_BL*r(>xq|}c(*quRx#e)kR!ST zF3RHz66h{-p$ye$t0H=0h~U2eGShZTy;MOkx!V|&EQMkVpk+hC!ot*wRj&k&Ty8zet0 z(pvU(znu_|3ot|b=4$IFy>OF-ns7Bk)tmf&r-VOLF)N#23a)#BsVxjW%Lr$4-H%Y7 z?ka1%aH)z7KA0@eryvF%_{19}`c6G@!Wjvkcu-4fF{lA)o^LxLDG-xfaqd4EL2t+{ zQjha_ro`H2J7m*qKNnr%Jtyqve7(SIsDecKsAks<3q0WFWEC@GHQK1rOw|?cP{ur2 z+W2v9)_1C6KAHBjxL5hdT;_V=LMD?n?Ovk3wja`2E3;oF9|F{O^PCg@uZ(+Ip{T-E z017YcRT`p@Ucrz#>PcDBLts^JLU@UJ|v9ki^&eqc><#uF?Ww#G# zyQ*i&1)>KOYckEXYl)!ln~J$zM?fC+B&^jx^u_;*C?JfRs$2Z=0TAGcztqL%09Nr@ zEf-}|nayJdDB$^B8!WfpcMXr;;e#lOq z))KzW8DBRsRd5VP3=zf49e?QQ^2c%cSfU{TaB*i$Pe$Glc=yCZx)}7qh{?E-X6=-NLSf8r@Hr_M z+QQsso2y(`V!*KzH>uIJvEEEdFM6U_Fsmp$5^UMz_9=L1FxCu4+(dZZg=ePW&8b*E z(?Ut(X5zs~xHA=5s^yx5?St_9aD0-6zI|*Rb6;nC9}SOW6LVU(L%Ac?iJB<0SjG7_scWI*H5RpSX)f1_n5S#4BW4#+>-CqfbHg3}QDm8pV`c1`!y#2H z6coLQDN4_|v}oy#ROI9fciDoab&~ zaIquii9)GHxl+c;4k|uCKGoRxNxm7{1uq_YnFq72|Kh7`13Not$5g|BGG3L?q_~Ha zIxqMp!CMWU{ScRmxfAhLUrd>en&EinQM@r82Ol!3?T&kKdn~#P!}iN^dry?a;%qlr7hpraexL4Qq>> zaKizaa%2e^8jkaR_#^@QgD^=YxxuD3JRsz3CtJ9O#bYTsq&3u77u~=>El&&hd8L)A zNB@_$=piu09&>{v?&G!nR&(&`cIF&p7X>;*P~XXsds%*vYJ9tTnw<_XTt<|W+#+Va z?6@UdQ^EJd{dPl+yc1#})^kW2?yBecAy{3{&jqYjMn+M)7ETVpOAh$8jyfXqu3HV< zv0Q!-WX-T2X*b%yKRa08&Bo3s>4DVFI58P@DOmIbHYQ{8i+DrA-P1@*#K!5^t&jOo zJQ#=%Qt_piWdq;x7EIp+>e=G6C828?9_x*l`{04WR&w{#Kx_%d8=}kB@SbG6qB6v2 z`0izRFyyj0=Yxe?t#i$9C!@&GyV$*!o3^u2b;g@nAvDcKiZPq8*=mE%|I7PStF2~U zKV%g!DAKr>iE(C-`#atM#Sgc|4?;mkps6pO2)3DSWgtqW287_FeyEDVJ%cd5z3K2D zb+#DV`0n^+B4&0mgZfwP;55iqoS&pZ7n1wLoM~c~C;HSHu(!UB`jpLfwDiP&FMJ)1 zFV%C@4!?Qf?nGqEr6~pJHlqXZYl+=zJjy9rue@Py(Kssgy9<0`5IzJ8Qc*b?_om_H zk(l2bNBiSu5A^DWj;T1_5f$os>jdRYFZaO3AVXECezC(Kw0B2}B2f<5+{adX$Gh9K z{&OeGti9e5M>WNCf~p_B5WT7mX7uYW z(p0_p$(BODgup;guMC6=ib$ufZ6rbc{Fjt{CBh&z0|JG4Rn3b=-W7A1L6U z>rgG{>k8CNMHt4rqqif>$ENH zjn^N>!`<-0Bc@xr&%laUj2n$_LJ`;vZ+Kw7=&4FXw!$|BR&djNn$MT3LJR!*`r}u9G@{|x%gSWco};H|N`I)Z<478` zsaG|_jX={&=gA79nyLhAJ=5wuVK82gL()L_$!yad;_5sVZ|?4A1F-5Wue)LWG0t#- z_gTK>2?-`6b>GmQI>wZir3uF1N=_6ri3)MQ(agDtnBL5nQZQNya}T`g0Iz;Xbi_yf z5$S;1G>jpYfEd|Kh2^g|aJe7$i8AVpvsE10$X6<;K(R7YqiguSLa*ud+$wb8frS`m!_i z!gNQk-F#6(>j@*_bQNGt!&))LU~#Utv$$)6+1F*ivwU86?&71j zn6Z(uwH&*i*-bpAo?i!iwvOp?$^ON6$cUvB_;lJLyZj_9WKcej{K(!Htu|Jx5<*@Me}tqETbiZRT%gaV>{#HstK^E!3)X{dQ&-@pnzNlIxE$FrN_@8Kv3h zDs%E#E~9uMzi@0dHl))Ut}7v z$ny$?Ov%pTnH+0&drcvNVk^k-tFSPvYE8r&>~V_+z`u5Kw9{O|@T)Se7H4<_Ra zCn&UA>tdCc*VIAT8U}#lvsopKy9r&N_Hk$?!w++tl%L~#Txq*g zj6BKY(_DIpYM2Hn%(lmySAh--(A!|`_;+Xy%LTTa%|3tf8S5sio4j5s7WMT;MvmzzTG ze?5L-cq*aWSbE%2J!RX|I=+= zk3ge05Anj=D$91loG@GyqdwHG_e*vD%EAm)?isJH>zVoO=R-AH(D%3-ItnWa@;I7 zuHSM)f(8FuWH4@nLS?H}qSpcGQJ9p310lE&i$mT>3dMA1XlxPCX}ONMMm834Wi#Ui z5_dxBdFo&ql1@qM^9xumDZA$XIXdt7EXy1hgc1lPGyz4h016gFR4mv# zDk?VY&Nzs@D_yu zfyVDurAvQtvAnvSaSwU2gN{vBFFhoTe;bu3)9Wc!$NqMfH?zILRKjzWAnM`7T-NvS z!;4Jq<%|Lj=;!ikZU@raEG%@Yi$9ZN+c~wz2K52*-IUW;Rz87oy7*ZgBOP#OH?Q)< z1Fm+R4_A;l429mvh=iU_{YufRk{OAAI;mA!n?PYAaMn|dJ0a6Q(k53~zHZi+F{0Vr zXLWVdcU-CUr2EcoyOi^;NlidLN{+C~_z zsprSBP@6S20l{_D>rZW+l_6Mgf!7J#dWy&0pc$Rw#5?sJ900F8i*IRq;1&uQ6EvEh zQOX$#A?Ru^M`58I+OMu;V4LJ9ysUw7o;a-{t#Enu+#G@X+xSTUbo^W4h#bwU8~Kj3 zttE_5u|1!MW06CLVbf{nTj25x$m^u8Xo?F~3XtW5oMdQ}kr0cK zJ-jB;nqq6jlN19)D&NNeY*v6jbPHUkrq zaMksOul#r(LhnM~Y<&I<)=$Uu7mzaEj^+0Z!`eGBIv&@|Hk@_EBn!1Rj)1Ep+7eLF z#{3YtS5ezfSNVeFa5-W2r8&DfB9FWN;y;>{uC<6))c^5`0$w4Nd?S-~Qdg>RxqLMQ zLwk5E4%aGBk%Y1YTM$o5#W!)-tFvM(RGZDxhGIN?2VvV3JTb^FSz)nwY#Oc#z!ekm z1=%+WdFsLG5|PdK!~;3Tl3+Zs*S;x>cXA^6@NWLmPAQi3n)~lLTVN#@bCLcdI{Ax> zTgNt)m=tl$;r>!i&9dLi+voVHGD~7>=pru+b)98s^@i1oR_m3APjY}G-aKxdRwawH z0eSNPPdH=JZccQ^E!&J=dS(mDJg{`DeK@D=VV4uWJkIA_@J%+oy`WZ zAnl=uE8`tfAr$dH1C0#-LL#P?QiaWOLD5D1728&bGrd(~?Oz`c#kW;d>Sk;MWoy#) zc~BUZcJrY)Oz7p1q3G|SmLmd^mrb@q=9X!A$JHhwclse?0=`${L)U6~wKPjlG6v?{ zcr5jSqLRYG2yB(*kNILz24R}2f`M2h=!7r+BaVb8W}V`BH>e0HqE}HqKNRSrlq#4U zF6VDys8G5f3Z-RK@9DK_&P;%pKH-DWql0~l5gNn9R&vGrNw|enCcM3s@_U}GF^=4X zOUK3UE9~AXLsp0&qV+7=Ntb%IN~m4Uvp?`2$+Fi|u9Mfcuv6!aQxq%DCPihO-Ot1Z z3uB)V=Q+Xzo~ZaH`VakG8;L5 zQOpDZuYRZuV%Yo?(_mBQ6Q z&@fiZQ+F@?nFL)EdgLk%!LH#JT6kY)k628Lz(z6I+*Ad@&^Ah6`$ZMs4#vwBT%)r@ zJso{;yIKhz2$Sm35o7(#J-r|hVVdar;iD?*$md-~jo;N!s1Vvq@03Pc!Kg!8-OOdx zyrshq;kT(~qNtdnSz1%7tq^L(Rlng#9)r14kueiD&BUkI0rIF`ixI<+I2jl9$53Du zhz-G;4VHdOo>fSC#a`yr->GXw4Juf6Rjy4MdxNh7t8RX8v@5$P?=iowY? z4pdpJlg`>ZXk6dK_)fl_%b_g>uh1Oei;bLD$gkG&n=IbKFJ7T>no^r%GKbuj%5{}tzoDhSj8aXcx(aPz?;$dwnW9$*6@ymU#*eRBgKmJLz zqFGx8?v2OyGY}Yu6?3etlzWZs6rv|so;FsX=JOokj2#ErQO9d`+t1TwFB7HdJZ9eT zL%G(5KHI`RA50d~Ez#J^>&IZ*WCTn>+?7bU3|lV4W9c|P4Ey3ulBiFkvQMX7t)O?O zGj8eStsc-5`;`9t-ncRtPig)Th;Ikt1>uChe&;QFxk`)9!!{hy8>Id)N1ft?!<>JHhc%8n!vkA6?Gz9F&HE42y+f8*Pg+$HBoGdoZ4f}{_Hyrr2p*4jen#U}n!LZ2o& z7MaZD*%AZG45>2Zfwwf!)x4*J(gAPOaY$cq4`{@!p`FWkS3h6R++MDfsARJ5Exj6>TYP%1_ z^=+(?h_Jz~056qsuo=AI4gIn98Nt>_o?Iv+UBWv_9|SzHSk*0jRH)amSmQYkHdlqj`wrweJ@I&M1No6ph2RaW=-(m*~ft$PB}fIf&BB zbRM2a#gV!2AC9N4!jD3rkHu6s42naJ_|>uopS0E9JNx;$z^6xfr#p`3aI7zs%(*uJ zmx-C?kN>#fN?&_5-0z3^K2XQxIzL>M06{b6q(Kno9|ZLZK*l%>@yDwvxN3k&#B|Ny z-A8wwXR3{vqwBLuF4GFF0`o(;0r4b(`mT~+iiTIq*Bud|$D^CIybpT8UvN%8v?n4k z3@0YzojA;yi`!E0lT@SVW<-}_wr~z4?E+sPM&kc zYr6Qrg1BR~`zT;@G2JuyV0nB8pPCMF)?mLCnIKSwEuQ}q7KLN6z!AUws1>$v0u zH*MpLlk7ds+k~MjWp4quG_k#gQ@S|3o!@JO*vGdW@r0a-x@CJoYE(UJSH?j#lRHza z3oIA>-GVI(E~grDG~#_RPBR22NMs|mrRuJWT`?dCf`La3w5C;Y60VQO_Ea=o@^L>T z+*1lNbv%p5edL-@s6ZO(fn>QYI_&}CRLKBcwe(%kBK{2bXhnO9-O5O3n(OoFY#wz$ zb}r9df=|wIw&drvu1Gn^acW}9C+m(~#~9*{RoPS{z_pTaf^UOeC0Z4S>*h_B?A95h zlxu}|QwO1#Np;N3W?KutzN9goe#q7eH*YnX`uN`%Bd^2{jM&BYHI^Q!SkDI(GY~B9 zB%j~M&MfXYVP>U63X|k;br!G9u_?i0x%Q$LazUK@Ze2qZp{eA5Dkw^%PdT5-H{0pY zXZTF6F_ETSYi=6UuCz;@cL!!?)*^fnCOUGWL zb1U(pcDWuG?+%9Mw6o+#2sEzvMpwM9%5W!d5-X#I#eP_;K$;L(dAvn}!fYc~Yk)A# z6%pB7=7F7g=ES)}H5}C_YB^2R^ky#bM_ebBffQcm2U%eBC{P4Z!jWp8jKt@fW5nal zR$dj0MIr#GCQ18$-V8j}!6V``)KU?P8C4b(`JYbFqU^R)Qz<nQskG9Estieki4~LyIeTx6Dda9PNNb_4eG>sNrX4Bs*G>Tp#j=P`o)1`n$g~7$r%D zFYp=ymm#)Odp_3I3NgVDr%}uLl|$j=jF4gYLyfax_ES1N9NYT2Vgw%Q=Y|n>l@1tz zI468N47a(XJq1g>v38J={~KbhK%EtVY;IHCI^{U~(-$r0__AK;7maCleWB%5 z#+6Xr!xaVA;+dyDex{Lmo;quRqJ5d1caBHS(@|ohi)<_Bj(o%a_LlQ(B{w#4a3z1~ zH3D#o=;XMNNj%DtVJOLHUFWF5B^Ft3=iGWp&GesY)xPEiH1 z`Nx^Jh0dqw^bbE1dSx4*uH-3MAp}W2%ULcEuB6t}AOi)m*Yy}=UPx*kER%!b5NZ5v zy%292iK6isIS#9)Au$~XreUab$&=9#grBrob3x81oao_W!*IIO7?{G(UKMU_h<-V> zCEf0`Io<;;M(>HQXRvzHb^N}LXPWqo7|vZb1N>DiEH8}nHqQJJX><~BjkGU`_)^h# zDJestw(pogYj_oTVVca0j;JhUbEm;oo@nH4=S|&shYC$)linBn4m z&Qc_t_(FEJbAbv+j<~0v(}hEH!HG*Y$*+R#rYuOv??Q;EC|bv{myY!R4z$PbkJ3g* z;p;@an1-AfjGTxG0azd~rVcYQp%gP+dhw%F{Brg-mOG?6#WVXk-2;

IlV!GpoJ#Qf6R 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

_ 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ξ8k69>thhwT*|H;aH{(vrl_W2B5a1&1Ku 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 F`G0jmogV-I diff --git a/src/renderer/audio/impulses/MoondropCHU_Cider.wav b/src/renderer/audio/impulses/MoondropCHU_Cider.wav new file mode 100644 index 0000000000000000000000000000000000000000..ab57c636c0d04f1d07dc1319e160d23e305ff9d5 GIT binary patch literal 330420 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