From a0a4023b427fa4e72d6c1e4026ddfa76a1c7fb15 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Thu, 11 May 2023 23:21:51 -0400 Subject: [PATCH 001/112] Update message about chat PoW --- core/language/de.json | 4 ++-- core/language/es.json | 4 ++-- core/language/fr.json | 4 ++-- core/language/hindi.json | 4 ++-- core/language/hr.json | 4 ++-- core/language/hu.json | 4 ++-- core/language/it.json | 4 ++-- core/language/ko.json | 4 ++-- core/language/no.json | 4 ++-- core/language/pl.json | 4 ++-- core/language/pt.json | 4 ++-- core/language/ro.json | 4 ++-- core/language/rs.json | 6 +++--- core/language/ru.json | 4 ++-- core/language/us.json | 4 ++-- core/language/zhc.json | 4 ++-- core/language/zht.json | 4 ++-- 17 files changed, 35 insertions(+), 35 deletions(-) diff --git a/core/language/de.json b/core/language/de.json index adf2e9d3..822783ef 100644 --- a/core/language/de.json +++ b/core/language/de.json @@ -711,8 +711,8 @@ "cchange38": "Benutzer verifiziert", "cchange39": "Kann keine verschlüsselte Nachricht an diesen Benutzer senden, da er seinen öffentlichen Schlüssel nicht in der Kette hat.", "cchange40": "BILD (zum Anzeigen klicken)", - "cchange41": "Ihr Guthaben liegt unter 4,20 QORT", - "cchange42": "Aus Gründen der Spam-Bekämpfung benötigen Konten mit einem Qort-Guthaben von weniger als 4,20 viel Zeit, um Nachrichten in Q-Chat zu SENDEN. Wenn Sie die Sendegeschwindigkeit für Q-Chat-Nachrichten sofort erhöhen möchten, besorgen Sie sich über 4,20 QORT an Ihre Adresse. Dies kann mit Trades im Handelsportal oder über einen anderen Qortian erfolgen, der Ihnen die QORT gibt. Sobald Sie über 4,20 QORT in Ihrem Konto haben, werden Q-Chat-Nachrichten sofort gesendet und dieser Dialog wird nicht mehr angezeigt Show. Vielen Dank für Ihr Verständnis für diese notwendige Spam-Präventionsmethode, und wir hoffen, dass Ihnen Qortal gefällt!", + "cchange41": "Ihr Guthaben liegt unter 4 QORT", + "cchange42": "Aus Gründen der Spam-Bekämpfung benötigen Konten mit einem Qort-Guthaben von weniger als 4 viel Zeit, um Nachrichten in Q-Chat zu SENDEN. Wenn Sie die Sendegeschwindigkeit für Q-Chat-Nachrichten sofort erhöhen möchten, besorgen Sie sich über 4 QORT an Ihre Adresse. Dies kann mit Trades im Handelsportal oder über einen anderen Qortian erfolgen, der Ihnen die QORT gibt. Sobald Sie über 4 QORT in Ihrem Konto haben, werden Q-Chat-Nachrichten sofort gesendet und dieser Dialog wird nicht mehr angezeigt Show. Vielen Dank für Ihr Verständnis für diese notwendige Spam-Präventionsmethode, und wir hoffen, dass Ihnen Qortal gefällt!", "cchange43": "Tipp QORT an", "cchange44": "NACHRICHT SENDEN", "cchange45": "TIP BENUTZER", diff --git a/core/language/es.json b/core/language/es.json index 47eaadbe..f81f6c9b 100644 --- a/core/language/es.json +++ b/core/language/es.json @@ -711,8 +711,8 @@ "cchange38": "Usuario verificado", "cchange39": "No se puede enviar un mensaje encriptado a este usuario porque no tiene su clave pública en la cadena.", "cchange40": "IMAGEN (haga clic para ver)", - "cchange41": "Su saldo es inferior a 4,20 QORT", - "cchange42": "Debido a la necesidad de combatir el spam, las cuentas con menos de 4.20 Qort de saldo tardarán mucho tiempo en ENVIAR mensajes en Q-Chat. Si desea aumentar inmediatamente la velocidad de envío de mensajes de Q-Chat, obtenga más de 4.20 QORT a su dirección. Esto se puede hacer con intercambios en el Portal de comercio, o por medio de otro Qortian que le proporcione el QORT. Una vez que tenga más de 4.20 QORT en su cuenta, los mensajes de Q-Chat serán instantáneos y este cuadro de diálogo ya no aparecerá. ¡Gracias por su comprensión de este método de prevención de spam necesario, y esperamos que disfrute de Qortal!", + "cchange41": "Su saldo es inferior a 4 QORT", + "cchange42": "Debido a la necesidad de combatir el spam, las cuentas con menos de 4 QORT de saldo tardarán mucho tiempo en ENVIAR mensajes en Q-Chat. Si desea aumentar inmediatamente la velocidad de envío de mensajes de Q-Chat, obtenga más de 4 QORT a su dirección. Esto se puede hacer con intercambios en el Portal de comercio, o por medio de otro Qortian que le proporcione el QORT. Una vez que tenga más de 4 QORT en su cuenta, los mensajes de Q-Chat serán instantáneos y este cuadro de diálogo ya no aparecerá. ¡Gracias por su comprensión de este método de prevención de spam necesario, y esperamos que disfrute de Qortal!", "cchange43": "Sugerencia QORT para", "cchange44": "ENVIAR MENSAJE", "cchange45": "USUARIO CONSEJO", diff --git a/core/language/fr.json b/core/language/fr.json index a02b0cfd..a3c450a8 100644 --- a/core/language/fr.json +++ b/core/language/fr.json @@ -711,8 +711,8 @@ "cchange38": "Utilisateur vérifié", "cchange39": "Impossible d'envoyer un message chiffré à cet utilisateur car il n'a pas sa clé publique sur la chaîne.", "cchange40": "IMAGE (cliquez pour voir)", - "cchange41": "Votre solde est inférieur à 4,20 QORT", - "cchange42": "En raison de la nécessité de lutter contre le spam, les comptes avec un solde Qort inférieur à 4,20 mettront beaucoup de temps à ENVOYER des messages dans Q-Chat. Si vous souhaitez augmenter immédiatement la vitesse d'envoi des messages Q-Chat, obtenez plus de 4,20 QORT à votre adresse. Cela peut être fait avec des métiers dans le portail commercial, ou par le biais d'un autre Qortian vous donnant le QORT. Une fois que vous avez plus de 4,20 QORT dans votre compte, les messages Q-Chat seront instantanés et cette boîte de dialogue ne sera plus Nous vous remercions de votre compréhension de cette méthode de prévention du spam nécessaire, et nous espérons que vous apprécierez Qortal !", + "cchange41": "Votre solde est inférieur à 4 QORT", + "cchange42": "En raison de la nécessité de lutter contre le spam, les comptes avec un solde QORT inférieur à 4 mettront beaucoup de temps à ENVOYER des messages dans Q-Chat. Si vous souhaitez augmenter immédiatement la vitesse d'envoi des messages Q-Chat, obtenez plus de 4 QORT à votre adresse. Cela peut être fait avec des métiers dans le portail commercial, ou par le biais d'un autre Qortian vous donnant le QORT. Une fois que vous avez plus de 4 QORT dans votre compte, les messages Q-Chat seront instantanés et cette boîte de dialogue ne sera plus Nous vous remercions de votre compréhension de cette méthode de prévention du spam nécessaire, et nous espérons que vous apprécierez Qortal !", "cchange43": "Tip QORT à", "cchange44": "ENVOYER UN MESSAGE", "cchange45": "CONSEIL UTILISATEUR", diff --git a/core/language/hindi.json b/core/language/hindi.json index d443fe42..c3b0f036 100644 --- a/core/language/hindi.json +++ b/core/language/hindi.json @@ -712,8 +712,8 @@ "cchange38": "उपयोगकर्ता सत्यापित", "cchange39": "इस उपयोगकर्ता को एक एन्क्रिप्टेड संदेश नहीं भेज सकता क्योंकि उनके पास श्रृंखला पर अपनी सार्वजनिक कुंजी नहीं है।", "cchange40": "छवि (देखने के लिए क्लिक करें)", - "cchange41": "आपका बैलेंस 4.20 QORT से कम है", - "cchange42": "स्पैम से निपटने की आवश्यकता के कारण, 4.20 Qort से कम बैलेंस वाले खातों को Q-Chat में संदेश भेजने में लंबा समय लगेगा। यदि आप Q-Chat संदेशों के लिए भेजने की गति को तुरंत बढ़ाना चाहते हैं, तो 4.20 से अधिक प्राप्त करें। आपके पते पर QORT। यह व्यापार पोर्टल में ट्रेडों के साथ किया जा सकता है, या आपको QORT देने वाले किसी अन्य QORTIAN के माध्यम से किया जा सकता है। एक बार जब आपके खाते में 4.20 QORT से अधिक हो जाते हैं, तो Q-चैट संदेश तत्काल होंगे और यह डायलॉग अब और नहीं होगा दिखाएँ। इस आवश्यक स्पैम रोकथाम विधि को समझने के लिए धन्यवाद, और हम आशा करते हैं कि आप Qortal का आनंद लेंगे!", + "cchange41": "आपका बैलेंस 4 QORT से कम है", + "cchange42": "स्पैम से निपटने की आवश्यकता के कारण, 4 QORT से कम बैलेंस वाले खातों को Q-Chat में संदेश भेजने में लंबा समय लगेगा। यदि आप Q-Chat संदेशों के लिए भेजने की गति को तुरंत बढ़ाना चाहते हैं, तो 4 से अधिक प्राप्त करें। आपके पते पर QORT। यह व्यापार पोर्टल में ट्रेडों के साथ किया जा सकता है, या आपको QORT देने वाले किसी अन्य QORTIAN के माध्यम से किया जा सकता है। एक बार जब आपके खाते में 4 QORT से अधिक हो जाते हैं, तो Q-चैट संदेश तत्काल होंगे और यह डायलॉग अब और नहीं होगा दिखाएँ। इस आवश्यक स्पैम रोकथाम विधि को समझने के लिए धन्यवाद, और हम आशा करते हैं कि आप Qortal का आनंद लेंगे!", "cchange43": "QORT को टिप दें", "cchange44": "संदेश भेजें", "cchange45": "टिप उपयोगकर्ता", diff --git a/core/language/hr.json b/core/language/hr.json index 0b6a33da..1833b736 100644 --- a/core/language/hr.json +++ b/core/language/hr.json @@ -711,8 +711,8 @@ "cchange38": "Korisnički potvrđeno", "cchange39": "Ne mogu poslati šifriranu poruku ovom korisniku jer nemaju svoj javni ključ u lancu.", "cchange40": "SLIKA (kliknite za prikaz)", - "cchange41": "Vaš saldo je ispod 4,20 QORT", - "cchange42": "Zbog potrebe za suzbijanjem neželjene pošte, računima sa saldom ispod 4.20 Qort trebat će dugo vremena za POŠALJANJE poruka u Q-Chatu. Ako želite odmah povećati brzinu slanja za Q-Chat poruke, nabavite preko 4.20 QORT na vašu adresu. To se može učiniti trgovanjem na Trade Portalu ili putem drugog Qortiana koji vam daje QORT. Kada budete imali više od 4,20 QORT na svom računu, Q-Chat poruke bit će trenutne i ovaj dijaloški okvir više neće biti show. Hvala vam na razumijevanju ove neophodne metode za sprječavanje spama i nadamo se da ćete uživati u Qortalu!", + "cchange41": "Vaš saldo je ispod 4 QORT", + "cchange42": "Zbog potrebe za suzbijanjem neželjene pošte, računima sa saldom ispod 4 QORT trebat će dugo vremena za POŠALJANJE poruka u Q-Chatu. Ako želite odmah povećati brzinu slanja za Q-Chat poruke, nabavite preko 4 QORT na vašu adresu. To se može učiniti trgovanjem na Trade Portalu ili putem drugog Qortiana koji vam daje QORT. Kada budete imali više od 4 QORT na svom računu, Q-Chat poruke bit će trenutne i ovaj dijaloški okvir više neće biti show. Hvala vam na razumijevanju ove neophodne metode za sprječavanje spama i nadamo se da ćete uživati u Qortalu!", "cchange43": "Napojnica QORT za", "cchange44": "POŠALJI PORUKU", "cchange45": "SAVJET KORISNIKU", diff --git a/core/language/hu.json b/core/language/hu.json index 71b0a665..3d8d3fbc 100644 --- a/core/language/hu.json +++ b/core/language/hu.json @@ -711,8 +711,8 @@ "cchange38": "Felhasználó ellenőrizve", "cchange39": "Ennek a felhasználónak nem lehet titkosított üzenetet küldeni, mivel nincs nyilvános kulcsa a láncban.", "cchange40": "IMAGE (kattintson a megtekintéséhez)", - "cchange41": "Az Ön egyenlege 4,20 QORT alatt van", - "cchange42": "A spam elleni küzdelem szükségessége miatt a 4,20 alatti Qort-egyenleggel rendelkező fiókoknál sokáig tart az üzenetek KÜLDÉSE a Q-Chat szolgáltatásban. Ha azonnal meg szeretné növelni a Q-Chat üzenetek küldési sebességét, szerezzen be 4,20 feletti QORT az Ön címére. Ezt megteheti a Kereskedelmi Portálon végzett kereskedésekkel, vagy egy másik QORT-al, amely megadja a QORT-t. Ha 4,20 QORT felett van a fiókjában, a Q-Chat üzenetek azonnal megjelennek, és ez a párbeszédpanel többé nem Köszönjük, hogy megértette ezt a szükséges spammegelőzési módszert, és reméljük, hogy élvezni fogja a Qortalt!", + "cchange41": "Az Ön egyenlege 4 QORT alatt van", + "cchange42": "A spam elleni küzdelem szükségessége miatt a 4 alatti Qort-egyenleggel rendelkező fiókoknál sokáig tart az üzenetek KÜLDÉSE a Q-Chat szolgáltatásban. Ha azonnal meg szeretné növelni a Q-Chat üzenetek küldési sebességét, szerezzen be 4 feletti QORT az Ön címére. Ezt megteheti a Kereskedelmi Portálon végzett kereskedésekkel, vagy egy másik QORT-al, amely megadja a QORT-t. Ha 4 QORT felett van a fiókjában, a Q-Chat üzenetek azonnal megjelennek, és ez a párbeszédpanel többé nem Köszönjük, hogy megértette ezt a szükséges spammegelőzési módszert, és reméljük, hogy élvezni fogja a Qortalt!", "cchange43": "QORT tippje", "cchange44": "ÜZENET KÜLDÉSE", "cchange45": "FELHASZNÁLÓ TIPP", diff --git a/core/language/it.json b/core/language/it.json index 02c8ab77..491004e9 100644 --- a/core/language/it.json +++ b/core/language/it.json @@ -711,8 +711,8 @@ "cchange38": "Utente verificato", "cchange39": "Impossibile inviare un messaggio crittografato a questo utente poiché non ha la propria chiave pubblica sulla catena.", "cchange40": "IMMAGINE (clicca per vedere)", - "cchange41": "Il tuo saldo è inferiore a 4,20 QORT", - "cchange42": "Per la necessità di combattere lo spam, gli account con un saldo Qort inferiore a 4.20 impiegheranno molto tempo per INVIARE messaggi in Q-Chat. Se desideri aumentare immediatamente la velocità di invio per i messaggi Q-Chat, ottieni oltre 4.20 QORT al tuo indirizzo. Questo può essere fatto con scambi nel Portale commerciale, o tramite un altro Qortian che ti fornisce il QORT. Una volta che hai più di 4.20 QORT nel tuo account, i messaggi Q-Chat saranno istantanei e questa finestra di dialogo non sarà più show. Grazie per la tua comprensione di questo necessario metodo di prevenzione dello spam e speriamo che ti piaccia Qortal!", + "cchange41": "Il tuo saldo è inferiore a 4 QORT", + "cchange42": "Per la necessità di combattere lo spam, gli account con un saldo QORT inferiore a 4 impiegheranno molto tempo per INVIARE messaggi in Q-Chat. Se desideri aumentare immediatamente la velocità di invio per i messaggi Q-Chat, ottieni oltre 4 QORT al tuo indirizzo. Questo può essere fatto con scambi nel Portale commerciale, o tramite un altro Qortian che ti fornisce il QORT. Una volta che hai più di 4 QORT nel tuo account, i messaggi Q-Chat saranno istantanei e questa finestra di dialogo non sarà più show. Grazie per la tua comprensione di questo necessario metodo di prevenzione dello spam e speriamo che ti piaccia Qortal!", "cchange43": "Suggerisci QORT a", "cchange44": "INVIA MESSAGGIO", "cchange45": "CONSIGLIO UTENTE", diff --git a/core/language/ko.json b/core/language/ko.json index b31d16bf..e44d21fb 100644 --- a/core/language/ko.json +++ b/core/language/ko.json @@ -711,8 +711,8 @@ "cchange38": "사용자 확인됨", "cchange39": "체인에 공개 키가 없기 때문에 이 사용자에게 암호화된 메시지를 보낼 수 없습니다.", "cchange40": "이미지(보려면 클릭)", - "cchange41": "잔액이 4.20QORT 미만입니다.", - "cchange42": "스팸 방지를 위해 잔액이 4.20Qort 미만인 계정은 Q-Chat에서 메시지를 보내는 데 시간이 오래 걸립니다. Q-Chat 메시지 전송 속도를 즉시 높이려면 4.20 이상을 얻으십시오. 귀하의 주소로 QORT. 이것은 Trade Portal에서 거래하거나 QORT를 제공하는 다른 Qortian을 통해 수행할 수 있습니다. 계정에 4.20 QORT 이상이 있으면 Q-Chat 메시지가 즉시 전송되며 이 대화 상자는 더 이상 표시되지 않습니다. 이 필요한 스팸 방지 방법에 대해 이해해 주셔서 감사합니다. Qortal을 즐기시기 바랍니다!", + "cchange41": "잔액이 4 QORT 미만입니다.", + "cchange42": "스팸 방지를 위해 잔액이 4 QORT 미만인 계정은 Q-Chat에서 메시지를 보내는 데 시간이 오래 걸립니다. Q-Chat 메시지 전송 속도를 즉시 높이려면 4 이상을 얻으십시오. 귀하의 주소로 QORT. 이것은 Trade Portal에서 거래하거나 QORT를 제공하는 다른 Qortian을 통해 수행할 수 있습니다. 계정에 4 QORT 이상이 있으면 Q-Chat 메시지가 즉시 전송되며 이 대화 상자는 더 이상 표시되지 않습니다. 이 필요한 스팸 방지 방법에 대해 이해해 주셔서 감사합니다. Qortal을 즐기시기 바랍니다!", "cchange43": "QORT 팁", "cchange44": "메시지 보내기", "cchange45": "팁 사용자", diff --git a/core/language/no.json b/core/language/no.json index 857ea6e9..0bd32907 100644 --- a/core/language/no.json +++ b/core/language/no.json @@ -711,8 +711,8 @@ "cchange38": "Bruker bekreftet", "cchange39": "Kan ikke sende en kryptert melding til denne brukeren siden de ikke har sin offentlige nøkkel på kjede.", "cchange40": "BILDE (klikk for å se)", - "cchange41": "Saldoen din er under 4,20 QORT", - "cchange42": "Av behovet for å bekjempe spam, vil kontoer med under 4.20 Qort-saldo bruke lang tid på å SENDE meldinger i Q-Chat. Hvis du umiddelbart ønsker å øke sendehastigheten for Q-Chat-meldinger, få over 4.20 QORT til adressen din. Dette kan gjøres med handler i handelsportalen, eller ved at en annen Qortian gir deg QORT. Når du har over 4,20 QORT på kontoen din, vil Q-Chat-meldinger være øyeblikkelig og denne dialogen vil ikke lenger show. Takk for at du forstår denne nødvendige spamforebyggingsmetoden, og vi håper du liker Qortal!", + "cchange41": "Saldoen din er under 4 QORT", + "cchange42": "Av behovet for å bekjempe spam, vil kontoer med under 4 Qort-saldo bruke lang tid på å SENDE meldinger i Q-Chat. Hvis du umiddelbart ønsker å øke sendehastigheten for Q-Chat-meldinger, få over 4 QORT til adressen din. Dette kan gjøres med handler i handelsportalen, eller ved at en annen Qortian gir deg QORT. Når du har over 4 QORT på kontoen din, vil Q-Chat-meldinger være øyeblikkelig og denne dialogen vil ikke lenger show. Takk for at du forstår denne nødvendige spamforebyggingsmetoden, og vi håper du liker Qortal!", "cchange43": "Tips QORT til", "cchange44": "SEND MELDING", "cchange45": "TIPS BRUKER", diff --git a/core/language/pl.json b/core/language/pl.json index 28043b2c..6b75fbe2 100644 --- a/core/language/pl.json +++ b/core/language/pl.json @@ -711,8 +711,8 @@ "cchange38": "Zweryfikowany przez użytkownika", "cchange39": "Nie można wysłać zaszyfrowanej wiadomości do tego użytkownika, ponieważ nie ma on swojego klucza publicznego w łańcuchu.", "cchange40": "OBRAZ (kliknij, aby wyświetlić)", - "cchange41": "Twoje saldo jest poniżej 4,20 QORT", - "cchange42": "Ze względu na konieczność zwalczania spamu konta z saldem poniżej 4,20 Qort będą potrzebowały dużo czasu na WYSYŁANIE wiadomości w Q-Chat. Jeśli chcesz natychmiast zwiększyć prędkość wysyłania wiadomości Q-Chat, uzyskaj ponad 4,20 QORT na Twój adres. Można to zrobić za pomocą transakcji w Portalu handlowym lub za pośrednictwem innego Qortian, który przekaże Ci QORT. Gdy masz ponad 4,20 QORT na swoim koncie, wiadomości Q-Chat będą natychmiastowe i to okno dialogowe nie będzie już więcej pokaż. Dziękujemy za zrozumienie tej niezbędnej metody zapobiegania spamowi i mamy nadzieję, że spodoba ci się Qortal!", + "cchange41": "Twoje saldo jest poniżej 4 QORT", + "cchange42": "Ze względu na konieczność zwalczania spamu konta z saldem poniżej 4 QORT będą potrzebowały dużo czasu na WYSYŁANIE wiadomości w Q-Chat. Jeśli chcesz natychmiast zwiększyć prędkość wysyłania wiadomości Q-Chat, uzyskaj ponad 4 QORT na Twój adres. Można to zrobić za pomocą transakcji w Portalu handlowym lub za pośrednictwem innego Qortian, który przekaże Ci QORT. Gdy masz ponad 4 QORT na swoim koncie, wiadomości Q-Chat będą natychmiastowe i to okno dialogowe nie będzie już więcej pokaż. Dziękujemy za zrozumienie tej niezbędnej metody zapobiegania spamowi i mamy nadzieję, że spodoba ci się Qortal!", "cchange43": "Przekaż QORT do", "cchange44": "WYŚLIJ WIADOMOŚĆ", "cchange45": "WSKAZÓWKA UŻYTKOWNIKA", diff --git a/core/language/pt.json b/core/language/pt.json index 2322b668..f8717be5 100644 --- a/core/language/pt.json +++ b/core/language/pt.json @@ -711,8 +711,8 @@ "cchange38": "Verificado pelo usuário", "cchange39": "Não é possível enviar uma mensagem criptografada para este usuário, pois ele não possui sua chave pública na cadeia.", "cchange40": "IMAGEM (clique para ver)", - "cchange41": "Seu saldo está abaixo de 4,20 QORT", - "cchange42": "Por necessidade de combater o spam, contas com saldo abaixo de 4,20 Qort levarão muito tempo para ENVIAR mensagens no Q-Chat. Se você deseja aumentar imediatamente a velocidade de envio de mensagens do Q-Chat, obtenha acima de 4,20 QORT para o seu endereço. Isso pode ser feito com negociações no Portal de Negociações, ou por meio de outro Qortian que lhe forneça o QORT. Assim que você tiver mais de 4,20 QORT em sua conta, as mensagens do Q-Chat serão instantâneas e esta caixa de diálogo não será mais show. Obrigado por sua compreensão deste método necessário de prevenção de spam e esperamos que você goste do Qortal!", + "cchange41": "Seu saldo está abaixo de 4 QORT", + "cchange42": "Por necessidade de combater o spam, contas com saldo abaixo de 4 QORT levarão muito tempo para ENVIAR mensagens no Q-Chat. Se você deseja aumentar imediatamente a velocidade de envio de mensagens do Q-Chat, obtenha acima de 4 QORT para o seu endereço. Isso pode ser feito com negociações no Portal de Negociações, ou por meio de outro Qortian que lhe forneça o QORT. Assim que você tiver mais de 4 QORT em sua conta, as mensagens do Q-Chat serão instantâneas e esta caixa de diálogo não será mais show. Obrigado por sua compreensão deste método necessário de prevenção de spam e esperamos que você goste do Qortal!", "cchange43": "Dica QORT para", "cchange44": "ENVIAR MENSAGEM", "cchange45": "DICA DE USUÁRIO", diff --git a/core/language/ro.json b/core/language/ro.json index 5ebd1f07..e73f9a57 100644 --- a/core/language/ro.json +++ b/core/language/ro.json @@ -711,8 +711,8 @@ "cchange38": "Utilizator verificat", "cchange39": "Nu se poate trimite un mesaj criptat acestui utilizator deoarece nu are cheia publică în lanț.", "cchange40": "IMAGINE (click pentru a vizualiza)", - "cchange41": "Soldul dvs. este sub 4,20 QORT", - "cchange42": "Din nevoia de a combate spam-ul, conturile cu soldul Qort sub 4,20 va dura mult timp pentru a TRIMITE mesaje în Q-Chat. Dacă doriți să creșteți imediat viteza de trimitere a mesajelor Q-Chat, obțineți peste 4,20 QORT la adresa dvs. Acest lucru se poate face cu tranzacții în Portalul de comerț sau printr-un alt Qortian care vă oferă QORT. După ce aveți peste 4,20 QORT în contul dvs., mesajele Q-Chat vor fi instantanee și acest dialog nu va mai fi Vă mulțumim pentru înțelegerea acestei metode necesare de prevenire a spamului și sperăm să vă bucurați de Qortal!", + "cchange41": "Soldul dvs. este sub 4 QORT", + "cchange42": "Din nevoia de a combate spam-ul, conturile cu soldul QORT sub 4 va dura mult timp pentru a TRIMITE mesaje în Q-Chat. Dacă doriți să creșteți imediat viteza de trimitere a mesajelor Q-Chat, obțineți peste 4 QORT la adresa dvs. Acest lucru se poate face cu tranzacții în Portalul de comerț sau printr-un alt Qortian care vă oferă QORT. După ce aveți peste 4 QORT în contul dvs., mesajele Q-Chat vor fi instantanee și acest dialog nu va mai fi Vă mulțumim pentru înțelegerea acestei metode necesare de prevenire a spamului și sperăm să vă bucurați de Qortal!", "cchange43": "Sfat QORT către", "cchange44": "TRIMITĂ MESAJ", "cchange45": "UTILIZATOR SFAT", diff --git a/core/language/rs.json b/core/language/rs.json index 9f3bc13c..b4056718 100644 --- a/core/language/rs.json +++ b/core/language/rs.json @@ -711,8 +711,8 @@ "cchange38": "Korisnik je verifikovan", "cchange39": "Ne mogu poslati šifrovanu poruku ovom korisniku jer nemaju svoj javni ključ u lancu.", "cchange40": "SLIKA (kliknite da vidite)", - "cchange41": "Vaše stanje je ispod 4,20 QORT", - "cchange42": "Iz potrebe za borbom protiv neželjene pošte, nalozima sa ispod 4.20 QORT saldo će trebati dosta vremena da ŠALJE poruke u K-Chat-u. Ako želite da odmah povećate brzinu slanja K-Chat poruka, nabavite preko 4,20 QORT na vašu adresu. Ovo se može uraditi sa trgovinama na Trgovačkom portalu ili putem drugog Qortian-a koji vam daje KORT. Kada budete imali preko 4,20 KORT na svom nalogu, Q-Chat poruke će biti trenutne i ovaj dijalog više neće biti shov. Hvala vam na razumevanju ovog neophodnog metoda prevencije neželjene pošte i nadamo se da ćete uživati u Qortal-u!", + "cchange41": "Vaše stanje je ispod 4 QORT", + "cchange42": "Iz potrebe za borbom protiv neželjene pošte, nalozima sa ispod 4 QORT saldo će trebati dosta vremena da ŠALJE poruke u Q-Chat-u. Ako želite da odmah povećate brzinu slanja Q-Chat poruka, nabavite preko 4 QORT na vašu adresu. Ovo se može uraditi sa trgovinama na Trgovačkom portalu ili putem drugog Qortian-a koji vam daje KORT. Kada budete imali preko 4 QORT na svom nalogu, Q-Chat poruke će biti trenutne i ovaj dijalog više neće biti shov. Hvala vam na razumevanju ovog neophodnog metoda prevencije neželjene pošte i nadamo se da ćete uživati u Qortal-u!", "cchange43": "Savet za KORT", "cchange44": "POŠALJI PORUKU", "cchange45": "SAVET KORISNIKU", @@ -1055,7 +1055,7 @@ "inf9": "'Automatska kupovina' je funkcija koja omogućava postavljanje 'naloga za kupovinu' na Trgovačkom portalu. Ove 'naloge za kupovinu' vidi samo osoba koja ih postavlja. Oni nisu 'javni' nalozi za kupovinu kao 'prodaje na otvorenom tržištu' su i NE čuvaju se na Kortal blok-čejnu. Automatska kupovina je funkcija korisničkog interfejsa i kao takva zahteva da korisnički interfejs POKREĆE.", "inf10": "Da biste postavili narudžbu za automatsku kupovinu, kliknite na dugme 'Dodaj narudžbu za automatsku kupovinu' i popunite polje koje se pojavi. Unesite IZNOS KORT-a koji želite da KUPITE i CENU do koje ste voljni da KUPITE. Jednom porudžbina je aktivna, Auto Bui će za vas kupiti DO te količine KORT-a, po DO ceni koju ste postavili (počevši od najnižeg reda i napredujući prema knjigama.)", "inf11": "Jednostavno OSTAVITE SVOJ korisnički interfejs da radi i Auto Bui će uraditi ostalo, automatski!", - "inf12": "Možete da pretražujete druge dodatke u korisničkom interfejsu (K-Chat, novčanici, itd.), ali NE MOŽETE ZATVORITI UI ako želite da se vaša automatska kupovina završi. Ostavljanje korisničkog interfejsa 'minimiziranog' na 'traci zadataka' ili „panel“ je sasvim u redu, sve dok korisničko sučelje ostaje OTVORENO, Auto Bui će funkcionisati.", + "inf12": "Možete da pretražujete druge dodatke u korisničkom interfejsu (Q-Chat, novčanici, itd.), ali NE MOŽETE ZATVORITI UI ako želite da se vaša automatska kupovina završi. Ostavljanje korisničkog interfejsa 'minimiziranog' na 'traci zadataka' ili „panel“ je sasvim u redu, sve dok korisničko sučelje ostaje OTVORENO, Auto Bui će funkcionisati.", "inf13": "Automatski kupi", "inf14": "sa", "inf15": "Aktivne porudžbine za automatsku kupovinu", diff --git a/core/language/ru.json b/core/language/ru.json index 831dc2f1..2c0015bd 100644 --- a/core/language/ru.json +++ b/core/language/ru.json @@ -711,8 +711,8 @@ "cchange38": "Пользователь проверен", "cchange39": "Невозможно отправить зашифрованное сообщение этому пользователю, так как у него нет открытого ключа в цепочке.", "cchange40": "ИЗОБРАЖЕНИЕ (щелкните для просмотра)", - "cchange41": "Ваш баланс меньше 4,20 QORT", - "cchange42": "Из-за необходимости бороться со спамом учетным записям с балансом Qort менее 4,20 потребуется много времени для ОТПРАВКИ сообщений в Q-Chat. Если вы хотите немедленно увеличить скорость отправки сообщений Q-Chat, получите более 4,20 QORT на ваш адрес. Это можно сделать с помощью сделок на Торговом портале или с помощью другого Qortian, который предоставит вам QORT. Как только на вашем счету будет более 4,20 QORT, сообщения Q-Chat будут мгновенными, и этот диалог больше не будет show. Благодарим вас за понимание этого необходимого метода предотвращения спама, и мы надеемся, что вам понравится Qortal!", + "cchange41": "Ваш баланс меньше 4 QORT", + "cchange42": "Из-за необходимости бороться со спамом учетным записям с балансом QORT менее 4 потребуется много времени для ОТПРАВКИ сообщений в Q-Chat. Если вы хотите немедленно увеличить скорость отправки сообщений Q-Chat, получите более 4 QORT на ваш адрес. Это можно сделать с помощью сделок на Торговом портале или с помощью другого Qortian, который предоставит вам QORT. Как только на вашем счету будет более 4 QORT, сообщения Q-Chat будут мгновенными, и этот диалог больше не будет show. Благодарим вас за понимание этого необходимого метода предотвращения спама, и мы надеемся, что вам понравится Qortal!", "cchange43": "Направить QORT на", "cchange44": "ОТПРАВИТЬ СООБЩЕНИЕ", "cchange45": "СОВЕТЫ ПОЛЬЗОВАТЕЛЯ", diff --git a/core/language/us.json b/core/language/us.json index dd84bb8b..ea0f16e3 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -712,8 +712,8 @@ "cchange38": "User Verified", "cchange39": "Cannot send an encrypted message to this user since they do not have their publickey on chain.", "cchange40": "IMAGE (click to view)", - "cchange41": "Your Balance Is Under 4.20 QORT", - "cchange42": "Out of the need to combat spam, accounts with under 4.20 Qort balance will take a long time to SEND messages in Q-Chat. If you wish to immediately increase the send speed for Q-Chat messages, obtain over 4.20 QORT to your address. This can be done with trades in the Trade Portal, or by way of another Qortian giving you the QORT. Once you have over 4.20 QORT in your account, Q-Chat messages will be instant and this dialog will no more show. Thank you for your understanding of this necessary spam prevention method, and we hope you enjoy Qortal!", + "cchange41": "Your Balance Is Under 4 QORT", + "cchange42": "Out of the need to combat spam, accounts with under 4 QORT balance will take a long time to SEND messages in Q-Chat. If you wish to immediately increase the send speed for Q-Chat messages, obtain over 4 QORT to your address. This can be done with trades in the Trade Portal, or by way of another Qortian giving you the QORT. Once you have over 4 QORT in your account, Q-Chat messages will be instant and this dialog will no more show. Thank you for your understanding of this necessary spam prevention method, and we hope you enjoy Qortal!", "cchange43": "Tip QORT to", "cchange44": "SEND MESSAGE", "cchange45": "TIP USER", diff --git a/core/language/zhc.json b/core/language/zhc.json index 913be8a9..38a204b0 100644 --- a/core/language/zhc.json +++ b/core/language/zhc.json @@ -711,8 +711,8 @@ "cchange38": "用户已验证", "cchange39": "无法向该用户发送加密消息,因为他们的公钥不在链上。", "cchange40": "图像(点击查看)", - "cchange41": "您的QORT余额低于4.20", - "cchange42": "出于打击垃圾邮件的需要,Qort余额低于4.20的账户在Q-Chat中发送消息需要很长时间。如果你想立即提高Q-Chat消息的发送速度,请获取4.20以上QORT 到您的地址。这可以通过贸易门户中的交易来完成,或者通过另一个Qortian 给您QORT。一旦您的帐户中有超过4.20 QORT,Q-Chat 消息将是即时的并且此对话框将不再显示。感谢您了解这种必要的垃圾邮件预防方法,我们希望您喜欢Qortal!", + "cchange41": "您的QORT余额低于4", + "cchange42": "出于打击垃圾邮件的需要,QORT余额低于4的账户在Q-Chat中发送消息需要很长时间。如果你想立即提高Q-Chat消息的发送速度,请获取4以上QORT 到您的地址。这可以通过贸易门户中的交易来完成,或者通过另一个Qortian 给您QORT。一旦您的帐户中有超过4 QORT,Q-Chat 消息将是即时的并且此对话框将不再显示。感谢您了解这种必要的垃圾邮件预防方法,我们希望您喜欢Qortal!", "cchange43": "打赏QORT给", "cchange44": "发送消息", "cchange45": "提示用户", diff --git a/core/language/zht.json b/core/language/zht.json index 5b830947..4f1df73e 100644 --- a/core/language/zht.json +++ b/core/language/zht.json @@ -711,8 +711,8 @@ "cchange38": "用戶已驗證", "cchange39": "無法向該用戶發送加密消息,因為他們的公鑰不在鏈上。", "cchange40": "圖像(點擊查看)", - "cchange41": "您的QORT餘額低於4.20", - "cchange42": "出於打擊垃圾郵件的需要,Qort餘額低於4.20的賬戶在Q-Chat中發送消息需要很長時間。如果你想立即提高Q-Chat消息的發送速度,請獲取4.20以上 QORT 到您的地址。這可以通過貿易門戶中的交易來完成,或者通過另一個 Qortian 給您 QORT。一旦您的帳戶中有超過 4.20 QORT,Q-Chat 消息將是即時的並且此對話框將不再顯示。感謝您了解這種必要的垃圾郵件預防方法,我們希望您喜歡 Qortal!", + "cchange41": "您的QORT餘額低於4", + "cchange42": "出於打擊垃圾郵件的需要,QORT餘額低於4的賬戶在Q-Chat中發送消息需要很長時間。如果你想立即提高Q-Chat消息的發送速度,請獲取4以上 QORT 到您的地址。這可以通過貿易門戶中的交易來完成,或者通過另一個 Qortian 給您 QORT。一旦您的帳戶中有超過 4 QORT,Q-Chat 消息將是即時的並且此對話框將不再顯示。感謝您了解這種必要的垃圾郵件預防方法,我們希望您喜歡 Qortal!", "cchange43": "打賞QORT給", "cchange44": "發送消息", "cchange45": "提示用戶", From d3ff7f72badee673b826d8941b86487a9fd0f53d Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 19 May 2023 17:11:54 +0200 Subject: [PATCH 002/112] Change to general copy paste --- core/config/default.build.options.js | 4 +- core/src/components/main-app.js | 48 +- core/src/components/show-plugin.js | 48 +- core/src/plugins/routes.js | 27 -- core/src/plugins/streams.js | 13 +- core/src/redux/app/actions/app-core.js | 42 +- core/src/redux/app/app-action-types.js | 3 - core/src/redux/app/app-reducer.js | 23 +- core/src/tradebot/trade-bot-routes.js | 23 - electron.js | 16 +- lib/preload.js | 3 +- package.json | 19 +- .../core/become-minter/become-minter.src.js | 121 ++--- .../components/yes-sponsored.src.js | 2 +- .../core/components/ChatWelcomePage.js | 25 - .../plugins/core/components/LevelFounder.js | 23 +- .../core/components/qortal-info-view.js | 7 + .../group-management/group-management.src.js | 54 +-- .../chain-messaging/chain-messaging.src.js | 23 +- .../plugins/core/messaging/messaging.src.js | 70 +-- .../core/messaging/q-chat/q-chat.src.js | 68 +-- .../plugins/core/minting/minting-info.src.js | 14 +- .../name-registration.src.js | 56 +-- .../core/names-market/names-market.src.js | 57 +-- .../node-management/node-management.src.js | 107 +--- plugins/plugins/core/puzzles/puzzles.src.js | 112 +---- plugins/plugins/core/q-app/q-apps.src.js | 56 +-- .../plugins/core/qdn/browser/browser.src.js | 110 ++--- .../data-management/data-management.src.js | 55 +-- .../plugins/core/qdn/publish/publish.src.js | 54 +-- plugins/plugins/core/qdn/websites.src.js | 56 +-- .../core/reward-share/reward-share.src.js | 111 +---- .../sponsorship-list/sponsorship-list.src.js | 8 + .../core/trade-bot/trade-bot-portal.src.js | 60 +-- .../core/trade-portal/trade-portal.src.js | 60 +-- plugins/plugins/core/wallet/wallet-app.src.js | 455 +----------------- 36 files changed, 311 insertions(+), 1722 deletions(-) diff --git a/core/config/default.build.options.js b/core/config/default.build.options.js index 31a247e9..0ad66df8 100644 --- a/core/config/default.build.options.js +++ b/core/config/default.build.options.js @@ -11,12 +11,12 @@ const options = { } const aliases = { - 'qortal-ui-crypto': 'node_modules/qortal-ui-crypto/api.js' + 'qortal-ui-crypto': '../../crypto/api.js' } const apiComponents = { api: { - file: 'api/api.js', + file: '../../crypto/api.js', className: 'api' } } diff --git a/core/src/components/main-app.js b/core/src/components/main-app.js index 36574cea..9720e568 100644 --- a/core/src/components/main-app.js +++ b/core/src/components/main-app.js @@ -3,6 +3,7 @@ import { installRouter } from 'pwa-helpers/router.js' import { connect } from 'pwa-helpers' import { store } from '../store.js' import { doNavigate } from '../redux/app/app-actions.js' +import isElectron from 'is-electron' import '../plugins/streams.js' import { loadPlugins } from '../plugins/load-plugins.js' @@ -11,9 +12,6 @@ import '../styles/app-styles.js' import './login-view/login-view.js' import './app-view.js' -import copyTextMenu from '../functional-components/copy-text-menu.js' -import framePasteMenu from '../functional-components/frame-paste-menu.js' - installRouter((location) => store.dispatch(doNavigate(location))) class MainApp extends connect(store)(LitElement) { @@ -66,46 +64,14 @@ class MainApp extends connect(store)(LitElement) { super.connectedCallback() this.initial = 0 - window.addEventListener('contextmenu', (event) => { - event.preventDefault(); - this._textMenu(event); - }) - - window.addEventListener('click', () => { - copyTextMenu.close() - framePasteMenu.close() - }) - - window.onkeyup = (e) => { - if (e.keyCode === 27) { - copyTextMenu.close() - framePasteMenu.close() - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.electronAPI.showMyMenu() + }) } } - - _textMenu(event) { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection !== 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection !== 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - const selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - - const textMenuObject = { selectedText, eventObject: event } - copyTextMenu.open(textMenuObject) - } - } - - checkSelectedTextAndShowMenu() - } } window.customElements.define('main-app', MainApp) diff --git a/core/src/components/show-plugin.js b/core/src/components/show-plugin.js index 91531756..06529e97 100644 --- a/core/src/components/show-plugin.js +++ b/core/src/components/show-plugin.js @@ -10,7 +10,8 @@ class ShowPlugin extends connect(store)(LitElement) { app: { type: Object }, pluginConfig: { type: Object }, url: { type: String }, - linkParam: { type: String } + linkParam: { type: String }, + registeredUrls: { type: Array } } } @@ -50,13 +51,19 @@ class ShowPlugin extends connect(store)(LitElement) { ` } + constructor() { + super() + this.registeredUrls = [] + } + render() { + const plugArr = [] + const plugSrc = (myPlug) => { return myPlug === undefined ? 'about:blank' : `${window.location.origin}/plugin/${myPlug.domain}/${myPlug.page}${this.linkParam}` } - const plugArr = [] - this.app.registeredUrls.forEach(myPlugArr => { + this.registeredUrls.forEach(myPlugArr => { myPlugArr.menus.length === 0 ? plugArr.push(myPlugArr) : myPlugArr.menus.forEach(i => plugArr.push(myPlugArr, i)) }) @@ -75,6 +82,7 @@ class ShowPlugin extends connect(store)(LitElement) { type: 'WINDOW', source: this.shadowRoot.getElementById('showPluginFrame').contentWindow }) + addPluginRoutes(showingPluginEpml) showingPluginEpml.imReady() this.showingPluginEpml = showingPluginEpml @@ -94,23 +102,35 @@ class ShowPlugin extends connect(store)(LitElement) { } stateChanged(state) { - this.app = state.app - this.config = state.config - const split = state.app.url.split('/') + const newRegisteredUrls = state.app.registeredUrls + + let newUrl, newLinkParam + + if (newRegisteredUrls !== this.registeredUrls) { + this.registeredUrls = newRegisteredUrls + } if (split[0] === '' && split[1] === 'app' && split[2] === undefined) { - this.url = 'wallet' - this.linkParam = '' + newUrl = 'wallet' + newLinkParam = '' } else if (split.length === 5 && split[1] === 'app') { - this.url = split[2] - this.linkParam = split[3] === undefined ? '' : '?' + split[3] + '/' + split[4] + newUrl = split[2] + newLinkParam = split[3] === undefined ? '' : '?' + split[3] + '/' + split[4] } else if (split[1] === 'app') { - this.url = split[2] - this.linkParam = '' + newUrl = split[2] + newLinkParam = '' } else { - this.url = '404' - this.linkParam = '' + newUrl = '404' + newLinkParam = '' + } + + if (newUrl !== this.url) { + this.url = newUrl + } + + if (newLinkParam !== this.linkParam) { + this.linkParam = newLinkParam } } } diff --git a/core/src/plugins/routes.js b/core/src/plugins/routes.js index 09bdf52e..62358413 100644 --- a/core/src/plugins/routes.js +++ b/core/src/plugins/routes.js @@ -17,8 +17,6 @@ import { loadStateFromLocalStorage, saveStateToLocalStorage, } from '../localStorageHelpers.js' -import copyTextMenu from '../functional-components/copy-text-menu.js' -import framePasteMenu from '../functional-components/frame-paste-menu.js' const createTransaction = api.createTransaction const processTransaction = api.processTransaction @@ -39,10 +37,6 @@ const sendRvn = api.sendRvn const sendArrr = api.sendArrr export const routes = { - hello: async (req) => { - return 'Hello from awesomeness' - }, - registerUrl: async (req) => { store.dispatch(doAddPluginUrl(req.data)) }, @@ -95,27 +89,6 @@ export const routes = { return saveStateToLocalStorage(req.data.key, req.data.dataObj) }, - openCopyTextMenu: async (req) => { - const textMenuObject = { - selectedText: req.data.selectedText, - eventObject: req.data.eventObject, - isFrame: req.data.isFrame, - } - copyTextMenu.open(textMenuObject) - }, - - closeCopyTextMenu: async (req) => { - copyTextMenu.close() - }, - - openFramePasteMenu: async (req) => { - framePasteMenu.open(req.data) - }, - - closeFramePasteMenu: async (req) => { - framePasteMenu.close() - }, - apiCall: async (req) => { const url = req.data.url delete req.data.url diff --git a/core/src/plugins/streams.js b/core/src/plugins/streams.js index 9cb6c3f7..8aee79d3 100644 --- a/core/src/plugins/streams.js +++ b/core/src/plugins/streams.js @@ -7,8 +7,6 @@ const SELECTED_ADDRESS_STREAM_NAME = 'selected_address' const APP_INFO_STATE = 'app_info_state' const CHAT_HEADS_STREAM_NAME = 'chat_heads' const NODE_CONFIG_STREAM_NAME = 'node_config' -const COPY_MENU_SWITCH = 'copy_menu_switch' -const FRAME_PASTE_MENU_SWITCH = 'frame_paste_menu_switch' const CHAT_LAST_SEEN = 'chat_last_seen' export const loggedInStream = new EpmlStream(LOGIN_STREAM_NAME, () => store.getState().app.loggedIn) @@ -17,8 +15,6 @@ export const selectedAddressStream = new EpmlStream(SELECTED_ADDRESS_STREAM_NAME export const appInfoStateStream = new EpmlStream(APP_INFO_STATE, () => store.getState().app.appInfo) export const chatHeadsStateStream = new EpmlStream(CHAT_HEADS_STREAM_NAME, () => store.getState().app.chatHeads) export const nodeConfigStream = new EpmlStream(NODE_CONFIG_STREAM_NAME, () => store.getState().app.nodeConfig) -export const copyMenuSwitchStream = new EpmlStream(COPY_MENU_SWITCH, () => store.getState().app.copyMenuSwitch) -export const framePasteMenuSwitchStream = new EpmlStream(FRAME_PASTE_MENU_SWITCH, () => store.getState().app.framePasteMenuSwitch) export const chatLastSeenStream = new EpmlStream(CHAT_LAST_SEEN, () => store.getState().app.chatLastSeen) @@ -32,7 +28,7 @@ store.subscribe(() => { if (oldState.app.loggedIn !== state.app.loggedIn) { loggedInStream.emit(state.app.loggedIn) } - // This one may be a little on the heavy side...AHHH, NEED TO MOVE STORAGE OF ENCRYPTED SEED. DONE <3 + if (oldState.config !== state.config) { configStream.emit(state.config) } @@ -41,13 +37,6 @@ store.subscribe(() => { nodeConfigStream.emit(state.app.nodeConfig) } - if (oldState.app.copyMenuSwitch !== state.app.copyMenuSwitch) { - copyMenuSwitchStream.emit(state.app.copyMenuSwitch) - } - - if (oldState.app.framePasteMenuSwitch !== state.app.framePasteMenuSwitch) { - framePasteMenuSwitchStream.emit(state.app.framePasteMenuSwitch) - } if (oldState.app.chatLastSeen !== state.app.chatLastSeen) { chatLastSeenStream.emit(state.app.chatLastSeen) } diff --git a/core/src/redux/app/actions/app-core.js b/core/src/redux/app/actions/app-core.js index 35767dae..6ae7984f 100644 --- a/core/src/redux/app/actions/app-core.js +++ b/core/src/redux/app/actions/app-core.js @@ -1,5 +1,5 @@ // Core App Actions here... -import { UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, CHAT_HEADS, ACCOUNT_INFO, COPY_MENU_SWITCH, PASTE_MENU_SWITCH, FRAME_PASTE_MENU_SWITCH, ADD_AUTO_LOAD_IMAGES_CHAT, REMOVE_AUTO_LOAD_IMAGES_CHAT, ALLOW_QAPP_AUTO_AUTH, REMOVE_QAPP_AUTO_AUTH, SET_CHAT_LAST_SEEN, ADD_CHAT_LAST_SEEN, ALLOW_QAPP_AUTO_LISTS, REMOVE_QAPP_AUTO_LISTS } from '../app-action-types.js' +import { UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, CHAT_HEADS, ACCOUNT_INFO, ADD_AUTO_LOAD_IMAGES_CHAT, REMOVE_AUTO_LOAD_IMAGES_CHAT, ALLOW_QAPP_AUTO_AUTH, REMOVE_QAPP_AUTO_AUTH, SET_CHAT_LAST_SEEN, ADD_CHAT_LAST_SEEN, ALLOW_QAPP_AUTO_LISTS, REMOVE_QAPP_AUTO_LISTS } from '../app-action-types.js' export const doUpdateBlockInfo = (blockObj) => { return (dispatch, getState) => { @@ -66,46 +66,6 @@ const updateAccountInfo = (payload) => { } } -export const doCopyMenuSwitch = (value) => { - return (dispatch, getState) => { - dispatch(copyMenuSwitch(value)) - } -} - -const copyMenuSwitch = (payload) => { - return { - type: COPY_MENU_SWITCH, - payload - } -} - -export const doPasteMenuSwitch = (value) => { - return (dispatch, getState) => { - dispatch(pasteMenuSwitch(value)) - } -} - -const pasteMenuSwitch = (payload) => { - return { - type: PASTE_MENU_SWITCH, - payload - } -} - - -export const doFramePasteMenuSwitch = (value) => { - return (dispatch, getState) => { - dispatch(framePasteMenuSwitch(value)) - } -} - -const framePasteMenuSwitch = (payload) => { - return { - type: FRAME_PASTE_MENU_SWITCH, - payload - } -} - export const addAutoLoadImageChat = (payload) => { return { type: ADD_AUTO_LOAD_IMAGES_CHAT, diff --git a/core/src/redux/app/app-action-types.js b/core/src/redux/app/app-action-types.js index 5ace372c..1a59767e 100644 --- a/core/src/redux/app/app-action-types.js +++ b/core/src/redux/app/app-action-types.js @@ -17,9 +17,6 @@ export const PAGE_URL = 'PAGE_URL' export const CHAT_HEADS = 'CHAT_HEADS' export const ACCOUNT_INFO = 'ACCOUNT_INFO' export const ADD_NEW_PLUGIN_URL = 'ADD_NEW_PLUGIN_URL' -export const COPY_MENU_SWITCH = 'COPY_MENU_SWITCH' -export const PASTE_MENU_SWITCH = 'PASTE_MENU_SWITCH' -export const FRAME_PASTE_MENU_SWITCH = 'FRAME_PASTE_MENU_SWITCH' export const ADD_AUTO_LOAD_IMAGES_CHAT = 'ADD_AUTO_LOAD_IMAGES_CHAT' export const REMOVE_AUTO_LOAD_IMAGES_CHAT = 'REMOVE_AUTO_LOAD_IMAGES_CHAT' export const ALLOW_QAPP_AUTO_AUTH = 'ALLOW_QAPP_AUTO_AUTH' diff --git a/core/src/redux/app/app-reducer.js b/core/src/redux/app/app-reducer.js index 0855ecbf..0801780e 100644 --- a/core/src/redux/app/app-reducer.js +++ b/core/src/redux/app/app-reducer.js @@ -1,6 +1,6 @@ // Loading state, login state, isNavDrawOpen state etc. None of this needs to be saved to localstorage. import { loadStateFromLocalStorage, saveStateToLocalStorage } from '../../localStorageHelpers.js' -import { LOG_IN, LOG_OUT, NETWORK_CONNECTION_STATUS, INIT_WORKERS, ADD_PLUGIN_URL, ADD_PLUGIN, ADD_NEW_PLUGIN_URL, NAVIGATE, SELECT_ADDRESS, ACCOUNT_INFO, CHAT_HEADS, UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, LOAD_NODE_CONFIG, SET_NODE, ADD_NODE, PAGE_URL, COPY_MENU_SWITCH, PASTE_MENU_SWITCH, FRAME_PASTE_MENU_SWITCH, ADD_AUTO_LOAD_IMAGES_CHAT, REMOVE_AUTO_LOAD_IMAGES_CHAT, ALLOW_QAPP_AUTO_AUTH, REMOVE_QAPP_AUTO_AUTH, SET_CHAT_LAST_SEEN, ADD_CHAT_LAST_SEEN, ALLOW_QAPP_AUTO_LISTS, REMOVE_QAPP_AUTO_LISTS } from './app-action-types.js' +import { LOG_IN, LOG_OUT, NETWORK_CONNECTION_STATUS, INIT_WORKERS, ADD_PLUGIN_URL, ADD_PLUGIN, ADD_NEW_PLUGIN_URL, NAVIGATE, SELECT_ADDRESS, ACCOUNT_INFO, CHAT_HEADS, UPDATE_BLOCK_INFO, UPDATE_NODE_STATUS, UPDATE_NODE_INFO, LOAD_NODE_CONFIG, SET_NODE, ADD_NODE, PAGE_URL, ADD_AUTO_LOAD_IMAGES_CHAT, REMOVE_AUTO_LOAD_IMAGES_CHAT, ALLOW_QAPP_AUTO_AUTH, REMOVE_QAPP_AUTO_AUTH, SET_CHAT_LAST_SEEN, ADD_CHAT_LAST_SEEN, ALLOW_QAPP_AUTO_LISTS, REMOVE_QAPP_AUTO_LISTS } from './app-action-types.js' import { initWorkersReducer } from './reducers/init-workers.js' import { loginReducer } from './reducers/login-reducer.js' import { setNode, addNode } from './reducers/manage-node.js' @@ -43,12 +43,6 @@ const INITIAL_STATE = { nodeInfo: {}, nodeStatus: {}, pageUrl: '', - copyMenuSwitch: false, - pasteMenuSwitch: false, - framePasteMenuSwitch: { - isOpen: false, - elementId: '' - }, autoLoadImageChats: loadStateFromLocalStorage('autoLoadImageChats') || [], qAPPAutoAuth: loadStateFromLocalStorage('qAPPAutoAuth') || false, qAPPAutoLists: loadStateFromLocalStorage('qAPPAutoLists') || false, @@ -141,21 +135,6 @@ export default (state = INITIAL_STATE, action) => { ...state, networkIsConnected: action.payload } - case COPY_MENU_SWITCH: - return { - ...state, - copyMenuSwitch: action.payload - } - case PASTE_MENU_SWITCH: - return { - ...state, - pasteMenuSwitch: action.payload - } - case FRAME_PASTE_MENU_SWITCH: - return { - ...state, - framePasteMenuSwitch: action.payload - } case ADD_AUTO_LOAD_IMAGES_CHAT: { const findChat = state.autoLoadImageChats.findIndex((chat)=> chat === action.payload) console.log({findChat}) diff --git a/core/src/tradebot/trade-bot-routes.js b/core/src/tradebot/trade-bot-routes.js index d15156ec..aecb989f 100644 --- a/core/src/tradebot/trade-bot-routes.js +++ b/core/src/tradebot/trade-bot-routes.js @@ -1,8 +1,6 @@ import { store } from '../store.js' import * as api from 'qortal-ui-crypto' import snackbar from '../functional-components/snackbar.js' -import copyTextMenu from '../functional-components/copy-text-menu.js'; -import framePasteMenu from '../functional-components/frame-paste-menu.js'; const createTransaction = api.createTransaction const processTransaction = api.processTransaction @@ -25,27 +23,6 @@ export const routes = { return api.request(url, req.data) }, - openCopyTextMenu: async (req) => { - const textMenuObject = { - selectedText: req.data.selectedText, - eventObject: req.data.eventObject, - isFrame: req.data.isFrame, - }; - copyTextMenu.open(textMenuObject); - }, - - closeCopyTextMenu: async (req) => { - copyTextMenu.close(); - }, - - openFramePasteMenu: async (req) => { - framePasteMenu.open(req.data); - }, - - closeFramePasteMenu: async (req) => { - framePasteMenu.close(); - }, - transaction: async (req) => { let response try { diff --git a/electron.js b/electron.js index 09e4ea8a..20a51d93 100644 --- a/electron.js +++ b/electron.js @@ -768,7 +768,7 @@ function createWindow() { autoHideMenuBar: true, webPreferences: { partition: 'persist:webviewsession', - nodeIntegration: false, + nodeIntegration: true, contextIsolation: true, enableRemoteModule: false, allowRunningInsecureContent: false, @@ -933,6 +933,20 @@ if (!isLock) { ipcMain.on('check-for-update', (event) => { autoUpdater.checkForUpdatesAndNotify() }) + ipcMain.on('show-my-menu', (event) => { + log.info("RIGHT CLICKED") + let homePageOptions = Menu.buildFromTemplate([ + { + label: 'Copy', + role: 'copy' + }, + { + label: 'Paste', + role: 'paste' + } + ]) + homePageOptions.popup(myWindow) + }) autoUpdater.on('update-available', (event) => { const downloadOpts = { type: 'info', diff --git a/lib/preload.js b/lib/preload.js index bfc335b7..a1cce15c 100644 --- a/lib/preload.js +++ b/lib/preload.js @@ -2,5 +2,6 @@ const { contextBridge, ipcRenderer } = require('electron') contextBridge.exposeInMainWorld('electronAPI', { setStartCore: () => ipcRenderer.send('set-start-core'), - checkForUpdate: () => ipcRenderer.send('check-for-update') + checkForUpdate: () => ipcRenderer.send('check-for-update'), + showMyMenu: () => ipcRenderer.send('show-my-menu') }) \ No newline at end of file diff --git a/package.json b/package.json index 67147d22..d22ddc1f 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ }, "devDependencies": { "axios": "1.4.0", - "electron": "24.2.0", + "electron": "24.3.0", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", @@ -83,12 +83,11 @@ "is-electron": "2.2.2", "lit": "2.7.4", "lit-translate": "2.0.1", - "localforage": "1.10.0", "pwa-helpers": "0.9.1", "passive-events-support": "1.0.33", "redux": "4.2.1", "redux-thunk": "2.4.2", - "rollup": "3.21.5", + "rollup": "3.21.6", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", @@ -135,13 +134,13 @@ "@rollup/plugin-node-resolve": "15.0.2", "@rollup/plugin-replace": "5.0.2", "@rollup/plugin-terser": "0.4.1", - "@vaadin/avatar": "24.0.4", - "@vaadin/button": "24.0.4", - "@vaadin/grid": "24.0.4", - "@vaadin/icons": "24.0.4", - "@vaadin/password-field": "24.0.4", - "@vaadin/tooltip": "24.0.4", - "@zip.js/zip.js": "2.7.6" + "@vaadin/avatar": "24.0.5", + "@vaadin/button": "24.0.5", + "@vaadin/grid": "24.0.5", + "@vaadin/icons": "24.0.5", + "@vaadin/password-field": "24.0.5", + "@vaadin/tooltip": "24.0.5", + "@zip.js/zip.js": "2.7.13" }, "engines": { "node": ">=18.14.0" diff --git a/plugins/plugins/core/become-minter/become-minter.src.js b/plugins/plugins/core/become-minter/become-minter.src.js index a42a76cb..d8a10ca0 100644 --- a/plugins/plugins/core/become-minter/become-minter.src.js +++ b/plugins/plugins/core/become-minter/become-minter.src.js @@ -1,21 +1,22 @@ -import { LitElement, html } from 'lit'; -import { Epml } from '../../../epml.js'; -import '../components/ButtonIconCopy.js'; -import { use, translate, registerTranslateConfig } from 'lit-translate'; -import { blocksNeed } from '../../utils/blocks-needed.js'; +import { LitElement, html } from 'lit' +import { Epml } from '../../../epml.js' +import '../components/ButtonIconCopy.js' +import { use, translate, registerTranslateConfig } from 'lit-translate' +import { blocksNeed } from '../../utils/blocks-needed.js' registerTranslateConfig({ loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), -}); +}) -import '@polymer/paper-spinner/paper-spinner-lite.js'; -import '@material/mwc-button'; -import '@material/mwc-textfield'; -import '@vaadin/button'; -import { pageStyles } from './become-minter-css.src.js'; -import './components/not-sponsored.src'; -import './components/yes-sponsored.src'; -const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }); +import '@polymer/paper-spinner/paper-spinner-lite.js' +import '@material/mwc-button' +import '@material/mwc-textfield' +import '@vaadin/button' +import { pageStyles } from './become-minter-css.src.js' +import './components/not-sponsored.src' +import './components/yes-sponsored.src' + +const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) class BecomeMinter extends LitElement { static get properties() { @@ -27,77 +28,77 @@ class BecomeMinter extends LitElement { addressInfo: { type: Object }, rewardSharePublicKey: { type: String }, mintingAccountData: { type: Array }, - }; + } } - static styles = [pageStyles]; + static styles = [pageStyles] constructor() { - super(); - this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'; - this.sponsorshipKeyValue = ''; - this.isPageLoading = true; - this.nodeInfo = {}; - this.addressInfo = {}; - this.rewardSharePublicKey = ''; - this.mintingAccountData = null; + super() + this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' + this.sponsorshipKeyValue = '' + this.isPageLoading = true + this.nodeInfo = {} + this.addressInfo = {} + this.rewardSharePublicKey = '' + this.mintingAccountData = null } changeLanguage() { - const checkLanguage = localStorage.getItem('qortalLanguage'); + const checkLanguage = localStorage.getItem('qortalLanguage') if (checkLanguage === null || checkLanguage.length === 0) { - localStorage.setItem('qortalLanguage', 'us'); - use('us'); + localStorage.setItem('qortalLanguage', 'us') + use('us') } else { - use(checkLanguage); + use(checkLanguage) } } _handleStorage() { - const checkLanguage = localStorage.getItem('qortalLanguage'); - const checkTheme = localStorage.getItem('qortalTheme'); + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') - use(checkLanguage); + use(checkLanguage) if (checkTheme === 'dark') { - this.theme = 'dark'; + this.theme = 'dark' } else { - this.theme = 'light'; + this.theme = 'light' } - document.querySelector('html').setAttribute('theme', this.theme); + document.querySelector('html').setAttribute('theme', this.theme) } connectedCallback() { - super.connectedCallback(); - window.addEventListener('storage', this._handleStorage); + super.connectedCallback() + window.addEventListener('storage', this._handleStorage) } disconnectedCallback() { - window.removeEventListener('storage', this._handleStorage); - super.disconnectedCallback(); + window.removeEventListener('storage', this._handleStorage) + super.disconnectedCallback() } async getNodeInfo() { const nodeInfo = await parentEpml.request('apiCall', { url: `/admin/status`, - }); + }) - return nodeInfo; + return nodeInfo } async getMintingAcccounts() { const mintingAccountData = await parentEpml.request('apiCall', { url: `/admin/mintingaccounts`, - }); - return mintingAccountData; + }) + return mintingAccountData } async atMount() { - this.changeLanguage(); + this.changeLanguage() - this.isPageLoading = true; + this.isPageLoading = true try { const [nodeInfo, myRewardShareArray, mintingaccounts] = await Promise.all([ @@ -107,33 +108,33 @@ class BecomeMinter extends LitElement { ?.address ), this.getMintingAcccounts(), - ]); + ]) - this.nodeInfo = nodeInfo; + this.nodeInfo = nodeInfo this.rewardSharePublicKey = - myRewardShareArray[0]?.rewardSharePublicKey; - this.isPageLoading = false; - this.mintingAccountData = mintingaccounts; + myRewardShareArray[0]?.rewardSharePublicKey + this.isPageLoading = false + this.mintingAccountData = mintingaccounts this.addressInfo = - window.parent.reduxStore.getState().app.accountInfo.addressInfo; + window.parent.reduxStore.getState().app.accountInfo.addressInfo } catch (error) { - console.error(error); + console.error(error) - this.isPageLoading = false; + this.isPageLoading = false } } async firstUpdated() { - await this.atMount(); + await this.atMount() } async getRewardShareRelationship(recipientAddress) { const myRewardShareArray = await parentEpml.request('apiCall', { type: 'api', url: `/addresses/rewardshares?recipients=${recipientAddress}`, - }); + }) - return myRewardShareArray; + return myRewardShareArray } _levelUpBlocks() { @@ -141,8 +142,8 @@ class BecomeMinter extends LitElement { blocksNeed(0) - (this.addressInfo?.blocksMinted + this.addressInfo?.blocksMintedAdjustment) - ).toString(); - return countBlocksString; + ).toString() + return countBlocksString } render() { @@ -150,7 +151,7 @@ class BecomeMinter extends LitElement { const findMintingAccount = this.mintingAccountData?.find( (ma) => ma.recipientAccount === window.parent.reduxStore.getState().app?.selectedAddress ?.address - ); + ) const isAlreadySponsored = this.addressInfo?.error !== 124 && @@ -196,8 +197,8 @@ class BecomeMinter extends LitElement { `} - `; + ` } } -window.customElements.define('become-minter', BecomeMinter); +window.customElements.define('become-minter', BecomeMinter) diff --git a/plugins/plugins/core/become-minter/components/yes-sponsored.src.js b/plugins/plugins/core/become-minter/components/yes-sponsored.src.js index 13ab1faa..901c48d3 100644 --- a/plugins/plugins/core/become-minter/components/yes-sponsored.src.js +++ b/plugins/plugins/core/become-minter/components/yes-sponsored.src.js @@ -6,8 +6,8 @@ import { use, translate, registerTranslateConfig } from 'lit-translate'; registerTranslateConfig({ loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), }); -import '@polymer/paper-spinner/paper-spinner-lite.js'; +import '@polymer/paper-spinner/paper-spinner-lite.js'; import '@material/mwc-button'; import '@material/mwc-textfield'; import '@vaadin/button'; diff --git a/plugins/plugins/core/components/ChatWelcomePage.js b/plugins/plugins/core/components/ChatWelcomePage.js index 58bc2ce5..9ba5f212 100644 --- a/plugins/plugins/core/components/ChatWelcomePage.js +++ b/plugins/plugins/core/components/ChatWelcomePage.js @@ -478,31 +478,6 @@ class ChatWelcomePage extends LitElement { getAddressPublicKey() } - _textMenu(event) { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - _textArea(e) { if (e.keyCode === 13 && !e.shiftKey) this._sendMessage() } diff --git a/plugins/plugins/core/components/LevelFounder.js b/plugins/plugins/core/components/LevelFounder.js index 4895357e..bab9cd8e 100644 --- a/plugins/plugins/core/components/LevelFounder.js +++ b/plugins/plugins/core/components/LevelFounder.js @@ -106,6 +106,7 @@ class LevelFounder extends LitElement { } firstUpdated() { + this.changeLanguage() this.checkAddressInfo() window.addEventListener('storage', () => { @@ -167,28 +168,6 @@ class LevelFounder extends LitElement { ` : '' } - _textMenu(event) { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 diff --git a/plugins/plugins/core/components/qortal-info-view.js b/plugins/plugins/core/components/qortal-info-view.js index 98b17540..080e71aa 100644 --- a/plugins/plugins/core/components/qortal-info-view.js +++ b/plugins/plugins/core/components/qortal-info-view.js @@ -1252,6 +1252,13 @@ class QortalInfoView extends LitElement { ` } + firstUpdated() { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } + openUserInfo(userData) { if (userData.startsWith('Q') && userData.length == 34) { this.getAddressUserResult(userData) diff --git a/plugins/plugins/core/group-management/group-management.src.js b/plugins/plugins/core/group-management/group-management.src.js index 2216124b..a3c3bb26 100644 --- a/plugins/plugins/core/group-management/group-management.src.js +++ b/plugins/plugins/core/group-management/group-management.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -1798,14 +1799,13 @@ class GroupManagement extends LitElement { setTimeout(getOpen_JoinedGroups, 600000) } - window.addEventListener("contextmenu", (event) => { - event.preventDefault(); - this._textMenu(event) - }) - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }) + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') @@ -1821,12 +1821,6 @@ class GroupManagement extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } - } - let configLoaded = false parentEpml.ready().then(() => { @@ -1844,11 +1838,6 @@ class GroupManagement extends LitElement { } this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) }) parentEpml.imReady() } @@ -2732,28 +2721,6 @@ class GroupManagement extends LitElement { return html`` } - _textMenu(event) { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - async createGroup(e) { this.resetDefaultSettings() const createFeeInput = this.createFee @@ -3650,11 +3617,6 @@ class GroupManagement extends LitElement { return apiKey } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 diff --git a/plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js b/plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js index c95668ef..7b38cd56 100644 --- a/plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js +++ b/plugins/plugins/core/messaging/chain-messaging/chain-messaging.src.js @@ -1,4 +1,5 @@ import { LitElement, html, css } from 'lit' +import isElectron from 'is-electron' class ChainMessaging extends LitElement { static get properties() { @@ -46,20 +47,16 @@ class ChainMessaging extends LitElement { this.changeTheme() - setInterval(() => { - this.changeTheme(); - }, 100) + setInterval(() => { + this.changeTheme(); + }, 100) - window.addEventListener("contextmenu", (event) => { - event.preventDefault(); - }); - - window.addEventListener("click", () => { - }); - - window.onkeyup = (e) => { - if (e.keyCode === 27) { - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } } diff --git a/plugins/plugins/core/messaging/messaging.src.js b/plugins/plugins/core/messaging/messaging.src.js index 5b49c265..8a3b093f 100644 --- a/plugins/plugins/core/messaging/messaging.src.js +++ b/plugins/plugins/core/messaging/messaging.src.js @@ -1,5 +1,6 @@ import { LitElement, html, css } from 'lit' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) @@ -140,26 +141,16 @@ class Messaging extends LitElement { this.changeTheme() - setInterval(() => { - this.changeTheme(); - }, 100) + setInterval(() => { + this.changeTheme(); + }, 100) - window.addEventListener("contextmenu", (event) => { - - event.preventDefault(); - this._textMenu(event) - }); - - window.addEventListener("click", () => { - - parentEpml.request('closeCopyTextMenu', null) - }); - - window.onkeyup = (e) => { - if (e.keyCode === 27) { - - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } let configLoaded = false @@ -177,13 +168,6 @@ class Messaging extends LitElement { } this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async value => { - - if (value === 'false' && window.getSelection().toString().length !== 0) { - - this.clearSelection() - } - }) }) parentEpml.imReady() } @@ -205,40 +189,6 @@ class Messaging extends LitElement { onPageNavigation(pageUrl) { parentEpml.request('setPageUrl', pageUrl) } - - _textMenu(event) { - - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - - checkSelectedTextAndShowMenu() - } - - clearSelection() { - - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - } window.customElements.define('q-messaging', Messaging) diff --git a/plugins/plugins/core/messaging/q-chat/q-chat.src.js b/plugins/plugins/core/messaging/q-chat/q-chat.src.js index b7492f5c..6f4bd9a4 100644 --- a/plugins/plugins/core/messaging/q-chat/q-chat.src.js +++ b/plugins/plugins/core/messaging/q-chat/q-chat.src.js @@ -9,6 +9,7 @@ import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } fro import { qchatStyles } from './q-chat-css.src.js' import WebWorker from 'web-worker:./computePowWorker.src.js'; import {repeat} from 'lit/directives/repeat.js'; +import isElectron from 'is-electron' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -419,8 +420,6 @@ class Chat extends LitElement { this.shadowRoot.getElementById('messageBox').addEventListener('keydown', stopKeyEventPropagation); - - const runFunctionsAfterPageLoad = () => { // Functions to exec after render while waiting for page info... // getDataFromURL() @@ -443,16 +442,6 @@ class Chat extends LitElement { let runFunctionsAfterPageLoadInterval = setInterval(runFunctionsAfterPageLoad, 100); - window.addEventListener("contextmenu", (event) => { - event.preventDefault() - this._textMenu(event) - }) - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - parentEpml.request('closeFramePasteMenu', null) - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -467,11 +456,12 @@ class Chat extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - parentEpml.request('closeFramePasteMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } let configLoaded = false @@ -499,20 +489,11 @@ class Chat extends LitElement { }).then(res => { this.balance = res }) - parentEpml.subscribe('copy_menu_switch', async value => { - - if (value === 'false' && window.getSelection().toString().length !== 0) { - - this.clearSelection() - } - }) }) parentEpml.imReady() } - - setOpenPrivateMessage(props) { this.openPrivateMessage = props.open; this.shadowRoot.getElementById("sendTo").value = props.name @@ -549,8 +530,6 @@ class Chat extends LitElement { window.location.href = `../../group-management/index.html` } - - async _sendMessage(outSideMsg, msg) { this.isLoading = true; @@ -914,44 +893,11 @@ class Chat extends LitElement { } } - _textMenu(event) { - - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - - checkSelectedTextAndShowMenu() - } - _textArea(e) { if (e.keyCode === 13 && !e.shiftKey) this._sendMessage() } - clearSelection() { - - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - onPageNavigation(pageUrl) { parentEpml.request('setPageUrl', pageUrl) } diff --git a/plugins/plugins/core/minting/minting-info.src.js b/plugins/plugins/core/minting/minting-info.src.js index a5d7c70d..fab86ced 100644 --- a/plugins/plugins/core/minting/minting-info.src.js +++ b/plugins/plugins/core/minting/minting-info.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -396,7 +397,15 @@ class MintingInfo extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - let configLoaded = false; + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } + + let configLoaded = false parentEpml.ready().then(() => { parentEpml.subscribe('selected_address', async selectedAddress => { @@ -418,9 +427,6 @@ class MintingInfo extends LitElement { } this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) this.clearSelection() - }) }) parentEpml.imReady() } diff --git a/plugins/plugins/core/name-registration/name-registration.src.js b/plugins/plugins/core/name-registration/name-registration.src.js index 007a66b5..7e1e3f01 100644 --- a/plugins/plugins/core/name-registration/name-registration.src.js +++ b/plugins/plugins/core/name-registration/name-registration.src.js @@ -2,6 +2,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' +import isElectron from 'is-electron' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -562,15 +563,6 @@ class NameRegistration extends LitElement { setTimeout(fetchMarketSellNames, 180000) } - window.addEventListener("contextmenu", (event) => { - event.preventDefault() - this._textMenu(event) - }) - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -585,10 +577,12 @@ class NameRegistration extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } let configLoaded = false @@ -608,11 +602,6 @@ class NameRegistration extends LitElement { } this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) }) parentEpml.imReady() } @@ -870,11 +859,6 @@ class NameRegistration extends LitElement { return apiKey } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - async registerName(e) { this.error = false this.message = '' @@ -1178,32 +1162,6 @@ class NameRegistration extends LitElement { validateReceiver() } - _textMenu(event) { - - const getSelectedText = () => { - var text = "" - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - round(number) { let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) return result diff --git a/plugins/plugins/core/names-market/names-market.src.js b/plugins/plugins/core/names-market/names-market.src.js index ff5e72b8..d020f297 100644 --- a/plugins/plugins/core/names-market/names-market.src.js +++ b/plugins/plugins/core/names-market/names-market.src.js @@ -2,7 +2,9 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' +import isElectron from 'is-electron' import '../components/qortal-info-view.js' + registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) }) @@ -566,15 +568,6 @@ class NamesMarket extends LitElement { setTimeout(fetchMarketSoldNames, 300000) } - window.addEventListener("contextmenu", (event) => { - event.preventDefault() - this._textMenu(event) - }) - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -589,10 +582,12 @@ class NamesMarket extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } let configLoaded = false @@ -612,11 +607,6 @@ class NamesMarket extends LitElement { } this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) }) parentEpml.imReady() } @@ -1026,11 +1016,6 @@ class NamesMarket extends LitElement { return apiKey } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - async createCancelSellName() { const name = this.shadowRoot.getElementById("toCancelSellName").value const cancelSellFeeInput = this.cancelSellFee @@ -1171,32 +1156,6 @@ class NamesMarket extends LitElement { validateReceiver() } - _textMenu(event) { - - const getSelectedText = () => { - var text = "" - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - round(number) { let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) return result diff --git a/plugins/plugins/core/node-management/node-management.src.js b/plugins/plugins/core/node-management/node-management.src.js index 17efaf20..341ad989 100644 --- a/plugins/plugins/core/node-management/node-management.src.js +++ b/plugins/plugins/core/node-management/node-management.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -283,22 +284,8 @@ class NodeManagement extends LitElement { this.changeTheme() this.changeLanguage() - - // Call updateMintingAccounts this.updateMintingAccounts() - window.addEventListener('contextmenu', (event) => { - event.preventDefault() - this.isTextMenuOpen = true - this._textMenu(event) - }) - - window.addEventListener('click', () => { - if (this.isTextMenuOpen) { - parentEpml.request('closeCopyTextMenu', null) - } - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -313,37 +300,14 @@ class NodeManagement extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } - this.shadowRoot.getElementById('addMintingAccountKey').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'addMintingAccountKey') - this.myElementId = this.shadowRoot.getElementById('addMintingAccountKey') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - // Calculate HH MM SS from Milliseconds... const convertMsToTime = (milliseconds) => { let day, hour, minute, seconds; @@ -414,21 +378,6 @@ class NodeManagement extends LitElement { } this.config = JSON.parse(c); }) - - parentEpml.subscribe('copy_menu_switch', async (value) => { - if (value === 'false' && this.isTextMenuOpen === true) { - this.clearSelection() - this.isTextMenuOpen = false - } - }) - - parentEpml.subscribe('frame_paste_menu_switch', async res => { - res = JSON.parse(res) - if (res.isOpen === false && this.isPasteMenuOpen === true) { - this.pasteToTextBox(this.myElementId) - this.isPasteMenuOpen = false - } - }) }) parentEpml.imReady() } @@ -558,43 +507,6 @@ class NodeManagement extends LitElement { }); } - pasteToTextBox(elementId) { - window.focus() - navigator.clipboard.readText().then((clipboardText) => { - elementId.value += clipboardText - elementId.focus() - }) - } - - pasteMenu(event, elementId) { - let eventObject = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY, elementId } - parentEpml.request('openFramePasteMenu', eventObject) - } - - _textMenu(event) { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - removeMintingAccount(publicKey) { this.removeMintingAccountLoading = true; @@ -622,11 +534,6 @@ class NodeManagement extends LitElement { return apiKey; } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - isEmptyArray(arr) { if (!arr) return true; return arr.length === 0; diff --git a/plugins/plugins/core/puzzles/puzzles.src.js b/plugins/plugins/core/puzzles/puzzles.src.js index 08ed7397..ff3da640 100644 --- a/plugins/plugins/core/puzzles/puzzles.src.js +++ b/plugins/plugins/core/puzzles/puzzles.src.js @@ -1,13 +1,13 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) }) -// Not sure if these are imported in the proper way: import nacl from '../../../../crypto/api/deps/nacl-fast.js' import Base58 from '../../../../crypto/api/deps/Base58.js' import publicKeyToAddress from '../../../../crypto/api/wallet/publicKeyToAddress.js' @@ -184,15 +184,6 @@ class Puzzles extends LitElement { this.changeTheme() this.changeLanguage() - window.addEventListener("contextmenu", (event) => { - event.preventDefault(); - this._textMenu(event) - }) - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -207,10 +198,12 @@ class Puzzles extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } const textBox = this.shadowRoot.getElementById("puzzleGuess") @@ -335,55 +328,8 @@ class Puzzles extends LitElement { } this.config = JSON.parse(c) }) - - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) - - parentEpml.subscribe('frame_paste_menu_switch', async res => { - res = JSON.parse(res) - - if (res.isOpen === false && this.isPasteMenuOpen === true) { - this.pasteToTextBox(textBox) - this.isPasteMenuOpen = false - } - }) }) - parentEpml.imReady() - - textBox.addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = ""; - - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - - if (selectedText && typeof selectedText === 'string') { - // ... - } else { - this.pasteMenu(event) - this.isPasteMenuOpen = true - - // Prevent Default and Stop Event Bubbling - event.preventDefault() - event.stopPropagation() - } - } - - checkSelectedTextAndShowMenu() - }) } changeTheme() { @@ -486,54 +432,10 @@ class Puzzles extends LitElement { this.loading = false } - pasteToTextBox(textBox) { - // Return focus to the window - window.focus() - - navigator.clipboard.readText().then(clipboardText => { - - textBox.value += clipboardText - textBox.focus() - }); - } - - pasteMenu(event) { - let eventObject = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - parentEpml.request('openFramePasteMenu', eventObject) - } - - _textMenu(event) { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - - checkSelectedTextAndShowMenu() - } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 } - - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } } window.customElements.define('puzzles-info', Puzzles) diff --git a/plugins/plugins/core/q-app/q-apps.src.js b/plugins/plugins/core/q-app/q-apps.src.js index fd90bb76..94d0ab29 100644 --- a/plugins/plugins/core/q-app/q-apps.src.js +++ b/plugins/plugins/core/q-app/q-apps.src.js @@ -3,6 +3,7 @@ import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' import { columnBodyRenderer, gridRowDetailsRenderer } from '@vaadin/grid/lit.js' +import isElectron from 'is-electron' registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) @@ -589,21 +590,6 @@ class QApps extends LitElement { setTimeout(getRelayMode, 600000) } - window.addEventListener("contextmenu", (event) => { - event.preventDefault(); - this._textMenu(event) - }); - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }); - - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } - } - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -618,6 +604,14 @@ class QApps extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } + let configLoaded = false parentEpml.ready().then(() => { @@ -639,11 +633,6 @@ class QApps extends LitElement { } this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) }) parentEpml.imReady() } @@ -1197,39 +1186,12 @@ class QApps extends LitElement { return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i] } - _textMenu(event) { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] let apiKey = myNode.apiKey return apiKey } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 diff --git a/plugins/plugins/core/qdn/browser/browser.src.js b/plugins/plugins/core/qdn/browser/browser.src.js index c01bd5d5..ce9355a0 100644 --- a/plugins/plugins/core/qdn/browser/browser.src.js +++ b/plugins/plugins/core/qdn/browser/browser.src.js @@ -1,31 +1,29 @@ -import { LitElement, html, css } from 'lit'; -import { render } from 'lit/html.js'; -import { Epml } from '../../../../epml'; -import { - use, - get, - translate, - translateUnsafeHTML, - registerTranslateConfig, -} from 'lit-translate'; +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' +import { Epml } from '../../../../epml' +import isElectron from 'is-electron' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' + registerTranslateConfig({ - loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), -}); + loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()) +}) + import FileSaver from 'file-saver' -import * as actions from '../../components/qdn-action-types'; -import '@material/mwc-button'; -import '@material/mwc-icon'; +import * as actions from '../../components/qdn-action-types' +import '@material/mwc-button' +import '@material/mwc-icon' import '@material/mwc-checkbox' -import WebWorker from 'web-worker:./computePowWorkerFile.src.js'; -import WebWorkerChat from 'web-worker:./computePowWorker.src.js'; -import { publishData } from '../../../utils/publish-image.js'; +import WebWorker from 'web-worker:./computePowWorkerFile.src.js' +import WebWorkerChat from 'web-worker:./computePowWorker.src.js' +import { publishData } from '../../../utils/publish-image.js' import { Loader } from '../../../utils/loader.js'; -import { QORT_DECIMALS } from '../../../../../crypto/api/constants'; +import { QORT_DECIMALS } from '../../../../../crypto/api/constants' import nacl from '../../../../../crypto/api/deps/nacl-fast.js' import ed2curve from '../../../../../crypto/api/deps/ed2curve.js' -import { mimeToExtensionMap } from '../../components/qdn-action-constants'; -import { base64ToUint8Array, encryptData, fileToBase64, uint8ArrayToBase64 } from '../../components/qdn-action-encryption'; -const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }); +import { mimeToExtensionMap } from '../../components/qdn-action-constants' +import { base64ToUint8Array, encryptData, fileToBase64, uint8ArrayToBase64 } from '../../components/qdn-action-encryption' + +const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) class WebBrowser extends LitElement { static get properties() { @@ -235,14 +233,6 @@ class WebBrowser extends LitElement { configLoaded = true; } }) - parentEpml.subscribe('copy_menu_switch', async (value) => { - if ( - value === 'false' && - window.getSelection().toString().length !== 0 - ) { - this.clearSelection(); - } - }) }) } @@ -487,15 +477,6 @@ class WebBrowser extends LitElement { this.rvnWallet = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet this.arrrWallet = window.parent.reduxStore.getState().app.selectedAddress.arrrWallet - window.addEventListener('contextmenu', (event) => { - event.preventDefault(); - this._textMenu(event); - }); - - window.addEventListener('click', () => { - parentEpml.request('closeCopyTextMenu', null); - }); - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage'); const checkTheme = localStorage.getItem('qortalTheme'); @@ -510,11 +491,13 @@ class WebBrowser extends LitElement { document.querySelector('html').setAttribute('theme', this.theme); }); - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null); - } - }; + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } window.addEventListener('message', async (event) => { if ( @@ -2814,40 +2797,6 @@ class WebBrowser extends LitElement { return ret; } - _textMenu(event) { - const getSelectedText = () => { - var text = ''; - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString(); - } else if ( - typeof this.shadowRoot.selection != 'undefined' && - this.shadowRoot.selection.type == 'Text' - ) { - text = this.shadowRoot.selection.createRange().text; - } - return text; - }; - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - let _eve = { - pageX: event.pageX, - pageY: event.pageY, - clientX: event.clientX, - clientY: event.clientY, - }; - let textMenuObject = { - selectedText: selectedText, - eventObject: _eve, - isFrame: true, - }; - parentEpml.request('openCopyTextMenu', textMenuObject); - } - }; - checkSelectedTextAndShowMenu(); - } - getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ @@ -2856,11 +2805,6 @@ class WebBrowser extends LitElement { let apiKey = myNode.apiKey; return apiKey; } - - clearSelection() { - window.getSelection().removeAllRanges(); - window.parent.getSelection().removeAllRanges(); - } } window.customElements.define('web-browser', WebBrowser); diff --git a/plugins/plugins/core/qdn/data-management/data-management.src.js b/plugins/plugins/core/qdn/data-management/data-management.src.js index ff650b0c..4107fe94 100644 --- a/plugins/plugins/core/qdn/data-management/data-management.src.js +++ b/plugins/plugins/core/qdn/data-management/data-management.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../../epml' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -445,15 +446,6 @@ class DataManagement extends LitElement { this.changeLanguage() this.showManagement() - window.addEventListener('contextmenu', (event) => { - event.preventDefault() - this._textMenu(event) - }) - - window.addEventListener('click', () => { - parentEpml.request('closeCopyTextMenu', null) - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -468,10 +460,12 @@ class DataManagement extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } let configLoaded = false @@ -498,13 +492,6 @@ class DataManagement extends LitElement { configLoaded = true } }) - parentEpml.subscribe('copy_menu_switch', async value => { - - if (value === 'false' && window.getSelection().toString().length !== 0) { - - this.clearSelection() - } - }) }) parentEpml.imReady() } @@ -980,29 +967,6 @@ class DataManagement extends LitElement { return ret } - _textMenu(event) { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - - checkSelectedTextAndShowMenu() - } - async getResourcesGrid() { this.resourcesGrid = this.shadowRoot.querySelector(`#resourcesGrid`) this.pagesControl = this.shadowRoot.querySelector('#pages') @@ -1123,11 +1087,6 @@ class DataManagement extends LitElement { return apiKey; } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 diff --git a/plugins/plugins/core/qdn/publish/publish.src.js b/plugins/plugins/core/qdn/publish/publish.src.js index bd7e9c85..06cc2514 100644 --- a/plugins/plugins/core/qdn/publish/publish.src.js +++ b/plugins/plugins/core/qdn/publish/publish.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../../epml' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -241,12 +242,6 @@ class PublishData extends LitElement { } this.config = JSON.parse(c) }) - - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) }) } @@ -327,15 +322,6 @@ class PublishData extends LitElement { this.changeTheme() this.changeLanguage() - window.addEventListener('contextmenu', (event) => { - event.preventDefault() - this._textMenu(event) - }) - - window.addEventListener('click', () => { - parentEpml.request('closeCopyTextMenu', null) - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -350,10 +336,12 @@ class PublishData extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } } @@ -679,29 +667,6 @@ class PublishData extends LitElement { validate() } - _textMenu(event) { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - - fetchResourceMetadata() { let identifier = this.identifier != null ? this.identifier : "default" @@ -736,11 +701,6 @@ class PublishData extends LitElement { let apiKey = myNode.apiKey return apiKey } - - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } } window.customElements.define('publish-data', PublishData) diff --git a/plugins/plugins/core/qdn/websites.src.js b/plugins/plugins/core/qdn/websites.src.js index e7c3a252..dcdf4187 100644 --- a/plugins/plugins/core/qdn/websites.src.js +++ b/plugins/plugins/core/qdn/websites.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -426,21 +427,6 @@ class Websites extends LitElement { setTimeout(getRelayMode, 600000) } - window.addEventListener("contextmenu", (event) => { - event.preventDefault(); - this._textMenu(event) - }); - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }); - - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } - } - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -455,6 +441,14 @@ class Websites extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } + let configLoaded = false parentEpml.ready().then(() => { @@ -476,11 +470,6 @@ class Websites extends LitElement { } this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) }) parentEpml.imReady() } @@ -1101,39 +1090,12 @@ class Websites extends LitElement { return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i] } - _textMenu(event) { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] let apiKey = myNode.apiKey return apiKey } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 diff --git a/plugins/plugins/core/reward-share/reward-share.src.js b/plugins/plugins/core/reward-share/reward-share.src.js index ce0d7e59..2ee29c18 100644 --- a/plugins/plugins/core/reward-share/reward-share.src.js +++ b/plugins/plugins/core/reward-share/reward-share.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -214,15 +215,6 @@ class RewardShare extends LitElement { this.changeTheme() this.changeLanguage() - window.addEventListener("contextmenu", (event) => { - event.preventDefault() - this._textMenu(event) - }) - - window.addEventListener("click", () => { - parentEpml.request('closeCopyTextMenu', null) - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -237,14 +229,14 @@ class RewardShare extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } - const textBox = this.shadowRoot.getElementById("recipientPublicKey") - const updateRewardshares = () => { parentEpml.request('apiCall', { url: `/addresses/rewardshares?involving=${this.selectedAddress.address}` @@ -271,51 +263,9 @@ class RewardShare extends LitElement { } this.config = JSON.parse(c) }) - - parentEpml.subscribe('copy_menu_switch', async value => { - if (value === 'false' && window.getSelection().toString().length !== 0) { - this.clearSelection() - } - }) - - parentEpml.subscribe('frame_paste_menu_switch', async res => { - res = JSON.parse(res) - if (res.isOpen === false && this.isPasteMenuOpen === true) { - this.pasteToTextBox(textBox) - this.isPasteMenuOpen = false - } - }) }) parentEpml.imReady() - - textBox.addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - // ... - } else { - this.pasteMenu(event) - this.isPasteMenuOpen = true - - // Prevent Default and Stop Event Bubbling - event.preventDefault() - event.stopPropagation() - - } - } - checkSelectedTextAndShowMenu() - }) } changeTheme() { @@ -733,57 +683,10 @@ class RewardShare extends LitElement { removeReceiver() } - pasteToTextBox(textBox) { - // Return focus to the window - window.focus() - - navigator.clipboard.readText().then(clipboardText => { - - textBox.value += clipboardText - textBox.focus() - }); - } - - pasteMenu(event) { - let eventObject = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - parentEpml.request('openFramePasteMenu', eventObject) - } - - _textMenu(event) { - const getSelectedText = () => { - var text = ""; - if (typeof window.getSelection != "undefined") { - text = window.getSelection().toString(); - } else if (typeof this.shadowRoot.selection != "undefined" && this.shadowRoot.selection.type == "Text") { - text = this.shadowRoot.selection.createRange().text; - } - return text; - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText(); - if (selectedText && typeof selectedText === 'string') { - - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - - checkSelectedTextAndShowMenu() - } - isEmptyArray(arr) { if (!arr) { return true } return arr.length === 0 } - - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } } window.customElements.define('reward-share', RewardShare) diff --git a/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js b/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js index a4cf94e0..7e565213 100644 --- a/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js +++ b/plugins/plugins/core/sponsorship-list/sponsorship-list.src.js @@ -4,6 +4,7 @@ import "../components/ButtonIconCopy.js" import { use, get, translate, registerTranslateConfig } from "lit-translate" import { blocksNeed } from "../../utils/blocks-needed.js" import "../components/ButtonIconCopy.js" +import isElectron from 'is-electron' registerTranslateConfig({ loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), @@ -226,6 +227,13 @@ class SponsorshipList extends LitElement { async firstUpdated() { await this.atMount() + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } } async getRewardShareRelationship(recipientAddress) { diff --git a/plugins/plugins/core/trade-bot/trade-bot-portal.src.js b/plugins/plugins/core/trade-bot/trade-bot-portal.src.js index 16044c60..fad9a474 100644 --- a/plugins/plugins/core/trade-bot/trade-bot-portal.src.js +++ b/plugins/plugins/core/trade-bot/trade-bot-portal.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -2036,17 +2037,6 @@ class TradeBotPortal extends LitElement { setTimeout(getQortArrrPrice, 300000) } - window.addEventListener('contextmenu', (event) => { - event.preventDefault() - this._textMenu(event)}, - { passive: true } - ) - - window.addEventListener('click', () => { - parentEpml.request('closeCopyTextMenu', null)}, - { passive: true } - ) - window.addEventListener('storage', () => { this.tradeBotBtcBook = JSON.parse(localStorage.getItem(this.btcWallet) || "[]") this.tradeBotLtcBook = JSON.parse(localStorage.getItem(this.ltcWallet) || "[]") @@ -2063,8 +2053,12 @@ class TradeBotPortal extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) parentEpml.request('closeCopyTextMenu', null) + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } this.btcWallet = window.parent.reduxStore.getState().app.selectedAddress.btcWallet.address @@ -2106,10 +2100,6 @@ class TradeBotPortal extends LitElement { this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async (value) => { - if (value === 'false' && window.getSelection().toString().length !== 0) this.clearSelection() - }) - let coinSelectionMenu = this.shadowRoot.getElementById("coinSelectionMenu") coinSelectionMenu.addEventListener('change', function () { @@ -3352,42 +3342,6 @@ class TradeBotPortal extends LitElement { return apiKey; } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - - _textMenu(event) { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - let _eve = { - pageX: event.pageX, - pageY: event.pageY, - clientX: event.clientX, - clientY: event.clientY, - } - let textMenuObject = { - selectedText: selectedText, - eventObject: _eve, - isFrame: true, - } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - clearTradeBotForm() { this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value = this.initialAmount this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value = this.initialAmount diff --git a/plugins/plugins/core/trade-portal/trade-portal.src.js b/plugins/plugins/core/trade-portal/trade-portal.src.js index f3b7a741..1339711b 100644 --- a/plugins/plugins/core/trade-portal/trade-portal.src.js +++ b/plugins/plugins/core/trade-portal/trade-portal.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -1378,17 +1379,6 @@ class TradePortal extends LitElement { setTimeout(getQortArrrPrice, 300000) } - window.addEventListener('contextmenu', (event) => { - event.preventDefault() - this._textMenu(event)}, - { passive: true } - ) - - window.addEventListener('click', () => { - parentEpml.request('closeCopyTextMenu', null)}, - { passive: true } - ) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -1399,8 +1389,12 @@ class TradePortal extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) parentEpml.request('closeCopyTextMenu', null) + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } this.btcWallet = window.parent.reduxStore.getState().app.selectedAddress.btcWallet.address @@ -1443,10 +1437,6 @@ class TradePortal extends LitElement { this.config = JSON.parse(c) }) - parentEpml.subscribe('copy_menu_switch', async (value) => { - if (value === 'false' && window.getSelection().toString().length !== 0) this.clearSelection() - }) - let coinSelectionMenu = this.shadowRoot.getElementById("coinSelectionMenu") coinSelectionMenu.addEventListener('change', function () { @@ -2790,42 +2780,6 @@ class TradePortal extends LitElement { return apiKey; } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - - _textMenu(event) { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - let _eve = { - pageX: event.pageX, - pageY: event.pageY, - clientX: event.clientX, - clientY: event.clientY, - } - let textMenuObject = { - selectedText: selectedText, - eventObject: _eve, - isFrame: true, - } - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - clearBuyForm() { this.shadowRoot.getElementById('buyAmountInput').value = this.initialAmount this.shadowRoot.getElementById('buyPriceInput').value = this.initialAmount diff --git a/plugins/plugins/core/wallet/wallet-app.src.js b/plugins/plugins/core/wallet/wallet-app.src.js index 3a2ba5d4..ceedf181 100644 --- a/plugins/plugins/core/wallet/wallet-app.src.js +++ b/plugins/plugins/core/wallet/wallet-app.src.js @@ -1,6 +1,7 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import isElectron from 'is-electron' import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' registerTranslateConfig({ @@ -756,21 +757,6 @@ class MultiWallet extends LitElement { this.wallets.get('rvn').wallet = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet this.wallets.get('arrr').wallet = window.parent.reduxStore.getState().app.selectedAddress.arrrWallet }) - - parentEpml.subscribe('copy_menu_switch', async (value) => { - if (value === 'false' && this.isTextMenuOpen === true) { - this.clearSelection() - this.isTextMenuOpen = false - } - }) - - parentEpml.subscribe('frame_paste_menu_switch', async res => { - res = JSON.parse(res) - if (res.isOpen === false && this.isPasteMenuOpen === true) { - this.pasteToTextBox(this.myElementId) - this.isPasteMenuOpen = false - } - }) }) } @@ -2660,18 +2646,6 @@ class MultiWallet extends LitElement { this.showWallet() - window.addEventListener('contextmenu', (event) => { - event.preventDefault() - this.isTextMenuOpen = true - this._textMenu(event) - }) - - window.addEventListener('click', () => { - if (this.isTextMenuOpen) { - parentEpml.request('closeCopyTextMenu', null) - } - }) - window.addEventListener('storage', () => { const checkLanguage = localStorage.getItem('qortalLanguage') const checkTheme = localStorage.getItem('qortalTheme') @@ -2686,386 +2660,13 @@ class MultiWallet extends LitElement { document.querySelector('html').setAttribute('theme', this.theme) }) - window.onkeyup = (e) => { - if (e.keyCode === 27) { - parentEpml.request('closeCopyTextMenu', null) - } + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) } - - this.shadowRoot.getElementById('amountInput').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'amountInput') - this.myElementId = this.shadowRoot.getElementById('amountInput') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('recipient').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'recipient') - this.myElementId = this.shadowRoot.getElementById('recipient') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('btcAmountInput').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'btcAmountInput') - this.myElementId = this.shadowRoot.getElementById('btcAmountInput') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('btcRecipient').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'btcRecipient') - this.myElementId = this.shadowRoot.getElementById('btcRecipient') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('ltcAmountInput').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'ltcAmountInput') - this.myElementId = this.shadowRoot.getElementById('ltcAmountInput') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('ltcRecipient').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'ltcRecipient') - this.myElementId = this.shadowRoot.getElementById('ltcRecipient') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('dogeAmountInput').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'dogeAmountInput') - this.myElementId = this.shadowRoot.getElementById('dogeAmountInput') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('dogeRecipient').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'dogeRecipient') - this.myElementId = this.shadowRoot.getElementById('dogeRecipient') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('dgbAmountInput').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'dgbAmountInput') - this.myElementId = this.shadowRoot.getElementById('dgbAmountInput') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('dgbRecipient').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'dgbRecipient') - this.myElementId = this.shadowRoot.getElementById('dgbRecipient') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('rvnAmountInput').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'rvnAmountInput') - this.myElementId = this.shadowRoot.getElementById('rvnAmountInput') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('rvnRecipient').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'rvnRecipient') - this.myElementId = this.shadowRoot.getElementById('rvnRecipient') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('arrrAmountInput').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'arrrAmountInput') - this.myElementId = this.shadowRoot.getElementById('arrrAmountInput') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('arrrRecipient').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'arrrRecipient') - this.myElementId = this.shadowRoot.getElementById('arrrRecipient') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) - - this.shadowRoot.getElementById('arrrMemo').addEventListener('contextmenu', (event) => { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - } else { - this.myElementId = '' - this.pasteMenu(event, 'arrrMemo') - this.myElementId = this.shadowRoot.getElementById('arrrMemo') - this.isPasteMenuOpen = true - event.preventDefault() - event.stopPropagation() - } - } - checkSelectedTextAndShowMenu() - }) } renderWarning() { @@ -4210,19 +3811,6 @@ class MultiWallet extends LitElement { } } - pasteToTextBox(elementId) { - window.focus() - navigator.clipboard.readText().then((clipboardText) => { - elementId.value += clipboardText - elementId.focus() - }) - } - - pasteMenu(event, elementId) { - let eventObject = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY, elementId } - parentEpml.request('openFramePasteMenu', eventObject) - } - async sendQort() { const amount = this.shadowRoot.getElementById('amountInput').value let recipient = this.shadowRoot.getElementById('recipient').value @@ -5649,41 +5237,12 @@ class MultiWallet extends LitElement { this.transactionsGrid.items = this.wallets.get(this._selectedWallet).transactions.slice(start, end) } - _textMenu(event) { - const getSelectedText = () => { - var text = '' - if (typeof window.getSelection != 'undefined') { - text = window.getSelection().toString() - } else if (typeof this.shadowRoot.selection != 'undefined' && this.shadowRoot.selection.type == 'Text') { - text = this.shadowRoot.selection.createRange().text - } - return text - } - - const checkSelectedTextAndShowMenu = () => { - let selectedText = getSelectedText() - if (selectedText && typeof selectedText === 'string') { - let _eve = { pageX: event.pageX, pageY: event.pageY, clientX: event.clientX, clientY: event.clientY } - - let textMenuObject = { selectedText: selectedText, eventObject: _eve, isFrame: true } - - parentEpml.request('openCopyTextMenu', textMenuObject) - } - } - checkSelectedTextAndShowMenu() - } - getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]; let apiKey = myNode.apiKey; return apiKey; } - clearSelection() { - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - } - transactionItem(transactionObject) { return `
From f44b952ddefa43e1b604c30379440b410f925119 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 19 May 2023 17:17:44 +0200 Subject: [PATCH 003/112] No more need old copy paste --- .../functional-components/copy-text-menu.js | 241 ------------------ .../functional-components/frame-paste-menu.js | 203 --------------- core/src/functional-components/paste-menu.js | 201 --------------- 3 files changed, 645 deletions(-) delete mode 100644 core/src/functional-components/copy-text-menu.js delete mode 100644 core/src/functional-components/frame-paste-menu.js delete mode 100644 core/src/functional-components/paste-menu.js diff --git a/core/src/functional-components/copy-text-menu.js b/core/src/functional-components/copy-text-menu.js deleted file mode 100644 index 7add3a13..00000000 --- a/core/src/functional-components/copy-text-menu.js +++ /dev/null @@ -1,241 +0,0 @@ -import { LitElement, html, css } from 'lit' -import { connect } from 'pwa-helpers' -import { store } from '../store'; - -import { doCopyMenuSwitch } from '../redux/app/app-actions'; - - -let copyTextMenuElement - -class CopyTextMenu extends connect(store)(LitElement) { - static get properties() { - return { - selectedText: { - type: String, - attribute: 'selected-text', - reflectToAttribute: true - }, - eventObject: { - type: Object, - attribute: 'event-object', - reflectToAttribute: true - }, - isCopyMenuOpen: { - type: Boolean - } - } - } - - constructor() { - super() - this.selectedText = '' - this.eventObject = {} - this.isCopyMenuOpen = false - } - - static get styles() { - return css` - .context-menu{ - display: block; - opacity: 0; - position: absolute; - pointer-events: none; - padding: 5px, 0; - border: 1px solid var(--border); - min-width: 150px; - max-width: 300px; - background: #F9F9F9; - border-radius: 4px; - } - - .c-open { - pointer-events: all; - opacity: 1; - z-index: 120; - } - - #items { - list-style: none; - margin: 0px; - margin-top: 4px; - padding-left: 5px; - padding-right: 5px; - padding-bottom: 3px; - font-size: 17px; - color: #333333; - } - hr { - width: 85%; - background-color: #E4E4E4; - border-color: #E4E4E4; - color: #E4E4E4; - } - li{ - padding: 3px; - padding-left:10px; - } - - #items :hover{ - color: white; - background: #6a6c75; - border-radius: 2px; - } - ` - } - - render() { - return html` -
-
    -
  • this.saveToClipboard(this.selectedText)} >Copy
  • -
-
- ` - } - - firstUpdated() { - this.contextElement = this.shadowRoot.querySelector('.context-menu') - } - - saveToClipboard(text) { - - try { - - navigator.clipboard.writeText(text).then(() => { - - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - - store.dispatch(doCopyMenuSwitch(false)) - - // ... - }).catch((err) => { - console.log('failed: ', err) - }) - } catch (err) { - - // Fallback, if all fails - document.execCommand('copy'); - - window.getSelection().removeAllRanges() - window.parent.getSelection().removeAllRanges() - - store.dispatch(doCopyMenuSwitch(false)) - } - } - - textMenu(selectedText, eventObject, isFrame) { - - this.selectedText = selectedText - - const getPosition = (isFrame, event) => { - let posx = 0 - let posy = 0 - - if (isFrame) { - - const p = document.querySelector('main') - const d = document.getElementById('main-app').shadowRoot.querySelector('app-view').shadowRoot.querySelector('app-drawer-layout').children[1].querySelector('show-plugin').shadowRoot.querySelector('iframe') - - posx = p.offsetWidth - d.offsetWidth + event.pageX - posy = d.offsetTop + event.pageY - } else { - if (event.pageX || event.pageY) { - - posx = event.pageX - posy = event.pageY - } else if (event.clientX || event.clientY) { - - posx = event.clientX + document.body.scrollLeft + - document.documentElement.scrollLeft - posy = event.clientY + document.body.scrollTop + - document.documentElement.scrollTop - } - } - - return { - x: posx, - y: posy - } - } - - const positionMenu = (isFrame, event) => { - - const newPosition = { - left: '0px', - top: '0px' - } - - const clickCoords = getPosition(isFrame, event) - - const clickCoordsX = clickCoords.x - const clickCoordsY = clickCoords.y - - const menuWidth = this.contextElement.offsetWidth + 4 - const menuHeight = this.contextElement.offsetHeight + 4 - - const windowWidth = window.innerWidth - const windowHeight = window.innerHeight - - if ((windowWidth - clickCoordsX) < menuWidth) { - - newPosition.left = windowWidth - menuWidth + 'px' - } else { - - newPosition.left = clickCoordsX + 'px' - } - - if ((windowHeight - clickCoordsY) < menuHeight) { - - newPosition.top = windowHeight - menuHeight + 'px' - } else { - - newPosition.top = clickCoordsY + 'px' - } - - return newPosition - } - - const pos = positionMenu(isFrame, eventObject) - this.contextElement.style.top = pos.top - this.contextElement.style.left = pos.left - this.contextElement.style.opacity = '1' - this.contextElement.releasePointerCapture = true - this.contextElement.classList.add('c-open') - document.getElementById('main-app').shadowRoot.querySelector('copy-text-menu').inert = false - } - - open(textMenuObject) { - - const selectedText = textMenuObject.selectedText - const eventObject = textMenuObject.eventObject - const isFrame = textMenuObject.isFrame - this.textMenu(selectedText, eventObject, isFrame) - store.dispatch(doCopyMenuSwitch(true)) - } - - close() { - this.contextElement.style.opacity = '0' - this.contextElement.classList.remove('c-open') - } - - stateChanged(state) { - - this.isCopyMenuOpen = state.app.copyMenuSwitch - } -} - -window.customElements.define('copy-text-menu', CopyTextMenu) - -const copyTextMenuNode = document.createElement('copy-text-menu') -copyTextMenuNode.id = 'copy-text-menu-node' -copyTextMenuNode.inert = false -copyTextMenuNode.eventObject = {} -copyTextMenuElement = document.body.appendChild(copyTextMenuNode) -setTimeout(() => { - const menuNode = document.getElementById('copy-text-menu-node') - const mainApp = document.getElementById('main-app').shadowRoot - const shadow = mainApp - copyTextMenuElement = shadow.appendChild(menuNode) -}, 500) -export default copyTextMenuElement diff --git a/core/src/functional-components/frame-paste-menu.js b/core/src/functional-components/frame-paste-menu.js deleted file mode 100644 index 5887a387..00000000 --- a/core/src/functional-components/frame-paste-menu.js +++ /dev/null @@ -1,203 +0,0 @@ -import { LitElement, html, css } from 'lit' -import { connect } from 'pwa-helpers' -import { store } from '../store'; - -import { doFramePasteMenuSwitch } from '../redux/app/app-actions'; - - -let framePasteMenuElement - -class FramePasteMenu extends connect(store)(LitElement) { - static get properties() { - return { - eventObject: { - type: Object, - attribute: 'event-object', - reflectToAttribute: true - }, - framePasteMenuOpen: { - type: Object - }, - elementId: { - type: String - } - } - } - - constructor() { - super() - this.eventObject = {} - this.framePasteMenuOpen = { - isOpen: false, - elementId: '' - } - this.elementId = '' - } - - static get styles() { - return css` - .frame-paste-context-menu{ - display: block; - opacity: 0; - position: absolute; - pointer-events: none; - padding: 5px, 0; - border: 1px solid #B2B2B2; - min-width: 150px; - max-width: 300px; - background: #F9F9F9; - border-radius: 4px; - } - - .p-open { - pointer-events: all; - opacity: 1; - z-index: 120; - } - - #items { - list-style: none; - margin: 0px; - margin-top: 4px; - padding-left: 5px; - padding-right: 5px; - padding-bottom: 3px; - font-size: 17px; - color: #333333; - } - hr { - width: 85%; - background-color: #E4E4E4; - border-color: #E4E4E4; - color: #E4E4E4; - } - li{ - padding: 3px; - padding-left:10px; - } - - #items :hover{ - color: white; - background: #6a6c75; - border-radius: 2px; - } - ` - } - - render() { - return html` -
-
    -
  • this.paste()} >Paste
  • -
-
- ` - } - - firstUpdated() { - this.contextElement = this.shadowRoot.querySelector('.frame-paste-context-menu') - } - - paste() { - - store.dispatch(doFramePasteMenuSwitch({ isOpen: false, elementId: this.elementId })) - } - - positionMenu(eventObject) { - - - const getPosition = (event) => { - let posx = 0 - let posy = 0 - - const p = document.querySelector('main') - const d = document.getElementById('main-app').shadowRoot.querySelector('app-view').shadowRoot.querySelector('app-drawer-layout').children[1].querySelector('show-plugin').shadowRoot.querySelector('iframe') - - posx = p.offsetWidth - d.offsetWidth + event.pageX - posy = d.offsetTop + event.pageY - - return { - x: posx, - y: posy - } - } - - const positionMenu = (event) => { - - const newPosition = { - left: '0px', - top: '0px' - } - - const clickCoords = getPosition(event) - - const clickCoordsX = clickCoords.x - const clickCoordsY = clickCoords.y - - const menuWidth = this.contextElement.offsetWidth + 4 - const menuHeight = this.contextElement.offsetHeight + 4 - - const windowWidth = window.innerWidth - const windowHeight = window.innerHeight - - if ((windowWidth - clickCoordsX) < menuWidth) { - - newPosition.left = windowWidth - menuWidth + 'px' - } else { - - newPosition.left = clickCoordsX + 'px' - } - - if ((windowHeight - clickCoordsY) < menuHeight) { - - newPosition.top = windowHeight - menuHeight + 'px' - } else { - - newPosition.top = clickCoordsY + 'px' - } - - return newPosition - } - - const pos = positionMenu(eventObject) - this.contextElement.style.top = pos.top - this.contextElement.style.left = pos.left - this.contextElement.style.opacity = '1' - this.contextElement.releasePointerCapture = true - this.contextElement.classList.add('p-open') - document.getElementById('main-app').shadowRoot.querySelector('frame-paste-menu').inert = false - } - - open(eventObject) { - - this.elementId = eventObject.elementId - this.positionMenu(eventObject) - store.dispatch(doFramePasteMenuSwitch({ isOpen: true, elementId: eventObject.elementId })) - } - - close() { - this.contextElement.style.opacity = '0' - this.contextElement.classList.remove('p-open') - } - - - stateChanged(state) { - - this.framePasteMenuOpen = state.app.framePasteMenuSwitch - } -} - -window.customElements.define('frame-paste-menu', FramePasteMenu) - -const framePasteMenuNode = document.createElement('frame-paste-menu') -framePasteMenuNode.id = 'frame-paste-menu-node' -framePasteMenuNode.inert = false -framePasteMenuNode.eventObject = {} -framePasteMenuElement = document.body.appendChild(framePasteMenuNode) -setTimeout(() => { - const menuNode = document.getElementById('frame-paste-menu-node') - const mainApp = document.getElementById('main-app').shadowRoot - const shadow = mainApp - framePasteMenuElement = shadow.appendChild(menuNode) -}, 500) -export default framePasteMenuElement diff --git a/core/src/functional-components/paste-menu.js b/core/src/functional-components/paste-menu.js deleted file mode 100644 index 09dc8d2f..00000000 --- a/core/src/functional-components/paste-menu.js +++ /dev/null @@ -1,201 +0,0 @@ -import { LitElement, html, css } from 'lit' -import { connect } from 'pwa-helpers' -import { store } from '../store'; - -import { doPasteMenuSwitch } from '../redux/app/app-actions'; - - -let pasteMenuElement - -class FramePasteMenu extends connect(store)(LitElement) { - static get properties() { - return { - eventObject: { - type: Object, - attribute: 'event-object', - reflectToAttribute: true - }, - isPasteMenuOpen: { - type: Boolean - } - } - } - - constructor() { - super() - this.eventObject = {} - this.isPasteMenuOpen = false - } - - static get styles() { - return css` - .paste-context-menu{ - display: block; - opacity: 0; - position: absolute; - pointer-events: none; - padding: 5px, 0; - border: 1px solid #B2B2B2; - min-width: 150px; - max-width: 300px; - background: #F9F9F9; - border-radius: 4px; - } - - .p-open { - pointer-events: all; - opacity: 1; - z-index: 120; - } - - #items { - list-style: none; - margin: 0px; - margin-top: 4px; - padding-left: 5px; - padding-right: 5px; - padding-bottom: 3px; - font-size: 17px; - color: #333333; - } - hr { - width: 85%; - background-color: #E4E4E4; - border-color: #E4E4E4; - color: #E4E4E4; - } - li{ - padding: 3px; - padding-left:10px; - } - - #items :hover{ - color: white; - background: #6a6c75; - border-radius: 2px; - } - ` - } - - render() { - return html` -
-
    -
  • this.paste()} >Paste
  • -
-
- ` - } - - firstUpdated() { - this.contextElement = this.shadowRoot.querySelector('.paste-context-menu') - } - - paste() { - - store.dispatch(doPasteMenuSwitch(false)) - } - - positionMenu(eventObject) { - - - const getPosition = (event) => { - let posx = 0 - let posy = 0 - - if (event.pageX || event.pageY) { - - posx = event.pageX - posy = event.pageY - } else if (event.clientX || event.clientY) { - - posx = event.clientX + document.body.scrollLeft + - document.documentElement.scrollLeft - posy = event.clientY + document.body.scrollTop + - document.documentElement.scrollTop - } - - return { - x: posx, - y: posy - } - } - - const positionMenu = (event) => { - - const newPosition = { - left: '0px', - top: '0px' - } - - const clickCoords = getPosition(event) - - const clickCoordsX = clickCoords.x - const clickCoordsY = clickCoords.y - - const menuWidth = this.contextElement.offsetWidth + 4 - const menuHeight = this.contextElement.offsetHeight + 4 - - const windowWidth = window.innerWidth - const windowHeight = window.innerHeight - - if ((windowWidth - clickCoordsX) < menuWidth) { - - newPosition.left = windowWidth - menuWidth + 'px' - } else { - - newPosition.left = clickCoordsX + 'px' - } - - if ((windowHeight - clickCoordsY) < menuHeight) { - - newPosition.top = windowHeight - menuHeight + 'px' - } else { - - newPosition.top = clickCoordsY + 'px' - } - - return newPosition - } - - const pos = positionMenu(eventObject) - this.contextElement.style.top = pos.top - this.contextElement.style.left = pos.left - this.contextElement.style.opacity = '1' - this.contextElement.releasePointerCapture = true - this.contextElement.classList.add('p-open') - document.getElementById('main-app').shadowRoot.querySelector('paste-menu').inert = false - } - - open(eventObject) { - - this.positionMenu(eventObject) - store.dispatch(doPasteMenuSwitch(true)) - } - - close() { - this.contextElement.style.opacity = '0' - this.contextElement.classList.remove('p-open') - } - - - stateChanged(state) { - - this.isPasteMenuOpen = state.app.pasteMenuSwitch - } -} - -window.customElements.define('paste-menu', FramePasteMenu) - -const pasteMenuNode = document.createElement('paste-menu') -pasteMenuNode.id = 'paste-menu-node' -pasteMenuNode.inert = false -pasteMenuNode.eventObject = {} -pasteMenuElement = document.body.appendChild(pasteMenuNode) -setTimeout(() => { - const menuNode = document.getElementById('paste-menu-node') - const mainApp = document.getElementById('main-app').shadowRoot - const shadow = mainApp - pasteMenuElement = shadow.appendChild(menuNode) -}, 500) -export default pasteMenuElement From 052fbd317771d1625a3a0539d383f0139b8f5bd4 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 19 May 2023 18:20:37 +0200 Subject: [PATCH 004/112] Update dependencies --- package.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d22ddc1f..f4d8ac13 100644 --- a/package.json +++ b/package.json @@ -60,8 +60,6 @@ "@hapi/hapi": "21.3.2", "@hapi/inert": "7.1.0", "@lit-labs/motion": "1.0.3", - "@material/mwc-list": "0.27.0", - "@material/mwc-select": "0.27.0", "@tiptap/pm": "2.0.3", "@tiptap/core": "2.0.3", "@tiptap/extension-highlight": "2.0.3", @@ -73,7 +71,7 @@ }, "devDependencies": { "axios": "1.4.0", - "electron": "24.3.0", + "electron": "24.3.1", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", @@ -87,7 +85,7 @@ "passive-events-support": "1.0.33", "redux": "4.2.1", "redux-thunk": "2.4.2", - "rollup": "3.21.6", + "rollup": "3.22.0", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", @@ -140,7 +138,7 @@ "@vaadin/icons": "24.0.5", "@vaadin/password-field": "24.0.5", "@vaadin/tooltip": "24.0.5", - "@zip.js/zip.js": "2.7.13" + "@zip.js/zip.js": "2.7.14" }, "engines": { "node": ">=18.14.0" From ba06868da72e94499431c105d591f41bd51c770f Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sun, 21 May 2023 13:24:20 +0200 Subject: [PATCH 005/112] keep the correct selected menu item --- core/src/components/app-view.js | 564 +++++++++++++++++++++++++++++++- 1 file changed, 548 insertions(+), 16 deletions(-) diff --git a/core/src/components/app-view.js b/core/src/components/app-view.js index e2f69b69..25993520 100644 --- a/core/src/components/app-view.js +++ b/core/src/components/app-view.js @@ -1467,51 +1467,51 @@ class AppView extends connect(store)(LitElement) { - + - + - + - + - + - + - + - + - + - + @@ -1519,27 +1519,27 @@ class AppView extends connect(store)(LitElement) { - + - + - + - + - + @@ -1557,7 +1557,7 @@ class AppView extends connect(store)(LitElement) { const checkNodeManagement = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] if ((checkNodeManagement.enableManagement = true)) { return html` - + ` @@ -2145,9 +2145,541 @@ class AppView extends connect(store)(LitElement) { } stateChanged(state) { + const split = state.app.url.split('/') + const sideurl = split[2] this.config = state.config this.urls = state.app.registeredUrls this.addressInfo = state.app.accountInfo.addressInfo + + if (sideurl === "minting") { + this.shadowRoot.getElementById('qminter').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "become-minter") { + this.shadowRoot.getElementById('qbminter').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "sponsorship-list") { + this.shadowRoot.getElementById('qiminter').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "wallet") { + this.shadowRoot.getElementById('qwallet').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "trade-portal") { + this.shadowRoot.getElementById('qtrade').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "trade-bot-portal") { + this.shadowRoot.getElementById('qbot').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "reward-share") { + this.shadowRoot.getElementById('qrewardshare').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "q-chat") { + this.shadowRoot.getElementById('qchat').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "name-registration") { + this.shadowRoot.getElementById('qnamereg').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "names-market") { + this.shadowRoot.getElementById('qnamemarket').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "websites") { + this.shadowRoot.getElementById('qweb').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "qapps") { + this.shadowRoot.getElementById('qapp').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "group-management") { + this.shadowRoot.getElementById('qgroupmange').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "puzzles") { + this.shadowRoot.getElementById('qpuzzles').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "data-management") { + this.shadowRoot.getElementById('qdata').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnode').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnode').removeAttribute('selected') + } + } else if (sideurl === "node-management") { + this.shadowRoot.getElementById('qnode').setAttribute('selected','selected') + if (this.shadowRoot.getElementById('qminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qiminter').hasAttribute('selected')) { + this.shadowRoot.getElementById('qiminter').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qwallet').hasAttribute('selected')) { + this.shadowRoot.getElementById('qwallet').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qtrade').hasAttribute('selected')) { + this.shadowRoot.getElementById('qtrade').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qbot').hasAttribute('selected')) { + this.shadowRoot.getElementById('qbot').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qrewardshare').hasAttribute('selected')) { + this.shadowRoot.getElementById('qrewardshare').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qchat').hasAttribute('selected')) { + this.shadowRoot.getElementById('qchat').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamereg').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamereg').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qnamemarket').hasAttribute('selected')) { + this.shadowRoot.getElementById('qnamemarket').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qweb').hasAttribute('selected')) { + this.shadowRoot.getElementById('qweb').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qapp').hasAttribute('selected')) { + this.shadowRoot.getElementById('qapp').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qgroupmange').hasAttribute('selected')) { + this.shadowRoot.getElementById('qgroupmange').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qpuzzles').hasAttribute('selected')) { + this.shadowRoot.getElementById('qpuzzles').removeAttribute('selected') + } else if (this.shadowRoot.getElementById('qdata').hasAttribute('selected')) { + this.shadowRoot.getElementById('qdata').removeAttribute('selected') + } + } } openSettings() { From 201ff119860aebd4127ffc9efe66866777944818 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Mon, 22 May 2023 09:38:09 +0200 Subject: [PATCH 006/112] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3c456662..0993743c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,4 +5,4 @@ 3) Push changes to your repository 4) Push changes to parent repository (make a pull request) -As long the code change is good we will merge it. +As long as the code change is good we will merge it. From 03e1a01a2025fa764ce8469b2aa61b076d29e2ca Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Mon, 22 May 2023 09:39:47 +0200 Subject: [PATCH 007/112] Bump version 4.1.0 --- package-lock.json | 9423 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 28 +- 2 files changed, 9437 insertions(+), 14 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..0191ffa4 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,9423 @@ +{ + "name": "qortal-ui", + "version": "4.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "qortal-ui", + "version": "4.1.0", + "license": "GPL-3.0", + "dependencies": { + "@hapi/hapi": "21.3.2", + "@hapi/inert": "7.1.0", + "@lit-labs/motion": "1.0.3", + "@tiptap/core": "2.0.3", + "@tiptap/extension-highlight": "2.0.3", + "@tiptap/extension-image": "2.0.3", + "@tiptap/extension-placeholder": "2.0.3", + "@tiptap/extension-underline": "2.0.3", + "@tiptap/html": "2.0.3", + "@tiptap/pm": "2.0.3", + "@tiptap/starter-kit": "2.0.3", + "asmcrypto.js": "2.3.2", + "bcryptjs": "2.4.3", + "buffer": "6.0.3", + "compressorjs": "1.2.1", + "electron-dl": "3.5.0", + "electron-log": "4.4.8", + "electron-store": "8.1.0", + "electron-updater": "5.3.0", + "emoji-picker-js": "https://github.com/Qortal/emoji-picker-js", + "extract-zip": "2.0.1", + "jssha": "3.3.0", + "localforage": "1.10.0", + "lodash": "4.17.21", + "node-fetch": "2.6.9", + "os-locale": "3.0.0", + "prosemirror-commands": "1.5.2", + "prosemirror-dropcursor": "1.8.1", + "prosemirror-gapcursor": "1.3.2", + "prosemirror-history": "1.3.2", + "prosemirror-keymap": "1.2.2", + "prosemirror-model": "1.19.1", + "prosemirror-schema-list": "1.2.3", + "prosemirror-state": "1.4.3", + "prosemirror-transform": "1.7.2", + "prosemirror-view": "1.31.3", + "sass": "1.62.1", + "short-unique-id": "4.4.4" + }, + "devDependencies": { + "@babel/core": "7.21.8", + "@material/mwc-button": "0.27.0", + "@material/mwc-checkbox": "0.27.0", + "@material/mwc-dialog": "0.27.0", + "@material/mwc-drawer": "0.27.0", + "@material/mwc-fab": "0.27.0", + "@material/mwc-formfield": "0.27.0", + "@material/mwc-icon": "0.27.0", + "@material/mwc-icon-button": "0.27.0", + "@material/mwc-list": "0.27.0", + "@material/mwc-select": "0.27.0", + "@material/mwc-slider": "0.27.0", + "@material/mwc-snackbar": "0.27.0", + "@material/mwc-tab": "0.27.0", + "@material/mwc-tab-bar": "0.27.0", + "@material/mwc-textfield": "0.27.0", + "@polymer/app-layout": "3.1.0", + "@polymer/iron-collapse": "3.0.1", + "@polymer/iron-flex-layout": "3.0.1", + "@polymer/iron-icons": "3.0.1", + "@polymer/iron-pages": "3.0.1", + "@polymer/paper-button": "3.0.1", + "@polymer/paper-checkbox": "3.1.0", + "@polymer/paper-dialog": "3.0.1", + "@polymer/paper-dropdown-menu": "3.2.0", + "@polymer/paper-icon-button": "3.0.2", + "@polymer/paper-input": "3.2.1", + "@polymer/paper-item": "3.0.1", + "@polymer/paper-listbox": "3.0.1", + "@polymer/paper-progress": "3.0.1", + "@polymer/paper-ripple": "3.0.2", + "@polymer/paper-slider": "3.0.1", + "@polymer/paper-spinner": "3.0.2", + "@polymer/paper-toast": "3.0.1", + "@polymer/paper-tooltip": "3.0.1", + "@qortal/rollup-plugin-web-worker-loader": "1.6.4", + "@rollup/plugin-alias": "5.0.0", + "@rollup/plugin-babel": "6.0.3", + "@rollup/plugin-commonjs": "25.0.0", + "@rollup/plugin-node-resolve": "15.0.2", + "@rollup/plugin-replace": "5.0.2", + "@rollup/plugin-terser": "0.4.3", + "@vaadin/avatar": "24.0.5", + "@vaadin/button": "24.0.5", + "@vaadin/grid": "24.0.5", + "@vaadin/icons": "24.0.5", + "@vaadin/password-field": "24.0.5", + "@vaadin/tooltip": "24.0.5", + "@zip.js/zip.js": "2.7.14", + "axios": "1.4.0", + "electron": "24.3.1", + "electron-builder": "23.6.0", + "electron-packager": "17.1.1", + "epml": "0.3.3", + "file-saver": "2.0.5", + "highcharts": "10.3.3", + "html-escaper": "3.0.3", + "is-electron": "2.2.2", + "lit": "2.7.4", + "lit-translate": "2.0.1", + "passive-events-support": "1.0.33", + "pwa-helpers": "0.9.1", + "redux": "4.2.1", + "redux-thunk": "2.4.2", + "rollup": "3.23.0", + "rollup-plugin-node-globals": "1.4.0", + "rollup-plugin-progress": "1.1.2", + "rollup-plugin-scss": "3.0.0", + "shelljs": "0.8.5" + }, + "engines": { + "node": ">=18.14.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "dependencies": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "dependencies": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", + "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-simple-access": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", + "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@develar/schema-utils": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", + "dev": true, + "dependencies": { + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@electron/asar": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.4.tgz", + "integrity": "sha512-lykfY3TJRRWFeTxccEKdf1I6BLl2Plw81H0bbp4Fc5iEc67foDCa5pjJQULVgo0wF+Dli75f3xVcdb/67FFZ/g==", + "dev": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@electron/asar/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@electron/get": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz", + "integrity": "sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/@electron/notarize": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz", + "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/notarize/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.4.tgz", + "integrity": "sha512-xfhdEcIOfAZg7scZ9RQPya1G1lWo8/zMCwUXAulq0SfY7ONIW+b9qGyKdMyuMctNYwllrIS+vmxfijSfjeh97g==", + "dev": true, + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@electron/osx-sign/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/osx-sign/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/osx-sign/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/universal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.2.1.tgz", + "integrity": "sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==", + "dev": true, + "dependencies": { + "@malept/cross-spawn-promise": "^1.1.0", + "asar": "^3.1.0", + "debug": "^4.3.1", + "dir-compare": "^2.4.0", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4", + "plist": "^3.0.4" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/@electron/universal/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/universal/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.0.tgz", + "integrity": "sha512-HNii132xfomg5QVZw0HwXXpN22s7VBHQBv9CeOu9tfJnhsWQNd2lmTNi8CSrnw5B+5YOmzu1UoPAyxaXsJ6RgQ==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.0.tgz", + "integrity": "sha512-Bertv8xOiVELz5raB2FlXDPKt+m94MQ3JgDfsVbrqNpLU9+UE2E18GKjLKw+d3XbeYPqg1pzyQKGsrzbw+pPaw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.0.tgz", + "integrity": "sha512-ZfycI7D0KWPZtf7wtMFnQxs8qjBXArRzczABuMQqecA/nXohquJ5J/RCR77PmY5qGWkxAZDxpnUFVXKwtY/jPw==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", + "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@hapi/accept": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@hapi/accept/-/accept-6.0.1.tgz", + "integrity": "sha512-aLkYj7zzgC3CSlEVOs84eBOEE3i9xZK2tdQEP+TOj2OFzMWCi9zjkRet82V3GGjecE//zFrCLKIykuaE0uM4bg==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/ammo": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@hapi/ammo/-/ammo-6.0.1.tgz", + "integrity": "sha512-pmL+nPod4g58kXrMcsGLp05O2jF4P2Q3GiL8qYV7nKYEh3cGf+rV4P5Jyi2Uq0agGhVU63GtaSAfBEZOlrJn9w==", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/b64": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@hapi/b64/-/b64-6.0.1.tgz", + "integrity": "sha512-ZvjX4JQReUmBheeCq+S9YavcnMMHWqx3S0jHNXWIM1kQDxB9cyfSycpVvjfrKcIS8Mh5N3hmu/YKo4Iag9g2Kw==", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/boom": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@hapi/boom/-/boom-10.0.1.tgz", + "integrity": "sha512-ERcCZaEjdH3OgSJlyjVk8pHIFeus91CjKP3v+MpgBNp5IvGzP2l/bRiD78nqYcKPaZdbKkK5vDBVPd2ohHBlsA==", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/bounce": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@hapi/bounce/-/bounce-3.0.1.tgz", + "integrity": "sha512-G+/Pp9c1Ha4FDP+3Sy/Xwg2O4Ahaw3lIZFSX+BL4uWi64CmiETuZPxhKDUD4xBMOUZbBlzvO8HjiK8ePnhBadA==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/bourne": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-3.0.0.tgz", + "integrity": "sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==" + }, + "node_modules/@hapi/call": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@hapi/call/-/call-9.0.1.tgz", + "integrity": "sha512-uPojQRqEL1GRZR4xXPqcLMujQGaEpyVPRyBlD8Pp5rqgIwLhtveF9PkixiKru2THXvuN8mUrLeet5fqxKAAMGg==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/catbox": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@hapi/catbox/-/catbox-12.1.1.tgz", + "integrity": "sha512-hDqYB1J+R0HtZg4iPH3LEnldoaBsar6bYp0EonBmNQ9t5CO+1CqgCul2ZtFveW1ReA5SQuze9GPSU7/aecERhw==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/hoek": "^11.0.2", + "@hapi/podium": "^5.0.0", + "@hapi/validate": "^2.0.1" + } + }, + "node_modules/@hapi/catbox-memory": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@hapi/catbox-memory/-/catbox-memory-6.0.1.tgz", + "integrity": "sha512-sVb+/ZxbZIvaMtJfAbdyY+QJUQg9oKTwamXpEg/5xnfG5WbJLTjvEn4kIGKz9pN3ENNbIL/bIdctmHmqi/AdGA==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/content": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@hapi/content/-/content-6.0.0.tgz", + "integrity": "sha512-CEhs7j+H0iQffKfe5Htdak5LBOz/Qc8TRh51cF+BFv0qnuph3Em4pjGVzJMkI2gfTDdlJKWJISGWS1rK34POGA==", + "dependencies": { + "@hapi/boom": "^10.0.0" + } + }, + "node_modules/@hapi/cryptiles": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@hapi/cryptiles/-/cryptiles-6.0.1.tgz", + "integrity": "sha512-9GM9ECEHfR8lk5ASOKG4+4ZsEzFqLfhiryIJ2ISePVB92OHLp/yne4m+zn7z9dgvM98TLpiFebjDFQ0UHcqxXQ==", + "dependencies": { + "@hapi/boom": "^10.0.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/file": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@hapi/file/-/file-3.0.0.tgz", + "integrity": "sha512-w+lKW+yRrLhJu620jT3y+5g2mHqnKfepreykvdOcl9/6up8GrQQn+l3FRTsjHTKbkbfQFkuksHpdv2EcpKcJ4Q==" + }, + "node_modules/@hapi/hapi": { + "version": "21.3.2", + "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.2.tgz", + "integrity": "sha512-tbm0zmsdUj8iw4NzFV30FST/W4qzh/Lsw6Q5o5gAhOuoirWvxm8a4G3o60bqBw8nXvRNJ8uLtE0RKLlZINxHcQ==", + "dependencies": { + "@hapi/accept": "^6.0.1", + "@hapi/ammo": "^6.0.1", + "@hapi/boom": "^10.0.1", + "@hapi/bounce": "^3.0.1", + "@hapi/call": "^9.0.1", + "@hapi/catbox": "^12.1.1", + "@hapi/catbox-memory": "^6.0.1", + "@hapi/heavy": "^8.0.1", + "@hapi/hoek": "^11.0.2", + "@hapi/mimos": "^7.0.1", + "@hapi/podium": "^5.0.1", + "@hapi/shot": "^6.0.1", + "@hapi/somever": "^4.1.1", + "@hapi/statehood": "^8.1.1", + "@hapi/subtext": "^8.1.0", + "@hapi/teamwork": "^6.0.0", + "@hapi/topo": "^6.0.1", + "@hapi/validate": "^2.0.1" + }, + "engines": { + "node": ">=14.15.0" + } + }, + "node_modules/@hapi/heavy": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@hapi/heavy/-/heavy-8.0.1.tgz", + "integrity": "sha512-gBD/NANosNCOp6RsYTsjo2vhr5eYA3BEuogk6cxY0QdhllkkTaJFYtTXv46xd6qhBVMbMMqcSdtqey+UQU3//w==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/hoek": "^11.0.2", + "@hapi/validate": "^2.0.1" + } + }, + "node_modules/@hapi/hoek": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-11.0.2.tgz", + "integrity": "sha512-aKmlCO57XFZ26wso4rJsW4oTUnrgTFw2jh3io7CAtO9w4UltBNwRXvXIVzzyfkaaLRo3nluP/19msA8vDUUuKw==" + }, + "node_modules/@hapi/inert": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@hapi/inert/-/inert-7.1.0.tgz", + "integrity": "sha512-5X+cl/Ozm0U9uPGGX1dSKhnhTQIf161bH/kkTN9OBVAZKFG+nrj8j/NMj6S1zBBZWmQrkVRNPfCUGrXzB4fCFQ==", + "dependencies": { + "@hapi/ammo": "^6.0.1", + "@hapi/boom": "^10.0.1", + "@hapi/bounce": "^3.0.1", + "@hapi/hoek": "^11.0.2", + "@hapi/validate": "^2.0.1", + "lru-cache": "^7.14.1" + } + }, + "node_modules/@hapi/inert/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@hapi/iron": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@hapi/iron/-/iron-7.0.1.tgz", + "integrity": "sha512-tEZnrOujKpS6jLKliyWBl3A9PaE+ppuL/+gkbyPPDb/l2KSKQyH4lhMkVb+sBhwN+qaxxlig01JRqB8dk/mPxQ==", + "dependencies": { + "@hapi/b64": "^6.0.1", + "@hapi/boom": "^10.0.1", + "@hapi/bourne": "^3.0.0", + "@hapi/cryptiles": "^6.0.1", + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/mimos": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@hapi/mimos/-/mimos-7.0.1.tgz", + "integrity": "sha512-b79V+BrG0gJ9zcRx1VGcCI6r6GEzzZUgiGEJVoq5gwzuB2Ig9Cax8dUuBauQCFKvl2YWSWyOc8mZ8HDaJOtkew==", + "dependencies": { + "@hapi/hoek": "^11.0.2", + "mime-db": "^1.52.0" + } + }, + "node_modules/@hapi/nigel": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@hapi/nigel/-/nigel-5.0.1.tgz", + "integrity": "sha512-uv3dtYuB4IsNaha+tigWmN8mQw/O9Qzl5U26Gm4ZcJVtDdB1AVJOwX3X5wOX+A07qzpEZnOMBAm8jjSqGsU6Nw==", + "dependencies": { + "@hapi/hoek": "^11.0.2", + "@hapi/vise": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/pez": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@hapi/pez/-/pez-6.1.0.tgz", + "integrity": "sha512-+FE3sFPYuXCpuVeHQ/Qag1b45clR2o54QoonE/gKHv9gukxQ8oJJZPR7o3/ydDTK6racnCJXxOyT1T93FCJMIg==", + "dependencies": { + "@hapi/b64": "^6.0.1", + "@hapi/boom": "^10.0.1", + "@hapi/content": "^6.0.0", + "@hapi/hoek": "^11.0.2", + "@hapi/nigel": "^5.0.1" + } + }, + "node_modules/@hapi/podium": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@hapi/podium/-/podium-5.0.1.tgz", + "integrity": "sha512-eznFTw6rdBhAijXFIlBOMJJd+lXTvqbrBIS4Iu80r2KTVIo4g+7fLy4NKp/8+UnSt5Ox6mJtAlKBU/Sf5080TQ==", + "dependencies": { + "@hapi/hoek": "^11.0.2", + "@hapi/teamwork": "^6.0.0", + "@hapi/validate": "^2.0.1" + } + }, + "node_modules/@hapi/shot": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@hapi/shot/-/shot-6.0.1.tgz", + "integrity": "sha512-s5ynMKZXYoDd3dqPw5YTvOR/vjHvMTxc388+0qL0jZZP1+uwXuUD32o9DuuuLsmTlyXCWi02BJl1pBpwRuUrNA==", + "dependencies": { + "@hapi/hoek": "^11.0.2", + "@hapi/validate": "^2.0.1" + } + }, + "node_modules/@hapi/somever": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@hapi/somever/-/somever-4.1.1.tgz", + "integrity": "sha512-lt3QQiDDOVRatS0ionFDNrDIv4eXz58IibQaZQDOg4DqqdNme8oa0iPWcE0+hkq/KTeBCPtEOjDOBKBKwDumVg==", + "dependencies": { + "@hapi/bounce": "^3.0.1", + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/statehood": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@hapi/statehood/-/statehood-8.1.1.tgz", + "integrity": "sha512-YbK7PSVUA59NArAW5Np0tKRoIZ5VNYUicOk7uJmWZF6XyH5gGL+k62w77SIJb0AoAJ0QdGQMCQ/WOGL1S3Ydow==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/bounce": "^3.0.1", + "@hapi/bourne": "^3.0.0", + "@hapi/cryptiles": "^6.0.1", + "@hapi/hoek": "^11.0.2", + "@hapi/iron": "^7.0.1", + "@hapi/validate": "^2.0.1" + } + }, + "node_modules/@hapi/subtext": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@hapi/subtext/-/subtext-8.1.0.tgz", + "integrity": "sha512-PyaN4oSMtqPjjVxLny1k0iYg4+fwGusIhaom9B2StinBclHs7v46mIW706Y+Wo21lcgulGyXbQrmT/w4dus6ww==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/bourne": "^3.0.0", + "@hapi/content": "^6.0.0", + "@hapi/file": "^3.0.0", + "@hapi/hoek": "^11.0.2", + "@hapi/pez": "^6.1.0", + "@hapi/wreck": "^18.0.1" + } + }, + "node_modules/@hapi/teamwork": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@hapi/teamwork/-/teamwork-6.0.0.tgz", + "integrity": "sha512-05HumSy3LWfXpmJ9cr6HzwhAavrHkJ1ZRCmNE2qJMihdM5YcWreWPfyN0yKT2ZjCM92au3ZkuodjBxOibxM67A==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@hapi/topo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-6.0.2.tgz", + "integrity": "sha512-KR3rD5inZbGMrHmgPxsJ9dbi6zEK+C3ZwUwTa+eMwWLz7oijWUTWD2pMSNNYJAU6Qq+65NkxXjqHr/7LM2Xkqg==", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/validate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@hapi/validate/-/validate-2.0.1.tgz", + "integrity": "sha512-NZmXRnrSLK8MQ9y/CMqE9WSspgB9xA41/LlYR0k967aSZebWr4yNrpxIbov12ICwKy4APSlWXZga9jN5p6puPA==", + "dependencies": { + "@hapi/hoek": "^11.0.2", + "@hapi/topo": "^6.0.1" + } + }, + "node_modules/@hapi/vise": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@hapi/vise/-/vise-5.0.1.tgz", + "integrity": "sha512-XZYWzzRtINQLedPYlIkSkUr7m5Ddwlu99V9elh8CSygXstfv3UnWIXT0QD+wmR0VAG34d2Vx3olqcEhRRoTu9A==", + "dependencies": { + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@hapi/wreck": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@hapi/wreck/-/wreck-18.0.1.tgz", + "integrity": "sha512-OLHER70+rZxvDl75xq3xXOfd3e8XIvz8fWY0dqg92UvhZ29zo24vQgfqgHSYhB5ZiuFpSLeriOisAlxAo/1jWg==", + "dependencies": { + "@hapi/boom": "^10.0.1", + "@hapi/bourne": "^3.0.0", + "@hapi/hoek": "^11.0.2" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@linaria/core": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/@linaria/core/-/core-4.2.9.tgz", + "integrity": "sha512-ELcu37VNVOT/PU0L6WDIN+aLzNFyJrqoBYT0CucGOCAmODbojUMCv8oJYRbWzA3N34w1t199dN4UFdfRWFG2rg==", + "dependencies": { + "@linaria/logger": "^4.0.0", + "@linaria/tags": "^4.3.4", + "@linaria/utils": "^4.3.3" + }, + "engines": { + "node": "^12.16.0 || >=13.7.0" + } + }, + "node_modules/@linaria/logger": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@linaria/logger/-/logger-4.0.0.tgz", + "integrity": "sha512-YnBq0JlDWMEkTOK+tMo5yEVR0f5V//6qMLToGcLhTyM9g9i+IDFn51Z+5q2hLk7RdG4NBPgbcCXYi2w4RKsPeg==", + "dependencies": { + "debug": "^4.1.1", + "picocolors": "^1.0.0" + }, + "engines": { + "node": "^12.16.0 || >=13.7.0" + } + }, + "node_modules/@linaria/tags": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/@linaria/tags/-/tags-4.3.5.tgz", + "integrity": "sha512-PgaIi8Vv89YOjc6rpKL/uPg2w4k0rAwAYxcqeXqzKqsEAste5rgB8xp1/KUOG0oAOkPd3MRL6Duj+m0ZwJ3g+g==", + "dependencies": { + "@babel/generator": "^7.20.4", + "@linaria/logger": "^4.0.0", + "@linaria/utils": "^4.3.4" + }, + "engines": { + "node": "^12.16.0 || >=13.7.0" + } + }, + "node_modules/@linaria/utils": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@linaria/utils/-/utils-4.3.4.tgz", + "integrity": "sha512-vt6WJG54n+KANaqxOfzIIU7aSfFHEWFbnGLsgxL7nASHqO0zezrNA2y2Rrp80zSeTW+wSpbmDM4uJyC9UW1qoA==", + "dependencies": { + "@babel/core": "^7.20.2", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2", + "@linaria/logger": "^4.0.0", + "babel-merge": "^3.0.0" + }, + "engines": { + "node": "^12.16.0 || >=13.7.0" + } + }, + "node_modules/@lit-labs/motion": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@lit-labs/motion/-/motion-1.0.3.tgz", + "integrity": "sha512-y62SxlUTeFtoQTS8/KqAnOnOTdm0FpB23PgFFc99lPj9T5Gg0uktzRmmmqxPaGoNeRg2cLcPpbvK8iEo8CWMoQ==", + "dependencies": { + "lit": "^2.0.0" + } + }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", + "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" + }, + "node_modules/@lit/reactive-element": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz", + "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "node_modules/@malept/cross-spawn-promise": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz", + "integrity": "sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@malept/flatpak-bundler": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", + "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "tmp-promise": "^3.0.2" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@malept/flatpak-bundler/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@material/animation": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-GBuR4VmcTQW1D0lPXEosf5Giho72LLbyGIydWGtaEUtLJoive/D9kFkwTN4Fsyt9Kkl7hbhs35vrNe6QkAH4/Q==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-UJKbXwZtkrA3sfQDmj8Zbw1Q3Tqtl6KdfVFws95Yf7TCUgTFzbZI/FSx1w7dVugQPOEnIBuZnzqZam/MtHkx4w==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-IPBAByKpQjrWNVmAWx5VCTCLnOw4ymbLsbHmBkLiDgcLPs1EtwYnKKIwQ+/t3bV02OShUdMiyboL8V/C0gMS1A==", + "dev": true, + "dependencies": { + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/focus-ring": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/tokens": "14.0.0-canary.53b3cad2f.0", + "@material/touch-target": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-Eh/vZ3vVyqtpylg5Ci33qlgtToS4H1/ppd450Ib3tcdISIoodgijYY0w4XsRvrnZgbI/h/1STFdLxdzS0UNuFw==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-yiG2nlVKTW0Ro3CF8Z/MVpTwSyG/8Kio3AaTUbeQdbjt5r692s4x5Yhd8m1IjEQKUeulY4CndvIbCUwZ8/G2PA==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/button": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/icon-button": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/tokens": "14.0.0-canary.53b3cad2f.0", + "@material/touch-target": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-aR+rfncF6oi2ivdOlKSJI4UXwNzWV5rXM88MLDoSJF1D7lXxhAKhge+tMUBodWGV/q0+FnXLuVAa0WYTrKjo+A==", + "dev": true, + "dependencies": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-MXzRGq7NoONgbHa+AhAu4HvOUA9V37nSsY4g4Alita08UqRAvvFFr4K1CF9GI2K9pLCpyQv1UbN0Lw5b78HrVQ==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/list": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-3h+EkR588RMZ5TSNQ4UeXD1FOBnL3ABQix0DQIGwtNJCqSMoPndT/oJEFvwQbTkZNDbFIKN9p1Q7/KuFPVY8Pw==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-fn7Af3PRyARtNeYqtjxXmE3Y/dCpnpQVWWys57MqiGR/nvc6qpgOfJ6rOdcu/MrOysOE/oebTUDmDnTmwpe9Hw==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-gHZUTTVKnP+Zjz4l9IT/G89NPmypn5FlTGLWKKqXbuQphr37rsKFR3Y80SJxULRyMDnAdKSxuZwiXLFKQz9KlA==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-exPX5VrjQimipBwgcFDGRiEE783sOBgpkFui59A6i6iGvS2UrLHlYY2E65fyyyQnD1f/rv4Po1OOnCesE1kulg==", + "dev": true, + "dependencies": { + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0" + } + }, + "node_modules/@material/form-field": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-h9jFm9f5WeMHJWGpQsZ9sPrERLGcDQdW8uvbHAHZ/zN35Mqj43s8+alXROiibx+m1oHLvf2Z01pPWtFSXLYzxA==", + "dev": true, + "dependencies": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-BFdj3CP0JXHC/F2bDmpmzWhum4fkzIDgCCavvnpE/KcCbr0AaoSULRde+LtqvbdLIYW20cXhvjinIOlRhSOshA==", + "dev": true, + "dependencies": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/focus-ring": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/touch-target": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-k8f8uuDwnSqZZ98CzbYtQVtxlp1ryUup9nd2uobo3kiqQNlQfXdGkVjuCXcla0OPiKFizNn7dS6Kl/j6L09XUA==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-mkMpltSKAYLBtFnTTCk/mQIDzwxF/VLh1gh59ehOtmRXt7FvTz83RoAa4tqe53hpVrbX4HoLDBu+vILhq/wkjw==", + "dev": true, + "dependencies": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-MmYKVrMIqOtP3TN4vdrrnQrS8P81+tMaA6bKiT9V79R1U6+mKsBYTzaLtLbzyem5vF8O0q7bSwyPwhWPtJr75Q==", + "dev": true, + "dependencies": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/list": "14.0.0-canary.53b3cad2f.0", + "@material/menu-surface": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-IQWb/n15FpLnn+kHp0EqzLE+UoWSPumq3eze2QifiowvGb37bNFR9oSe7CaOzPMrHdkrZ5SBWnDU41wPZN5kOg==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/mwc-base": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-base/-/mwc-base-0.27.0.tgz", + "integrity": "sha512-oCWWtjbyQ52AaUbzINLGBKScIPyqhps2Y7c8t6Gu6fcFeDxhKXMV1Cqvtj/OMhtAt53XjHfD2XruWwYv3cYYUA==", + "dev": true, + "dependencies": { + "@material/base": "=14.0.0-canary.53b3cad2f.0", + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-button": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-button/-/mwc-button-0.27.0.tgz", + "integrity": "sha512-t5m2zfE93RNKHMjdsU67X6csFzuSG08VJKKvXVQ+BriGE3xBgzY5nZdmZXomFpaWjDENPAlyS4ppCFm6o+DILw==", + "dev": true, + "dependencies": { + "@material/mwc-icon": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-checkbox": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-checkbox/-/mwc-checkbox-0.27.0.tgz", + "integrity": "sha512-EY0iYZLwo8qaqMwR5da4fdn0xI0BZNAvKTcwoubYWpDDHlGxDcqwvjp/40ChGo3Q/zv8/4/A0Qp7cwapI82EkA==", + "dev": true, + "dependencies": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-dialog": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-dialog/-/mwc-dialog-0.27.0.tgz", + "integrity": "sha512-rkOEmCroVs0wBQbj87vH79SvSHHZ61QRCTUYsU2rHGZCvdzlmvHjWdoyKjJER6WwwM3rrT8xthfecmjICI28CA==", + "dev": true, + "dependencies": { + "@material/dialog": "=14.0.0-canary.53b3cad2f.0", + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-button": "^0.27.0", + "blocking-elements": "^0.1.0", + "lit": "^2.0.0", + "tslib": "^2.0.1", + "wicg-inert": "^3.0.0" + } + }, + "node_modules/@material/mwc-drawer": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-drawer/-/mwc-drawer-0.27.0.tgz", + "integrity": "sha512-dy/uwt+aI5aiUDqFcT6Z4GhGmLZR7fu3HMkfqtQDwoJShxnf5hHwk18fiD1VHHCDf9CZ5wjl7ug4fjpcs9r18A==", + "dev": true, + "dependencies": { + "@material/drawer": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "blocking-elements": "^0.1.0", + "lit": "^2.0.0", + "tslib": "^2.0.1", + "wicg-inert": "^3.0.0" + } + }, + "node_modules/@material/mwc-fab": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-fab/-/mwc-fab-0.27.0.tgz", + "integrity": "sha512-7XUxeO14etuXe0FQdB1Y6bg8TilbQKX/NGi9b0O6D0hkcY3Y0Vk2xyoAvQArbHRz3hGfiH1cS7FaJGRSilWcjg==", + "dev": true, + "dependencies": { + "@material/mwc-ripple": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-floating-label": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-floating-label/-/mwc-floating-label-0.27.0.tgz", + "integrity": "sha512-uLleloTxQ6dDShcZzqgqfC8otQY8DtGMO9HFQbAEncoFAWpAehcEonsuT/IUhMORN+c5un0P5WXwcZsInJb7og==", + "dev": true, + "dependencies": { + "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-formfield": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-formfield/-/mwc-formfield-0.27.0.tgz", + "integrity": "sha512-XGZtC1MTyGQ8b2osnaygGzS3qe2QvlWfXZepcFs9i6MW+b6VimQQ4c/KsKIF7dHmeY6N0o4k9pAZ086EGesXOQ==", + "dev": true, + "dependencies": { + "@material/form-field": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-icon": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-icon/-/mwc-icon-0.27.0.tgz", + "integrity": "sha512-Sul44I37M9Ewynn0A9DjkEBrmll2VtNbth6Pxj7I1A/EAwEfaCrPvryyGqfIu1T2hTsRcaojzQx6QjF+B5QW9A==", + "dev": true, + "dependencies": { + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-icon-button": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-icon-button/-/mwc-icon-button-0.27.0.tgz", + "integrity": "sha512-wReiPa1UkLaCSPtpkAs1OGKEBtvqPnz9kzuY+RvN5ZQnpo3Uh7n3plHV4y/stsUBfrWtBCcOgYnCdNRaR/r2nQ==", + "dev": true, + "dependencies": { + "@material/mwc-ripple": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-line-ripple": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-line-ripple/-/mwc-line-ripple-0.27.0.tgz", + "integrity": "sha512-n9Xpt5g3RJEl9rvk14OP6dUNJUtsJA46beTQiep7ppO7IPVFLC1v/5sPpUzfNPUBsclSPxdBuNlCxsgcIYueUw==", + "dev": true, + "dependencies": { + "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-list": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-list/-/mwc-list-0.27.0.tgz", + "integrity": "sha512-oAhNQsBuAOgF3ENOIY8PeWjXsl35HoYaUkl0ixBQk8jJP2HIEf+MdbS5688y/UXxFbSjr0m//LfwR5gauEashg==", + "dev": true, + "dependencies": { + "@material/base": "=14.0.0-canary.53b3cad2f.0", + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/list": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-checkbox": "^0.27.0", + "@material/mwc-radio": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-menu": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-menu/-/mwc-menu-0.27.0.tgz", + "integrity": "sha512-K+L/t267ZGrlhjK/iSKUVZQKRMkWELArKVglfS5of93ALP4in0RGnj1sOG2u3IFI2F/mEZxRi+wr7HgNxpe0wA==", + "dev": true, + "dependencies": { + "@material/menu": "=14.0.0-canary.53b3cad2f.0", + "@material/menu-surface": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-list": "^0.27.0", + "@material/shape": "=14.0.0-canary.53b3cad2f.0", + "@material/theme": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-notched-outline": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-notched-outline/-/mwc-notched-outline-0.27.0.tgz", + "integrity": "sha512-IlqfQVaEd1RAHqhOG0Xk5JhTDgBe/P9og0pnACglK6bPE0vUhYKwibJiHcr4ACTPtGWHO9o92aktR+7AIEAKtQ==", + "dev": true, + "dependencies": { + "@material/mwc-base": "^0.27.0", + "@material/notched-outline": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-radio": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-radio/-/mwc-radio-0.27.0.tgz", + "integrity": "sha512-+rSO9a373BgyMgQOM0Z8vVkuieobBylPJ8qpltytM+yGPj8+n+MtwRZyg+ry3WwEjYYDMP6GxZPHwLgWs6lMpQ==", + "dev": true, + "dependencies": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "@material/radio": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-ripple": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-ripple/-/mwc-ripple-0.27.0.tgz", + "integrity": "sha512-by0O8d8g3Rd96/sUB8hxy6MrDx1QTstqOsA64vqypWd526hMTBGRik08jTNap5sVIyrN9Vq17jb4NJLWQLnNHQ==", + "dev": true, + "dependencies": { + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/ripple": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-select": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-select/-/mwc-select-0.27.0.tgz", + "integrity": "sha512-LTr2nl7gAYq8ung4eWfUz24mey4/K9vAlqJBo/uu6w0122C9X64szBS9kHAb87aD1oxLkxAJCDuv/wwlXV1i2w==", + "dev": true, + "dependencies": { + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", + "@material/list": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-floating-label": "^0.27.0", + "@material/mwc-icon": "^0.27.0", + "@material/mwc-line-ripple": "^0.27.0", + "@material/mwc-list": "^0.27.0", + "@material/mwc-menu": "^0.27.0", + "@material/mwc-notched-outline": "^0.27.0", + "@material/select": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-slider": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-slider/-/mwc-slider-0.27.0.tgz", + "integrity": "sha512-lYkxu1vKisV912dkmetkqs/YlS24fULGqKyxPGKC8zlmdN10ZsvpmC6CRIhtHoJeST0JAKunKWdEswTW3pTPaA==", + "dev": true, + "dependencies": { + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "@material/slider": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-snackbar": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-snackbar/-/mwc-snackbar-0.27.0.tgz", + "integrity": "sha512-D9xhae4MiUwhHJxXaNzucmOutXVS/02CVnuCpzV2uDCLnY4oTaiZNDa+YBxheZnNKTTSm5yrshOnsRIQO6hgPw==", + "dev": true, + "dependencies": { + "@material/mwc-base": "^0.27.0", + "@material/snackbar": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-tab": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-tab/-/mwc-tab-0.27.0.tgz", + "integrity": "sha512-BhX6hZYjPL+d3Gcl6rVHNPiEAudgMHA+7mHo2keqbIiFRLKa2CU+omHZO/82+EBan/TPL6ZK39Oki8aIaAJcRQ==", + "dev": true, + "dependencies": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "@material/mwc-tab-indicator": "^0.27.0", + "@material/tab": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-tab-bar": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-tab-bar/-/mwc-tab-bar-0.27.0.tgz", + "integrity": "sha512-CqRZ38m8kOfSJo87Ek61eubO8AGR10Dp12c3pCyyy6mtK/0FSY+rfcmnMPxEzkxREqUnQPgw9lhqmGZXBSqzZQ==", + "dev": true, + "dependencies": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-tab": "^0.27.0", + "@material/mwc-tab-scroller": "^0.27.0", + "@material/tab": "=14.0.0-canary.53b3cad2f.0", + "@material/tab-bar": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-tab-indicator": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-tab-indicator/-/mwc-tab-indicator-0.27.0.tgz", + "integrity": "sha512-bdE5mYP2ze/8d8cGTTJUS0+ByzEK5tmWsXfphFr/Dyy9b+gOnIOt1iX8tmKTOpbYKsV43LxtSkumhTTPDXEJLg==", + "dev": true, + "dependencies": { + "@material/mwc-base": "^0.27.0", + "@material/tab-indicator": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-tab-scroller": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-tab-scroller/-/mwc-tab-scroller-0.27.0.tgz", + "integrity": "sha512-WL/CYVx1cHjC1a/STIB/BaBfxGz3Rz4szNNX35FkYzm6GSGxUNkXZfKOAK7R8RdZOAETa8Gy5tTEhKZKKJ/aUA==", + "dev": true, + "dependencies": { + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/tab-scroller": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/mwc-textfield": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-textfield/-/mwc-textfield-0.27.0.tgz", + "integrity": "sha512-4/OEeEVAWWQ1DzpjeMLYLsa9HMlifOPjAvi0681Yj1g/RYJs5ONZS80HZ8HOT+efAOlZDugshgM4gdNS3I0XFQ==", + "dev": true, + "dependencies": { + "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-floating-label": "^0.27.0", + "@material/mwc-line-ripple": "^0.27.0", + "@material/mwc-notched-outline": "^0.27.0", + "@material/textfield": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "node_modules/@material/notched-outline": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-3ByiPOC/wWQmFKfgJS98kb5/6v92n7uIfJ6v6sryKJlJCJn39qfpGcCM5RpRIws1RET1s1zBJT2JDwYeu/hM5A==", + "dev": true, + "dependencies": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-V/AgWEOuHFoh9d4Gq1rqBZnKSGtMLQNh23Bwrv0c1FhPqFvUpwt9jR3SVwhJk5gvQQWGy9p3iiGc9QCJ+0+P8Q==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/focus-ring": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/touch-target": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-6g2G62vd8DsMuIUSXlRrzb98qkZ4o8ZREknNwNP2zaLQEOkJ//4j9HaqDt98/3LIjUTY9UIVFTQENiMmlwKHYQ==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-f08LT0HSa0WYU+4Jz/tbm1TQ9Fcf2k+H6dPPYv0J1sZmX6hMgCEmNiUdUFLQFvszoXx2XrRi1/hIFjbz2e69Yg==", + "dev": true, + "dependencies": { + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-fAiTaHZ1PIEmCUbufS+IZvsWO0hDxtbU8rOsbmSu1oupAboP7jSgOVgcCGdT9KY5WacrniIIMO6jZjhnvrC0Lg==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "14.0.0-canary.53b3cad2f.0", + "@material/list": "14.0.0-canary.53b3cad2f.0", + "@material/menu": "14.0.0-canary.53b3cad2f.0", + "@material/menu-surface": "14.0.0-canary.53b3cad2f.0", + "@material/notched-outline": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/tokens": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-RyjInLCNe+nI/ulKea0ZLHphXQDiDqYazS25SRn18g8Hoa5qGNaY5oOBncDXUYn3jm5oI5kFc9oif//kulkbjg==", + "dev": true, + "dependencies": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-vsKgzDrIZh098zy3+zuxZaBvlbfVCbr/4H5a9cPhnUN947+RgqGWnPYgTozVQbFvFfN2pDi1aHOssUaayOUKvw==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-E/i+o7Q8Jp4UW7UBTslqlFeSxgyU7XE86CoYuq2g+ySSWTt8b16ug8EJTQvuk4DRdDO3tjQN1sN0R77Av6txSw==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/button": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/icon-button": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-Vmjugm9TBF906pNE2kORSDcMUYXQXV+uspFdbyoSH3hVOTjX+Bw+ODL9agW+pDsJRqGMLO/BAoZ0YQDCrCNX/A==", + "dev": true, + "dependencies": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/focus-ring": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/tab-indicator": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-qLTxl0SWwSpsWBV5o7fMO4HaA3NSCTroM+qkUJYNq7lumMXxax8XP6+GvgbXXfsF1K6VqwSPJHnFt5g1kvtBOA==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/tab": "14.0.0-canary.53b3cad2f.0", + "@material/tab-indicator": "14.0.0-canary.53b3cad2f.0", + "@material/tab-scroller": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-CMh5MuQamk10oYs0NpQwJ+JLPcY+WftU1b2NpAxbke+6yaV0XrcEkymSfHDkMB5itDvtpXR4fe2Yw9wO8gvcgg==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-eJJWfNDSdjrRVNHkSecblN26PtM8rTeK2FqcZh3iCYRZ74ywhKmHF+elrM2KRH8ez+u/YcZoQacgS8rX3v6ygw==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/tab": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-Pla9Tr94Is18o97E/mqHKdkR24rPES9atGm3BlXrNzyr5tu6+h++RBbxy7V6IExcfl0MX+v9Gyqz7sPZzFtwMA==", + "dev": true, + "dependencies": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "14.0.0-canary.53b3cad2f.0", + "@material/notched-outline": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/tokens": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-S06XAevDCDWMe+GgsEpITMS07imUidzadNaTbJsqssFajBLr53QWVZsG84BpjXKXoYvyEJvb0hX5U0lq6ip9UQ==", + "dev": true, + "dependencies": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-myHFB7vac8zErA3qgkqmV+kpE+i9JEwc/6Yf0MOumDSpylJGw28QikpNC6eAVBK2EmPQTaFn20mqUxyud8dGqw==", + "dev": true, + "dependencies": { + "@material/elevation": "14.0.0-canary.53b3cad2f.0" + } + }, + "node_modules/@material/touch-target": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-d83e5vbqoLyL542yOTTp4TLVltddWiqbI/j1w/D9ipE30YKfe2EDN+CNJc32Zufh5IUfK41DsZdrN8fI9cL99A==", + "dev": true, + "dependencies": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-9J0k2fq7uyHsRzRqJDJLGmg3YzRpfRPtFDVeUH/xBcYoqpZE7wYw5Mb7s/l8eP626EtR7HhXhSPjvRTLA6NIJg==", + "dev": true, + "dependencies": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@open-wc/dedupe-mixin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@open-wc/dedupe-mixin/-/dedupe-mixin-1.3.1.tgz", + "integrity": "sha512-ukowSvzpZQDUH0Y3znJTsY88HkiGk3Khc0WGpIPhap1xlerieYi27QBg6wx/nTurpWfU6XXXsx9ocxDYCdtw0Q==", + "dev": true + }, + "node_modules/@polymer/app-layout": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/app-layout/-/app-layout-3.1.0.tgz", + "integrity": "sha512-+jf5/TtUDj/la9Vi59ooGNjnTN8JTkyIUK8gxAms0N3MmyeqrmcNLlJKDVyE6IIGKz0WfFeGKqKtmtTLHrZIlg==", + "dev": true, + "dependencies": { + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-media-query": "^3.0.0-pre.26", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/iron-scroll-target-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/font-roboto": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/font-roboto/-/font-roboto-3.0.2.tgz", + "integrity": "sha512-tx5TauYSmzsIvmSqepUPDYbs4/Ejz2XbZ1IkD7JEGqkdNUJlh+9KU85G56Tfdk/xjEZ8zorFfN09OSwiMrIQWA==", + "dev": true + }, + "node_modules/@polymer/iron-a11y-announcer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.2.0.tgz", + "integrity": "sha512-We+hyaFHcg7Ke8ovsoxUpYEXFIJLHxMCDaLehTB4dELS+C+K0zMnGSiqQvb/YzGS+nSYpAfkQIyg1msOCdHMtA==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-a11y-keys-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.1.tgz", + "integrity": "sha512-lnrjKq3ysbBPT/74l0Fj0U9H9C35Tpw2C/tpJ8a+5g8Y3YJs1WSZYnEl1yOkw6sEyaxOq/1DkzH0+60gGu5/PQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-autogrow-textarea": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-autogrow-textarea/-/iron-autogrow-textarea-3.0.3.tgz", + "integrity": "sha512-5r0VkWrIlm0JIp5E5wlnvkw7slK72lFRZXncmrsLZF+6n1dg2rI8jt7xpFzSmUWrqpcyXwyKaGaDvUjl3j4JLA==", + "dev": true, + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-behaviors/-/iron-behaviors-3.0.1.tgz", + "integrity": "sha512-IMEwcv1lhf1HSQxuyWOUIL0lOBwmeaoSTpgCJeP9IBYnuB1SPQngmfRuHKgK6/m9LQ9F9miC7p3HeQQUdKAE0w==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-checked-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.1.tgz", + "integrity": "sha512-aDr0cbCNVq49q+pOqa6CZutFh+wWpwPMLpEth9swx+GkAj+gCURhuQkaUYhIo5f2egDbEioR1aeHMnPlU9dQZA==", + "dev": true, + "dependencies": { + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-collapse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-collapse/-/iron-collapse-3.0.1.tgz", + "integrity": "sha512-yg6q5ZyckQR9VL9VmLrSTkSFXWy9AcJC8KtnD5cg0EHRPbakE8I9S/gVAgeP4nMWV2a/BjLLC4IBygcCMDhAGw==", + "dev": true, + "dependencies": { + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-dropdown": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-dropdown/-/iron-dropdown-3.0.1.tgz", + "integrity": "sha512-22yLhepfcKjuQMfFmRHi/9MPKTqkzgRrmWWW0P5uqK++xle53k2QBO5VYUAYiCN3ZcxIi9lEhZ9YWGeQj2JBig==", + "dev": true, + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/neon-animation": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-fit-behavior": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.1.0.tgz", + "integrity": "sha512-ABcgIYqrjhmUT8tiuolqeGttF/8pd3sEymUDrO1vXbZu4FWIvoLNndrMDFvs++AGd12Mjf5pYy84NJc6dB8Vig==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-flex-layout": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.1.tgz", + "integrity": "sha512-7gB869czArF+HZcPTVSgvA7tXYFze9EKckvM95NB7SqYF+NnsQyhoXgKnpFwGyo95lUjUW9TFDLUwDXnCYFtkw==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-form-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.1.tgz", + "integrity": "sha512-G/e2KXyL5AY7mMjmomHkGpgS0uAf4ovNpKhkuUTRnMuMJuf589bKqE85KN4ovE1Tzhv2hJoh/igyD6ekHiYU1A==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-icon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-icon/-/iron-icon-3.0.1.tgz", + "integrity": "sha512-QLPwirk+UPZNaLnMew9VludXA4CWUCenRewgEcGYwdzVgDPCDbXxy6vRJjmweZobMQv/oVLppT2JZtJFnPxX6g==", + "dev": true, + "dependencies": { + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-icons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-icons/-/iron-icons-3.0.1.tgz", + "integrity": "sha512-xtEI8erH2GIBiF3QxEMyW81XuVjguu6Le5WjEEpX67qd9z7jjmc4T/ke3zRUlnDydex9p8ytcwVpMIKcyvjYAQ==", + "dev": true, + "dependencies": { + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/iron-iconset-svg": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-iconset-svg": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.1.tgz", + "integrity": "sha512-XNwURbNHRw6u2fJe05O5fMYye6GSgDlDqCO+q6K1zAnKIrpgZwf2vTkBd5uCcZwsN0FyCB3mvNZx4jkh85dRDw==", + "dev": true, + "dependencies": { + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-input": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-input/-/iron-input-3.0.1.tgz", + "integrity": "sha512-WLx13kEcbH9GKbj9+pWR6pbJkA5kxn3796ynx6eQd2rueMyUfVTR3GzOvadBKsciUuIuzrxpBWZ2+3UcueVUQQ==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-announcer": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-media-query": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-media-query/-/iron-media-query-3.0.1.tgz", + "integrity": "sha512-czUX1pm1zfmfcZtq5J57XFkcobBv08Y50exp0/3v8Bos5VL/jv2tU0RwiTfDBxUMhjicGbgwEBFQPY2V5DMzyw==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-menu-behavior": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/iron-menu-behavior/-/iron-menu-behavior-3.0.2.tgz", + "integrity": "sha512-8dpASkFNBIkxAJWsFLWIO1M7tKM0+wKs3PqdeF/dDdBciwoaaFgC2K1XCZFZnbe2t9/nJgemXxVugGZAWpYCGg==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-selector": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-meta": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-meta/-/iron-meta-3.0.1.tgz", + "integrity": "sha512-pWguPugiLYmWFV9UWxLWzZ6gm4wBwQdDy4VULKwdHCqR7OP7u98h+XDdGZsSlDPv6qoryV/e3tGHlTIT0mbzJA==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-overlay-behavior": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.3.tgz", + "integrity": "sha512-Q/Fp0+uOQQ145ebZ7T8Cxl4m1tUKYjyymkjcL2rXUm+aDQGb1wA1M1LYxUF5YBqd+9lipE0PTIiYwA2ZL/sznA==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.0.0-pre.26", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-pages": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-pages/-/iron-pages-3.0.1.tgz", + "integrity": "sha512-PQe8S1JKHPcsIvFOaQP+9+AXmqUIL9fPqC6xT63OAZQxYCeZJDKgT9GKBx+VRryYBUlj2FLEXkUVpG+PTotdjg==", + "dev": true, + "dependencies": { + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/iron-selector": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-range-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-range-behavior/-/iron-range-behavior-3.0.1.tgz", + "integrity": "sha512-+jtL9v45M/T1RJleWyQaNH84S9/mIIR+AjNbYIttbKGp1eG+98j8MDWe7LXNtg79V2LQnE/+VS82cBeELyGVeg==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-resizable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.1.tgz", + "integrity": "sha512-FyHxRxFspVoRaeZSWpT3y0C9awomb4tXXolIJcZ7RvXhMP632V5lez+ch5G5SwK0LpnAPkg35eB0LPMFv+YMMQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-scroll-target-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.1.tgz", + "integrity": "sha512-xg1WanG25BIkQE8rhuReqY9zx1K5M7F+YAIYpswEp5eyDIaZ1Y3vUmVeQ3KG+hiSugzI1M752azXN7kvyhOBcQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-selector": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-selector/-/iron-selector-3.0.1.tgz", + "integrity": "sha512-sBVk2uas6prW0glUe2xEJJYlvxmYzM40Au9OKbfDK2Qekou/fLKcBRyIYI39kuI8zWRaip8f3CI8qXcUHnKb1A==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/iron-validatable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.1.tgz", + "integrity": "sha512-wwpYh6wOa4fNI+jH5EYKC7TVPYQ2OfgQqocWat7GsNWcsblKYhLYbwsvEY5nO0n2xKqNfZzDLrUom5INJN7msQ==", + "dev": true, + "dependencies": { + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/neon-animation": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/neon-animation/-/neon-animation-3.0.1.tgz", + "integrity": "sha512-cDDc0llpVCe0ATbDS3clDthI54Bc8YwZIeTGGmBJleKOvbRTUC5+ssJmRL+VwVh+VM5FlnQlx760ppftY3uprg==", + "dev": true, + "dependencies": { + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/iron-selector": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-behaviors/-/paper-behaviors-3.0.1.tgz", + "integrity": "sha512-6knhj69fPJejv8qR0kCSUY+Q0XjaUf0OSnkjRjmTJPAwSrRYtgqE+l6P1FfA+py1X/cUjgne9EF5rMZAKJIg1g==", + "dev": true, + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-button": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-button/-/paper-button-3.0.1.tgz", + "integrity": "sha512-JRNBc+Oj9EWnmyLr7FcCr8T1KAnEHPh6mosln9BUdkM+qYaYsudSICh3cjTIbnj6AuF5OJidoLkM1dlyj0j6Zg==", + "dev": true, + "dependencies": { + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-checkbox": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/paper-checkbox/-/paper-checkbox-3.1.0.tgz", + "integrity": "sha512-kXm6yDG1tT8if0XuJ2cc9NF+g8Ev4wG+rnf0a+Sx+O7J6fn1jcnBlYn72FlrfjVjDQZDBFmT6nynhD5PvFw8iQ==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-dialog": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-dialog/-/paper-dialog-3.0.1.tgz", + "integrity": "sha512-KvglYbEq7AWJvui2j6WKLnOvgVMeGjovAydGrPRj7kVzCiD49Eq/hpYFJTRV5iDcalWH+mORUpw+jrFnG9+Kgw==", + "dev": true, + "dependencies": { + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/neon-animation": "^3.0.0-pre.26", + "@polymer/paper-dialog-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-dialog-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-dialog-behavior/-/paper-dialog-behavior-3.0.1.tgz", + "integrity": "sha512-wbI4kCK8le/9MHT+IXzvHjoatxf3kd3Yn0tgozAiAwfSZ7N4Ubpi5MHrK0m9S9PeIxKokAgBYdTUrezSE5378A==", + "dev": true, + "dependencies": { + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-dropdown-menu": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@polymer/paper-dropdown-menu/-/paper-dropdown-menu-3.2.0.tgz", + "integrity": "sha512-2ohwSHF+RLSK6kA0UkkMiMQF6EZcaEYWAA25kfisI6DWie7yozKrpQNsqvwfOEHU6DdDMIotrOtH1TM88YS8Zg==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/iron-iconset-svg": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-input": "^3.1.0", + "@polymer/paper-menu-button": "^3.1.0", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.3.1" + } + }, + "node_modules/@polymer/paper-icon-button": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-icon-button/-/paper-icon-button-3.0.2.tgz", + "integrity": "sha512-kOdxQgnKL097bggFF6PWvsBYuWg+MCcoHoTHX6bh/MuZoWFZNjrFntFqwuB4oEbpjCpfm4moA33muPJFj7CihQ==", + "dev": true, + "dependencies": { + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-input": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-input/-/paper-input-3.2.1.tgz", + "integrity": "sha512-6ghgwQKM6mS0hAQxQqj+tkeEY1VUBqAsrasAm8V5RpNcfSWQC/hhRFxU0beGuKTAhndzezDzWYP6Zz4b8fExGg==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-autogrow-textarea": "^3.0.0-pre.26", + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-input": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-item": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-item/-/paper-item-3.0.1.tgz", + "integrity": "sha512-KTk2N+GsYiI/HuubL3sxebZ6tteQbBOAp4QVLAnbjSPmwl+mJSDWk+omuadesU0bpkCwaWVs3fHuQsmXxy4pkw==", + "dev": true, + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-listbox": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-listbox/-/paper-listbox-3.0.1.tgz", + "integrity": "sha512-vMLWFpYcggAPmEDBmK+96fFefacOG3GLB1EguTn8+ZkqI+328hNfw1MzHjH68rgCIIUtjmm+9qgB1Sy/MN0a/A==", + "dev": true, + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-menu-behavior": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-menu-button": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/paper-menu-button/-/paper-menu-button-3.1.0.tgz", + "integrity": "sha512-q0G0/rvYD/FFmIBMGCQWjfXzRqwFw9+WHSYV4uOQzM1Ln8LMXSAd+2CENsbVwtMh6fmBePj15ZlU8SM2dt1WDQ==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-dropdown": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.1.0", + "@polymer/neon-animation": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-progress": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-progress/-/paper-progress-3.0.1.tgz", + "integrity": "sha512-5nguG+tmnyoaWKVNG8Smtno2uLSPBgEsT3f20JY8yJTjUBYWaqa8E3l5RLkTRXgA4x9OnvLb8/CdlQWXQIogBg==", + "dev": true, + "dependencies": { + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-range-behavior": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-ripple": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-ripple/-/paper-ripple-3.0.2.tgz", + "integrity": "sha512-DnLNvYIMsiayeICroYxx6Q6Hg1cUU8HN2sbutXazlemAlGqdq80qz3TIaVdbpbt/pvjcFGX2HtntMlPstCge8Q==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-slider": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-slider/-/paper-slider-3.0.1.tgz", + "integrity": "sha512-TNA8nEQci1fe3vTQQaFwkPj9p9yTLSr9Mhe8xQSTHpFNKun1rsp91LlKJmiKJDO7xU9RGZmA2mRlQwaj6kgR3g==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-input": "^3.0.0-pre.26", + "@polymer/paper-progress": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-spinner": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-spinner/-/paper-spinner-3.0.2.tgz", + "integrity": "sha512-XUzu8/4NH+pnNZUTI2MxtOKFAr0EOsW7eGhTg3VBhTh7DDW/q3ewzwYRWnqNJokX9BEnxKMiXXaIeTEBq4k2dw==", + "dev": true, + "dependencies": { + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-styles": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-styles/-/paper-styles-3.0.1.tgz", + "integrity": "sha512-y6hmObLqlCx602TQiSBKHqjwkE7xmDiFkoxdYGaNjtv4xcysOTdVJsDR/R9UHwIaxJ7gHlthMSykir1nv78++g==", + "dev": true, + "dependencies": { + "@polymer/font-roboto": "^3.0.1", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-toast": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-toast/-/paper-toast-3.0.1.tgz", + "integrity": "sha512-pizuogzObniDdICUc6dSLrnDt2VzzoRne1gCmbD6sfOATVv5tc8UfrqhA2iHngbNBEbniBiciS3iogdp5KTVUQ==", + "dev": true, + "dependencies": { + "@polymer/iron-a11y-announcer": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.0.0-pre.26", + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/paper-tooltip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-tooltip/-/paper-tooltip-3.0.1.tgz", + "integrity": "sha512-yiUk09opTEnE1lK+tb501ENb+yQBi4p++Ep0eGJAHesVYKVMPNgPphVKkIizkDaU+n0SE+zXfTsRbYyOMDYXSg==", + "dev": true, + "dependencies": { + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" + } + }, + "node_modules/@polymer/polymer": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.5.1.tgz", + "integrity": "sha512-JlAHuy+1qIC6hL1ojEUfIVD58fzTpJAoCxFwV5yr0mYTXV1H8bz5zy0+rC963Cgr9iNXQ4T9ncSjC2fkF9BQfw==", + "dev": true, + "dependencies": { + "@webcomponents/shadycss": "^1.9.1" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz", + "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@qortal/rollup-plugin-web-worker-loader": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@qortal/rollup-plugin-web-worker-loader/-/rollup-plugin-web-worker-loader-1.6.4.tgz", + "integrity": "sha512-4E5KnOVLYVp4bp4wKIG4qqeOc5nGzUR+2ojuGlLw3zl2khYQroH/KRaLvTULJjJ3U+KVBOxcrt0iSbKUD6mAyw==", + "dev": true, + "peerDependencies": { + "rollup": "^3.17.1" + } + }, + "node_modules/@remirror/core-constants": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-2.0.1.tgz", + "integrity": "sha512-ZR4aihtnnT9lMbhh5DEbsriJRlukRXmLZe7HmM+6ufJNNUDoazc75UX26xbgQlNUqgAqMcUdGFAnPc1JwgAdLQ==", + "dependencies": { + "@babel/runtime": "^7.21.0" + } + }, + "node_modules/@remirror/core-helpers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@remirror/core-helpers/-/core-helpers-2.0.3.tgz", + "integrity": "sha512-LqIPF4stGG69l9qu/FFicv9d9B+YaItzgDMC5A0CEvDQfKkGD3BfabLmfpnuWbsc06oKGdTduilgWcALLZoYLg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@linaria/core": "4.2.9", + "@remirror/core-constants": "^2.0.1", + "@remirror/types": "^1.0.1", + "@types/object.omit": "^3.0.0", + "@types/object.pick": "^1.3.2", + "@types/throttle-debounce": "^2.1.0", + "case-anything": "^2.1.10", + "dash-get": "^1.0.2", + "deepmerge": "^4.3.1", + "fast-deep-equal": "^3.1.3", + "make-error": "^1.3.6", + "object.omit": "^3.0.0", + "object.pick": "^1.3.0", + "throttle-debounce": "^3.0.1" + } + }, + "node_modules/@remirror/types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@remirror/types/-/types-1.0.1.tgz", + "integrity": "sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA==", + "dependencies": { + "type-fest": "^2.19.0" + } + }, + "node_modules/@rollup/plugin-alias": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.0.0.tgz", + "integrity": "sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==", + "dev": true, + "dependencies": { + "slash": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", + "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "25.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.0.tgz", + "integrity": "sha512-hoho2Kay9TZrLu0bnDsTTCaj4Npa+THk9snajP/XDNb9a9mmjTjh52EQM9sKl3HD1LsnihX7js+eA2sd2uKAhw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.27.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz", + "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.2.tgz", + "integrity": "sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "magic-string": "^0.27.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz", + "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==", + "dev": true, + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.x || ^3.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dev": true, + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@tiptap/core": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.3.tgz", + "integrity": "sha512-jLyVIWAdjjlNzrsRhSE2lVL/7N8228/1R1QtaVU85UlMIwHFAcdzhD8FeiKkqxpTnGpaDVaTy7VNEtEgaYdCyA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-blockquote": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.3.tgz", + "integrity": "sha512-rkUcFv2iL6f86DBBHoa4XdKNG2StvkJ7tfY9GoMpT46k3nxOaMTqak9/qZOo79TWxMLYtXzoxtKIkmWsbbcj4A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-bold": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.3.tgz", + "integrity": "sha512-OGT62fMRovSSayjehumygFWTg2Qn0IDbqyMpigg/RUAsnoOI2yBZFVrdM2gk1StyoSay7gTn2MLw97IUfr7FXg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-bullet-list": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.3.tgz", + "integrity": "sha512-RtaLiRvZbMTOje+FW5bn+mYogiIgNxOm065wmyLPypnTbLSeHeYkoqVSqzZeqUn+7GLnwgn1shirUe6csVE/BA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.0.3.tgz", + "integrity": "sha512-LsVCKVxgBtkstAr1FjxN8T3OjlC76a2X8ouoZpELMp+aXbjqyanCKzt+sjjUhE4H0yLFd4v+5v6UFoCv4EILiw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-code-block": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.0.3.tgz", + "integrity": "sha512-F4xMy18EwgpyY9f5Te7UuF7UwxRLptOtCq1p2c2DfxBvHDWhAjQqVqcW/sq/I/WuED7FwCnPLyyAasPiVPkLPw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0", + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-document": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.3.tgz", + "integrity": "sha512-PsYeNQQBYIU9ayz1R11Kv/kKNPFNIV8tApJ9pxelXjzcAhkjncNUazPN/dyho60mzo+WpsmS3ceTj/gK3bCtWA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-dropcursor": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.3.tgz", + "integrity": "sha512-McthMrfusn6PjcaynJLheZJcXto8TaIW5iVitYh8qQrDXr31MALC/5GvWuiswmQ8bAXiWPwlLDYE/OJfwtggaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0", + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-gapcursor": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.3.tgz", + "integrity": "sha512-6I9EzzsYOyyqDvDvxIK6Rv3EXB+fHKFj8ntHO8IXmeNJ6pkhOinuXVsW6Yo7TcDYoTj4D5I2MNFAW2rIkgassw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0", + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-hard-break": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.3.tgz", + "integrity": "sha512-RCln6ARn16jvKTjhkcAD5KzYXYS0xRMc0/LrHeV8TKdCd4Yd0YYHe0PU4F9gAgAfPQn7Dgt4uTVJLN11ICl8sQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-heading": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.3.tgz", + "integrity": "sha512-f0IEv5ms6aCzL80WeZ1qLCXTkRVwbpRr1qAETjg3gG4eoJN18+lZNOJYpyZy3P92C5KwF2T3Av00eFyVLIbb8Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-highlight": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.0.3.tgz", + "integrity": "sha512-NrtibY8cZkIjZMQuHRrKd4php+plOvAoSo8g3uVFu275I/Ixt5HqJ53R4voCXs8W8BOBRs2HS2QX8Cjh79XhtA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-history": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.3.tgz", + "integrity": "sha512-00KHIcJ8kivn2ARI6NQYphv2LfllVCXViHGm0EhzDW6NQxCrriJKE3tKDcTFCu7LlC5doMpq9Z6KXdljc4oVeQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0", + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-horizontal-rule": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.3.tgz", + "integrity": "sha512-SZRUSh07b/M0kJHNKnfBwBMWrZBEm/E2LrK1NbluwT3DBhE+gvwiEdBxgB32zKHNxaDEXUJwUIPNC3JSbKvPUA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0", + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-image": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-image/-/extension-image-2.0.3.tgz", + "integrity": "sha512-hS9ZJwz0md07EHsC+o4NuuJkhCZsZn7TuRz/2CvRSj2fWFIz+40CyNAHf/2J0qNugG9ommXaemetsADeEZP9ag==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-italic": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.3.tgz", + "integrity": "sha512-cfS5sW0gu7qf4ihwnLtW/QMTBrBEXaT0sJl3RwkhjIBg/65ywJKE5Nz9ewnQHmDeT18hvMJJ1VIb4j4ze9jj9A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-list-item": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.3.tgz", + "integrity": "sha512-p7cUsk0LpM1PfdAuFE8wYBNJ3gvA0UhNGR08Lo++rt9UaCeFLSN1SXRxg97c0oa5+Ski7SrCjIJ5Ynhz0viTjQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-ordered-list": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.3.tgz", + "integrity": "sha512-ZB3MpZh/GEy1zKgw7XDQF4FIwycZWNof1k9WbDZOI063Ch4qHZowhVttH2mTCELuyvTMM/o9a8CS7qMqQB48bw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-paragraph": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.3.tgz", + "integrity": "sha512-a+tKtmj4bU3GVCH1NE8VHWnhVexxX5boTVxsHIr4yGG3UoKo1c5AO7YMaeX2W5xB5iIA+BQqOPCDPEAx34dd2A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-placeholder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-placeholder/-/extension-placeholder-2.0.3.tgz", + "integrity": "sha512-Z42jo0termRAf0S0L8oxrts94IWX5waU4isS2CUw8xCUigYyCFslkhQXkWATO1qRbjNFLKN2C9qvCgGf4UeBrw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0", + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-strike": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.3.tgz", + "integrity": "sha512-RO4/EYe2iPD6ifDHORT8fF6O9tfdtnzxLGwZIKZXnEgtweH+MgoqevEzXYdS+54Wraq4TUQGNcsYhe49pv7Rlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-text": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.3.tgz", + "integrity": "sha512-LvzChcTCcPSMNLUjZe/A9SHXWGDHtvk73fR7CBqAeNU0MxhBPEBI03GFQ6RzW3xX0CmDmjpZoDxFMB+hDEtW1A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/extension-underline": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.0.3.tgz", + "integrity": "sha512-oMYa7qib/5wJjpUp79GZEe+E/iyf1oZBsgiG26IspEtVTHZmpn3+Ktud7l43y/hpTeEzFTKOF1/uVbayHtSERg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/html/-/html-2.0.3.tgz", + "integrity": "sha512-F0mihUTJ+mqqczHl7du9kBmani3pkwYeEuc/xls+DlYobdTzhSqIaF/ce8utHwRxTvDUPwSEM7+ITr93e2PqQA==", + "dependencies": { + "zeed-dom": "^0.9.19" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0", + "@tiptap/pm": "^2.0.0" + } + }, + "node_modules/@tiptap/pm": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.0.3.tgz", + "integrity": "sha512-I9dsInD89Agdm1QjFRO9dmJtU1ldVSILNPW0pEhv9wYqYVvl4HUj/JMtYNqu2jWrCHNXQcaX/WkdSdvGJtmg5g==", + "dependencies": { + "prosemirror-changeset": "^2.2.0", + "prosemirror-collab": "^1.3.0", + "prosemirror-commands": "^1.3.1", + "prosemirror-dropcursor": "^1.5.0", + "prosemirror-gapcursor": "^1.3.1", + "prosemirror-history": "^1.3.0", + "prosemirror-inputrules": "^1.2.0", + "prosemirror-keymap": "^1.2.0", + "prosemirror-markdown": "^1.10.1", + "prosemirror-menu": "^1.2.1", + "prosemirror-model": "^1.18.1", + "prosemirror-schema-basic": "^1.2.0", + "prosemirror-schema-list": "^1.2.2", + "prosemirror-state": "^1.4.1", + "prosemirror-tables": "^1.3.0", + "prosemirror-trailing-node": "^2.0.2", + "prosemirror-transform": "^1.7.0", + "prosemirror-view": "^1.28.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0" + } + }, + "node_modules/@tiptap/starter-kit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.0.3.tgz", + "integrity": "sha512-t4WG4w93zTpL2VxhVyJJvl3kdLF001ZrhpOuEiZqEMBMUMbM56Uiigv1CnUQpTFrjDAh3IM8hkqzAh20TYw2iQ==", + "dependencies": { + "@tiptap/core": "^2.0.3", + "@tiptap/extension-blockquote": "^2.0.3", + "@tiptap/extension-bold": "^2.0.3", + "@tiptap/extension-bullet-list": "^2.0.3", + "@tiptap/extension-code": "^2.0.3", + "@tiptap/extension-code-block": "^2.0.3", + "@tiptap/extension-document": "^2.0.3", + "@tiptap/extension-dropcursor": "^2.0.3", + "@tiptap/extension-gapcursor": "^2.0.3", + "@tiptap/extension-hard-break": "^2.0.3", + "@tiptap/extension-heading": "^2.0.3", + "@tiptap/extension-history": "^2.0.3", + "@tiptap/extension-horizontal-rule": "^2.0.3", + "@tiptap/extension-italic": "^2.0.3", + "@tiptap/extension-list-item": "^2.0.3", + "@tiptap/extension-ordered-list": "^2.0.3", + "@tiptap/extension-paragraph": "^2.0.3", + "@tiptap/extension-strike": "^2.0.3", + "@tiptap/extension-text": "^2.0.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", + "dev": true, + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dev": true, + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, + "node_modules/@types/fs-extra": { + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "optional": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true + }, + "node_modules/@types/keyv": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true, + "optional": true + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.16.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", + "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", + "devOptional": true + }, + "node_modules/@types/object.omit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/object.omit/-/object.omit-3.0.0.tgz", + "integrity": "sha512-I27IoPpH250TUzc9FzXd0P1BV/BMJuzqD3jOz98ehf9dQqGkxlq+hO1bIqZGWqCg5bVOy0g4AUVJtnxe0klDmw==" + }, + "node_modules/@types/object.pick": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/object.pick/-/object.pick-1.3.2.tgz", + "integrity": "sha512-sn7L+qQ6RLPdXRoiaE7bZ/Ek+o4uICma/lBFPyJEKDTPTBP1W8u0c4baj3EiS4DiqLs+Hk+KUGvMVJtAw3ePJg==" + }, + "node_modules/@types/plist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.2.tgz", + "integrity": "sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*", + "xmlbuilder": ">=11.0.1" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "node_modules/@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + }, + "node_modules/@types/throttle-debounce": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz", + "integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, + "node_modules/@types/verror": { + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.6.tgz", + "integrity": "sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==", + "dev": true, + "optional": true + }, + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vaadin/avatar": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/avatar/-/avatar-24.0.5.tgz", + "integrity": "sha512-bYamcbLrE4hwAVh9B/3GICyVkDd4FwcajOx3L5ncwJBcHy69FuH0W+O2S0eBb/Xoj7wrNHDF/NS1haAd+407VA==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/item": "~24.0.5", + "@vaadin/list-box": "~24.0.5", + "@vaadin/overlay": "~24.0.5", + "@vaadin/tooltip": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/button": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/button/-/button-24.0.5.tgz", + "integrity": "sha512-aoTcCuXg5xD3jcAbCJl/rmvsiKDskA3N9LS+Y184eHicyjU+bCB+uNUD9kKHdAyLNjtQNKWtJt6pZ85aklrnWw==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/checkbox": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.0.5.tgz", + "integrity": "sha512-XTAIS3GQ2ii2M81wWTVmvuiQ1cKIqGc2vq6esKoic8TdlXSXYPijuwOmWm7UIBXtr9yx7PIJXMyDCwSdN3tARA==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/field-base": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/component-base": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.0.5.tgz", + "integrity": "sha512-vInJQOcu6TSN83uwlAW0RUeAK0NOWBORDoRUbe47PGwE+SNWyTFe7nNtgbQI3runn2cuCeIojrtK/mkNs7iOeQ==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-development-mode-detector": "^2.0.0", + "@vaadin/vaadin-usage-statistics": "^2.1.0", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/field-base": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.0.5.tgz", + "integrity": "sha512-xRvUKaVdcrecqY2ePssXNulnREhAmMuN2+GKzw+HtpoxVT4V7GLtcQ4x+TsGeeJOacE/cvUkKkbJLp/esc1gow==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/grid": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.0.5.tgz", + "integrity": "sha512-865apKZowEpBhfwboADhohjbibgvDtCq7phHxmBp0ds1+obJ8T02dFg4X6steoY75xA4kXbloMaN5wFJYnXezg==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/checkbox": "~24.0.5", + "@vaadin/component-base": "~24.0.5", + "@vaadin/lit-renderer": "~24.0.5", + "@vaadin/text-field": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/icon": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.0.5.tgz", + "integrity": "sha512-PyWlRtiWAr3wnbuqoxAyhC5LewfyvvYEpz9qW1tMin8jdCj92ZVPTw/2PSab6KXP0wOJRjh3H5NZZs6qDyyKfQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/icons": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/icons/-/icons-24.0.5.tgz", + "integrity": "sha512-3qg55ZLZd613gHIpnTzAVb6vJyRVFYlrKz1ebfFrcFGiCLMNR3TzG7LCn7WRu+n8OihNj+NuLLYiO7gRPQPZJQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/icon": "~24.0.5" + } + }, + "node_modules/@vaadin/input-container": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.0.5.tgz", + "integrity": "sha512-c7TK3Y1cesWsJvgzNVb7p1j/UaujKp7M7GVCPhsC+AiSsvwuS/70zKerMy8xihTIDK26/fneiXlnj1YY6ymBpQ==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/item": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/item/-/item-24.0.5.tgz", + "integrity": "sha512-T5Pyr5k/5uJD4PLJqsJP1pRlQ7hdbcdR+dSvUUeNNjbkn+EdpBg3l3CgG2iqTyXKqvSYh6ZCc1nuygXx8n+HyQ==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/list-box": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/list-box/-/list-box-24.0.5.tgz", + "integrity": "sha512-OObIECfZ8uDGbPX/14oPbJ7+qAv+7haN2Ik51JqnNfnrTZhYN553Hgvesot1p5IMiPhIcAMUGFPJ/pDVOiL/pw==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/item": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/lit-renderer": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.0.5.tgz", + "integrity": "sha512-Fqx/EbZBKS0lvBKLbSVS/Fu5vo6kZjXtVf31m/lpP/GKTHlT7faXHjFjBFBhDVph/ZBea8ZOJ+P4Id2uZRMX+Q==", + "dev": true, + "dependencies": { + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/overlay": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/overlay/-/overlay-24.0.5.tgz", + "integrity": "sha512-KfMb5YQ8I6HATIEeViTcnewDU0lz1gjDnb+EwQNxW6UAszANlwRO4nnXgH0dn9fKlF1uNivX0T3WmAFOeBmIxA==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/password-field": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/password-field/-/password-field-24.0.5.tgz", + "integrity": "sha512-WTVzebKdprgSECmUZluvBlPe9S6Ey4GxnokAmf6SM6wuiAp1KEpZas8pThXUW0LqFQQskAgu0F7pdDsVAcy/Wg==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/button": "~24.0.5", + "@vaadin/component-base": "~24.0.5", + "@vaadin/text-field": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/text-field": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.0.5.tgz", + "integrity": "sha512-TtOy+cCfbRueDIDihT+6QI8HBSBqx+mNeqZlH1AjrX/QNAFPXJRxGQzcHFJ4boAuuJuRXTXTE94/IBYdfPwd6A==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/field-base": "~24.0.5", + "@vaadin/input-container": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/tooltip": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/tooltip/-/tooltip-24.0.5.tgz", + "integrity": "sha512-CGe2JltcuCAZLKFyjfNg3lr2qWQQuegLv+N65MN+WmPSYXaXIzh1HNMxfb+dnhMGhwI6Cgj7e1QzJDTyxJnZ6g==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/component-base": "~24.0.5", + "@vaadin/overlay": "~24.0.5", + "@vaadin/vaadin-lumo-styles": "~24.0.5", + "@vaadin/vaadin-material-styles": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/vaadin-development-mode-detector": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.6.tgz", + "integrity": "sha512-N6a5nLT/ytEUlpPo+nvdCKIGoyNjPsj3rzPGvGYK8x9Ceg76OTe1xI/GtN71mRW9e2HUScR0kCNOkl1Z63YDjw==", + "dev": true + }, + "node_modules/@vaadin/vaadin-lumo-styles": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.0.5.tgz", + "integrity": "sha512-sOcTWz5Ad6tk3i3LMRgfqzM4UoLOx/wLaxCNXM8K3USvzDjedWsAyCCX6fBW2sRYFEuTYrEzA+rYGVDkvi0y/w==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/icon": "~24.0.5", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/vaadin-material-styles": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.0.5.tgz", + "integrity": "sha512-guS80XZ76jVDoTAr77vFpF0sE3yR1G1NoGIyC1C0090VgfGvDnEA+tzg7lx8ARPb8lweV0bGWotSRyB9EGq/6Q==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-themable-mixin": "~24.0.5" + } + }, + "node_modules/@vaadin/vaadin-themable-mixin": { + "version": "24.0.5", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.0.5.tgz", + "integrity": "sha512-jyq1B922+SgmBS2MlDKw7gBCchLTU8uTS7RXxfiJXfmPg2sgqnM1Q+eOP80YJ2uzW7HsOfDu5gPAG6S5cPAPHw==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/vaadin-usage-statistics": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.1.2.tgz", + "integrity": "sha512-xKs1PvRfTXsG0eWWcImLXWjv7D+f1vfoIvovppv6pZ5QX8xgcxWUdNgERlOOdGt3CTuxQXukTBW3+Qfva+OXSg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@vaadin/vaadin-development-mode-detector": "^2.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@webcomponents/shadycss": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.11.2.tgz", + "integrity": "sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw==", + "dev": true + }, + "node_modules/@zip.js/zip.js": { + "version": "2.7.14", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.14.tgz", + "integrity": "sha512-B2cqgLMXBuPD/d/MSAUUKWChOaTIqxYvyRA8s7aUsnr8dUAG6qnAUhKymzz1VUmCDOmSsNmdgZMfhmAwMN8HNQ==", + "dev": true, + "engines": { + "deno": ">=1.0.0", + "node": ">=16.5.0" + } + }, + "node_modules/7zip-bin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", + "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/app-builder-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", + "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", + "dev": true + }, + "node_modules/app-builder-lib": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-23.6.0.tgz", + "integrity": "sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==", + "dev": true, + "dependencies": { + "@develar/schema-utils": "~2.6.5", + "@electron/universal": "1.2.1", + "@malept/flatpak-bundler": "^0.4.0", + "7zip-bin": "~5.1.1", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.9", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", + "chromium-pickle-js": "^0.2.0", + "debug": "^4.3.4", + "ejs": "^3.1.7", + "electron-osx-sign": "^0.6.0", + "electron-publish": "23.6.0", + "form-data": "^4.0.0", + "fs-extra": "^10.1.0", + "hosted-git-info": "^4.1.0", + "is-ci": "^3.0.0", + "isbinaryfile": "^4.0.10", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.5", + "minimatch": "^3.1.2", + "read-config-file": "6.2.0", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.7", + "tar": "^6.1.11", + "temp-file": "^3.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/app-builder-lib/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/app-builder-lib/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/app-builder-lib/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/asar": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.2.0.tgz", + "integrity": "sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==", + "deprecated": "Please use @electron/asar moving forward. There is no API change, just a package name change", + "dev": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + }, + "optionalDependencies": { + "@types/glob": "^7.1.1" + } + }, + "node_modules/asar/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/asmcrypto.js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/asmcrypto.js/-/asmcrypto.js-2.3.2.tgz", + "integrity": "sha512-3FgFARf7RupsZETQ1nHnhLUUvpcttcCq1iZCaVAbJZbCZ5VNRrNyvpDyHTOb0KC3llFcsyOT/a99NZcCbeiEsA==" + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/async-exit-hook": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", + "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atomically": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz", + "integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==", + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/author-regex/-/author-regex-1.0.0.tgz", + "integrity": "sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-merge": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/babel-merge/-/babel-merge-3.0.0.tgz", + "integrity": "sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw==", + "dependencies": { + "deepmerge": "^2.2.1", + "object.omit": "^3.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-merge/node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/blocking-elements": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/blocking-elements/-/blocking-elements-0.1.1.tgz", + "integrity": "sha512-/SLWbEzMoVIMZACCyhD/4Ya2M1PWP1qMKuiymowPcI+PdWDARqeARBjhj73kbUBCxEmTZCUu5TAqxtwUO9C1Ig==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bluebird-lst": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", + "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5" + } + }, + "node_modules/blueimp-canvas-to-blob": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.29.0.tgz", + "integrity": "sha512-0pcSSGxC0QxT+yVkivxIqW0Y4VlO2XSDPofBAqoJ1qJxgH9eiUDLv50Rixij2cDuEfx4M6DpD9UGZpRhT5Q8qg==" + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==", + "dev": true, + "optional": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/buffer-es6": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/buffer-es6/-/buffer-es6-4.9.3.tgz", + "integrity": "sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==", + "dev": true + }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builder-util": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-23.6.0.tgz", + "integrity": "sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==", + "dev": true, + "dependencies": { + "@types/debug": "^4.1.6", + "@types/fs-extra": "^9.0.11", + "7zip-bin": "~5.1.1", + "app-builder-bin": "4.0.0", + "bluebird-lst": "^1.0.9", + "builder-util-runtime": "9.1.1", + "chalk": "^4.1.1", + "cross-spawn": "^7.0.3", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-ci": "^3.0.0", + "js-yaml": "^4.1.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.4.0" + } + }, + "node_modules/builder-util-runtime": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.1.1.tgz", + "integrity": "sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==", + "dependencies": { + "debug": "^4.3.4", + "sax": "^1.2.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/builder-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/builder-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/builder-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/builder-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/builder-util/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/builder-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/builder-util/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/builder-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/builder-util/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-lookup": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", + "dev": true, + "engines": { + "node": ">=10.6.0" + } + }, + "node_modules/cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001488", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001488.tgz", + "integrity": "sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/case-anything": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.11.tgz", + "integrity": "sha512-uzKDXzdM/x914cepWPzElU3y50NRKYhjkO4ittOHLq+rF6M0AgRLF/+yPR1tvwLNAh8WHEPTfhuciZGPfX+oyg==", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==", + "dev": true + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "optional": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dev": true, + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", + "integrity": "sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/compressorjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/compressorjs/-/compressorjs-1.2.1.tgz", + "integrity": "sha512-+geIjeRnPhQ+LLvvA7wxBQE5ddeLU7pJ3FsKFWirDw6veY3s9iLxAQEw7lXGHnhCJvBujEQWuNnGzZcvCvdkLQ==", + "dependencies": { + "blueimp-canvas-to-blob": "^3.29.0", + "is-blob": "^2.1.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/conf": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz", + "integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==", + "dependencies": { + "ajv": "^8.6.3", + "ajv-formats": "^2.1.1", + "atomically": "^1.7.0", + "debounce-fn": "^4.0.0", + "dot-prop": "^6.0.1", + "env-paths": "^2.2.1", + "json-schema-typed": "^7.0.3", + "onetime": "^5.1.2", + "pkg-up": "^3.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conf/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/conf/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/conf/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conf/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conf/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true, + "optional": true + }, + "node_modules/crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "dev": true, + "optional": true, + "dependencies": { + "buffer": "^5.1.0" + } + }, + "node_modules/crc/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn-windows-exe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cross-spawn-windows-exe/-/cross-spawn-windows-exe-1.2.0.tgz", + "integrity": "sha512-mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-cross-spawn-windows-exe?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.1.0", + "is-wsl": "^2.2.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/dash-get": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dash-get/-/dash-get-1.0.2.tgz", + "integrity": "sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==" + }, + "node_modules/debounce-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz", + "integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==", + "dependencies": { + "mimic-fn": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "optional": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "optional": true + }, + "node_modules/dir-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-2.4.0.tgz", + "integrity": "sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==", + "dev": true, + "dependencies": { + "buffer-equal": "1.0.0", + "colors": "1.0.3", + "commander": "2.9.0", + "minimatch": "3.0.4" + }, + "bin": { + "dircompare": "src/cli/dircompare.js" + } + }, + "node_modules/dir-compare/node_modules/commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", + "dev": true, + "dependencies": { + "graceful-readlink": ">= 1.0.0" + }, + "engines": { + "node": ">= 0.6.x" + } + }, + "node_modules/dir-compare/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/dmg-builder": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-23.6.0.tgz", + "integrity": "sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==", + "dev": true, + "dependencies": { + "app-builder-lib": "23.6.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", + "fs-extra": "^10.0.0", + "iconv-lite": "^0.6.2", + "js-yaml": "^4.1.0" + }, + "optionalDependencies": { + "dmg-license": "^1.0.11" + } + }, + "node_modules/dmg-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dmg-builder/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/dmg-builder/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/dmg-license": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", + "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "@types/plist": "^3.0.1", + "@types/verror": "^1.10.3", + "ajv": "^6.10.0", + "crc": "^3.8.0", + "iconv-corefoundation": "^1.1.7", + "plist": "^3.0.4", + "smart-buffer": "^4.0.2", + "verror": "^1.10.0" + }, + "bin": { + "dmg-license": "bin/dmg-license.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotenv": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", + "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron": { + "version": "24.3.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-24.3.1.tgz", + "integrity": "sha512-lKfC0umie1k5LW48troHzpPKJrqPEW+5j14/CPTC41K9+dJA98oUPt/05G7QAe8OGD4fHjQQuulfRdZ9MjjXeQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@electron/get": "^2.0.0", + "@types/node": "^18.11.18", + "extract-zip": "^2.0.1" + }, + "bin": { + "electron": "cli.js" + }, + "engines": { + "node": ">= 12.20.55" + } + }, + "node_modules/electron-builder": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-23.6.0.tgz", + "integrity": "sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==", + "dev": true, + "dependencies": { + "@types/yargs": "^17.0.1", + "app-builder-lib": "23.6.0", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", + "chalk": "^4.1.1", + "dmg-builder": "23.6.0", + "fs-extra": "^10.0.0", + "is-ci": "^3.0.0", + "lazy-val": "^1.0.5", + "read-config-file": "6.2.0", + "simple-update-notifier": "^1.0.7", + "yargs": "^17.5.1" + }, + "bin": { + "electron-builder": "cli.js", + "install-app-deps": "install-app-deps.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/electron-builder/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/electron-builder/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/electron-builder/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/electron-builder/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/electron-builder/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-builder/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-builder/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-builder/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-builder/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-dl": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.5.0.tgz", + "integrity": "sha512-Oj+VSuScVx8hEKM2HEvTQswTX6G3MLh7UoAz/oZuvKyNDfudNi1zY6PK/UnFoK1nCl9DF6k+3PFwElKbtZlDig==", + "dependencies": { + "ext-name": "^5.0.0", + "pupa": "^2.0.1", + "unused-filename": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron-log": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-4.4.8.tgz", + "integrity": "sha512-QQ4GvrXO+HkgqqEOYbi+DHL7hj5JM+nHi/j+qrN9zeeXVKy8ZABgbu4CnG+BBqDZ2+tbeq9tUC4DZfIWFU5AZA==" + }, + "node_modules/electron-osx-sign": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz", + "integrity": "sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==", + "deprecated": "Please use @electron/osx-sign moving forward. Be aware the API is slightly different", + "dev": true, + "dependencies": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/electron-osx-sign/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/electron-osx-sign/node_modules/isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", + "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "dev": true, + "dependencies": { + "buffer-alloc": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/electron-osx-sign/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/electron-packager": { + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-17.1.1.tgz", + "integrity": "sha512-r1NDtlajsq7gf2EXgjRfblCVPquvD2yeg+6XGErOKblvxOpDi0iulZLVhgYDP4AEF1P5/HgbX/vwjlkEv7PEIQ==", + "dev": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "@electron/get": "^2.0.0", + "@electron/notarize": "^1.2.3", + "@electron/osx-sign": "^1.0.1", + "@electron/universal": "^1.3.2", + "cross-spawn-windows-exe": "^1.2.0", + "debug": "^4.0.1", + "extract-zip": "^2.0.0", + "filenamify": "^4.1.0", + "fs-extra": "^10.1.0", + "galactus": "^0.2.1", + "get-package-info": "^1.0.0", + "junk": "^3.1.0", + "parse-author": "^2.0.0", + "plist": "^3.0.0", + "rcedit": "^3.0.1", + "resolve": "^1.1.6", + "semver": "^7.1.3", + "yargs-parser": "^21.1.1" + }, + "bin": { + "electron-packager": "bin/electron-packager.js" + }, + "engines": { + "node": ">= 14.17.5" + }, + "funding": { + "url": "https://github.com/electron/electron-packager?sponsor=1" + } + }, + "node_modules/electron-packager/node_modules/@electron/universal": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.3.4.tgz", + "integrity": "sha512-BdhBgm2ZBnYyYRLRgOjM5VHkyFItsbggJ0MHycOjKWdFGYwK97ZFXH54dTvUWEfha81vfvwr5On6XBjt99uDcg==", + "dev": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "@malept/cross-spawn-promise": "^1.1.0", + "debug": "^4.3.1", + "dir-compare": "^3.0.0", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4", + "plist": "^3.0.4" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/electron-packager/node_modules/@electron/universal/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-packager/node_modules/dir-compare": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/dir-compare/-/dir-compare-3.3.0.tgz", + "integrity": "sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg==", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0", + "minimatch": "^3.0.4" + } + }, + "node_modules/electron-packager/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-packager/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-packager/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-packager/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-packager/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-packager/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/electron-publish": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-23.6.0.tgz", + "integrity": "sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==", + "dev": true, + "dependencies": { + "@types/fs-extra": "^9.0.11", + "builder-util": "23.6.0", + "builder-util-runtime": "9.1.1", + "chalk": "^4.1.1", + "fs-extra": "^10.0.0", + "lazy-val": "^1.0.5", + "mime": "^2.5.2" + } + }, + "node_modules/electron-publish/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/electron-publish/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/electron-publish/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/electron-publish/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/electron-publish/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-publish/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-publish/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-publish/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-publish/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-store": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/electron-store/-/electron-store-8.1.0.tgz", + "integrity": "sha512-2clHg/juMjOH0GT9cQ6qtmIvK183B39ZXR0bUoPwKwYHJsEF3quqyDzMFUAu+0OP8ijmN2CbPRAelhNbWUbzwA==", + "dependencies": { + "conf": "^10.2.0", + "type-fest": "^2.17.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.402", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.402.tgz", + "integrity": "sha512-gWYvJSkohOiBE6ecVYXkrDgNaUjo47QEKK0kQzmWyhkH+yoYiG44bwuicTGNSIQRG3WDMsWVZJLRnJnLNkbWvA==" + }, + "node_modules/electron-updater": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-5.3.0.tgz", + "integrity": "sha512-iKEr7yQBcvnQUPnSDYGSWC9t0eF2YbZWeYYYZzYxdl+HiRejXFENjYMnYjoOm2zxyD6Cr2JTHZhp9pqxiXuCOw==", + "dependencies": { + "@types/semver": "^7.3.6", + "builder-util-runtime": "9.1.1", + "fs-extra": "^10.0.0", + "js-yaml": "^4.1.0", + "lazy-val": "^1.0.5", + "lodash.escaperegexp": "^4.1.2", + "lodash.isequal": "^4.5.0", + "semver": "^7.3.5", + "typed-emitter": "^2.1.0" + } + }, + "node_modules/electron-updater/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/electron-updater/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-updater/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-updater/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-updater/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-updater/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/emoji-picker-js": { + "version": "0.1.0", + "resolved": "git+ssh://git@github.com/Qortal/emoji-picker-js.git#53a198bfee29cec1b073d136b20fccacaeb4093e", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.1.1", + "@fortawesome/free-regular-svg-icons": "^6.1.1", + "@fortawesome/free-solid-svg-icons": "^6.1.1", + "@popperjs/core": "^2.11.4", + "focus-trap": "^6.7.3", + "fuzzysort": "^1.2.1", + "tiny-emitter": "^2.1.0", + "tslib": "^2.3.1", + "twemoji": "^14.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/epml": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/epml/-/epml-0.3.3.tgz", + "integrity": "sha512-P9q1k983XZHwvQ0zjWjCeGYWAuI9EQQaXBXZ5NCbZ7LcAEeSsU76HUqI8UtNkP3Re2MPygIwwQ1aut1vqTsK4g==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "optional": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dependencies": { + "cross-spawn": "^6.0.0", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dependencies": { + "mime-db": "^1.28.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dependencies": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "dev": true + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/flora-colossus": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flora-colossus/-/flora-colossus-1.0.1.tgz", + "integrity": "sha512-d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^7.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/flora-colossus/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/focus-trap": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.9.4.tgz", + "integrity": "sha512-v2NTsZe2FF59Y+sDykKY+XjqZ0cPfhq/hikWVL88BqLivnNiEffAsac6rP6H45ff9wG9LL5ToiDqrLEP9GX9mw==", + "dependencies": { + "tabbable": "^5.3.3" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/fuzzysort": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fuzzysort/-/fuzzysort-1.9.0.tgz", + "integrity": "sha512-MOxCT0qLTwLqmEwc7UtU045RKef7mc8Qz8eR4r2bLNEq9dy/c3ZKMEFp6IEst69otkQdFZ4FfgH2dmZD+ddX1g==" + }, + "node_modules/galactus": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/galactus/-/galactus-0.2.1.tgz", + "integrity": "sha512-mDc8EQJKtxjp9PMYS3PbpjjbX3oXhBTxoGaPahw620XZBIHJ4+nvw5KN/tRtmmSDR9dypstGNvqQ3C29QGoGHQ==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "flora-colossus": "^1.0.0", + "fs-extra": "^4.0.0" + } + }, + "node_modules/galactus/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/galactus/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dev": true, + "optional": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-package-info/-/get-package-info-1.0.0.tgz", + "integrity": "sha512-SCbprXGAPdIhKAXiG+Mk6yeoFH61JlYunqdFQFHDtLjJlDjFf6x07dsS8acO+xWt52jpdVo49AlVDnUVK1sDNw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/get-package-info/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/get-package-info/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz", + "integrity": "sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/global-agent/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-agent/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "optional": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-agent/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "optional": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", + "dev": true, + "dependencies": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.2", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + }, + "engines": { + "node": ">=10.19.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "optional": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/highcharts": { + "version": "10.3.3", + "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-10.3.3.tgz", + "integrity": "sha512-r7wgUPQI9tr3jFDn3XT36qsNwEIZYcfgz4mkKEA6E4nn5p86y+u1EZjazIG4TRkl5/gmGRtkBUiZW81g029RIw==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "dev": true, + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-corefoundation": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", + "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "cli-truncate": "^2.1.0", + "node-addon-api": "^1.6.3" + }, + "engines": { + "node": "^8.11.2 || >=10" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-blob": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-blob/-/is-blob-2.1.0.tgz", + "integrity": "sha512-SZ/fTft5eUhQM6oF/ZaASFDEdbFVe89Imltn9uZr03wdKMcWNVYSMjQPFtg05QuNkt5l5c135ElvXEQG0rk4tw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-electron": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", + "integrity": "sha512-FO/Rhvz5tuw4MCWkpMzHFKWD2LsfHzIb7i6MdPYZ/KW7AlxawyLkqdy+jPZP1WubqEADE3O4FUENlJHDfQASRg==", + "dev": true + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jake": { + "version": "10.8.6", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz", + "integrity": "sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-schema-typed": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz", + "integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "optional": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jssha": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.3.0.tgz", + "integrity": "sha512-w9OtT4ALL+fbbwG3gw7erAO0jvS5nfvrukGPMWIAoea359B26ALXGpzy4YJSp9yGnpUvuvOw1nSjSoHDfWSr1w==", + "engines": { + "node": "*" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/keyv": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", + "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/lazy-val": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", + "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==" + }, + "node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lit": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.4.tgz", + "integrity": "sha512-cgD7xrZoYr21mbrkZIuIrj98YTMw/snJPg52deWVV4A8icLyNHI3bF70xsJeAgwTuiq5Kkd+ZR8gybSJDCPB7g==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.7.0" + } + }, + "node_modules/lit-element": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz", + "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.7.0" + } + }, + "node_modules/lit-html": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.4.tgz", + "integrity": "sha512-/Jw+FBpeEN+z8X6PJva5n7+0MzCVAH2yypN99qHYYkq8bI+j7I39GH+68Z/MZD6rGKDK9RpzBw7CocfmHfq6+g==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/lit-translate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lit-translate/-/lit-translate-2.0.1.tgz", + "integrity": "sha512-AcGwE0d3M3KwMPZ0YlJRMB48V18LwRmkjkIYQaU+JycFA5yxkel2LJg1gThfrHFIPS8fcmtTMrXXSVEMg1BCTg==", + "dev": true, + "dependencies": { + "lit": "^2.2.2" + } + }, + "node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/localforage": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", + "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", + "dependencies": { + "lie": "3.1.1" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/markdown-it": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/matcher": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", + "dev": true, + "optional": true, + "dependencies": { + "escape-string-regexp": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/matcher/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/mem": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-3.0.1.tgz", + "integrity": "sha512-QKs47bslvOE0NbXOqG6lMxn6Bk0Iuw0vfrIeLykmQle2LkCw1p48dZDdzE+D88b/xqRJcZGcMNeDvSVma+NuIQ==", + "dependencies": { + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mem/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", + "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/modify-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz", + "integrity": "sha512-EickqnKq3kVVaZisYuCxhtKbZjInCuwgwZWyAmRIp1NTMhri7r3380/uqwrUHfaDiPzLVTuoNy4whX66bxPVog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "node_modules/node-addon-api": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", + "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", + "dev": true, + "optional": true + }, + "node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-releases": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.11.tgz", + "integrity": "sha512-+M0PwXeU80kRohZ3aT4J/OnR+l9/KD2nVLNNoRgFtnf+umQVFdGBAO2N8+nCnEi0xlh/Wk3zOGC+vNNx+uM79Q==" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.omit": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-3.0.0.tgz", + "integrity": "sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==", + "dependencies": { + "is-extendable": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/orderedmap": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz", + "integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==" + }, + "node_modules/os-locale": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.0.tgz", + "integrity": "sha512-4mi6ZXIp4OtcV/Bwzl9p9Cvae7KJv/czGIm/HK0iaXCuRh7BMpy4l4o4CLjN+atsRQpCW9Rs4FdhfnK0zaR1Jg==", + "dependencies": { + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^3.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-author/-/parse-author-2.0.0.tgz", + "integrity": "sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==", + "dev": true, + "dependencies": { + "author-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/passive-events-support": { + "version": "1.0.33", + "resolved": "https://registry.npmjs.org/passive-events-support/-/passive-events-support-1.0.33.tgz", + "integrity": "sha512-ooFBZ6B1RpwAMaFiLT+gU156qZkfUAZcK0ivd0ylptKr9KdhINHR3CLHewVTG1+HfqUdH0SPSq0mbaVReGZoaw==", + "dev": true + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/plist": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", + "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", + "dev": true, + "dependencies": { + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/process-es6": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/process-es6/-/process-es6-0.11.6.tgz", + "integrity": "sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prosemirror-changeset": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.2.1.tgz", + "integrity": "sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ==", + "dependencies": { + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-collab": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz", + "integrity": "sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==", + "dependencies": { + "prosemirror-state": "^1.0.0" + } + }, + "node_modules/prosemirror-commands": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz", + "integrity": "sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-dropcursor": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.1.tgz", + "integrity": "sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0", + "prosemirror-view": "^1.1.0" + } + }, + "node_modules/prosemirror-gapcursor": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz", + "integrity": "sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==", + "dependencies": { + "prosemirror-keymap": "^1.0.0", + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-view": "^1.0.0" + } + }, + "node_modules/prosemirror-history": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.3.2.tgz", + "integrity": "sha512-/zm0XoU/N/+u7i5zepjmZAEnpvjDtzoPWW6VmKptcAnPadN/SStsBjMImdCEbb3seiNTpveziPTIrXQbHLtU1g==", + "dependencies": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.31.0", + "rope-sequence": "^1.3.0" + } + }, + "node_modules/prosemirror-inputrules": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.2.1.tgz", + "integrity": "sha512-3LrWJX1+ULRh5SZvbIQlwZafOXqp1XuV21MGBu/i5xsztd+9VD15x6OtN6mdqSFI7/8Y77gYUbQ6vwwJ4mr6QQ==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-keymap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz", + "integrity": "sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "node_modules/prosemirror-markdown": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.11.0.tgz", + "integrity": "sha512-yP9mZqPRstjZhhf3yykCQNE3AijxARrHe4e7esV9A+gp4cnGOH4QvrKYPpXLHspNWyvJJ+0URH+iIvV5qP1I2Q==", + "dependencies": { + "markdown-it": "^13.0.1", + "prosemirror-model": "^1.0.0" + } + }, + "node_modules/prosemirror-menu": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.2.tgz", + "integrity": "sha512-437HIWTq4F9cTX+kPfqZWWm+luJm95Aut/mLUy+9OMrOml0bmWDS26ceC6SNfb2/S94et1sZ186vLO7pDHzxSw==", + "dependencies": { + "crelt": "^1.0.0", + "prosemirror-commands": "^1.0.0", + "prosemirror-history": "^1.0.0", + "prosemirror-state": "^1.0.0" + } + }, + "node_modules/prosemirror-model": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.19.1.tgz", + "integrity": "sha512-RpV0fZfy74DEO9GPRbGcG6xN33KuqEvlLE2V0e5CXUGs3xkZsiJfx1dcYPU57+606NVYCaDN1riFXdXBQRaRcg==", + "dependencies": { + "orderedmap": "^2.0.0" + } + }, + "node_modules/prosemirror-schema-basic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.2.tgz", + "integrity": "sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==", + "dependencies": { + "prosemirror-model": "^1.19.0" + } + }, + "node_modules/prosemirror-schema-list": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.2.3.tgz", + "integrity": "sha512-HD8yjDOusz7JB3oBFCaMOpEN9Z9DZttLr6tcASjnvKMc0qTyX5xgAN8YiMFFEcwyhF7WZrZ2YQkAwzsn8ICVbQ==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-state": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz", + "integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0", + "prosemirror-view": "^1.27.0" + } + }, + "node_modules/prosemirror-tables": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.3.2.tgz", + "integrity": "sha512-/9JTeN6s58Zq66HXaxP6uf8PAmc7XXKZFPlOGVtLvxEd6xBP6WtzaJB9wBjiGUzwbdhdMEy7V62yuHqk/3VrnQ==", + "dependencies": { + "prosemirror-keymap": "^1.1.2", + "prosemirror-model": "^1.8.1", + "prosemirror-state": "^1.3.1", + "prosemirror-transform": "^1.2.1", + "prosemirror-view": "^1.13.3" + } + }, + "node_modules/prosemirror-trailing-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.4.tgz", + "integrity": "sha512-0Yl9w7IdHkaCdqR+NE3FOucePME4OmiGcybnF1iasarEILP5U8+4xTnl53yafULjmwcg1SrSG65Hg7Zk2H2v3g==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@remirror/core-constants": "^2.0.1", + "@remirror/core-helpers": "^2.0.2", + "escape-string-regexp": "^4.0.0" + }, + "peerDependencies": { + "prosemirror-model": "^1.19.0", + "prosemirror-state": "^1.4.2", + "prosemirror-view": "^1.30.2" + } + }, + "node_modules/prosemirror-trailing-node/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prosemirror-transform": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.7.2.tgz", + "integrity": "sha512-b94lVUdA9NyaYRb2WuGSgb5YANiITa05dtew9eSK+KkYu64BCnU27WhJPE95gAWAnhV57CM3FabWXM23gri8Kg==", + "dependencies": { + "prosemirror-model": "^1.0.0" + } + }, + "node_modules/prosemirror-view": { + "version": "1.31.3", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.31.3.tgz", + "integrity": "sha512-UYDa8WxRFZm0xQLXiPJUVTl6H08Fn0IUVDootA7ZlQwzooqVWnBOXLovJyyTKgws1nprfsPhhlvWgt2jo4ZA6g==", + "dependencies": { + "prosemirror-model": "^1.16.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pwa-helpers": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/pwa-helpers/-/pwa-helpers-0.9.1.tgz", + "integrity": "sha512-4sP/C9sSxQ3w80AATmvCEI3R+MHzCwr2RSZEbLyMkeJgV3cRk7ySZRUrQnBDSA7A0/z6dkYtjuXlkhN1ZFw3iA==", + "dev": true + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rcedit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-3.0.1.tgz", + "integrity": "sha512-XM0Jv40/y4hVAqj/MO70o/IWs4uOsaSoo2mLyk3klFDW+SStLnCtzuQu+1OBTIMGlM8CvaK9ftlYCp6DJ+cMsw==", + "dev": true, + "dependencies": { + "cross-spawn-windows-exe": "^1.1.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/read-config-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.2.0.tgz", + "integrity": "sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==", + "dev": true, + "dependencies": { + "dotenv": "^9.0.2", + "dotenv-expand": "^5.1.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.0", + "lazy-val": "^1.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==", + "dev": true, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "dev": true, + "peerDependencies": { + "redux": "^4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true + }, + "node_modules/responselike": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "dev": true, + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/roarr": { + "version": "2.15.4", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz", + "integrity": "sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==", + "dev": true, + "optional": true, + "dependencies": { + "boolean": "^3.0.1", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/rollup": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.23.0.tgz", + "integrity": "sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-node-globals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.4.0.tgz", + "integrity": "sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==", + "dev": true, + "dependencies": { + "acorn": "^5.7.3", + "buffer-es6": "^4.9.3", + "estree-walker": "^0.5.2", + "magic-string": "^0.22.5", + "process-es6": "^0.11.6", + "rollup-pluginutils": "^2.3.1" + } + }, + "node_modules/rollup-plugin-node-globals/node_modules/estree-walker": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", + "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", + "dev": true + }, + "node_modules/rollup-plugin-node-globals/node_modules/magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "dev": true, + "dependencies": { + "vlq": "^0.2.2" + } + }, + "node_modules/rollup-plugin-progress": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-progress/-/rollup-plugin-progress-1.1.2.tgz", + "integrity": "sha512-6ehSZOMTZdAlRpe45kf56BnIOsDYC2GKWhGlK/Dh/Ae/AMUneMDyKdiv9ZlRrW/HVc986frTZcc2Zka+oF6W7Q==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + } + }, + "node_modules/rollup-plugin-scss": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-scss/-/rollup-plugin-scss-3.0.0.tgz", + "integrity": "sha512-UldNaNHEon2a5IusHvj/Nnwc7q13YDvbFxz5pfNbHBNStxGoUNyM+0XwAA/UafJ1u8XRPGdBMrhWFthrrGZdWQ==", + "dev": true, + "dependencies": { + "rollup-pluginutils": "^2.3.3" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/rope-sequence": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz", + "integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==" + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "optional": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", + "dev": true, + "dependencies": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "node_modules/sass": { + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "optional": true + }, + "node_modules/serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "optional": true, + "dependencies": { + "type-fest": "^0.13.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-error/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/short-unique-id": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-4.4.4.tgz", + "integrity": "sha512-oLF1NCmtbiTWl2SqdXZQbo5KM1b7axdp0RgQLq8qCBBLoq+o3A5wmLrNM6bZIh54/a8BJ3l69kTXuxwZ+XCYuw==", + "bin": { + "short-unique-id": "bin/short-unique-id", + "suid": "bin/short-unique-id" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dev": true, + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "optional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/smob": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.1.1.tgz", + "integrity": "sha512-i5aqEBPnDv9d77+NDxfjROtywxzNdAVNyaOr+RsLhM28Ts+Ar7luIp/Q+SBYa6wv/7BBcOpEkrhtDxsl2WA9Jg==", + "dev": true + }, + "node_modules/sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==", + "dependencies": { + "is-plain-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==", + "dependencies": { + "sort-keys": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true, + "optional": true + }, + "node_modules/stat-mode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0" + }, + "engines": { + "node": ">= 8.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tabbable": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.3.3.tgz", + "integrity": "sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==" + }, + "node_modules/tar": { + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/temp-file": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", + "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", + "dev": true, + "dependencies": { + "async-exit-hook": "^2.0.1", + "fs-extra": "^10.0.0" + } + }, + "node_modules/temp-file/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/temp-file/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/temp-file/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/terser": { + "version": "5.17.4", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.4.tgz", + "integrity": "sha512-jcEKZw6UPrgugz/0Tuk/PVyLAPfMBJf5clnGueo45wTweoV8yh7Q7PEkhkJ5uuUbC7zAxEcG3tqNr1bstkQ8nw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/throttle-debounce": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tmp-promise": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz", + "integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==", + "dev": true, + "dependencies": { + "tmp": "^0.2.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==", + "dev": true, + "dependencies": { + "utf8-byte-length": "^1.0.1" + } + }, + "node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/twemoji": { + "version": "14.0.2", + "resolved": "https://registry.npmjs.org/twemoji/-/twemoji-14.0.2.tgz", + "integrity": "sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA==", + "dependencies": { + "fs-extra": "^8.0.1", + "jsonfile": "^5.0.0", + "twemoji-parser": "14.0.0", + "universalify": "^0.1.2" + } + }, + "node_modules/twemoji-parser": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-14.0.0.tgz", + "integrity": "sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA==" + }, + "node_modules/twemoji/node_modules/jsonfile": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz", + "integrity": "sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==", + "dependencies": { + "universalify": "^0.1.2" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz", + "integrity": "sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==", + "optionalDependencies": { + "rxjs": "*" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unused-filename": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unused-filename/-/unused-filename-2.1.0.tgz", + "integrity": "sha512-BMiNwJbuWmqCpAM1FqxCTD7lXF97AvfQC8Kr/DIeA6VtvhJaMDupZ82+inbjl5yVP44PcxOuCSxye1QMS0wZyg==", + "dependencies": { + "modify-filename": "^1.1.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unused-filename/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", + "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dev": true, + "optional": true, + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true + }, + "node_modules/w3c-keyname": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.7.tgz", + "integrity": "sha512-XB8aa62d4rrVfoZYQaYNy3fy+z4nrfy2ooea3/0BnBzXW0tSdZ+lRgjzBZhk0La0H6h8fVyYCxx/qkQcAIuvfg==" + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wicg-inert": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/wicg-inert/-/wicg-inert-3.1.2.tgz", + "integrity": "sha512-Ba9tGNYxXwaqKEi9sJJvPMKuo063umUPsHN0JJsjrs2j8KDSzkWLMZGZ+MH1Jf1Fq4OWZ5HsESJID6nRza2ang==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/zeed-dom": { + "version": "0.9.26", + "resolved": "https://registry.npmjs.org/zeed-dom/-/zeed-dom-0.9.26.tgz", + "integrity": "sha512-HWjX8rA3Y/RI32zby3KIN1D+mgskce+She4K7kRyyx62OiVxJ5FnYm8vWq0YVAja3Tf2S1M0XAc6O2lRFcMgcQ==", + "dependencies": { + "css-what": "^6.1.0" + }, + "engines": { + "node": ">=14.13.1" + }, + "funding": { + "type": "GitHub Sponsors ❤", + "url": "https://github.com/sponsors/holtwick" + } + } + } +} diff --git a/package.json b/package.json index f4d8ac13..c0dd540f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "qortal-ui", - "version": "4.0.4", + "version": "4.1.0", "description": "Qortal Project - decentralize the world - Data storage, communications, web hosting, decentralized trading, complete infrastructure for the future blockchain-based Internet", "keywords": [ "QORT", @@ -45,16 +45,16 @@ "lodash": "4.17.21", "node-fetch": "2.6.9", "os-locale": "3.0.0", - "prosemirror-commands": "1.5.1", - "prosemirror-dropcursor": "1.8.0", - "prosemirror-gapcursor": "1.3.1", - "prosemirror-history": "1.3.1", - "prosemirror-keymap": "1.2.1", - "prosemirror-model": "1.19.0", - "prosemirror-schema-list": "1.2.2", - "prosemirror-state": "1.4.2", - "prosemirror-transform": "1.7.1", - "prosemirror-view": "1.31.1", + "prosemirror-commands": "1.5.2", + "prosemirror-dropcursor": "1.8.1", + "prosemirror-gapcursor": "1.3.2", + "prosemirror-history": "1.3.2", + "prosemirror-keymap": "1.2.2", + "prosemirror-model": "1.19.1", + "prosemirror-schema-list": "1.2.3", + "prosemirror-state": "1.4.3", + "prosemirror-transform": "1.7.2", + "prosemirror-view": "1.31.3", "sass": "1.62.1", "short-unique-id": "4.4.4", "@hapi/hapi": "21.3.2", @@ -85,7 +85,7 @@ "passive-events-support": "1.0.33", "redux": "4.2.1", "redux-thunk": "2.4.2", - "rollup": "3.22.0", + "rollup": "3.23.0", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", @@ -128,10 +128,10 @@ "@qortal/rollup-plugin-web-worker-loader": "1.6.4", "@rollup/plugin-alias": "5.0.0", "@rollup/plugin-babel": "6.0.3", - "@rollup/plugin-commonjs": "24.1.0", + "@rollup/plugin-commonjs": "25.0.0", "@rollup/plugin-node-resolve": "15.0.2", "@rollup/plugin-replace": "5.0.2", - "@rollup/plugin-terser": "0.4.1", + "@rollup/plugin-terser": "0.4.3", "@vaadin/avatar": "24.0.5", "@vaadin/button": "24.0.5", "@vaadin/grid": "24.0.5", From b5c0b27c44ce3bf36e0a62cf5ecc620c54d8f65c Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 22 May 2023 03:46:46 -0400 Subject: [PATCH 008/112] Update us.json Fix typo --- core/language/us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/language/us.json b/core/language/us.json index ea0f16e3..ffb1c13e 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -830,7 +830,7 @@ "gchange41": "Group Creation Successful!", "gchange42": "Invalid Group Name", "gchange43": "Invalid Group Description", - "gchange44": "Select a Group Typ", + "gchange44": "Select a Group Type", "gchange45": "Select a Group Approval Threshold", "gchange46": "Select a Minimum Block delay for Group Transaction Approvals", "gchange47": "Select a Maximum Block delay for Group Transaction Approvals", From bbb227dcbefd15d23bb415600f3cc8202aae222f Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 22 May 2023 03:57:34 -0400 Subject: [PATCH 009/112] Prepare Japanese translation --- core/language/de.json | 3 +- core/language/es.json | 3 +- core/language/fr.json | 3 +- core/language/hindi.json | 3 +- core/language/hr.json | 3 +- core/language/hu.json | 3 +- core/language/it.json | 3 +- core/language/jp.json | 2131 ++++++++++++++++++++++ core/language/ko.json | 3 +- core/language/no.json | 3 +- core/language/pl.json | 3 +- core/language/pt.json | 3 +- core/language/ro.json | 3 +- core/language/rs.json | 3 +- core/language/ru.json | 3 +- core/language/us.json | 5 +- core/language/zhc.json | 3 +- core/language/zht.json | 3 +- core/src/components/language-selector.js | 1 + locales/jp.json | 73 + 20 files changed, 2240 insertions(+), 18 deletions(-) create mode 100644 core/language/jp.json create mode 100644 locales/jp.json diff --git a/core/language/de.json b/core/language/de.json index 822783ef..c7226475 100644 --- a/core/language/de.json +++ b/core/language/de.json @@ -18,7 +18,8 @@ "russian": "Russisch", "norwegian": "Norwegisch", "romanian": "Rumänisch", - "korean": "Koreanisch" + "korean": "Koreanisch", + "japanese": "Japanisch" }, "sidemenu": { "minting": "PRÄGUNG", diff --git a/core/language/es.json b/core/language/es.json index f81f6c9b..0b71e925 100644 --- a/core/language/es.json +++ b/core/language/es.json @@ -18,7 +18,8 @@ "russian": "Ruso", "norwegian": "Noruego", "romanian": "Rumano", - "korean": "Coreano" + "korean": "Coreano", + "japanese": "Japonés" }, "sidemenu": { "minting": "ACUÑACIÓN", diff --git a/core/language/fr.json b/core/language/fr.json index a3c450a8..a73ad4af 100644 --- a/core/language/fr.json +++ b/core/language/fr.json @@ -18,7 +18,8 @@ "russian": "Russe", "norwegian": "Norvégien", "romanian": "Roumain", - "korean": "Coréen" + "korean": "Coréen", + "japanese": "Japonais" }, "sidemenu": { "minting": "MONNAIE", diff --git a/core/language/hindi.json b/core/language/hindi.json index c3b0f036..7ec15069 100644 --- a/core/language/hindi.json +++ b/core/language/hindi.json @@ -19,7 +19,8 @@ "russian": "रूसी", "norwegian": "नार्वेजियन", "romanian": "रोमानियाई", - "korean": "कोरियाई" + "korean": "कोरियाई", + "japanese": "जापानी" }, "sidemenu": { "minting": "मिंटिंग", diff --git a/core/language/hr.json b/core/language/hr.json index 1833b736..70df8b84 100644 --- a/core/language/hr.json +++ b/core/language/hr.json @@ -18,7 +18,8 @@ "russian": "Ruski", "norwegian": "Norveški", "romanian": "Rumunjski", - "korean": "Korejski" + "korean": "Korejski", + "japanese": "Japanski" }, "sidemenu": { "minting": "KOVANJE", diff --git a/core/language/hu.json b/core/language/hu.json index 3d8d3fbc..ec2b8db1 100644 --- a/core/language/hu.json +++ b/core/language/hu.json @@ -18,7 +18,8 @@ "russian": "Orosz", "norwegian": "Norvég", "romanian": "Román", - "korean": "Koreai" + "korean": "Koreai", + "japanese": "Japán" }, "sidemenu": { "minting": "BÉRTÉS", diff --git a/core/language/it.json b/core/language/it.json index 491004e9..c6d18342 100644 --- a/core/language/it.json +++ b/core/language/it.json @@ -18,7 +18,8 @@ "russian": "Russo", "norwegian": "Norvegese", "romanian": "Rumeno", - "korean": "Coreano" + "korean": "Coreano", + "japanese": "Giapponese" }, "sidemenu": { "minting": "CONIAZIONE", diff --git a/core/language/jp.json b/core/language/jp.json new file mode 100644 index 00000000..1bff9b9d --- /dev/null +++ b/core/language/jp.json @@ -0,0 +1,2131 @@ +{ + + "selectmenu": { + + "selectlanguage": "Select language", + + "languageflag": "us", + + "english": "English", + + "chinese1": "Chinese (Simplified)", + + "chinese2": "Chinese (Traditional)", + + "german": "German", + + "french": "French", + + "polish": "Polish", + + "spanish": "Spanish", + + "hindi": "Hindi", + + "croatian": "Croatian", + + "portuguese": "Portuguese", + + "hungarian": "Hungarian", + + "serbian": "Serbian", + + "italian": "Italian", + + "russian": "Russian", + + "norwegian": "Norwegian", + + "romanian": "Romanian", + + "korean": "Korean", + + "japanese": "Japanese" + + }, + + "sidemenu": { + + "minting": "MINTING", + + "mintingdetails": "MINTING DETAILS", + + "becomeAMinter": "BECOME A MINTER", + + "wallets": "WALLETS", + + "tradeportal": "TRADE PORTAL", + + "rewardshare": "REWARD SHARE", + + "nameregistration": "NAME REGISTRATION", + + "websites": "WEBSITES", + + "management": "MANAGEMENT", + + "datamanagement": "DATA MANAGEMENT", + + "qchat": "Q-CHAT", + + "groupmanagement": "GROUP MANAGEMENT", + + "puzzles": "PUZZLES", + + "nodemanagement": "NODE MANAGEMENT", + + "trading": "TRADING", + + "groups": "GROUPS", + + "sm1": "NAMES", + + "sm2": "NAME MANAGEMENT", + + "sm3": "NAMES MARKET" + + }, + + "login": { + + "login": "Login", + + "createaccount": "Create Account", + + "name": "Name", + + "address": "Address", + + "password": "Password", + + "youraccounts": "Your accounts", + + "clickto": "Click your account to login with it", + + "needcreate": "You need to create or save an account before you can log in!", + + "upload": "Upload your qortal backup", + + "howlogin": "How would you like to login?", + + "seed": "Seedphrase", + + "seedphrase": "seedphrase", + + "saved": "Saved account", + + "qora": "Qora address seed", + + "backup": "Qortal wallet backup", + + "decrypt": "Decrypt backup", + + "save": "Save in this browser.", + + "prepare": "Preparing Your Account", + + "areyousure": "Are you sure you want to remove this wallet from saved wallets?", + + "error1": "Backup must be valid JSON", + + "error2": "Login option not selected", + + "createwelcome": "Welcome to Qortal, you will find it to be similar to that of an RPG game, you, as a minter on the Qortal network (if you choose to become one) will have the chance to level your account up, giving you both more of the QORT block reward and also larger influence over the network in terms of voting on decisions for the platform.", + + "createa": "A", + + "click": "Click to view seedphrase", + + "confirmpass": "Confirm Password", + + "willbe": "will be randomly generated in background. This is used as your private key generator for your blockchain account in Qortal.", + + "clicknext": "Create your Qortal account by clicking NEXT below.", + + "ready": "Your account is now ready to be created. It will be saved in this browser. If you do not want your new account to be saved in your browser, you can uncheck the box below. You will still be able to login with your new account(after logging out), using your wallet backup file that you MUST download once you create your account.", + + "welmessage": "Welcome to Qortal", + + "pleaseenter": "Please enter a Password!", + + "notmatch": "Passwords not match!", + + "lessthen8": "Your password is less than 8 characters! This is not recommended. You can continue to ignore this warning.", + + "lessthen8-2": "Your password is less than 8 characters!", + + "entername": "Please enter a Name!", + + "downloaded": "Your Wallet BackUp file get downloaded!", + + "loading": "Loading, Please wait...", + + "createdseed": "Your created Seedphrase", + + "saveseed": "Save Seedphrase", + + "savein": "Save in browser", + + "backup2": "This file is the ONLY way to access your account on a system that doesn't have it saved to the app/browser. BE SURE TO BACKUP THIS FILE IN MULTIPLE PLACES. The file is encrypted very securely and decrypted with your local password you created in the previous step. You can save it anywhere securely, but be sure to do that in multiple locations.", + + "savewallet": "Save Wallet BackUp File", + + "created1": "Your account is now created", + + "created2": " and will be saved in this browser.", + + "downloadbackup": "Download Wallet BackUp File", + + "passwordhint": "A password must be at least 8 characters." + + }, + + "logout": { + + "logout": "LOGOUT", + + "confirmlogout": "Are you sure you want to logout?" + + }, + + "fragfile": { + + "selectfile": "Select file", + + "dragfile": "Drag and drop backup here" + + }, + + "settings": { + + "generalinfo": "General Account Info", + + "address": "Address", + + "publickey": "Public Key", + + "settings": "Settings", + + "account": "Account", + + "security": "Security", + + "qr_login_menu_item": "QR Login", + + "qr_login_description_1": "Scan this code to unlock your wallet on other device using the same password which you logged in with.", + + "qr_login_description_2": "Choose a password which you will use to unlock your wallet on other device after scanning the QR code.", + + "qr_login_button_1": "Show login QR code", + + "qr_login_button_2": "Generate login QR code", + + "notifications": "Notifications", + + "accountsecurity": "Account Security", + + "password": "Password", + + "download": "Download Backup File", + + "choose": "Please choose a password to encrypt your backup with. (This can be the same as the one you logged in with, or different)", + + "block": "Block Notifications (Coming Soon...)", + + "playsound": "Play Sound", + + "shownotifications": "Show Notifications", + + "nodeurl": "Node Url", + + "nodehint": "Select a node from the default list of nodes above or add a custom node to the list above by clicking on the button below", + + "addcustomnode": "Add Custom Node", + + "addandsave": "Add And Save", + + "protocol": "Protocol", + + "domain": "Domain", + + "port": "Port", + + "import": "Import Nodes", + + "export": "Export Nodes", + + "deletecustomnode": "Remove All Custom Nodes", + + "warning": "Your existing nodes will be deleted and from backup new created.", + + "snack1": "Successfully deleted and added standard nodes", + + "snack2": "UI conected to node", + + "snack3": "Successfully added and saved custom node", + + "snack4": "Nodes successfully saved as", + + "snack5": "Nodes successfully imported", + + "exp1": "Export Private Master Key", + + "exp2": "Export Master Key", + + "exp3": "Export", + + "exp4": "Please choose a wallet to backup the private master key.", + + "core": "Start Core Settings" + + }, + + "appinfo": { + + "blockheight": "Block Height", + + "uiversion": "UI Version", + + "coreversion": "Core Version", + + "minting": "(Minting)", + + "synchronizing": "Synchronizing", + + "peers": "Connected Peers" + + }, + + "walletprofile": { + + "minterlevel": "Minter Level", + + "blocksminted": "Blocks Minted" + + }, + + "general": { + + "yes": "Yes", + + "no": "No", + + "confirm": "Confirm", + + "decline": "Decline", + + "open": "Open", + + "close": "Close", + + "back": "Back", + + "next": "Next", + + "create": "Create", + + "continue": "Continue", + + "save": "Save", + + "balance": "Balance", + + "balances": "YOUR WALLET BALANCES", + + "update": "UPDATE WALLET BALANCES", + + "view": "View" + + }, + + "gifs": { + + "gchange1": "Gif Explorer", + + "gchange2": "Explore Collections", + + "gchange3": "My Collections", + + "gchange4": "Subscribed Collections", + + "gchange5": "Upload your gif files", + + "gchange6": "File should be .Gif", + + "gchange7": "Upload Collection", + + "gchange8": "A collection name is required!", + + "gchange9": "Collection Name", + + "gchange10": "Gif Collection Uploaded Successfully!", + + "gchange11": "Gifs uploading, please wait...", + + "gchange12": "Something went wrong! Please try changing tabs and coming back.", + + "gchange13": "You currently have no collections.", + + "gchange14": "You currently have no subscribed collections.", + + "gchange15": "Error fetching GIF. Retrying...", + + "gchange16": "Failed to fetch GIF! Please visit another collection and try again!", + + "gchange17": "Subscribe to this collection", + + "gchange18": "Searching for collections...", + + "gchange19": "No collections found!", + + "gchange20": "Subscribed to collection successfully!", + + "gchange21": "Unsubscribed to collection successfully!", + + "gchange22": "Unsubscribe from this collection", + + "gchange23": "Your gif collection cannot contain two gifs with the same name!", + + "gchange24": "This collection name is already taken. Try another name!", + + "gchange25": "GIF (click to view)", + + "gchange26": "A name is needed to access and send GIF files", + + "gchange27": "The gif collection size is over 25mb! Please try again!", + + "gchange28": "Each gif in the collection cannot be over 0.7mb! Please try again!", + + "gchange29": "Filename" + + }, + + "startminting": { + + "smchange1": "Cannot fetch minting accounts", + + "smchange2": "Failed to remove key", + + "smchange3": "Failed to add minting key", + + "smchange4": "Cannot create sponsorship key", + + "smchange5": "Creating relationship", + + "smchange6": "Awaiting confirmation on blockchain", + + "smchange7": "Finishing up relationship", + + "smchange8": "Adding minting key to node", + + "smchange9": "Complete", + + "smchange10": "Only 2 minting keys are allowed per node, you are attempting to assign 3 keys, please go to management - node management, and remove the key you do not want to assign to this node, thank you!" + + }, + + "mintingpage": { + + "mchange1": "General Minting Details", + + "mchange2": "Blockchain Statistics", + + "mchange3": "Avg. Qortal Blocktime", + + "mchange4": "Avg. Blocks Per Day", + + "mchange5": "Avg. Created QORT Per Day", + + "mchange6": "Minting Account Details", + + "mchange7": "Not A Minter", + + "mchange8": "Minting", + + "mchange9": "Not Minting", + + "mchange10": "Activate Account Details", + + "mchange11": "Not Activated", + + "mchange12": "Activate Your Account", + + "mchange13": "Introduction", + + "mchange14": "To activate your account, an OUTGOING transaction needs to take place. Name Registration is the most common method. You can ask someone in Q-Chat to send you a small amount of QORT so that you may activate your account, or buy QORT within the Trade Portal then make an OUTGOING transaction of any kind and secure your public key on the blockchain. Until you do this, your public key is only known by you, in your UI, and no one else can pull your public key from the chain.", + + "mchange15": "Current Status", + + "mchange16": "Current Level", + + "mchange17": "Blocks To Next Level", + + "mchange18": "If you continue minting 24/7 you will reach level", + + "mchange19": "Minting Rewards Info", + + "mchange20": "Current Tier", + + "mchange21": "Total Minters in The Tier", + + "mchange22": "Tier Share Per Block", + + "mchange23": "Est. Reward Per Block", + + "mchange24": "Est. Reward Per Day", + + "mchange25": "Seconds", + + "mchange26": "Blocks", + + "mchange27": "Level", + + "mchange28": "Tier", + + "mchange29": "days", + + "mchange30": "Minters", + + "mchange31": "Press for help", + + "mchange32": "Become A Minter", + + "mchange33": "Introduction", + + "mchange34": "In Qortal, in order to become a minter and begin earning QORT rewards with your increase in Minter Level, you must first become ‘sponsored’. A sponsor in Qortal is any other minter of level 5 or higher, or a Qortal Founder. You will obtain a sponsorship key from the sponsor, and use that key to get to level 1. Once you have reached level 1, you will be able to create your own minting key and start earning rewards for helping secure the Qortal Blockchain.", + + "mchange35": "Sponsorship", + + "mchange36": "Your sponsor will issue you a ‘Sponsorship Key’ which you will use to add to your node, and begin minting (for no rewards until reaching level 1.) Once you reach level 1, you create/assign your own ‘Minting Key’ and begin earning rewards.", + + "mchange37": "Simply reach out to a minter in Qortal who is high enough level to issue a sponsorship key, obtain that key, then come back here and input the key to begin your minting journey !", + + "mchange38": "in" + + }, + + "becomeMinterPage": { + + "bchange7": "Enter Sponsorship Key", + + "bchange8": "Input key from your sponsor here", + + "bchange10": "Current Sponsorship Status", + + "bchange12": "Minting with sponsor key", + + "bchange13": "Blocks Remaining in Sponsorship Period", + + "bchange15": "Sponsorship Relationship", + + "bchange16": "Sponsor Account", + + "bchange17": "Copy Sponsorship Key", + + "bchange18": "Start Minting", + + "bchange19": "Success! You are currently minting." + + }, + + "walletpage": { + + "wchange1": "Fetching balance ...", + + "wchange2": "Current Wallet", + + "wchange3": "Copy wallet address to clipboard", + + "wchange4": "Address copied to clipboard", + + "wchange5": "Transaction Details", + + "wchange6": "Transaction Type", + + "wchange7": "OUT", + + "wchange8": "IN", + + "wchange9": "Sender", + + "wchange10": "Receiver", + + "wchange11": "Amount", + + "wchange12": "Transaction Fee", + + "wchange13": "Block", + + "wchange14": "Time", + + "wchange15": "Transaction Signature", + + "wchange16": "Transaction Hash", + + "wchange17": "Send", + + "wchange18": "From address", + + "wchange19": "Available balance", + + "wchange20": "To (address or name)", + + "wchange21": "Current static fee:", + + "wchange22": "Wallets", + + "wchange23": "To (address)", + + "wchange24": "Current fee per byte", + + "wchange25": "Low fees may result in slow or unconfirmed transactions.", + + "wchange26": "Insufficient Funds!", + + "wchange27": "Invalid Amount!", + + "wchange28": "Receiver cannot be empty!", + + "wchange29": "Invalid Receiver!", + + "wchange30": "Transaction Successful!", + + "wchange31": "Transaction Failed!", + + "wchange32": "Failed to Fetch QORT Balance. Try again!", + + "wchange33": "Failed to Fetch", + + "wchange34": "Balance. Try again!", + + "wchange35": "Type", + + "wchange36": "Fee", + + "wchange37": "Total Amount", + + "wchange38": "Address has no transactions yet.", + + "wchange39": "Unable to copy address.", + + "wchange40": "PAYMENT", + + "wchange41": "Status", + + "wchange42": "Confirmations", + + "wchange43": "Your transaction will not show until confirmed, be patient...", + + "wchange44": "Please try again...", + + "wchange45": "Send all", + + "wchange46": "Send to this address", + + "wchange47": "Address Book", + + "wchange48": "This Address Book is empty !", + + "wchange49": "Add to Address Book", + + "wchange50": "Name cannot be empty!", + + "wchange51": "Address cannot be empty!", + + "wchange52": "Successfully added!", + + "wchange53": "Import Address Book", + + "wchange54": "Export Address Book", + + "wchange55": "Your existing address book will be deleted and from backup new created.", + + "wchange56": "WARNING!", + + "wchange57": "Memo", + + "wchange58": "New Address", + + "wchange59": "Coin" + + }, + + "tradepage": { + + "tchange1": "Trade Portal", + + "tchange2": "Select Trading Pair", + + "tchange3": "HISTORIC MARKET TRADES", + + "tchange4": "MY TRADE HISTORY", + + "tchange5": "OPEN MARKET SELL ORDERS", + + "tchange6": "MY ORDERS", + + "tchange7": "Stuck Offers", + + "tchange8": "Amount", + + "tchange9": "Price", + + "tchange10": "Total", + + "tchange11": "Date", + + "tchange12": "Status", + + "tchange13": "Seller", + + "tchange14": "Price Each", + + "tchange15": "Clear Form", + + "tchange16": "You have", + + "tchange17": "Action", + + "tchange18": "BUY", + + "tchange19": "SELL", + + "tchange20": "Failed to Create Trade. Try again!", + + "tchange21": "Failed to Create Trade. Error Code", + + "tchange22": "Insufficient Funds!", + + "tchange23": "Buy Request Successful!", + + "tchange24": "Buy Request Existing!", + + "tchange25": "Failed to Create Trade. Error Code", + + "tchange26": "Trade Cancelling In Progress!", + + "tchange27": "Failed to Cancel Trade. Try again!", + + "tchange28": "Failed to Cancel Trade. Error Code", + + "tchange29": "CANCEL", + + "tchange30": "Failed to Fetch Balance. Try again!", + + "tchange31": "SOLD", + + "tchange32": "BOUGHT", + + "tchange33": "Average", + + "tchange34": "Amount can not be 0", + + "tchange35": "Price can not be 0", + + "tchange36": "PENDING AUTO BUY", + + "tchange37": "No auto buy order found !", + + "tchange38": "ADD", + + "tchange39": "AUTO BUY ORDER", + + "tchange40": "Price", + + "tchange41": "Successfully removed auto buy order!", + + "tchange42": "MARKET OPEN SELL ORDERS", + + "tchange43": "MY BUY HISTORY", + + "tchange44": "Successfully added auto buy order!", + + "tchange45": "AUTO BUY WITH", + + "tchange46": "AUTO BUY", + + "tchange47": "Sell for this price", + + "tchange48": "NOT ENOUGH", + + "tchange49": "Price Chart" + + }, + + "rewardsharepage": { + + "rchange1": "Rewardshares", + + "rchange2": "Create reward share", + + "rchange3": "Rewardshares Involving In This Account", + + "rchange4": "Minting Account", + + "rchange5": "Share Percent", + + "rchange6": "Recipient", + + "rchange7": "Action", + + "rchange8": "Type", + + "rchange9": "Level 1 - 4 can create a Self Share and Level 5 or above can create a Reward Share!", + + "rchange10": "Recipient Public Key", + + "rchange11": "Reward share percentage", + + "rchange12": "Doing something delicious", + + "rchange13": "Adding minting account", + + "rchange14": "Add", + + "rchange15": "Account is not involved in any reward shares", + + "rchange16": "Own Rewardshare", + + "rchange17": "Remove", + + "rchange18": "Cannot Create Multiple Reward Shares!", + + "rchange19": "Cannot Create Multiple Self Shares!", + + "rchange20": "CANNOT CREATE REWARD SHARE! at level", + + "rchange21": "Reward Share Successful!", + + "rchange22": "Reward Share Removed Successfully!" + + }, + + "registernamepage": { + + "nchange1": "Name Registration", + + "nchange2": "Register Name", + + "nchange3": "Registered Names", + + "nchange4": "Avatar", + + "nchange5": "Name", + + "nchange6": "Owner", + + "nchange7": "Action", + + "nchange8": "No names registered by this account!", + + "nchange9": "Register a Name!", + + "nchange10": "Description (optional)", + + "nchange11": "Doing something delicious", + + "nchange12": "Registering Name", + + "nchange13": "The current name registration fee is", + + "nchange14": "Register", + + "nchange15": "Set Avatar", + + "nchange16": "Need Core Update", + + "nchange17": "Name Already Exists!", + + "nchange18": "Name Registration Successful!", + + "nchange19": "Sell Name", + + "nchange20": "Cancel Sell", + + "nchange21": "Buy Name", + + "nchange22": "Names Market", + + "nchange23": "Sell Price", + + "nchange24": "No Names To Sell", + + "nchange25": "Name To Sell", + + "nchange26": "Are you sure to sell this name ?", + + "nchange27": "For this price in QORT", + + "nchange28": "On pressing confirm, the sell name request will be sent!", + + "nchange29": "Name To Cancel", + + "nchange30": "Are you sure to cancel the sell for this name ?", + + "nchange31": "On pressing confirm, the cancel sell name request will be sent!", + + "nchange32": "Sell Name Request Successful!", + + "nchange33": "Cancel Sell Name Request Successful!", + + "nchange34": "Buy Name Request Successful!", + + "nchange35": "YOU HAVE A NAME!", + + "nchange36": "Only accounts with no registered name can buy a name.", + + "nchange37": "ATTENTION!", + + "nchange38": "You not have enough qort to buy this name.", + + "nchange39": "Are you sure to buy this name ?", + + "nchange40": "On pressing confirm, the buy name request will be sent!", + + "nchange41": "Old Name", + + "nchange42": "New Name", + + "nchange43": "Are you sure to change this name ?", + + "nchange44": "To the new name", + + "nchange45": "On pressing confirm, the name update request will be sent!", + + "nchange46": "Name Sale History", + + "nchange47": "Name Update Successful!" + + }, + + "websitespage": { + + "schange1": "Browse Websites", + + "schange2": "Followed Websites", + + "schange3": "Blocked Websites", + + "schange4": "Search Websites", + + "schange5": "Avatar", + + "schange6": "Details", + + "schange7": "Published by", + + "schange8": "Actions", + + "schange9": "Websites", + + "schange10": "No websites available", + + "schange11": "Your Followed Websites", + + "schange12": "Followed Websites", + + "schange13": "You aren't following any websites", + + "schange14": "Your Blocked Websites", + + "schange15": "Blocked Websites", + + "schange16": "You have not blocked any websites", + + "schange17": "Name Not Found!", + + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + + "schange19": "in", + + "schange20": "Relay mode is disabled. You can enable it by setting", + + "schange21": "Publish Website", + + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + + "schange24": "Error occurred when trying to block this registered name. Please try again!", + + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + + "schange26": "Uncategorized", + + "schange27": "Size", + + "schange28": "Status", + + "schange29": "Follow", + + "schange30": "Unfollow", + + "schange31": "Block", + + "schange32": "Unblock", + + "schange33": "Name to search", + + "schange34": "Name can not be empty!", + + "schange35": "Search" + + }, + + "appspage": { + + "schange1": "Browse Q-Apps", + + "schange2": "Followed Q-Apps", + + "schange3": "Blocked Q-Apps", + + "schange4": "Search Q-Apps", + + "schange5": "Avatar", + + "schange6": "Details", + + "schange7": "Published by", + + "schange8": "Actions", + + "schange9": "Q-Apps", + + "schange10": "No q-apps available", + + "schange11": "Your Followed Q-Apps", + + "schange12": "Followed Q-Apps", + + "schange13": "You aren't following any q-apps", + + "schange14": "Your Blocked Q-Apps", + + "schange15": "Blocked Q-Apps", + + "schange16": "You have not blocked any q-apps", + + "schange17": "Name Not Found!", + + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + + "schange19": "in", + + "schange20": "Relay mode is disabled. You can enable it by setting", + + "schange21": "Publish Q-App", + + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + + "schange24": "Error occurred when trying to block this registered name. Please try again!", + + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + + "schange26": "Uncategorized", + + "schange27": "Size", + + "schange28": "Status", + + "schange29": "Follow", + + "schange30": "Unfollow", + + "schange31": "Block", + + "schange32": "Unblock", + + "schange33": "Name to search", + + "schange34": "Name can not be empty!", + + "schange35": "Search", + + "schange36": "Download", + + "schange37": "Downloaded", + + "schange38": "Update", + + "schange39": "Open", + + "schange40": "Preview", + + "schange41": "Downloading please wait...", + + "schange42": "Files downloaded" + + }, + + "tubespage": { + + "schange1": "Browse Q-Tubes", + + "schange2": "Followed Q-Tubes", + + "schange3": "Blocked Q-Tubes", + + "schange4": "Search Q-Tubes", + + "schange5": "Cover", + + "schange6": "Details", + + "schange7": "Published by", + + "schange8": "Actions", + + "schange9": "Q-Tubes", + + "schange10": "No q-tubes available", + + "schange11": "Your Followed Q-Tubes", + + "schange12": "Followed Q-Tubes", + + "schange13": "You aren't following any q-tubes", + + "schange14": "Your Blocked Q-Tubes", + + "schange15": "Blocked Q-Tubes", + + "schange16": "You have not blocked any q-tubes", + + "schange17": "Name Not Found!", + + "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + + "schange19": "in", + + "schange20": "Relay mode is disabled. You can enable it by setting", + + "schange21": "Publish Video", + + "schange22": "Error occurred when trying to follow this registered name. Please try again!", + + "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + + "schange24": "Error occurred when trying to block this registered name. Please try again!", + + "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + + "schange26": "Uncategorized", + + "schange27": "Size", + + "schange28": "Status", + + "schange29": "Follow", + + "schange30": "Unfollow", + + "schange31": "Block", + + "schange32": "Unblock", + + "schange33": "Name to search", + + "schange34": "Name can not be empty!", + + "schange35": "Search", + + "schange36": "Download", + + "schange37": "Downloaded", + + "schange38": "Update", + + "schange39": "Open", + + "schange40": "Preview", + + "schange41": "Downloading please wait...", + + "schange42": "Files downloaded", + + "schange43": "Open please wait..." + + }, + + "publishpage": { + + "pchange1": "Publish", + + "pchange2": "Update", + + "pchange3": "Note: it is recommended that you set up port forwarding before hosting data, so that it can more easily accessed by peers on the network.", + + "pchange4": "Select Name", + + "pchange5": "Title", + + "pchange6": "Description", + + "pchange7": "Select Category", + + "pchange8": "Tag", + + "pchange9": "Service", + + "pchange10": "Identifier", + + "pchange11": "Publish", + + "pchange12": "Select zip file containing static content", + + "pchange13": "Local path to static files", + + "pchange14": "Please select a registered name to publish data for", + + "pchange15": "Please select a file to host", + + "pchange16": "Please select a zip file to host", + + "pchange17": "Please enter the directory path containing the static content", + + "pchange18": "Please enter a service name", + + "pchange19": "Processing data... this can take some time...", + + "pchange20": "Error:", + + "pchange21": "Internal Server Error when publishing data", + + "pchange22": "Computing proof of work... this can take some time...", + + "pchange23": "Transaction successful!", + + "pchange24": "Unable to sign and process transaction", + + "pchange25": "Choose File", + + "pchange26": "Uploading data... this can take some time..." + + }, + + "browserpage": { + + "bchange1": "Forward", + + "bchange2": "Reload", + + "bchange3": "Back to list", + + "bchange4": "Delete", + + "bchange5": "from node", + + "bchange6": "Your browser doesn't support iframes", + + "bchange7": "Follow", + + "bchange8": "Unfollow", + + "bchange9": "Block", + + "bchange10": "Unblock", + + "bchange11": "Error occurred when trying to follow this registered name. Please try again!", + + "bchange12": "Error occurred when trying to unfollow this registered name. Please try again!", + + "bchange13": "Error occurred when trying to block this registered name. Please try again!", + + "bchange14": "Error occurred when trying to unblock this registered name. Please try again!", + + "bchange15": "Can't delete data from followed names. Please unfollow first.", + + "bchange16": "Error occurred when trying to delete this resource. Please try again!", + + "bchange17": "User declined to share account details", + + "bchange18": "has requested authentication. Would you like to authenticate?", + + "bchange19": "Do you give this application permission to publish to QDN?", + + "bchange20": "Do you give this application permission to get your wallet balance?", + + "bchange21": "Fetch Wallet Failed. Please try again!", + + "bchange22": "Do you give this application permission to send a chat message?", + + "bchange23": "Message Sent!", + + "bchange24": "This shares your QORT address and allows your account to interact with the", + + "bchange25": "No sensitive data is shared.", + + "bchange26": "Always authenticate automatically", + + "bchange27": "Reject", + + "bchange28": "Accept", + + "bchange29": "Instant publish (requires 0.001 QORT fee)", + + "bchange30": "Service", + + "bchange31": "Name", + + "bchange32": "Identifier", + + "bchange33": "Instant publish", + + "bchange34": "Filename", + + "bchange35": "Do you give this application permission to send coins?", + + "bchange36": "Do you want to publish instant to QDN without computing proof-of-work?", + + "bchange37": "Enter Fullscreen", + + "bchange38": "Exit Fullscreen", + + "bchange39": "Always allow lists to be retrieved automatically", + + "bchange40": "List", + + "bchange41": "Do you give this application permission to access this list?", + + "bchange42": "Items", + + "bchange43": "Do you give this application permission to add to this list?", + + "bchange44": "Do you give this application permission to delete from this list?", + + "bchange45": "Encrypt", + + "bchange46": "Do you give this application permission to save the following file" + + }, + + "datapage": { + + "dchange1": "Data Management", + + "dchange2": "Search in hosted data by this node", + + "dchange3": "Data to search", + + "dchange4": "Search", + + "dchange5": "Registered Name", + + "dchange6": "Service", + + "dchange7": "Identifier", + + "dchange8": "Actions", + + "dchange9": "Data hosted by this node", + + "dchange10": "Data name can not be empty!", + + "dchange11": "Data not found!", + + "dchange12": "Couldn't fetch hosted data list from node", + + "dchange13": "This node isn't hosting any data", + + "dchange14": "Unfollow", + + "dchange15": "Delete", + + "dchange16": "Block", + + "dchange17": "Unblock", + + "dchange18": "Error occurred when trying to block this registered name. Please try again!", + + "dchange19": "Error occurred when trying to unfollow this registered name. Please try again!", + + "dchange20": "Error occurred when trying to unblock this registered name. Please try again!", + + "dchange21": "Error occurred when trying to delete this resource. Please try again!" + + }, + + "chatpage": { + + "cchange1": "New Private Message", + + "cchange2": "Loading...", + + "cchange3": "Blocked Users", + + "cchange4": "New Message", + + "cchange5": "(Click to scroll down)", + + "cchange6": "Type the name or address of who you want to chat with to send a private message! You can validate the person's name by clicking on the book icon.", + + "cchange7": "Username / Address", + + "cchange8": "Message...", + + "cchange9": "Send", + + "cchange10": "Blocked Users List", + + "cchange11": "Name", + + "cchange12": "Owner", + + "cchange13": "Action", + + "cchange14": "This account has not blocked any users.", + + "cchange15": "No registered name", + + "cchange16": "Successfully unblocked this user.", + + "cchange17": "Error occurred when trying to unblock this user. Please try again!", + + "cchange18": "unblock", + + "cchange19": "Invalid Username / Address, Check the name / address and retry...", + + "cchange20": "Message Sent Successfully!", + + "cchange21": "Sending failed, Please retry...", + + "cchange22": "Loading Messages...", + + "cchange23": "Cannot Decrypt Message!", + + "cchange24": "Maximum Characters per message is 255", + + "cchange25": "Edit Message", + + "cchange26": "File size exceeds 0.5 MB", + + "cchange27": "A registered name is required to send images", + + "cchange28": "This file is not an image", + + "cchange29": "Maximum message size is 1000 bytes", + + "cchange30": "Uploading image. This may take up to one minute.", + + "cchange31": "Deleting image. This may take up to one minute.", + + "cchange33": "Cancel", + + "cchange34": "This chat message is using an older message version and cannot use this feature.", + + "cchange35": "Error when trying to fetch the user's name. Please try again!", + + "cchange36": "Search Results", + + "cchange37": "No Results Found", + + "cchange38": "User Verified", + + "cchange39": "Cannot send an encrypted message to this user since they do not have their publickey on chain.", + + "cchange40": "IMAGE (click to view)", + + "cchange41": "Your Balance Is Under 4 QORT", + + "cchange42": "Out of the need to combat spam, accounts with under 4 QORT balance will take a long time to SEND messages in Q-Chat. If you wish to immediately increase the send speed for Q-Chat messages, obtain over 4 QORT to your address. This can be done with trades in the Trade Portal, or by way of another Qortian giving you the QORT. Once you have over 4 QORT in your account, Q-Chat messages will be instant and this dialog will no more show. Thank you for your understanding of this necessary spam prevention method, and we hope you enjoy Qortal!", + + "cchange43": "Tip QORT to", + + "cchange44": "SEND MESSAGE", + + "cchange45": "TIP USER", + + "cchange46": "Tip Amount", + + "cchange47": "Available Balance", + + "cchange48": "Failed to Fetch QORT Balance. Try again!", + + "cchange49": "Current static fee", + + "cchange50": "Send", + + "cchange51": "Insufficient Funds!", + + "cchange52": "Invalid Amount!", + + "cchange53": "Receiver cannot be empty!", + + "cchange54": "Invalid Receiver!", + + "cchange55": "Transaction Successful!", + + "cchange56": "Transaction Failed!", + + "cchange57": "User Info", + + "cchange58": "SEND MESSAGE", + + "cchange59": "TIP USER", + + "cchange60": "Group Invites Pending", + + "cchange61": "Error when fetching group invites. Please try again!", + + "cchange62": "Wrong Username and Address Inputted! Please try again!", + + "cchange63": "Enter Enabled", + + "cchange64": "Enter Disabled", + + "cchange65": "Please enter a recipient", + + "cchange66": "Cannot fetch replied-to message. Message is too old.", + + "cchange68": "edited", + + "cchange69": "Auto-view images", + + "cchange70": "This image type is not supported", + + "cchange71": "and", + + "cchange72": "other", + + "cchange73": "s", + + "cchange74": "reacted with", + + "cchange75": "Uploading attachment. This may take up to one minute.", + + "cchange76": "Deleting attachment. This may take up to one minute.", + + "cchange77": "Attachment size exceeds 1 MB", + + "cchange78": "Are you sure you want to delete this image?", + + "cchange79": "Are you sure you want to delete this attachment?", + + "cchange80": "This image has been deleted", + + "cchange81": "This image type is not supported", + + "cchange82": "This attachment has been deleted", + + "cchange90": "No messages" + + }, + + "welcomepage": { + + "wcchange1": "Welcome to Q-Chat", + + "wcchange2": "New Private Message", + + "wcchange3": "Type the name or address of who you want to chat with to send a private message!", + + "wcchange4": "Name / Address", + + "wcchange5": "Message...", + + "wcchange6": "Send", + + "wcchange7": "Invalid Name / Address, Check the name / address and retry...", + + "wcchange8": "Message Sent Successfully!", + + "wcchange9": "Sending failed, Please retry..." + + }, + + "blockpage": { + + "bcchange1": "Block User", + + "bcchange2": "Successfully blocked this user!", + + "bcchange3": "Error occurred when trying to block this user. Please try again!", + + "bcchange4": "No registered name", + + "bcchange5": "Block User Request", + + "bcchange6": "Are you sure to block this user ?", + + "bcchange7": "MENU", + + "bcchange8": "Copy Address", + + "bcchange9": "Private Message", + + "bcchange10": "More", + + "bcchange11": "Reply", + + "bcchange12": "Edit", + + "bcchange13": "Reaction", + + "bcchange14": "Forward", + + "bcchange15": "Message Forwarded", + + "bcchange16": "Choose Recipient or Search for One Below", + + "bcchange17": "FORWARDED", + + "bcchange18": "Tip User" + + }, + + "grouppage": { + + "gchange1": "Qortal Groups", + + "gchange2": "Create Group", + + "gchange3": "Your Joined Groups", + + "gchange4": "Group Name", + + "gchange5": "Description", + + "gchange6": "Role", + + "gchange7": "Action", + + "gchange8": "Not a member of any group!", + + "gchange9": "Public Groups", + + "gchange10": "Owner", + + "gchange11": "No Open Public Groups available!", + + "gchange12": "Create a New Group", + + "gchange13": "Group Type", + + "gchange14": "This Field is Required", + + "gchange15": "Select an option", + + "gchange16": "Public", + + "gchange17": "Private", + + "gchange18": "Group Approval Threshold (number / percentage of Admins that must approve a transaction):", + + "gchange19": "NONE", + + "gchange20": "ONE", + + "gchange21": "Minimum Block delay for Group Transaction Approvals:", + + "gchange22": "minutes", + + "gchange23": "hour", + + "gchange24": "hours", + + "gchange25": "day", + + "gchange26": "days", + + "gchange27": "Maximum Block delay for Group Transaction Approvals:", + + "gchange28": "Creating Group", + + "gchange29": "Create Group", + + "gchange30": "Join Group Request", + + "gchange31": "Date Created", + + "gchange32": "Date Updated", + + "gchange33": "Joining", + + "gchange34": "Join Group", + + "gchange35": "Leave Group Request", + + "gchange36": "Leaving", + + "gchange37": "Leave Group", + + "gchange38": "Manage Group Owner:", + + "gchange39": "Manage Group Admin:", + + "gchange40": "Manage Group", + + "gchange41": "Group Creation Successful!", + + "gchange42": "Invalid Group Name", + + "gchange43": "Invalid Group Description", + + "gchange44": "Select a Group Typ", + + "gchange45": "Select a Group Approval Threshold", + + "gchange46": "Select a Minimum Block delay for Group Transaction Approvals", + + "gchange47": "Select a Maximum Block delay for Group Transaction Approvals", + + "gchange48": "Join Group Request Sent Successfully!", + + "gchange49": "Leave Group Request Sent Successfully!", + + "gchange50": "Leave", + + "gchange51": "Join", + + "gchange52": "Admin", + + "gchange53": "Member", + + "gchange54": "Members", + + "gchange55": "Search Private Group", + + "gchange56": "Group Name To Search", + + "gchange57": "Private Group Name Not Found", + + "gchange58": "Note that group name must exact match.", + + "gchange59": "Show / Hide Ticker" + + }, + + "puzzlepage": { + + "pchange1": "Puzzles", + + "pchange2": "Reward", + + "pchange3": "SOLVED by", + + "pchange4": "Name", + + "pchange5": "Description", + + "pchange6": "Clue / Answer", + + "pchange7": "Action", + + "pchange8": "Guess", + + "pchange9": "Enter your guess to solve this puzzle and win", + + "pchange10": "Your guess needs to be 43 or 44 characters and", + + "pchange11": "not", + + "pchange12": "include 0 (zero), I (upper i), O (upper o) or l (lower L).", + + "pchange13": "Your Guess", + + "pchange14": "Checking your guess...", + + "pchange15": "Submit", + + "pchange16": "Guess incorrect!", + + "pchange17": "Reward claim submitted - check wallet for reward!" + + }, + + "nodepage": { + + "nchange1": "Node management for:", + + "nchange2": "Node has been online for:", + + "nchange3": "Node's minting accounts", + + "nchange4": "Add minting account", + + "nchange5": "If you would like to mint with your own account you will need to create a rewardshare transaction to yourself (with rewardshare percent set to 0), and then mint with the rewardshare key it gives you.", + + "nchange6": "Rewardshare key", + + "nchange7": "Adding minting account", + + "nchange8": "Add", + + "nchange9": "Minting Account", + + "nchange10": "Recipient Account", + + "nchange11": "Action", + + "nchange12": "Remove", + + "nchange13": "No minting accounts found for this node", + + "nchange14": "Peers connected to this node", + + "nchange15": "Add peer", + + "nchange16": "Type the peer you wish to add's address below", + + "nchange17": "Peer Address", + + "nchange18": "Address", + + "nchange19": "Last Height", + + "nchange20": "Build Version", + + "nchange21": "Connected for", + + "nchange22": "Action", + + "nchange23": "Force Sync", + + "nchange24": "Node has no connected peers", + + "nchange25": "Starting Sync with Peer: ", + + "nchange26": "Successfully removed Peer: ", + + "nchange27": "Minting Node Added Successfully!", + + "nchange28": "Failed to Add Minting Node!", + + "nchange29": "Successfully Removed Minting Account!", + + "nchange30": "Failed to Remove Minting Account!", + + "nchange31": "Stop Node", + + "nchange32": "Successfully Sent Stop Request!" + + }, + + "transpage": { + + "tchange1": "Transaction request", + + "tchange2": "Decline", + + "tchange3": "Confirm", + + "tchange4": "To", + + "tchange5": "Amount" + + }, + + "apipage": { + + "achange1": "Add API key", + + "achange2": "API key", + + "achange3": "Please enter the API key for this node. It can be found in a file called “apikey.txt“ in the directory where the core is installed. Alternatively, click Cancel to use the core with reduced functionality.", + + "achange4": "Cancel", + + "achange5": "Add", + + "achange6": "Successfully added API Key", + + "achange7": "API key wrong, no API key added" + + }, + + "transactions": { + + "amount": "Amount", + + "to": "To", + + "declined": "User declined transaction!", + + "namedialog1": "You are registering the name below:", + + "namedialog2": "On pressing confirm, the name will be registered!", + + "groupdialog1": "You are requesting to join the group below:", + + "groupdialog2": "On pressing confirm, the group join request will be sent!", + + "groupdialog3": "You are requesting to leave the group below:", + + "groupdialog4": "On pressing confirm, the leave group request will be sent!", + + "groupdialog5": "You are requesting to creating the group below:", + + "groupdialog6": "On pressing confirm, the group creating request will be sent!", + + "rewarddialog1": "Would you like to create a reward share transaction, sharing", + + "rewarddialog2": "of your minting rewards with", + + "rewarddialog3": "If yes, you will need to save the key below in order to mint. It can be supplied to any node in order to allow it to mint on your behalf.", + + "rewarddialog4": "On pressing confirm, the rewardshare will be created, but you will still need to supply the above key to a node in order to mint with the account.", + + "rewarddialog5": "You are removing a reward share transaction associated with account:", + + "rewarddialog6": "On pressing confirm, the rewardshare will be removed and the minting key will become invalid." + + }, + + "sponsorshipspage": { + + "schange1": "Active Sponsorships", + + "schange2": "Account Address", + + "schange3": "Total Sponsorships active", + + "schange4": "Next sponsorship ending in", + + "schange5": "Sponsor New Minter", + + "schange6": "Finished Sponsorships", + + "schange7": "Completed", + + "schange8": "Addresses", + + "schange9": "You currently have no active sponsorships", + + "schange10": "Public Key Lookup", + + "schange11": "Copy", + + "schange12": "Address to Public Key Converter", + + "schange13": "Enter address", + + "schange14": "In progress", + + "schange15": "Finishing up", + + "schange16": "Copy the key below and share it with your sponsored person.", + + "schange17": "Copied to clipboard", + + "schange18": "Warning: do not leave this plugin or close the Qortal UI until completion!", + + "schange19": "Copy Sponsorship Key", + + "schange20": "Creating relationship", + + "schange21": "Remove Sponsorship Key" + + }, + + "explorerpage": { + + "exp1": "Address or name to search", + + "exp2": "Account Balance", + + "exp3": "More Info", + + "exp4": "Address or Name not found !", + + "exp5": "Note that registered names are case-sensitive.", + + "exp6": "Founder", + + "exp7": "Info", + + "exp8": "Show all buy trades", + + "exp9": "Show all sell trades", + + "exp10": "BUY HISTORY", + + "exp11": "SELL HISTORY", + + "exp12": "No buy trades made yet.", + + "exp13": "No sell trades made yet.", + + "exp14": "Show complete info", + + "exp15": "Minting Since", + + "exp16": "Not Minting", + + "exp17": "ALL PAYMENTS", + + "exp18": "Payments", + + "exp19": "Sent", + + "exp20": "Received", + + "exp21": "Trades" + + }, + + "managegroup": { + + "mg1": "Group Members", + + "mg2": "Invite To Group", + + "mg3": "Group Admins", + + "mg4": "Update Group", + + "mg5": "Close Manage Group", + + "mg6": "BAN", + + "mg7": "KICK", + + "mg8": "Group ID", + + "mg9": "Joined", + + "mg10": "Add Group Admin", + + "mg11": "Are you sure to add this member to admins ?", + + "mg12": "On pressing confirm, add admin request will be sent!", + + "mg13": "Remove Group Admin", + + "mg14": "Remove Admin Address", + + "mg15": "Are you sure to remove this member from admins ?", + + "mg16": "On pressing confirm, remove admin request will be sent!", + + "mg17": "Ban Member From Group", + + "mg18": "Member Name", + + "mg19": "Member Address", + + "mg20": "How Long To Ban", + + "mg21": "Reason For Ban", + + "mg22": "Are you sure to ban this member from the group ?", + + "mg23": "On pressing confirm, the ban request will be sent!", + + "mg24": "FOREVER", + + "mg25": "Banned Members", + + "mg26": "CANCEL BAN", + + "mg27": "Ban Expiry", + + "mg28": "Cancel Ban Member From Group", + + "mg29": "Are you sure to cancel the ban for this member from the group ?", + + "mg30": "On pressing confirm, the cancel ban request will be sent!", + + "mg31": "Kick Member From Group", + + "mg32": "Reason For Kick", + + "mg33": "Are you sure to kick this member from the group ?", + + "mg34": "On pressing confirm, the kick request will be sent!", + + "mg35": "No Open Group Invites", + + "mg36": "Your Open Group Invites", + + "mg37": "Address or name to invite", + + "mg38": "Invite Expiry Time", + + "mg39": "All Fields Are Required", + + "mg40": "Are you sure to invite this member to the group ?", + + "mg41": "On pressing confirm, the invite request will be sent!", + + "mg42": "Group Type", + + "mg43": "Invite Expiry", + + "mg44": "Public Group", + + "mg45": "Private Group", + + "mg46": "Cancel Invite", + + "mg47": "Cancel Invite To Group", + + "mg48": "Are you sure to cancel the invite for this member ?", + + "mg49": "On pressing confirm, the cancel invite request will be sent!", + + "mg50": "Coming Soon...", + + "mg51": "Minimum 3 Characters / Maximum 32 Characters", + + "mg52": "Maximum 128 Characters", + + "mg53": "Your Open Join Requests", + + "mg54": "No Open Join Requests", + + "mg55": "Are you sure to accept the join request from this member ?", + + "mg56": "On pressing confirm, the accept join request will be sent!", + + "mg57": "Join Request Successfully Accepted", + + "mg58": "SOMETHING WENT WRONG", + + "mg59": "Cancel Join Request Successfully Accepted", + + "mg60": "Are you sure to cancel the join request from this member ?", + + "mg61": "On pressing confirm, the cancel join request will be sent!" + + }, + + "info": { + + "inf1": "Trade Portal Information", + + "inf2": "Close Trade Portal Info", + + "inf3": "This is a market to BUY QORT with", + + "inf4": "- 'open market sells' are QORT SELL ORDERS.", + + "inf5": "You can only buy ONE order at a time simply click an order that you wish to buy with", + + "inf6": "and it will populate the 'BUY QORT' box with the details, then click BUY.", + + "inf7": "Auto Buy Information", + + "inf8": "Close Auto Buy Info", + + "inf9": "'Auto Buy' is a feature that allows 'buy orders' to be placed on the Trade Portal. These 'buy orders' are only visible by the person placing them. They are not 'public' buy orders like the 'open market sells' are, and are NOT stored on the Qortal blockchain. Auto Buy is a UI feature, and as such requires that the UI is RUNNING.", + + "inf10": "To place an Auto Buy order click 'Add Auto Buy Order' button and fill out the box that comes up. Input the AMOUNT OF QORT you wish to BUY, and the PRICE you are willing to BUY UP TO. Once the order is active, Auto Buy will buy UP TO that amount of QORT for you, at UP TO the price you set (starting at the lowest order and moving up the books.)", + + "inf11": "Simply LEAVE YOUR UI RUNNING and Auto Buy does the rest, automatically!", + + "inf12": "You CAN browse other plugins in the UI (Q-Chat, wallets, etc.) but you CANNOT CLOSE THE UI if you want your Auto Buy to complete. Leaving the UI 'minimized' on the 'taskbar' or 'panel' is just fine, as long as the UI remains OPEN Auto Buy will function.", + + "inf13": "Automatically buy", + + "inf14": "with", + + "inf15": "Active Auto Buy Orders", + + "inf16": "Auto Buy" + + } + +} diff --git a/core/language/ko.json b/core/language/ko.json index e44d21fb..6c9b0849 100644 --- a/core/language/ko.json +++ b/core/language/ko.json @@ -18,7 +18,8 @@ "russian": "러시아어", "norwegian": "노르웨이어", "romanian": "루마니아어", - "korean": "한국어" + "korean": "한국어", + "japanese": "일본어" }, "sidemenu": { "minting": "주조", diff --git a/core/language/no.json b/core/language/no.json index 0bd32907..251cf687 100644 --- a/core/language/no.json +++ b/core/language/no.json @@ -18,7 +18,8 @@ "russian": "Russisk", "norwegian": "Norsk", "romanian": "Rumensk", - "korean": "Koreansk" + "korean": "Koreansk", + "japanese": "Japansk" }, "sidemenu": { "minting": "UTBYTTE", diff --git a/core/language/pl.json b/core/language/pl.json index 6b75fbe2..8329e04e 100644 --- a/core/language/pl.json +++ b/core/language/pl.json @@ -18,7 +18,8 @@ "russian": "Rosyjski", "norwegian": "Norweski", "romanian": "Rumuński", - "korean": "Koreański" + "korean": "Koreański", + "japanese": "Japoński" }, "sidemenu": { "minting": "BICIE", diff --git a/core/language/pt.json b/core/language/pt.json index f8717be5..d77ec1c9 100644 --- a/core/language/pt.json +++ b/core/language/pt.json @@ -18,7 +18,8 @@ "russian": "Russo", "norwegian": "Norueguês", "romanian": "Romeno", - "korean": "Coreano" + "korean": "Coreano", + "japanese": "Japonês" }, "sidemenu": { "minting": "CARTEIRA", diff --git a/core/language/ro.json b/core/language/ro.json index e73f9a57..12c0725e 100644 --- a/core/language/ro.json +++ b/core/language/ro.json @@ -18,7 +18,8 @@ "russian": "Rus", "norwegian": "Norvegiana", "romanian": "Romana", - "korean": "Coreeana" + "korean": "Coreeana", + "japanese": "Japonez" }, "sidemenu": { "minting": "MONTAREA", diff --git a/core/language/rs.json b/core/language/rs.json index b4056718..1915ec33 100644 --- a/core/language/rs.json +++ b/core/language/rs.json @@ -18,7 +18,8 @@ "russian": "Ruski", "norwegian": "Norveški", "romanian": "Rumunski", - "korean": "Korejski" + "korean": "Korejski", + "japanese": "Japanski" }, "sidemenu": { "minting": "KOVANJE", diff --git a/core/language/ru.json b/core/language/ru.json index 2c0015bd..34a0c678 100644 --- a/core/language/ru.json +++ b/core/language/ru.json @@ -18,7 +18,8 @@ "russian": "Русский", "norwegian": "Норвежский", "romanian": "Румынский", - "korean": "Корейский" + "korean": "Корейский", + "japanese": "Японский" }, "sidemenu": { "minting": "ЧЕКАНКA", diff --git a/core/language/us.json b/core/language/us.json index ffb1c13e..9eb69823 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -18,7 +18,8 @@ "russian": "Russian", "norwegian": "Norwegian", "romanian": "Romanian", - "korean": "Korean" + "korean": "Korean", + "japanese": "Japanese" }, "sidemenu": { "minting": "MINTING", @@ -830,7 +831,7 @@ "gchange41": "Group Creation Successful!", "gchange42": "Invalid Group Name", "gchange43": "Invalid Group Description", - "gchange44": "Select a Group Type", + "gchange44": "Select a Group Typ", "gchange45": "Select a Group Approval Threshold", "gchange46": "Select a Minimum Block delay for Group Transaction Approvals", "gchange47": "Select a Maximum Block delay for Group Transaction Approvals", diff --git a/core/language/zhc.json b/core/language/zhc.json index 38a204b0..9bf8e60c 100644 --- a/core/language/zhc.json +++ b/core/language/zhc.json @@ -18,7 +18,8 @@ "russian": "俄语", "norwegian": "挪威语", "romanian": "罗马尼亚语", - "korean": "韩语" + "korean": "韩语", + "japanese": "日语" }, "sidemenu": { "minting": "铸币", diff --git a/core/language/zht.json b/core/language/zht.json index 4f1df73e..fadd23e3 100644 --- a/core/language/zht.json +++ b/core/language/zht.json @@ -18,7 +18,8 @@ "russian": "俄語", "norwegian": "挪威語", "romanian": "羅馬尼亞語", - "korean": "韓語" + "korean": "韓語", + "japanese": "日語" }, "sidemenu": { "minting": "鑄幣", diff --git a/core/src/components/language-selector.js b/core/src/components/language-selector.js index cae80837..0cd7b646 100644 --- a/core/src/components/language-selector.js +++ b/core/src/components/language-selector.js @@ -67,6 +67,7 @@ class LanguageSelector extends connect(store)(LitElement) { + diff --git a/locales/jp.json b/locales/jp.json new file mode 100644 index 00000000..c86c76eb --- /dev/null +++ b/locales/jp.json @@ -0,0 +1,73 @@ +{ + + "__locale_name__": "Japanese", + + "electron_translate_1": "Show Qortal UI", + + "electron_translate_2": "Quit", + + "electron_translate_3": "Update available", + + "electron_translate_4": "A new Qortal UI version is available. You want to download it ?", + + "electron_translate_5": "INSTALL NOW", + + "electron_translate_6": "MAYBE LATER", + + "electron_translate_7": "Update ready to install", + + "electron_translate_8": "A new Qortal UI version has been downloaded.", + + "electron_translate_9": "Click INSTALL NOW to apply update, MAYBE LATER to not update the UI.", + + "electron_translate_10": "Temporary update failure, will try again later", + + "electron_translate_11": "DOWNLOAD UPDATE", + + "electron_translate_12": "It will be downloaded ⌛️ in the background!", + + "electron_translate_13": "START QORTAL CORE", + + "electron_translate_14": "NO THANKS", + + "electron_translate_15": "Qortal Core is NOT running on this system", + + "electron_translate_16": "Qortal UI has detected that Qortal Core is NOT running on this system", + + "electron_translate_17": "Click START QORTAL CORE to start the Qortal Core on this system OR click NO THANKS to skip starting on this system", + + "electron_translate_18": "DOWNLOAD QORTAL CORE", + + "electron_translate_19": "NO THANKS", + + "electron_translate_20": "Qortal Core is NOT detected", + + "electron_translate_21": "Qortal UI has detected that Qortal Core is NOT installed ( in default location ) on this system.", + + "electron_translate_22": "Click DOWNLOAD QORTAL CORE to download and install the core ( to default location ) OR click NO THANKS to skip download and install.", + + "electron_translate_23": "DOWNLOAD JAVA", + + "electron_translate_24": "NO THANKS", + + "electron_translate_25": "Java is not installed.", + + "electron_translate_26": "Qortal UI has detected that java is not installed on your system.", + + "electron_translate_27": "Click on DOWNLOAD JAVA to download and install java or on NO THANKS to not download and install it.", + + "electron_translate_28": "Never ask me again", + + "electron_translate_29": "CHANGE SETTING", + + "electron_translate_30": "CANCEL", + + "electron_translate_31": "Start Core Settings", + + "electron_translate_32": "Change the current status of asking to start the core if it is not running", + + "electron_translate_33": "(Check or Uncheck the never ask me again checkbox)", + + "electron_translate_34": "Settings" + +} From 303390aac4ea859886b8288d5bd202271c747f0b Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 22 May 2023 04:01:32 -0400 Subject: [PATCH 010/112] Add Japanese translation for review --- core/language/jp.json | 2012 ++++++++++++++++++++--------------------- locales/jp.json | 70 +- 2 files changed, 1041 insertions(+), 1041 deletions(-) diff --git a/core/language/jp.json b/core/language/jp.json index 1bff9b9d..99447582 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -2,2129 +2,2129 @@ "selectmenu": { - "selectlanguage": "Select language", + "selectlanguage": "言語を選択", - "languageflag": "us", + "languageflag": "jp", - "english": "English", + "english": "英語", - "chinese1": "Chinese (Simplified)", + "chinese1": "中国語 (簡体字)", - "chinese2": "Chinese (Traditional)", + "chinese2": "中国語 (繁体字)", - "german": "German", + "german": "ドイツ語", - "french": "French", + "french": "フランス語", - "polish": "Polish", + "polish": "ポーランド語", - "spanish": "Spanish", + "spanish": "スペイン語", - "hindi": "Hindi", + "hindi": "ヒンディー語", - "croatian": "Croatian", + "croatian": "クロアチア語", - "portuguese": "Portuguese", + "portuguese": "ポルトガル語", - "hungarian": "Hungarian", + "hungarian": "ハンガリー語", - "serbian": "Serbian", + "serbian": "セルビア語", - "italian": "Italian", + "italian": "イタリア語", - "russian": "Russian", + "russian": "ロシア語", - "norwegian": "Norwegian", + "norwegian": "ノルウェー語", - "romanian": "Romanian", + "romanian": "ルーマニア語", - "korean": "Korean", - - "japanese": "Japanese" + "korean": "韓国語", + "japanese": "日本語" + }, "sidemenu": { - "minting": "MINTING", + "minting": "ミント", - "mintingdetails": "MINTING DETAILS", + "mintingdetails": "ミントの詳細", - "becomeAMinter": "BECOME A MINTER", + "becomeAMinter": "MINTER になる", - "wallets": "WALLETS", + "wallets": "財布", - "tradeportal": "TRADE PORTAL", + "tradeportal": "貿易ポータル", - "rewardshare": "REWARD SHARE", + "rewardshare": "報酬シェア", - "nameregistration": "NAME REGISTRATION", + "nameregistration": "名前登録", - "websites": "WEBSITES", + "websites": "ウェブサイト", - "management": "MANAGEMENT", + "management": "管理", - "datamanagement": "DATA MANAGEMENT", + "datamanagement": "データ管理", - "qchat": "Q-CHAT", + "qchat": "Qチャット", - "groupmanagement": "GROUP MANAGEMENT", + "groupmanagement": "グループ管理", - "puzzles": "PUZZLES", + "puzzles": "パズル", - "nodemanagement": "NODE MANAGEMENT", + "nodemanagement": "ノード管理", - "trading": "TRADING", + "trading": "取引", - "groups": "GROUPS", + "groups": "グループ", - "sm1": "NAMES", + "sm1": "名前", - "sm2": "NAME MANAGEMENT", - - "sm3": "NAMES MARKET" + "sm2": "名前管理", + "sm3": "ネームズマーケット" + }, "login": { - "login": "Login", + "login": "ログイン", - "createaccount": "Create Account", + "createaccount": "アカウントの作成", - "name": "Name", + "name": "名前", - "address": "Address", + "address": "住所", - "password": "Password", + "password": "パスワード", - "youraccounts": "Your accounts", + "youraccounts": "あなたのアカウント", - "clickto": "Click your account to login with it", + "clickto": "アカウントをクリックしてログインします", - "needcreate": "You need to create or save an account before you can log in!", + "needcreate": "ログインする前にアカウントを作成または保存する必要があります!", - "upload": "Upload your qortal backup", + "upload": "qortal バックアップをアップロードします", - "howlogin": "How would you like to login?", + "howlogin": "どのようにログインしますか?", - "seed": "Seedphrase", + "seed": "シードフレーズ", - "seedphrase": "seedphrase", + "seedphrase": "シードフレーズ", - "saved": "Saved account", + "saved": "保存されたアカウント", - "qora": "Qora address seed", + "qora": "Qora アドレス シード", - "backup": "Qortal wallet backup", + "backup": "Qortal ウォレットのバックアップ", - "decrypt": "Decrypt backup", + "decrypt": "バックアップを復号化", - "save": "Save in this browser.", + "save": "このブラウザに保存します。", - "prepare": "Preparing Your Account", + "prepare": "アカウントを準備しています", - "areyousure": "Are you sure you want to remove this wallet from saved wallets?", + "areyousure": "保存されたウォレットからこのウォレットを削除してもよろしいですか?", - "error1": "Backup must be valid JSON", + "error1": "バックアップは有効な JSON である必要があります", - "error2": "Login option not selected", + "error2": "ログイン オプションが選択されていません", - "createwelcome": "Welcome to Qortal, you will find it to be similar to that of an RPG game, you, as a minter on the Qortal network (if you choose to become one) will have the chance to level your account up, giving you both more of the QORT block reward and also larger influence over the network in terms of voting on decisions for the platform.", + "createwelcome": "Qortal へようこそ。これは RPG ゲームに似ていることがわかります。Qortal ネットワークの鋳造業者として (なりたいと選択した場合) アカウントをレベルアップする機会があります。 これにより、より多くの QORT ブロック報酬が得られるだけでなく、プラットフォームの決定に対する投票という点でネットワークに対する大きな影響力も得られます。」", "createa": "A", - "click": "Click to view seedphrase", + "click": "クリックしてシードフレーズを表示", - "confirmpass": "Confirm Password", + "confirmpass": "パスワードの確認", - "willbe": "will be randomly generated in background. This is used as your private key generator for your blockchain account in Qortal.", + "willbe": "バックグラウンドでランダムに生成されます。これは、Qortal のブロックチェーン アカウントの秘密キー ジェネレーターとして使用されます。", - "clicknext": "Create your Qortal account by clicking NEXT below.", + "clicknext": "下の [次へ] をクリックして Qortal アカウントを作成します。", - "ready": "Your account is now ready to be created. It will be saved in this browser. If you do not want your new account to be saved in your browser, you can uncheck the box below. You will still be able to login with your new account(after logging out), using your wallet backup file that you MUST download once you create your account.", + "ready": "アカウントを作成する準備ができました。アカウントはこのブラウザに保存されます。新しいアカウントをブラウザに保存したくない場合は、下のボックスのチェックを外してください。引き続き、 アカウントを作成したらダウンロードする必要があるウォレットのバックアップ ファイルを使用して、(ログアウト後) 新しいアカウントでログインします。", - "welmessage": "Welcome to Qortal", + "welmessage": "Qortal へようこそ", - "pleaseenter": "Please enter a Password!", + "pleaseenter": "パスワードを入力してください!", - "notmatch": "Passwords not match!", + "notmatch": "パスワードが一致しません!", - "lessthen8": "Your password is less than 8 characters! This is not recommended. You can continue to ignore this warning.", + "lessthen8": "パスワードは 8 文字未満です。これはお勧めできません。この警告は無視して構いません。", - "lessthen8-2": "Your password is less than 8 characters!", + "lessthen8-2": "パスワードは 8 文字未満です!", - "entername": "Please enter a Name!", + "entername": "名前を入力してください!", - "downloaded": "Your Wallet BackUp file get downloaded!", + "downloaded": "ウォレットのバックアップ ファイルがダウンロードされました!", - "loading": "Loading, Please wait...", + "loading": "読み込み中です、お待ちください...", - "createdseed": "Your created Seedphrase", + "createdseed": "作成したシードフレーズ", - "saveseed": "Save Seedphrase", + "saveseed": "シードフレーズを保存", - "savein": "Save in browser", + "savein": "ブラウザに保存", - "backup2": "This file is the ONLY way to access your account on a system that doesn't have it saved to the app/browser. BE SURE TO BACKUP THIS FILE IN MULTIPLE PLACES. The file is encrypted very securely and decrypted with your local password you created in the previous step. You can save it anywhere securely, but be sure to do that in multiple locations.", + "backup2": "このファイルは、アプリ/ブラウザーに保存されていないシステムでアカウントにアクセスする唯一の方法です。必ずこのファイルを複数の場所にバックアップしてください。ファイルは非常に安全に暗号化され、次の方法で復号化されます。 前の手順で作成したローカル パスワード。どこにでも安全に保存できますが、必ず複数の場所に保存してください。", - "savewallet": "Save Wallet BackUp File", + "savewallet": "ウォレットのバックアップ ファイルを保存", - "created1": "Your account is now created", + "created1": "アカウントが作成されました", - "created2": " and will be saved in this browser.", + "created2": " このブラウザに保存されます。", - "downloadbackup": "Download Wallet BackUp File", - - "passwordhint": "A password must be at least 8 characters." + "downloadbackup": "ウォレットのバックアップ ファイルをダウンロード", + "passwordhint": "パスワードは 8 文字以上である必要があります。" + }, "logout": { - "logout": "LOGOUT", - - "confirmlogout": "Are you sure you want to logout?" + "logout": "ログアウト", + "confirmlogout": "ログアウトしてもよろしいですか?" + }, - + "fragfile": { + + "selectfile": "ファイルを選択", - "selectfile": "Select file", - - "dragfile": "Drag and drop backup here" - + "dragfile": "バックアップをここにドラッグ アンド ドロップします" + }, - + "settings": { + + "generalinfo": "一般的なアカウント情報", - "generalinfo": "General Account Info", + "address": "住所", - "address": "Address", + "publickey": "公開キー", - "publickey": "Public Key", + "settings": "設定", - "settings": "Settings", + "account": "アカウント", - "account": "Account", + "security": "セキュリティ", - "security": "Security", + "qr_login_menu_item": "QR ログイン", - "qr_login_menu_item": "QR Login", + "qr_login_description_1": "ログインしたときと同じパスワードを使用して、他のデバイスでウォレットのロックを解除するには、このコードをスキャンします。", - "qr_login_description_1": "Scan this code to unlock your wallet on other device using the same password which you logged in with.", + "qr_login_description_2": "QR コードをスキャンした後、他のデバイスでウォレットのロックを解除するために使用するパスワードを選択してください。", - "qr_login_description_2": "Choose a password which you will use to unlock your wallet on other device after scanning the QR code.", + "qr_login_button_1": "ログイン QR コードを表示", - "qr_login_button_1": "Show login QR code", + "qr_login_button_2": "ログイン QR コードを生成", - "qr_login_button_2": "Generate login QR code", + "notifications": "通知", - "notifications": "Notifications", + "accountsecurity": "アカウントのセキュリティ", - "accountsecurity": "Account Security", + "password": "パスワード", - "password": "Password", + "download": "バックアップ ファイルをダウンロード", - "download": "Download Backup File", + "choose": "バックアップを暗号化するためのパスワードを選択してください。(ログインに使用したパスワードと同じでも、別のものでも構いません)", - "choose": "Please choose a password to encrypt your backup with. (This can be the same as the one you logged in with, or different)", + "block": "通知をブロックする (近日公開予定...)", - "block": "Block Notifications (Coming Soon...)", + "playsound": "サウンドを再生", - "playsound": "Play Sound", + "shownotifications": "通知を表示", - "shownotifications": "Show Notifications", + "nodeurl": "ノード URL", - "nodeurl": "Node Url", + "nodehint": "上のデフォルトのノード リストからノードを選択するか、下のボタンをクリックしてカスタム ノードを上のリストに追加します", - "nodehint": "Select a node from the default list of nodes above or add a custom node to the list above by clicking on the button below", + "addcustomnode": "カスタム ノードを追加", - "addcustomnode": "Add Custom Node", + "addandsave": "追加して保存", - "addandsave": "Add And Save", + "protocol": "プロトコル", - "protocol": "Protocol", + "domain": "ドメイン", - "domain": "Domain", + "port": "ポート", - "port": "Port", + "import": "ノードをインポート", - "import": "Import Nodes", + "export": "ノードのエクスポート", - "export": "Export Nodes", + "deletecustomnode": "すべてのカスタム ノードを削除", - "deletecustomnode": "Remove All Custom Nodes", + "warning": "既存のノードは削除され、バックアップから新しいノードが作成されます。", - "warning": "Your existing nodes will be deleted and from backup new created.", + "snack1": "標準ノードが正常に削除および追加されました", - "snack1": "Successfully deleted and added standard nodes", + "snack2": "UI がノードに接続されました", - "snack2": "UI conected to node", + "snack3": "カスタム ノードが正常に追加され、保存されました", - "snack3": "Successfully added and saved custom node", + "snack4": "ノードが次の名前で正常に保存されました", - "snack4": "Nodes successfully saved as", + "snack5": "ノードは正常にインポートされました", - "snack5": "Nodes successfully imported", + "exp1": "秘密マスターキーをエクスポート", - "exp1": "Export Private Master Key", + "exp2": "マスターキーのエクスポート", - "exp2": "Export Master Key", + "exp3": "エクスポート", - "exp3": "Export", + "exp4": "プライベートマスターキーをバックアップするウォレットを選択してください。", - "exp4": "Please choose a wallet to backup the private master key.", - - "core": "Start Core Settings" + "core": "コア設定を開始" }, "appinfo": { - "blockheight": "Block Height", + "blockheight": "ブロックの高さ", - "uiversion": "UI Version", + "uiversion": "UI バージョン", - "coreversion": "Core Version", + "coreversion": "コアバージョン", - "minting": "(Minting)", + "minting": "(鋳造)", - "synchronizing": "Synchronizing", - - "peers": "Connected Peers" + "synchronizing": "同期中", + "peers": "接続されたピア" + }, - + "walletprofile": { + + "minterlevel": "ミンターレベル", - "minterlevel": "Minter Level", - - "blocksminted": "Blocks Minted" - + "blocksminted": "ブロックが鋳造されました" + }, - + "general": { + + "yes": "はい", - "yes": "Yes", + "no": "いいえ", - "no": "No", + "confirm": "確認", - "confirm": "Confirm", + "decline": "辞退", - "decline": "Decline", + "open": "開く", - "open": "Open", + "close": "閉じる", - "close": "Close", + "back": "バックバック", - "back": "Back", + "next": "次", - "next": "Next", + "create": "作成", - "create": "Create", + "continue": "続行", - "continue": "Continue", + "save": "保存", - "save": "Save", + "balance": "バランス", - "balance": "Balance", + "balances": "あなたのウォレット残高", - "balances": "YOUR WALLET BALANCES", + "update": "ウォレット残高を更新", - "update": "UPDATE WALLET BALANCES", - - "view": "View" + "view": "表示" }, "gifs": { - "gchange1": "Gif Explorer", + "gchange1": "GIF エクスプローラー", - "gchange2": "Explore Collections", + "gchange2": "コレクションを探索する", - "gchange3": "My Collections", + "gchange3": "私のコレクション", - "gchange4": "Subscribed Collections", + "gchange4": "サブスクライブされたコレクション", - "gchange5": "Upload your gif files", + "gchange5": "GIF ファイルをアップロードします", - "gchange6": "File should be .Gif", + "gchange6": "ファイルは .Gif である必要があります", - "gchange7": "Upload Collection", + "gchange7": "コレクションをアップロード", - "gchange8": "A collection name is required!", + "gchange8": "コレクション名が必要です!", - "gchange9": "Collection Name", + "gchange9": "コレクション名", - "gchange10": "Gif Collection Uploaded Successfully!", + "gchange10": "GIF コレクションが正常にアップロードされました!", - "gchange11": "Gifs uploading, please wait...", + "gchange11": "GIF をアップロードしています。しばらくお待ちください...", - "gchange12": "Something went wrong! Please try changing tabs and coming back.", + "gchange12": "問題が発生しました。タブを変更して戻ってみてください。", - "gchange13": "You currently have no collections.", + "gchange13": "現在コレクションはありません。", - "gchange14": "You currently have no subscribed collections.", + "gchange14": "現在購読しているコレクションはありません。", - "gchange15": "Error fetching GIF. Retrying...", + "gchange15": "GIF の取得中にエラーが発生しました。再試行しています...", - "gchange16": "Failed to fetch GIF! Please visit another collection and try again!", + "gchange16": "GIF の取得に失敗しました! 別のコレクションにアクセスして、もう一度お試しください!", - "gchange17": "Subscribe to this collection", + "gchange17": "このコレクションを購読します", - "gchange18": "Searching for collections...", + "gchange18": "コレクションを検索しています...", - "gchange19": "No collections found!", + "gchange19": "コレクションが見つかりません!", - "gchange20": "Subscribed to collection successfully!", + "gchange20": "コレクションに正常に登録されました!", - "gchange21": "Unsubscribed to collection successfully!", + "gchange21": "コレクションの登録が正常に解除されました!", - "gchange22": "Unsubscribe from this collection", + "gchange22": "このコレクションの購読を解除します", - "gchange23": "Your gif collection cannot contain two gifs with the same name!", + "gchange23": "GIF コレクションに同じ名前の 2 つの GIF を含めることはできません!", - "gchange24": "This collection name is already taken. Try another name!", + "gchange24": "このコレクション名はすでに使用されています。別の名前を試してください!", - "gchange25": "GIF (click to view)", + "gchange25": "GIF (クリックして表示)", - "gchange26": "A name is needed to access and send GIF files", + "gchange26": "GIF ファイルにアクセスして送信するには名前が必要です", - "gchange27": "The gif collection size is over 25mb! Please try again!", + "gchange27": "GIF コレクションのサイズが 25MB を超えています! もう一度お試しください!", - "gchange28": "Each gif in the collection cannot be over 0.7mb! Please try again!", + "gchange28": "コレクション内の各 gif は 0.7mb を超えることはできません。もう一度お試しください。", - "gchange29": "Filename" + "gchange29": "ファイル名" }, "startminting": { - "smchange1": "Cannot fetch minting accounts", + "smchange1": "ミントアカウントを取得できません", - "smchange2": "Failed to remove key", + "smchange2": "キーの削除に失敗しました", - "smchange3": "Failed to add minting key", + "smchange3": "ミントキーの追加に失敗しました", - "smchange4": "Cannot create sponsorship key", + "smchange4": "スポンサーシップ キーを作成できません", - "smchange5": "Creating relationship", + "smchange5": "関係の作成", - "smchange6": "Awaiting confirmation on blockchain", + "smchange6": "ブロックチェーンでの確認を待っています", - "smchange7": "Finishing up relationship", + "smchange7": "関係を終わらせる", - "smchange8": "Adding minting key to node", + "smchange8": "ミントキーをノードに追加します", - "smchange9": "Complete", - - "smchange10": "Only 2 minting keys are allowed per node, you are attempting to assign 3 keys, please go to management - node management, and remove the key you do not want to assign to this node, thank you!" + "smchange9": "完了", + "smchange10": "ノードごとに許可されるミント キーは 2 つだけです。3 つのキーを割り当てようとしています。管理 - ノード管理に移動して、このノードに割り当てたくないキーを削除してください。ありがとう!" + }, - + "mintingpage": { + + "mchange1": "一般的な鋳造の詳細", - "mchange1": "General Minting Details", + "mchange2": "ブロックチェーン統計", - "mchange2": "Blockchain Statistics", + "mchange3": "平均四半期ブロック時間", - "mchange3": "Avg. Qortal Blocktime", + "mchange4": "1 日あたりの平均ブロック数", - "mchange4": "Avg. Blocks Per Day", + "mchange5": "1 日あたりの平均作成 QORT", - "mchange5": "Avg. Created QORT Per Day", + "mchange6": "ミントアカウントの詳細", - "mchange6": "Minting Account Details", + "mchange7": "ミンターではありません", - "mchange7": "Not A Minter", + "mchange8": "ミント", - "mchange8": "Minting", + "mchange9": "鋳造しない", - "mchange9": "Not Minting", + "mchange10": "アカウントの詳細をアクティブ化", - "mchange10": "Activate Account Details", + "mchange11": "アクティブ化されていません", - "mchange11": "Not Activated", + "mchange12": "アカウントをアクティブ化します", - "mchange12": "Activate Your Account", + "mchange13": "はじめに", - "mchange13": "Introduction", + "mchange14": "アカウントを有効にするには、OUTGOING トランザクションを実行する必要があります。名前の登録が最も一般的な方法です。アカウントを有効にするために、Q-Chat 内の誰かに少額の QORT を送ってもらうように依頼できます。 または、Trade Portal 内で QORT を購入してから、あらゆる種類の OUTGOING トランザクションを実行し、ブロックチェーン上で公開キーを保護します。これを行うまでは、公開キーは UI 内であなただけが知っており、他の誰もあなたの公開キーを取得することはできません チェーンからキーを外してください。", - "mchange14": "To activate your account, an OUTGOING transaction needs to take place. Name Registration is the most common method. You can ask someone in Q-Chat to send you a small amount of QORT so that you may activate your account, or buy QORT within the Trade Portal then make an OUTGOING transaction of any kind and secure your public key on the blockchain. Until you do this, your public key is only known by you, in your UI, and no one else can pull your public key from the chain.", + "mchange15": "現在のステータス", - "mchange15": "Current Status", + "mchange16": "現在のレベル", - "mchange16": "Current Level", + "mchange17": "次のレベルへのブロック", - "mchange17": "Blocks To Next Level", + "mchange18": "24 時間年中無休で鋳造し続けるとレベルに到達します", - "mchange18": "If you continue minting 24/7 you will reach level", + "mchange19": "報酬情報の鋳造", - "mchange19": "Minting Rewards Info", + "mchange20": "現在の層", - "mchange20": "Current Tier", + "mchange21": "ティア内の合計ミンター数", - "mchange21": "Total Minters in The Tier", + "mchange22": "ブロックごとの階層シェア", - "mchange22": "Tier Share Per Block", + "mchange23": "ブロックごとの推定報酬", - "mchange23": "Est. Reward Per Block", + "mchange24": "1 日あたりの推定報酬", - "mchange24": "Est. Reward Per Day", + "mchange25": "秒", - "mchange25": "Seconds", + "mchange26": "ブロック", - "mchange26": "Blocks", + "mchange27": "レベル", - "mchange27": "Level", + "mchange28": "階層", - "mchange28": "Tier", + "mchange29": "日", - "mchange29": "days", + "mchange30": "ミンターズ", - "mchange30": "Minters", + "mchange31": "ヘルプを表示するには押してください", - "mchange31": "Press for help", + "mchange32": "ミンターになる", - "mchange32": "Become A Minter", + "mchange33": "はじめに", - "mchange33": "Introduction", + "mchange34": "Qortal でミンターになり、ミンター レベルの上昇に応じて QORT 報酬を獲得し始めるには、まず「スポンサー」になる必要があります。Qortal のスポンサーとは、レベル 5 以上の他のミンター、または Qortal 創設者。スポンサーからスポンサー キーを取得し、そのキーを使用してレベル 1 に到達します。レベル 1 に到達すると、独自のミント キーを作成し、Qortal ブロックチェーンの安全確保に貢献して報酬を獲得できるようになります。 。」", - "mchange34": "In Qortal, in order to become a minter and begin earning QORT rewards with your increase in Minter Level, you must first become ‘sponsored’. A sponsor in Qortal is any other minter of level 5 or higher, or a Qortal Founder. You will obtain a sponsorship key from the sponsor, and use that key to get to level 1. Once you have reached level 1, you will be able to create your own minting key and start earning rewards for helping secure the Qortal Blockchain.", + "mchange35": "スポンサーシップ", - "mchange35": "Sponsorship", + "mchange36": "スポンサーは「スポンサーシップ キー」を発行します。これを使用してノードに追加し、鋳造を開始します (レベル 1 に到達するまで報酬はありません)。レベル 1 に到達したら、独自のを作成/割り当てます。 「キーを鋳造して報酬を獲得し始めます。」", - "mchange36": "Your sponsor will issue you a ‘Sponsorship Key’ which you will use to add to your node, and begin minting (for no rewards until reaching level 1.) Once you reach level 1, you create/assign your own ‘Minting Key’ and begin earning rewards.", + "mchange37": "スポンサーシップ キーを発行できる十分なレベルの Qortal の鋳造業者に連絡し、そのキーを取得してから、ここに戻ってキーを入力して鋳造の旅を始めてください。", - "mchange37": "Simply reach out to a minter in Qortal who is high enough level to issue a sponsorship key, obtain that key, then come back here and input the key to begin your minting journey !", - - "mchange38": "in" + "mchange38": "で" }, "becomeMinterPage": { - "bchange7": "Enter Sponsorship Key", + "bchange7": "スポンサーシップ キーを入力してください", - "bchange8": "Input key from your sponsor here", + "bchange8": "ここにスポンサーからのキーを入力してください", - "bchange10": "Current Sponsorship Status", + "bchange10": "現在のスポンサーシップステータス", - "bchange12": "Minting with sponsor key", + "bchange12": "スポンサー キーを使用したミント", - "bchange13": "Blocks Remaining in Sponsorship Period", + "bchange13": "スポンサー期間の残りのブロック", - "bchange15": "Sponsorship Relationship", + "bchange15": "スポンサー関係", - "bchange16": "Sponsor Account", + "bchange16": "スポンサー アカウント", - "bchange17": "Copy Sponsorship Key", + "bchange17": "スポンサーシップ キーをコピー", - "bchange18": "Start Minting", + "bchange18": "鋳造を開始", - "bchange19": "Success! You are currently minting." + "bchange19": "成功しました! 現在鋳造中です。" }, "walletpage": { - "wchange1": "Fetching balance ...", + "wchange1": "残高を取得しています ...", - "wchange2": "Current Wallet", + "wchange2": "現在のウォレット", - "wchange3": "Copy wallet address to clipboard", + "wchange3": "ウォレットのアドレスをクリップボードにコピー", - "wchange4": "Address copied to clipboard", + "wchange4": "アドレスをクリップボードにコピーしました", - "wchange5": "Transaction Details", + "wchange5": "トランザクションの詳細", - "wchange6": "Transaction Type", + "wchange6": "トランザクションタイプ", - "wchange7": "OUT", + "wchange7": "アウト", - "wchange8": "IN", + "wchange8": "で", - "wchange9": "Sender", + "wchange9": "送信者", - "wchange10": "Receiver", + "wchange10": "受信者", - "wchange11": "Amount", + "wchange11": "金額", - "wchange12": "Transaction Fee", + "wchange12": "取引手数料", - "wchange13": "Block", + "wchange13": "ブロック", - "wchange14": "Time", + "wchange14": "時間", - "wchange15": "Transaction Signature", + "wchange15": "トランザクション署名", - "wchange16": "Transaction Hash", + "wchange16": "トランザクション ハッシュ", - "wchange17": "Send", + "wchange17": "送信", - "wchange18": "From address", + "wchange18": "送信元アドレス", - "wchange19": "Available balance", + "wchange19": "利用可能な残高", - "wchange20": "To (address or name)", + "wchange20": "宛先 (住所または名前)", - "wchange21": "Current static fee:", + "wchange21": "現在の固定料金:", - "wchange22": "Wallets", + "wchange22": "ウォレット", - "wchange23": "To (address)", + "wchange23": "宛先 (アドレス)", - "wchange24": "Current fee per byte", + "wchange24": "バイトあたりの現在の料金", - "wchange25": "Low fees may result in slow or unconfirmed transactions.", + "wchange25": "手数料が低いと、トランザクションが遅くなったり、未確認のトランザクションが発生したりする可能性があります。", - "wchange26": "Insufficient Funds!", + "wchange26": "資金が不足しています!", - "wchange27": "Invalid Amount!", + "wchange27": "金額が無効です!", - "wchange28": "Receiver cannot be empty!", + "wchange28": "受信機を空にすることはできません!", - "wchange29": "Invalid Receiver!", + "wchange29": "受信者が無効です!", - "wchange30": "Transaction Successful!", + "wchange30": "トランザクションは成功しました!", - "wchange31": "Transaction Failed!", + "wchange31": "トランザクションが失敗しました!", - "wchange32": "Failed to Fetch QORT Balance. Try again!", + "wchange32": "QORT 残高の取得に失敗しました。もう一度お試しください!", - "wchange33": "Failed to Fetch", + "wchange33": "取得に失敗しました", - "wchange34": "Balance. Try again!", + "wchange34": "残高。もう一度お試しください!", - "wchange35": "Type", + "wchange35": "タイプ", - "wchange36": "Fee", + "wchange36": "料金", - "wchange37": "Total Amount", + "wchange37": "合計金額", - "wchange38": "Address has no transactions yet.", + "wchange38": "アドレスにはまだトランザクションがありません。", - "wchange39": "Unable to copy address.", + "wchange39": "アドレスをコピーできません。", - "wchange40": "PAYMENT", + "wchange40": "支払い", - "wchange41": "Status", + "wchange41": "ステータス", - "wchange42": "Confirmations", + "wchange42": "確認", - "wchange43": "Your transaction will not show until confirmed, be patient...", + "wchange43": "トランザクションは確認されるまで表示されません。しばらくお待ちください...", - "wchange44": "Please try again...", + "wchange44": "もう一度試してください...", - "wchange45": "Send all", + "wchange45": "すべて送信", - "wchange46": "Send to this address", + "wchange46": "このアドレスに送信します", - "wchange47": "Address Book", + "wchange47": "アドレス帳", - "wchange48": "This Address Book is empty !", + "wchange48": "このアドレス帳は空です!", - "wchange49": "Add to Address Book", + "wchange49": "アドレス帳に追加", - "wchange50": "Name cannot be empty!", + "wchange50": "名前を空にすることはできません!", - "wchange51": "Address cannot be empty!", + "wchange51": "アドレスを空にすることはできません!", - "wchange52": "Successfully added!", + "wchange52": "正常に追加されました!", - "wchange53": "Import Address Book", + "wchange53": "アドレス帳をインポート", - "wchange54": "Export Address Book", + "wchange54": "アドレス帳のエクスポート", - "wchange55": "Your existing address book will be deleted and from backup new created.", + "wchange55": "既存のアドレス帳は削除され、バックアップから新しく作成されます。", - "wchange56": "WARNING!", + "wchange56": "警告!", - "wchange57": "Memo", + "wchange57": "メモ", - "wchange58": "New Address", + "wchange58": "新しいアドレス", - "wchange59": "Coin" + "wchange59": "コイン" }, "tradepage": { - "tchange1": "Trade Portal", + "tchange1": "貿易ポータル", - "tchange2": "Select Trading Pair", + "tchange2": "取引ペアの選択", - "tchange3": "HISTORIC MARKET TRADES", + "tchange3": "歴史的な市場取引", - "tchange4": "MY TRADE HISTORY", + "tchange4": "私の取引履歴", - "tchange5": "OPEN MARKET SELL ORDERS", + "tchange5": "オープンマーケット売り注文", - "tchange6": "MY ORDERS", + "tchange6": "私の注文", - "tchange7": "Stuck Offers", + "tchange7": "スタックしたオファー", - "tchange8": "Amount", + "tchange8": "金額", - "tchange9": "Price", + "tchange9": "価格", - "tchange10": "Total", + "tchange10": "合計", - "tchange11": "Date", + "tchange11": "日付", - "tchange12": "Status", + "tchange12": "ステータス", - "tchange13": "Seller", + "tchange13": "販売者", - "tchange14": "Price Each", + "tchange14": "それぞれの価格", - "tchange15": "Clear Form", + "tchange15": "フォームをクリア", - "tchange16": "You have", + "tchange16": "持っています", - "tchange17": "Action", + "tchange17": "アクション", - "tchange18": "BUY", + "tchange18": "購入", - "tchange19": "SELL", + "tchange19": "販売", - "tchange20": "Failed to Create Trade. Try again!", + "tchange20": "取引の作成に失敗しました。もう一度お試しください!", - "tchange21": "Failed to Create Trade. Error Code", + "tchange21": "取引の作成に失敗しました。エラー コード", - "tchange22": "Insufficient Funds!", + "tchange22": "資金が不足しています!", - "tchange23": "Buy Request Successful!", + "tchange23": "購入リクエストが成功しました!", - "tchange24": "Buy Request Existing!", + "tchange24": "購入リクエストは存在します!", - "tchange25": "Failed to Create Trade. Error Code", + "tchange25": "取引の作成に失敗しました。エラー コード", - "tchange26": "Trade Cancelling In Progress!", + "tchange26": "取引キャンセル中!", - "tchange27": "Failed to Cancel Trade. Try again!", + "tchange27": "取引のキャンセルに失敗しました。もう一度お試しください!", - "tchange28": "Failed to Cancel Trade. Error Code", + "tchange28": "取引のキャンセルに失敗しました。エラー コード", - "tchange29": "CANCEL", + "tchange29": "キャンセル", - "tchange30": "Failed to Fetch Balance. Try again!", + "tchange30": "残高の取得に失敗しました。もう一度お試しください!", - "tchange31": "SOLD", + "tchange31": "販売済み", - "tchange32": "BOUGHT", + "tchange32": "購入しました", - "tchange33": "Average", + "tchange33": "平均", - "tchange34": "Amount can not be 0", + "tchange34": "金額を 0 にすることはできません", - "tchange35": "Price can not be 0", + "tchange35": "価格を 0 にすることはできません", - "tchange36": "PENDING AUTO BUY", + "tchange36": "自動購入を保留中", - "tchange37": "No auto buy order found !", + "tchange37": "自動買い注文が見つかりません!", - "tchange38": "ADD", + "tchange38": "追加", - "tchange39": "AUTO BUY ORDER", + "tchange39": "自動購入注文", - "tchange40": "Price", + "tchange40": "価格", - "tchange41": "Successfully removed auto buy order!", + "tchange41": "自動購入注文が正常に削除されました!", - "tchange42": "MARKET OPEN SELL ORDERS", + "tchange42": "市場公開売り注文", - "tchange43": "MY BUY HISTORY", + "tchange43": "私の購入履歴", - "tchange44": "Successfully added auto buy order!", + "tchange44": "自動購入注文が正常に追加されました!", - "tchange45": "AUTO BUY WITH", + "tchange45": "自動購入", - "tchange46": "AUTO BUY", + "tchange46": "自動購入", - "tchange47": "Sell for this price", + "tchange47": "この価格で販売します", - "tchange48": "NOT ENOUGH", + "tchange48": "不十分です", - "tchange49": "Price Chart" + "tchange49": "価格チャート" }, "rewardsharepage": { - "rchange1": "Rewardshares", + "rchange1": "報酬シェア", - "rchange2": "Create reward share", + "rchange2": "報酬シェアを作成する", - "rchange3": "Rewardshares Involving In This Account", + "rchange3": "このアカウントに関係する報酬シェア", - "rchange4": "Minting Account", + "rchange4": "ミントアカウント", - "rchange5": "Share Percent", + "rchange5": "シェアパーセント", - "rchange6": "Recipient", + "rchange6": "受信者", - "rchange7": "Action", + "rchange7": "アクション", - "rchange8": "Type", + "rchange8": "タイプ", - "rchange9": "Level 1 - 4 can create a Self Share and Level 5 or above can create a Reward Share!", + "rchange9": "レベル 1 ~ 4 は自己シェアを作成でき、レベル 5 以上は報酬シェアを作成できます!", - "rchange10": "Recipient Public Key", + "rchange10": "受信者の公開キー", - "rchange11": "Reward share percentage", + "rchange11": "報酬シェア率", - "rchange12": "Doing something delicious", + "rchange12": "おいしいことをしています", - "rchange13": "Adding minting account", + "rchange13": "ミントアカウントの追加", - "rchange14": "Add", + "rchange14": "追加", - "rchange15": "Account is not involved in any reward shares", + "rchange15": "アカウントはいかなる報酬株式にも関与していません", - "rchange16": "Own Rewardshare", + "rchange16": "自身の報酬シェア", - "rchange17": "Remove", + "rchange17": "削除", - "rchange18": "Cannot Create Multiple Reward Shares!", + "rchange18": "複数の報酬シェアを作成できません!", - "rchange19": "Cannot Create Multiple Self Shares!", + "rchange19": "複数の自己共有を作成できません!", - "rchange20": "CANNOT CREATE REWARD SHARE! at level", + "rchange20": "レベルでは報酬シェアを作成できません!", - "rchange21": "Reward Share Successful!", + "rchange21": "報酬の共有が成功しました!", - "rchange22": "Reward Share Removed Successfully!" + "rchange22": "報酬シェアは正常に削除されました!" }, "registernamepage": { - "nchange1": "Name Registration", + "nchange1": "名前の登録", - "nchange2": "Register Name", + "nchange2": "登録名", - "nchange3": "Registered Names", + "nchange3": "登録名", - "nchange4": "Avatar", + "nchange4": "アバター", - "nchange5": "Name", + "nchange5": "名前", - "nchange6": "Owner", + "nchange6": "所有者", - "nchange7": "Action", + "nchange7": "アクション", - "nchange8": "No names registered by this account!", + "nchange8": "このアカウントには名前が登録されていません!", - "nchange9": "Register a Name!", + "nchange9": "名前を登録してください!", - "nchange10": "Description (optional)", + "nchange10": "説明 (オプション)", - "nchange11": "Doing something delicious", + "nchange11": "おいしいことをしています", - "nchange12": "Registering Name", + "nchange12": "登録名", - "nchange13": "The current name registration fee is", + "nchange13": "現在の名前登録料金は", - "nchange14": "Register", + "nchange14": "登録", - "nchange15": "Set Avatar", + "nchange15": "アバターを設定", - "nchange16": "Need Core Update", + "nchange16": "コアのアップデートが必要です", - "nchange17": "Name Already Exists!", + "nchange17": "名前はすでに存在します!", - "nchange18": "Name Registration Successful!", + "nchange18": "名前の登録に成功しました!", - "nchange19": "Sell Name", + "nchange19": "販売名", - "nchange20": "Cancel Sell", + "nchange20": "販売をキャンセル", - "nchange21": "Buy Name", + "nchange21": "名前を購入", - "nchange22": "Names Market", + "nchange22": "ネームマーケット", - "nchange23": "Sell Price", + "nchange23": "売値", - "nchange24": "No Names To Sell", + "nchange24": "販売する名前はありません", - "nchange25": "Name To Sell", + "nchange25": "販売する名前", - "nchange26": "Are you sure to sell this name ?", + "nchange26": "この名前を販売してもよろしいですか?", - "nchange27": "For this price in QORT", + "nchange27": "QORT でこの価格", - "nchange28": "On pressing confirm, the sell name request will be sent!", + "nchange28": "確認を押すと、販売名リクエストが送信されます!", - "nchange29": "Name To Cancel", + "nchange29": "キャンセルする名前", - "nchange30": "Are you sure to cancel the sell for this name ?", + "nchange30": "この名前の販売をキャンセルしてもよろしいですか?", - "nchange31": "On pressing confirm, the cancel sell name request will be sent!", + "nchange31": "確認を押すと、販売名のキャンセル要求が送信されます!", - "nchange32": "Sell Name Request Successful!", + "nchange32": "名前販売リクエストが成功しました!", - "nchange33": "Cancel Sell Name Request Successful!", + "nchange33": "販売名リクエストのキャンセルが成功しました!", - "nchange34": "Buy Name Request Successful!", + "nchange34": "名前の購入リクエストが成功しました!", - "nchange35": "YOU HAVE A NAME!", + "nchange35": "あなたには名前があります!", - "nchange36": "Only accounts with no registered name can buy a name.", + "nchange36": "名前が登録されていないアカウントのみが名前を購入できます。", - "nchange37": "ATTENTION!", + "nchange37": "注意!", - "nchange38": "You not have enough qort to buy this name.", + "nchange38": "この名前を購入するのに十分なクォルトがありません。", - "nchange39": "Are you sure to buy this name ?", + "nchange39": "この名前を購入してもよろしいですか?", - "nchange40": "On pressing confirm, the buy name request will be sent!", + "nchange40": "確認を押すと、購入名のリクエストが送信されます!", - "nchange41": "Old Name", + "nchange41": "古い名前", - "nchange42": "New Name", + "nchange42": "新しい名前", - "nchange43": "Are you sure to change this name ?", + "nchange43": "この名前を変更してもよろしいですか?", - "nchange44": "To the new name", + "nchange44": "新しい名前に", - "nchange45": "On pressing confirm, the name update request will be sent!", + "nchange45": "確認を押すと、名前の更新リクエストが送信されます!", - "nchange46": "Name Sale History", + "nchange46": "名前の販売履歴", - "nchange47": "Name Update Successful!" + "nchange47": "名前の更新に成功しました!" }, "websitespage": { - "schange1": "Browse Websites", + "schange1": "Web サイトを参照", - "schange2": "Followed Websites", + "schange2": "フォローしている Web サイト", - "schange3": "Blocked Websites", + "schange3": "ブロックされた Web サイト", - "schange4": "Search Websites", + "schange4": "Web サイトを検索", - "schange5": "Avatar", + "schange5": "アバター", - "schange6": "Details", + "schange6": "詳細", - "schange7": "Published by", + "schange7": "発行元", - "schange8": "Actions", + "schange8": "アクション", - "schange9": "Websites", + "schange9": "ウェブサイト", - "schange10": "No websites available", + "schange10": "利用可能な Web サイトがありません", - "schange11": "Your Followed Websites", + "schange11": "フォローしている Web サイト", - "schange12": "Followed Websites", + "schange12": "フォローしている Web サイト", - "schange13": "You aren't following any websites", + "schange13": "フォローしている Web サイトがありません", - "schange14": "Your Blocked Websites", + "schange14": "ブロックされた Web サイト", - "schange15": "Blocked Websites", + "schange15": "ブロックされた Web サイト", - "schange16": "You have not blocked any websites", + "schange16": "Web サイトをブロックしていません", - "schange17": "Name Not Found!", + "schange17": "名前が見つかりません!", - "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange18": "リレー モードが有効です。これは、ピアが要求したときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立つことを意味します。設定によってオプトアウトできます。", - "schange19": "in", + "schange19": "で", - "schange20": "Relay mode is disabled. You can enable it by setting", + "schange20": "リレー モードは無効になっています。設定によって有効にすることができます", - "schange21": "Publish Website", + "schange21": "Web サイトを公開", - "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange23": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange25": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange26": "Uncategorized", + "schange26": "未分類", - "schange27": "Size", + "schange27": "サイズ", - "schange28": "Status", + "schange28": "ステータス", - "schange29": "Follow", + "schange29": "フォロー", - "schange30": "Unfollow", + "schange30": "フォローを解除", - "schange31": "Block", + "schange31": "ブロック", - "schange32": "Unblock", + "schange32": "ブロックを解除", - "schange33": "Name to search", + "schange33": "検索する名前", - "schange34": "Name can not be empty!", + "schange34": "名前を空にすることはできません!", - "schange35": "Search" + "schange35": "検索" }, "appspage": { - "schange1": "Browse Q-Apps", + "schange1": "Q-Apps を参照", - "schange2": "Followed Q-Apps", + "schange2": "Q-Appsをフォローしました", - "schange3": "Blocked Q-Apps", + "schange3": "ブロックされた Q-App", - "schange4": "Search Q-Apps", + "schange4": "Q-Apps を検索", - "schange5": "Avatar", + "schange5": "アバター", - "schange6": "Details", + "schange6": "詳細", - "schange7": "Published by", + "schange7": "発行元", - "schange8": "Actions", + "schange8": "アクション", "schange9": "Q-Apps", - "schange10": "No q-apps available", + "schange10": "利用可能な Q アプリはありません", - "schange11": "Your Followed Q-Apps", + "schange11": "フォローしている Q-App", - "schange12": "Followed Q-Apps", + "schange12": "Q-Appsをフォローしました", - "schange13": "You aren't following any q-apps", + "schange13": "どの Q-アプリもフォローしていません", - "schange14": "Your Blocked Q-Apps", + "schange14": "ブロックされた Q-Apps", - "schange15": "Blocked Q-Apps", + "schange15": "ブロックされた Q-App", - "schange16": "You have not blocked any q-apps", + "schange16": "Q-アプリをブロックしていません", - "schange17": "Name Not Found!", + "schange17": "名前が見つかりません!", - "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange18": "リレー モードが有効です。これは、ピアが要求したときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立つことを意味します。設定によってオプトアウトできます。", - "schange19": "in", + "schange19": "で", - "schange20": "Relay mode is disabled. You can enable it by setting", + "schange20": "リレー モードは無効になっています。設定によって有効にすることができます", - "schange21": "Publish Q-App", + "schange21": "Q-App を公開", - "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange23": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange25": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange26": "Uncategorized", + "schange26": "未分類", - "schange27": "Size", + "schange27": "サイズ", - "schange28": "Status", + "schange28": "ステータス", - "schange29": "Follow", + "schange29": "フォロー", - "schange30": "Unfollow", + "schange30": "フォローを解除", - "schange31": "Block", + "schange31": "ブロック", - "schange32": "Unblock", + "schange32": "ブロックを解除", - "schange33": "Name to search", + "schange33": "検索する名前", - "schange34": "Name can not be empty!", + "schange34": "名前を空にすることはできません!", - "schange35": "Search", + "schange35": "検索", - "schange36": "Download", + "schange36": "ダウンロード", - "schange37": "Downloaded", + "schange37": "ダウンロード済み", - "schange38": "Update", + "schange38": "更新", - "schange39": "Open", + "schange39": "開く", - "schange40": "Preview", + "schange40": "プレビュー", - "schange41": "Downloading please wait...", + "schange41": "ダウンロード中です。しばらくお待ちください...", - "schange42": "Files downloaded" + "schange42": "ダウンロードされたファイル" }, "tubespage": { - "schange1": "Browse Q-Tubes", + "schange1": "Q-Tube を参照", - "schange2": "Followed Q-Tubes", + "schange2": "フォローした Q-Tube", - "schange3": "Blocked Q-Tubes", + "schange3": "ブロックされた Q-Tube", - "schange4": "Search Q-Tubes", + "schange4": "Q-Tube を検索", - "schange5": "Cover", + "schange5": "カバー", - "schange6": "Details", + "schange6": "詳細", - "schange7": "Published by", + "schange7": "発行元", - "schange8": "Actions", + "schange8": "アクション", "schange9": "Q-Tubes", - "schange10": "No q-tubes available", + "schange10": "利用可能な Q チューブがありません", - "schange11": "Your Followed Q-Tubes", + "schange11": "フォローしている Q-Tube", - "schange12": "Followed Q-Tubes", + "schange12": "フォローした Q-Tube", - "schange13": "You aren't following any q-tubes", + "schange13": "どの Q-Tube もフォローしていません", - "schange14": "Your Blocked Q-Tubes", + "schange14": "ブロックされた Q-Tube", - "schange15": "Blocked Q-Tubes", + "schange15": "ブロックされた Q-Tube", - "schange16": "You have not blocked any q-tubes", + "schange16": "Q-tube をブロックしていません", - "schange17": "Name Not Found!", + "schange17": "名前が見つかりません!", - "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", + "schange18": "リレー モードが有効です。これは、ピアが要求したときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立つことを意味します。設定によってオプトアウトできます。", - "schange19": "in", + "schange19": "で", - "schange20": "Relay mode is disabled. You can enable it by setting", + "schange20": "リレー モードは無効になっています。設定によって有効にすることができます", - "schange21": "Publish Video", + "schange21": "ビデオを公開", - "schange22": "Error occurred when trying to follow this registered name. Please try again!", + "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "Error occurred when trying to unfollow this registered name. Please try again!", + "schange23": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange24": "Error occurred when trying to block this registered name. Please try again!", + "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange25": "Error occurred when trying to unblock this registered name. Please try again!", + "schange25": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange26": "Uncategorized", + "schange26": "未分類", - "schange27": "Size", + "schange27": "サイズ", - "schange28": "Status", + "schange28": "ステータス", - "schange29": "Follow", + "schange29": "フォロー", - "schange30": "Unfollow", + "schange30": "フォローを解除", - "schange31": "Block", + "schange31": "ブロック", - "schange32": "Unblock", + "schange32": "ブロックを解除", - "schange33": "Name to search", + "schange33": "検索する名前", - "schange34": "Name can not be empty!", + "schange34": "名前を空にすることはできません!", - "schange35": "Search", + "schange35": "検索", - "schange36": "Download", + "schange36": "ダウンロード", - "schange37": "Downloaded", + "schange37": "ダウンロード済み", - "schange38": "Update", + "schange38": "更新", - "schange39": "Open", + "schange39": "開く", - "schange40": "Preview", + "schange40": "プレビュー", - "schange41": "Downloading please wait...", + "schange41": "ダウンロード中です。しばらくお待ちください...", - "schange42": "Files downloaded", + "schange42": "ダウンロードされたファイル", - "schange43": "Open please wait..." + "schange43": "開いてお待ちください..." }, "publishpage": { - "pchange1": "Publish", + "pchange1": "公開", - "pchange2": "Update", + "pchange2": "更新", - "pchange3": "Note: it is recommended that you set up port forwarding before hosting data, so that it can more easily accessed by peers on the network.", + "pchange3": "注: データをホストする前に、ネットワーク上のピアがより簡単にアクセスできるように、ポート転送を設定することをお勧めします。", - "pchange4": "Select Name", + "pchange4": "名前を選択", - "pchange5": "Title", + "pchange5": "タイトル", - "pchange6": "Description", + "pchange6": "説明", - "pchange7": "Select Category", + "pchange7": "カテゴリーを選択", - "pchange8": "Tag", + "pchange8": "タグ", - "pchange9": "Service", + "pchange9": "サービス", - "pchange10": "Identifier", + "pchange10": "識別子", - "pchange11": "Publish", + "pchange11": "公開", - "pchange12": "Select zip file containing static content", + "pchange12": "静的コンテンツを含む zip ファイルを選択", - "pchange13": "Local path to static files", + "pchange13": "静的ファイルへのローカル パス", - "pchange14": "Please select a registered name to publish data for", + "pchange14": "データを公開する登録名を選択してください", - "pchange15": "Please select a file to host", + "pchange15": "ホストするファイルを選択してください", - "pchange16": "Please select a zip file to host", + "pchange16": "ホストする zip ファイルを選択してください", - "pchange17": "Please enter the directory path containing the static content", + "pchange17": "静的コンテンツを含むディレクトリ パスを入力してください", - "pchange18": "Please enter a service name", + "pchange18": "サービス名を入力してください", - "pchange19": "Processing data... this can take some time...", + "pchange19": "データを処理しています...これには時間がかかる場合があります...", - "pchange20": "Error:", + "pchange20": "エラー:", - "pchange21": "Internal Server Error when publishing data", + "pchange21": "データ公開時の内部サーバー エラー", - "pchange22": "Computing proof of work... this can take some time...", + "pchange22": "プルーフ・オブ・ワークを計算しています...これには時間がかかる場合があります...", - "pchange23": "Transaction successful!", + "pchange23": "トランザクションは成功しました!", - "pchange24": "Unable to sign and process transaction", + "pchange24": "トランザクションに署名して処理できません", - "pchange25": "Choose File", + "pchange25": "ファイルを選択", - "pchange26": "Uploading data... this can take some time..." + "pchange26": "データをアップロードしています...これには時間がかかる場合があります..." }, "browserpage": { - "bchange1": "Forward", + "bchange1": "転送", - "bchange2": "Reload", + "bchange2": "リロード", - "bchange3": "Back to list", + "bchange3": "リストに戻る", - "bchange4": "Delete", + "bchange4": "削除", - "bchange5": "from node", + "bchange5": "ノードから", - "bchange6": "Your browser doesn't support iframes", + "bchange6": "お使いのブラウザは iframe をサポートしていません", - "bchange7": "Follow", + "bchange7": "フォロー", - "bchange8": "Unfollow", + "bchange8": "フォローを解除", - "bchange9": "Block", + "bchange9": "ブロック", - "bchange10": "Unblock", + "bchange10": "ブロックを解除する", - "bchange11": "Error occurred when trying to follow this registered name. Please try again!", + "bchange11": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange12": "Error occurred when trying to unfollow this registered name. Please try again!", + "bchange12": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange13": "Error occurred when trying to block this registered name. Please try again!", + "bchange13": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange14": "Error occurred when trying to unblock this registered name. Please try again!", + "bchange14": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange15": "Can't delete data from followed names. Please unfollow first.", + "bchange15": "フォローされている名前のデータは削除できません。まずフォローを解除してください。", - "bchange16": "Error occurred when trying to delete this resource. Please try again!", + "bchange16": "このリソースを削除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange17": "User declined to share account details", + "bchange17": "ユーザーはアカウント詳細の共有を拒否しました", - "bchange18": "has requested authentication. Would you like to authenticate?", + "bchange18": "認証を要求しました。認証しますか?", - "bchange19": "Do you give this application permission to publish to QDN?", + "bchange19": "このアプリケーションに QDN への公開権限を与えますか?", - "bchange20": "Do you give this application permission to get your wallet balance?", + "bchange20": "ウォレット残高を取得する許可をこのアプリケーションに与えますか?", - "bchange21": "Fetch Wallet Failed. Please try again!", + "bchange21": "ウォレットの取得に失敗しました。もう一度お試しください。", - "bchange22": "Do you give this application permission to send a chat message?", + "bchange22": "このアプリケーションにチャット メッセージを送信する許可を与えますか?", - "bchange23": "Message Sent!", + "bchange23": "メッセージを送信しました!", - "bchange24": "This shares your QORT address and allows your account to interact with the", + "bchange24": "これにより QORT アドレスが共有され、アカウントが とやり取りできるようになります。", - "bchange25": "No sensitive data is shared.", + "bchange25": "機密データは共有されません。", - "bchange26": "Always authenticate automatically", + "bchange26": "常に自動的に認証する", - "bchange27": "Reject", + "bchange27": "拒否", - "bchange28": "Accept", + "bchange28": "受け入れる", - "bchange29": "Instant publish (requires 0.001 QORT fee)", + "bchange29": "インスタント公開 (0.001 QORT 料金が必要)", - "bchange30": "Service", + "bchange30": "サービス", - "bchange31": "Name", + "bchange31": "名前", - "bchange32": "Identifier", + "bchange32": "識別子", - "bchange33": "Instant publish", + "bchange33": "インスタント公開", - "bchange34": "Filename", + "bchange34": "ファイル名", - "bchange35": "Do you give this application permission to send coins?", + "bchange35": "このアプリケーションにコインを送信する許可を与えますか?", - "bchange36": "Do you want to publish instant to QDN without computing proof-of-work?", + "bchange36": "Proof-of-Work を計算せずにインスタントを QDN に公開しますか?", - "bchange37": "Enter Fullscreen", + "bchange37": "全画面表示にする", - "bchange38": "Exit Fullscreen", + "bchange38": "全画面表示を終了", - "bchange39": "Always allow lists to be retrieved automatically", + "bchange39": "リストの自動取得を常に許可します", - "bchange40": "List", + "bchange40": "リスト", - "bchange41": "Do you give this application permission to access this list?", + "bchange41": "このアプリケーションにこのリストへのアクセス許可を与えますか?", - "bchange42": "Items", + "bchange42": "アイテム", - "bchange43": "Do you give this application permission to add to this list?", + "bchange43": "このアプリケーションにこのリストに追加する権限を与えますか?", - "bchange44": "Do you give this application permission to delete from this list?", + "bchange44": "このアプリケーションにこのリストから削除する権限を与えますか?", - "bchange45": "Encrypt", + "bchange45": "暗号化", - "bchange46": "Do you give this application permission to save the following file" + "bchange46": "このアプリケーションに次のファイルを保存する権限を与えますか?" }, "datapage": { - "dchange1": "Data Management", + "dchange1": "データ管理", - "dchange2": "Search in hosted data by this node", + "dchange2": "このノードでホストされたデータを検索", - "dchange3": "Data to search", + "dchange3": "検索するデータ", - "dchange4": "Search", + "dchange4": "検索", - "dchange5": "Registered Name", + "dchange5": "登録名", - "dchange6": "Service", + "dchange6": "サービス", - "dchange7": "Identifier", + "dchange7": "識別子", - "dchange8": "Actions", + "dchange8": "アクション", - "dchange9": "Data hosted by this node", + "dchange9": "このノードによってホストされるデータ", - "dchange10": "Data name can not be empty!", + "dchange10": "データ名を空にすることはできません!", - "dchange11": "Data not found!", + "dchange11": "データが見つかりません!", - "dchange12": "Couldn't fetch hosted data list from node", + "dchange12": "ホストされたデータ リストをノードから取得できませんでした", - "dchange13": "This node isn't hosting any data", + "dchange13": "このノードはデータをホストしていません", - "dchange14": "Unfollow", + "dchange14": "フォローを解除", - "dchange15": "Delete", + "dchange15": "削除", - "dchange16": "Block", + "dchange16": "ブロック", - "dchange17": "Unblock", + "dchange17": "ブロックを解除", - "dchange18": "Error occurred when trying to block this registered name. Please try again!", + "dchange18": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "dchange19": "Error occurred when trying to unfollow this registered name. Please try again!", + "dchange19": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "dchange20": "Error occurred when trying to unblock this registered name. Please try again!", + "dchange20": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "dchange21": "Error occurred when trying to delete this resource. Please try again!" + "dchange21": "このリソースを削除しようとしたときにエラーが発生しました。もう一度お試しください。" }, "chatpage": { - "cchange1": "New Private Message", + "cchange1": "新しいプライベート メッセージ", - "cchange2": "Loading...", + "cchange2": "読み込み中...", - "cchange3": "Blocked Users", + "cchange3": "ブロックされたユーザー", - "cchange4": "New Message", + "cchange4": "新しいメッセージ", - "cchange5": "(Click to scroll down)", + "cchange5": "(クリックして下にスクロール)", - "cchange6": "Type the name or address of who you want to chat with to send a private message! You can validate the person's name by clicking on the book icon.", + "cchange6": "プライベート メッセージを送信するためにチャットしたい人の名前またはアドレスを入力してください。本のアイコンをクリックすると、その人の名前を確認できます。", - "cchange7": "Username / Address", + "cchange7": "ユーザー名 / アドレス", - "cchange8": "Message...", + "cchange8": "メッセージ...", - "cchange9": "Send", + "cchange9": "送信", - "cchange10": "Blocked Users List", + "cchange10": "ブロックされたユーザーのリスト", - "cchange11": "Name", + "cchange11": "名前", - "cchange12": "Owner", + "cchange12": "所有者", - "cchange13": "Action", + "cchange13": "アクション", - "cchange14": "This account has not blocked any users.", + "cchange14": "このアカウントはユーザーをブロックしていません。", - "cchange15": "No registered name", + "cchange15": "名前が登録されていません", - "cchange16": "Successfully unblocked this user.", + "cchange16": "このユーザーのブロックが正常に解除されました。", - "cchange17": "Error occurred when trying to unblock this user. Please try again!", + "cchange17": "このユーザーのブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "cchange18": "unblock", + "cchange18": "ブロックを解除", - "cchange19": "Invalid Username / Address, Check the name / address and retry...", + "cchange19": "ユーザー名/アドレスが無効です。名前/アドレスを確認して再試行してください...", - "cchange20": "Message Sent Successfully!", + "cchange20": "メッセージは正常に送信されました!", - "cchange21": "Sending failed, Please retry...", + "cchange21": "送信に失敗しました。再試行してください...", - "cchange22": "Loading Messages...", + "cchange22": "メッセージを読み込み中...", - "cchange23": "Cannot Decrypt Message!", + "cchange23": "メッセージを復号化できません!", - "cchange24": "Maximum Characters per message is 255", + "cchange24": "メッセージあたりの最大文字数は 255 です", - "cchange25": "Edit Message", + "cchange25": "メッセージを編集", - "cchange26": "File size exceeds 0.5 MB", + "cchange26": "ファイル サイズが 0.5 MB を超えています", - "cchange27": "A registered name is required to send images", + "cchange27": "画像を送信するには登録名が必要です", - "cchange28": "This file is not an image", + "cchange28": "このファイルは画像ではありません", - "cchange29": "Maximum message size is 1000 bytes", + "cchange29": "最大メッセージ サイズは 1000 バイトです", - "cchange30": "Uploading image. This may take up to one minute.", + "cchange30": "画像をアップロードしています。これには最大 1 分かかる場合があります。", - "cchange31": "Deleting image. This may take up to one minute.", + "cchange31": "画像を削除しています。これには最大 1 分かかる場合があります。", - "cchange33": "Cancel", + "cchange33": "キャンセル", - "cchange34": "This chat message is using an older message version and cannot use this feature.", + "cchange34": "このチャット メッセージは古いメッセージ バージョンを使用しているため、この機能は使用できません。", - "cchange35": "Error when trying to fetch the user's name. Please try again!", + "cchange35": "ユーザー名を取得しようとしたときにエラーが発生しました。もう一度お試しください。", - "cchange36": "Search Results", + "cchange36": "検索結果", - "cchange37": "No Results Found", + "cchange37": "結果が見つかりませんでした", - "cchange38": "User Verified", + "cchange38": "ユーザー認証済み", - "cchange39": "Cannot send an encrypted message to this user since they do not have their publickey on chain.", + "cchange39": "このユーザーはチェーン上に公開鍵を持っていないため、暗号化されたメッセージを送信できません。", - "cchange40": "IMAGE (click to view)", + "cchange40": "画像 (クリックして表示)", - "cchange41": "Your Balance Is Under 4 QORT", + "cchange41": "残高が 4 QORT 未満です", - "cchange42": "Out of the need to combat spam, accounts with under 4 QORT balance will take a long time to SEND messages in Q-Chat. If you wish to immediately increase the send speed for Q-Chat messages, obtain over 4 QORT to your address. This can be done with trades in the Trade Portal, or by way of another Qortian giving you the QORT. Once you have over 4 QORT in your account, Q-Chat messages will be instant and this dialog will no more show. Thank you for your understanding of this necessary spam prevention method, and we hope you enjoy Qortal!", + "cchange42": "スパム対策の必要性から、残高が 4 QORT 未満のアカウントは、Q-Chat でメッセージを送信するのに時間がかかります。Q-Chat メッセージの送信速度をすぐに上げたい場合は、4 QORT 以上の残高を取得してください。 QORT をあなたのアドレスに送信します。これは、Trade Portal での取引、または QORT を提供する別の QORT 経由で行うことができます。アカウントに 4 QORT を超えると、Q-Chat メッセージは即座に送信され、このダイアログは表示されなくなります 表示。必要なスパム防止方法をご理解いただき、Qortal をお楽しみいただければ幸いです。」", - "cchange43": "Tip QORT to", + "cchange43": "QORT を次の宛先に送信します", - "cchange44": "SEND MESSAGE", + "cchange44": "メッセージを送信", - "cchange45": "TIP USER", + "cchange45": "ヒントユーザー", - "cchange46": "Tip Amount", + "cchange46": "チップ金額", - "cchange47": "Available Balance", + "cchange47": "利用可能な残高", - "cchange48": "Failed to Fetch QORT Balance. Try again!", + "cchange48": "QORT 残高の取得に失敗しました。もう一度お試しください!", - "cchange49": "Current static fee", + "cchange49": "現在の固定料金", - "cchange50": "Send", + "cchange50": "送信", - "cchange51": "Insufficient Funds!", + "cchange51": "資金が不足しています!", - "cchange52": "Invalid Amount!", + "cchange52": "金額が無効です!", - "cchange53": "Receiver cannot be empty!", + "cchange53": "レシーバーを空にすることはできません!", - "cchange54": "Invalid Receiver!", + "cchange54": "受信者が無効です!", - "cchange55": "Transaction Successful!", + "cchange55": "トランザクションは成功しました!", - "cchange56": "Transaction Failed!", + "cchange56": "トランザクションが失敗しました!", - "cchange57": "User Info", + "cchange57": "ユーザー情報", - "cchange58": "SEND MESSAGE", + "cchange58": "メッセージを送信", - "cchange59": "TIP USER", + "cchange59": "チップユーザー", - "cchange60": "Group Invites Pending", + "cchange60": "グループの招待が保留中", - "cchange61": "Error when fetching group invites. Please try again!", + "cchange61": "グループ招待の取得中にエラーが発生しました。もう一度お試しください。", - "cchange62": "Wrong Username and Address Inputted! Please try again!", + "cchange62": "入力されたユーザー名とアドレスが間違っています。もう一度お試しください。", - "cchange63": "Enter Enabled", + "cchange63": "入力が有効になりました", - "cchange64": "Enter Disabled", + "cchange64": "無効と入力", - "cchange65": "Please enter a recipient", + "cchange65": "受信者を入力してください", - "cchange66": "Cannot fetch replied-to message. Message is too old.", + "cchange66": "返信済みメッセージを取得できません。メッセージが古すぎます。", - "cchange68": "edited", + "cchange68": "編集済み", - "cchange69": "Auto-view images", + "cchange69": "画像の自動表示", - "cchange70": "This image type is not supported", + "cchange70": "この画像タイプはサポートされていません", - "cchange71": "and", + "cchange71": "そして", - "cchange72": "other", + "cchange72": "その他", "cchange73": "s", - "cchange74": "reacted with", + "cchange74": "反応しました", - "cchange75": "Uploading attachment. This may take up to one minute.", + "cchange75": "添付ファイルをアップロードしています。これには最大 1 分かかる場合があります。", - "cchange76": "Deleting attachment. This may take up to one minute.", + "cchange76": "添付ファイルを削除しています。これには最大 1 分かかる場合があります。", - "cchange77": "Attachment size exceeds 1 MB", + "cchange77": "添付ファイルのサイズが 1 MB を超えています", - "cchange78": "Are you sure you want to delete this image?", + "cchange78": "この画像を削除してもよろしいですか?", - "cchange79": "Are you sure you want to delete this attachment?", + "cchange79": "この添付ファイルを削除してもよろしいですか?", - "cchange80": "This image has been deleted", + "cchange80": "この画像は削除されました", - "cchange81": "This image type is not supported", + "cchange81": "この画像タイプはサポートされていません", - "cchange82": "This attachment has been deleted", + "cchange82": "この添付ファイルは削除されました", - "cchange90": "No messages" + "cchange90": "メッセージはありません" }, "welcomepage": { - "wcchange1": "Welcome to Q-Chat", + "wcchange1": "Q-Chat へようこそ", - "wcchange2": "New Private Message", + "wcchange2": "新しいプライベート メッセージ", - "wcchange3": "Type the name or address of who you want to chat with to send a private message!", + "wcchange3": "プライベート メッセージを送信するためにチャットしたい人の名前またはアドレスを入力してください!", - "wcchange4": "Name / Address", + "wcchange4": "名前/住所", - "wcchange5": "Message...", + "wcchange5": "メッセージ...", - "wcchange6": "Send", + "wcchange6": "送信", - "wcchange7": "Invalid Name / Address, Check the name / address and retry...", + "wcchange7": "名前/アドレスが無効です。名前/アドレスを確認して再試行してください...", - "wcchange8": "Message Sent Successfully!", + "wcchange8": "メッセージは正常に送信されました!", - "wcchange9": "Sending failed, Please retry..." + "wcchange9": "送信に失敗しました。再試行してください..." }, "blockpage": { - "bcchange1": "Block User", + "bcchange1": "ユーザーをブロック", - "bcchange2": "Successfully blocked this user!", + "bcchange2": "このユーザーは正常にブロックされました!", - "bcchange3": "Error occurred when trying to block this user. Please try again!", + "bcchange3": "このユーザーをブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "bcchange4": "No registered name", + "bcchange4": "名前が登録されていません", - "bcchange5": "Block User Request", + "bcchange5": "ユーザーリクエストをブロック", - "bcchange6": "Are you sure to block this user ?", + "bcchange6": "このユーザーをブロックしてもよろしいですか?", - "bcchange7": "MENU", + "bcchange7": "メニュー", - "bcchange8": "Copy Address", + "bcchange8": "アドレスをコピー", - "bcchange9": "Private Message", + "bcchange9": "プライベートメッセージ", - "bcchange10": "More", + "bcchange10": "詳細", - "bcchange11": "Reply", + "bcchange11": "返信", - "bcchange12": "Edit", + "bcchange12": "編集", - "bcchange13": "Reaction", + "bcchange13": "反応", - "bcchange14": "Forward", + "bcchange14": "転送", - "bcchange15": "Message Forwarded", + "bcchange15": "メッセージが転送されました", - "bcchange16": "Choose Recipient or Search for One Below", + "bcchange16": "受信者を選択するか、以下で受信者を検索します", - "bcchange17": "FORWARDED", + "bcchange17": "転送されました", - "bcchange18": "Tip User" + "bcchange18": "ユーザーにチップを送信" }, "grouppage": { - "gchange1": "Qortal Groups", + "gchange1": "Qortal グループ", - "gchange2": "Create Group", + "gchange2": "グループの作成", - "gchange3": "Your Joined Groups", + "gchange3": "参加しているグループ", - "gchange4": "Group Name", + "gchange4": "グループ名", - "gchange5": "Description", + "gchange5": "説明", - "gchange6": "Role", + "gchange6": "役割", - "gchange7": "Action", + "gchange7": "アクション", - "gchange8": "Not a member of any group!", + "gchange8": "どのグループのメンバーでもありません!", - "gchange9": "Public Groups", + "gchange9": "パブリック グループ", - "gchange10": "Owner", + "gchange10": "所有者", - "gchange11": "No Open Public Groups available!", + "gchange11": "利用可能な公開パブリック グループがありません!", - "gchange12": "Create a New Group", + "gchange12": "新しいグループを作成", - "gchange13": "Group Type", + "gchange13": "グループタイプ", - "gchange14": "This Field is Required", + "gchange14": "このフィールドは必須です", - "gchange15": "Select an option", + "gchange15": "オプションを選択してください", - "gchange16": "Public", + "gchange16": "パブリック", - "gchange17": "Private", + "gchange17": "プライベート", - "gchange18": "Group Approval Threshold (number / percentage of Admins that must approve a transaction):", + "gchange18": "グループ承認のしきい値 (トランザクションを承認する必要がある管理者の数 / 割合):", - "gchange19": "NONE", + "gchange19": "なし", - "gchange20": "ONE", + "gchange20": "1", - "gchange21": "Minimum Block delay for Group Transaction Approvals:", + "gchange21": "グループ トランザクション承認の最小ブロック遅延:", - "gchange22": "minutes", + "gchange22": "分", - "gchange23": "hour", + "gchange23": "時間", - "gchange24": "hours", + "gchange24": "時間", - "gchange25": "day", + "gchange25": "日", - "gchange26": "days", + "gchange26": "日", - "gchange27": "Maximum Block delay for Group Transaction Approvals:", + "gchange27": "グループ トランザクション承認の最大ブロック遅延:", - "gchange28": "Creating Group", + "gchange28": "グループの作成", - "gchange29": "Create Group", + "gchange29": "グループの作成", - "gchange30": "Join Group Request", + "gchange30": "グループへの参加リクエスト", - "gchange31": "Date Created", + "gchange31": "作成日", - "gchange32": "Date Updated", + "gchange32": "更新日", - "gchange33": "Joining", + "gchange33": "参加中", - "gchange34": "Join Group", + "gchange34": "グループに参加", - "gchange35": "Leave Group Request", + "gchange35": "グループ脱退リクエスト", - "gchange36": "Leaving", + "gchange36": "退出", - "gchange37": "Leave Group", + "gchange37": "グループから脱退", - "gchange38": "Manage Group Owner:", + "gchange38": "グループ所有者の管理:", - "gchange39": "Manage Group Admin:", + "gchange39": "グループ管理者の管理:", - "gchange40": "Manage Group", + "gchange40": "グループの管理", - "gchange41": "Group Creation Successful!", + "gchange41": "グループの作成に成功しました!", - "gchange42": "Invalid Group Name", + "gchange42": "無効なグループ名", - "gchange43": "Invalid Group Description", + "gchange43": "グループの説明が無効です", - "gchange44": "Select a Group Typ", + "gchange44": "グループの種類を選択します", - "gchange45": "Select a Group Approval Threshold", + "gchange45": "グループ承認のしきい値を選択します", - "gchange46": "Select a Minimum Block delay for Group Transaction Approvals", + "gchange46": "グループ トランザクション承認の最小ブロック遅延を選択します", - "gchange47": "Select a Maximum Block delay for Group Transaction Approvals", + "gchange47": "グループ トランザクション承認の最大ブロック遅延を選択します", - "gchange48": "Join Group Request Sent Successfully!", + "gchange48": "グループへの参加リクエストが正常に送信されました!", - "gchange49": "Leave Group Request Sent Successfully!", + "gchange49": "グループ脱退要求が正常に送信されました!", - "gchange50": "Leave", + "gchange50": "離れる", - "gchange51": "Join", + "gchange51": "参加", - "gchange52": "Admin", + "gchange52": "管理者", - "gchange53": "Member", + "gchange53": "メンバー", - "gchange54": "Members", + "gchange54": "メンバー", - "gchange55": "Search Private Group", + "gchange55": "プライベートグループを検索", - "gchange56": "Group Name To Search", + "gchange56": "検索するグループ名", - "gchange57": "Private Group Name Not Found", + "gchange57": "プライベート グループ名が見つかりません", - "gchange58": "Note that group name must exact match.", + "gchange58": "グループ名は完全に一致する必要があることに注意してください。", - "gchange59": "Show / Hide Ticker" + "gchange59": "ティッカーの表示/非表示" }, "puzzlepage": { - "pchange1": "Puzzles", + "pchange1": "パズル", - "pchange2": "Reward", + "pchange2": "報酬", - "pchange3": "SOLVED by", + "pchange3": "解決済み", - "pchange4": "Name", + "pchange4": "名前", - "pchange5": "Description", + "pchange5": "説明", - "pchange6": "Clue / Answer", + "pchange6": "手がかり/答え", - "pchange7": "Action", + "pchange7": "アクション", - "pchange8": "Guess", + "pchange8": "推測", - "pchange9": "Enter your guess to solve this puzzle and win", + "pchange9": "このパズルを解くための推測を入力すると勝ちます", - "pchange10": "Your guess needs to be 43 or 44 characters and", + "pchange10": "推測は 43 文字または 44 文字である必要があります。", - "pchange11": "not", + "pchange11": "そうではありません", - "pchange12": "include 0 (zero), I (upper i), O (upper o) or l (lower L).", + "pchange12": "0 (ゼロ)、I (上の i)、O (上の o) または l (下の L) を含みます。", - "pchange13": "Your Guess", + "pchange13": "あなたの推測", - "pchange14": "Checking your guess...", + "pchange14": "推測を確認しています...", - "pchange15": "Submit", + "pchange15": "送信", - "pchange16": "Guess incorrect!", + "pchange16": "推測は間違っています!", - "pchange17": "Reward claim submitted - check wallet for reward!" + "pchange17": "報酬請求が送信されました - ウォレットに報酬がないか確認してください!" }, "nodepage": { - "nchange1": "Node management for:", + "nchange1": "ノード管理:", - "nchange2": "Node has been online for:", + "nchange2": "ノードがオンラインになっている期間:", - "nchange3": "Node's minting accounts", + "nchange3": "ノードのミントアカウント", - "nchange4": "Add minting account", + "nchange4": "ミントアカウントを追加", - "nchange5": "If you would like to mint with your own account you will need to create a rewardshare transaction to yourself (with rewardshare percent set to 0), and then mint with the rewardshare key it gives you.", + "nchange5": "自分のアカウントでミントを作成したい場合は、自分自身に対するリワードシェア トランザクションを作成する必要があります (リワードシェア パーセントを 0 に設定)。その後、それが提供するリワードシェア キーを使ってミントを作成します。", - "nchange6": "Rewardshare key", + "nchange6": "報酬シェアキー", - "nchange7": "Adding minting account", + "nchange7": "ミントアカウントの追加", - "nchange8": "Add", + "nchange8": "追加", - "nchange9": "Minting Account", + "nchange9": "ミントアカウント", - "nchange10": "Recipient Account", + "nchange10": "受信者のアカウント", - "nchange11": "Action", + "nchange11": "アクション", - "nchange12": "Remove", + "nchange12": "削除", - "nchange13": "No minting accounts found for this node", + "nchange13": "このノードのミント アカウントが見つかりません", - "nchange14": "Peers connected to this node", + "nchange14": "このノードに接続されているピア", - "nchange15": "Add peer", + "nchange15": "ピアを追加", - "nchange16": "Type the peer you wish to add's address below", + "nchange16": "追加するピアのアドレスを以下に入力します", - "nchange17": "Peer Address", + "nchange17": "ピアアドレス", - "nchange18": "Address", + "nchange18": "アドレス", - "nchange19": "Last Height", + "nchange19": "最後の高さ", - "nchange20": "Build Version", + "nchange20": "ビルドバージョン", - "nchange21": "Connected for", + "nchange21": "接続先", - "nchange22": "Action", + "nchange22": "アクション", - "nchange23": "Force Sync", + "nchange23": "強制同期", - "nchange24": "Node has no connected peers", + "nchange24": "ノードには接続されたピアがありません", - "nchange25": "Starting Sync with Peer: ", + "nchange25": "ピアとの同期を開始しています: ", - "nchange26": "Successfully removed Peer: ", + "nchange26": "ピアが正常に削除されました: ", - "nchange27": "Minting Node Added Successfully!", + "nchange27": "ミントノードが正常に追加されました!", - "nchange28": "Failed to Add Minting Node!", + "nchange28": "ミント ノードの追加に失敗しました!", - "nchange29": "Successfully Removed Minting Account!", + "nchange29": "ミントアカウントが正常に削除されました!", - "nchange30": "Failed to Remove Minting Account!", + "nchange30": "ミントアカウントの削除に失敗しました!", - "nchange31": "Stop Node", + "nchange31": "ノードを停止", - "nchange32": "Successfully Sent Stop Request!" + "nchange32": "停止リクエストが正常に送信されました!" }, "transpage": { - "tchange1": "Transaction request", + "tchange1": "トランザクションリクエスト", - "tchange2": "Decline", + "tchange2": "拒否", - "tchange3": "Confirm", + "tchange3": "確認", - "tchange4": "To", + "tchange4": "宛先", - "tchange5": "Amount" + "tchange5": "金額" }, "apipage": { - "achange1": "Add API key", + "achange1": "API キーを追加", - "achange2": "API key", + "achange2": "API キー", - "achange3": "Please enter the API key for this node. It can be found in a file called “apikey.txt“ in the directory where the core is installed. Alternatively, click Cancel to use the core with reduced functionality.", + "achange3": "このノードの API キーを入力してください。このキーは、コアがインストールされているディレクトリの「apikey.txt」というファイルにあります。または、[キャンセル] をクリックして、機能が制限されたコアを使用します。", - "achange4": "Cancel", + "achange4": "キャンセル", - "achange5": "Add", + "achange5": "追加", - "achange6": "Successfully added API Key", + "achange6": "API キーが正常に追加されました", - "achange7": "API key wrong, no API key added" + "achange7": "API キーが間違っています。API キーが追加されていません" }, "transactions": { - "amount": "Amount", + "amount": "金額", - "to": "To", + "to": "へ", - "declined": "User declined transaction!", + "declined": "ユーザーは取引を拒否しました!", - "namedialog1": "You are registering the name below:", + "namedialog1": "以下の名前を登録しています:", - "namedialog2": "On pressing confirm, the name will be registered!", + "namedialog2": "確認を押すと名前が登録されます!", - "groupdialog1": "You are requesting to join the group below:", + "groupdialog1": "以下のグループへの参加をリクエストしています:", - "groupdialog2": "On pressing confirm, the group join request will be sent!", + "groupdialog2": "確認を押すと、グループ参加リクエストが送信されます!", - "groupdialog3": "You are requesting to leave the group below:", + "groupdialog3": "以下のグループからの退会をリクエストしています:", - "groupdialog4": "On pressing confirm, the leave group request will be sent!", + "groupdialog4": "確認を押すと、グループ脱退リクエストが送信されます!", - "groupdialog5": "You are requesting to creating the group below:", + "groupdialog5": "以下のグループの作成をリクエストしています:", - "groupdialog6": "On pressing confirm, the group creating request will be sent!", + "groupdialog6": "確認を押すと、グループ作成リクエストが送信されます!", - "rewarddialog1": "Would you like to create a reward share transaction, sharing", + "rewarddialog1": "報酬シェアトランザクションを作成しますか、共有します", - "rewarddialog2": "of your minting rewards with", + "rewarddialog2": "あなたの鋳造報酬の", - "rewarddialog3": "If yes, you will need to save the key below in order to mint. It can be supplied to any node in order to allow it to mint on your behalf.", + "rewarddialog3": "はいの場合、ミントを作成するには以下のキーを保存する必要があります。キーは任意のノードに提供して、ユーザーに代わってミントを行うことができます。", - "rewarddialog4": "On pressing confirm, the rewardshare will be created, but you will still need to supply the above key to a node in order to mint with the account.", + "rewarddialog4": "確認を押すと報酬シェアが作成されますが、アカウントでミントするためには上記のキーをノードに提供する必要があります。", - "rewarddialog5": "You are removing a reward share transaction associated with account:", + "rewarddialog5": "アカウントに関連付けられた報酬シェア トランザクションを削除しています:", - "rewarddialog6": "On pressing confirm, the rewardshare will be removed and the minting key will become invalid." + "rewarddialog6": "確認を押すと、報酬シェアが削除され、ミントキーが無効になります。" }, "sponsorshipspage": { - "schange1": "Active Sponsorships", + "schange1": "アクティブなスポンサーシップ", - "schange2": "Account Address", + "schange2": "アカウントアドレス", - "schange3": "Total Sponsorships active", + "schange3": "アクティブなスポンサーシップの合計", - "schange4": "Next sponsorship ending in", + "schange4": "次のスポンサーシップは次で終了します", - "schange5": "Sponsor New Minter", + "schange5": "スポンサー New Minter", - "schange6": "Finished Sponsorships", + "schange6": "終了したスポンサーシップ", - "schange7": "Completed", + "schange7": "完了", - "schange8": "Addresses", + "schange8": "アドレス", - "schange9": "You currently have no active sponsorships", + "schange9": "現在アクティブなスポンサーシップはありません", - "schange10": "Public Key Lookup", + "schange10": "公開キーの検索", - "schange11": "Copy", + "schange11": "コピー", - "schange12": "Address to Public Key Converter", + "schange12": "アドレスから公開鍵へのコンバーター", - "schange13": "Enter address", + "schange13": "アドレスを入力してください", - "schange14": "In progress", + "schange14": "進行中", - "schange15": "Finishing up", + "schange15": "仕上げ中", - "schange16": "Copy the key below and share it with your sponsored person.", + "schange16": "以下のキーをコピーし、スポンサーと共有してください。", - "schange17": "Copied to clipboard", + "schange17": "クリップボードにコピーされました", - "schange18": "Warning: do not leave this plugin or close the Qortal UI until completion!", + "schange18": "警告: 完了するまで、このプラグインを終了したり、Qortal UI を閉じたりしないでください。", - "schange19": "Copy Sponsorship Key", + "schange19": "スポンサーシップ キーをコピー", - "schange20": "Creating relationship", + "schange20": "関係の作成", - "schange21": "Remove Sponsorship Key" + "schange21": "スポンサーシップ キーを削除" }, "explorerpage": { - "exp1": "Address or name to search", + "exp1": "検索する住所または名前", - "exp2": "Account Balance", + "exp2": "アカウント残高", - "exp3": "More Info", + "exp3": "詳細情報", - "exp4": "Address or Name not found !", + "exp4": "住所または名前が見つかりません!", - "exp5": "Note that registered names are case-sensitive.", + "exp5": "登録名では大文字と小文字が区別されることに注意してください。", - "exp6": "Founder", + "exp6": "創設者", - "exp7": "Info", + "exp7": "情報", - "exp8": "Show all buy trades", + "exp8": "すべての買い取引を表示", - "exp9": "Show all sell trades", + "exp9": "すべての売り取引を表示", - "exp10": "BUY HISTORY", + "exp10": "購入履歴", - "exp11": "SELL HISTORY", + "exp11": "販売履歴", - "exp12": "No buy trades made yet.", + "exp12": "まだ購入取引は行われていません。", - "exp13": "No sell trades made yet.", + "exp13": "まだ売り取引は行われていません。", - "exp14": "Show complete info", + "exp14": "完全な情報を表示", - "exp15": "Minting Since", + "exp15": "鋳造以来", - "exp16": "Not Minting", + "exp16": "鋳造しない", - "exp17": "ALL PAYMENTS", + "exp17": "すべての支払い", - "exp18": "Payments", + "exp18": "支払い", - "exp19": "Sent", + "exp19": "送信済み", - "exp20": "Received", + "exp20": "受信しました", - "exp21": "Trades" + "exp21": "取引" }, "managegroup": { - "mg1": "Group Members", + "mg1": "グループメンバー", - "mg2": "Invite To Group", + "mg2": "グループに招待", - "mg3": "Group Admins", + "mg3": "グループ管理者", - "mg4": "Update Group", + "mg4": "アップデートグループ", - "mg5": "Close Manage Group", + "mg5": "グループの管理を閉じる", - "mg6": "BAN", + "mg6": "禁止", - "mg7": "KICK", + "mg7": "キック", - "mg8": "Group ID", + "mg8": "グループID", - "mg9": "Joined", + "mg9": "参加しました", - "mg10": "Add Group Admin", + "mg10": "グループ管理者の追加", - "mg11": "Are you sure to add this member to admins ?", + "mg11": "このメンバーを管理者に追加してもよろしいですか?", - "mg12": "On pressing confirm, add admin request will be sent!", + "mg12": "確認を押すと、管理者の追加リクエストが送信されます!", - "mg13": "Remove Group Admin", + "mg13": "グループ管理者の削除", - "mg14": "Remove Admin Address", + "mg14": "管理者アドレスを削除", - "mg15": "Are you sure to remove this member from admins ?", + "mg15": "このメンバーを管理者から削除してもよろしいですか?", - "mg16": "On pressing confirm, remove admin request will be sent!", + "mg16": "確認を押すと、管理者の削除リクエストが送信されます!", - "mg17": "Ban Member From Group", + "mg17": "メンバーをグループから追放", - "mg18": "Member Name", + "mg18": "メンバー名", - "mg19": "Member Address", + "mg19": "メンバーアドレス", - "mg20": "How Long To Ban", + "mg20": "禁止期間", - "mg21": "Reason For Ban", + "mg21": "禁止の理由", - "mg22": "Are you sure to ban this member from the group ?", + "mg22": "このメンバーをグループから禁止してもよろしいですか?", - "mg23": "On pressing confirm, the ban request will be sent!", + "mg23": "確認を押すと、禁止リクエストが送信されます!", - "mg24": "FOREVER", + "mg24": "永遠に", - "mg25": "Banned Members", + "mg25": "禁止されたメンバー", - "mg26": "CANCEL BAN", + "mg26": "禁止をキャンセル", - "mg27": "Ban Expiry", + "mg27": "禁止期限切れ", - "mg28": "Cancel Ban Member From Group", + "mg28": "グループからのメンバーの禁止をキャンセル", - "mg29": "Are you sure to cancel the ban for this member from the group ?", + "mg29": "このメンバーのグループからの禁止を解除してもよろしいですか?", - "mg30": "On pressing confirm, the cancel ban request will be sent!", + "mg30": "確認を押すと、キャンセル禁止リクエストが送信されます!", - "mg31": "Kick Member From Group", + "mg31": "グループからメンバーをキック", - "mg32": "Reason For Kick", + "mg32": "キックの理由", - "mg33": "Are you sure to kick this member from the group ?", + "mg33": "このメンバーをグループから除外してもよろしいですか?", - "mg34": "On pressing confirm, the kick request will be sent!", + "mg34": "確認を押すと、キック要求が送信されます!", - "mg35": "No Open Group Invites", + "mg35": "開いているグループへの招待はありません", - "mg36": "Your Open Group Invites", + "mg36": "あなたのオープングループを招待します", - "mg37": "Address or name to invite", + "mg37": "招待する住所または名前", - "mg38": "Invite Expiry Time", + "mg38": "招待の有効期限", - "mg39": "All Fields Are Required", + "mg39": "すべてのフィールドは必須です", - "mg40": "Are you sure to invite this member to the group ?", + "mg40": "このメンバーをグループに招待してもよろしいですか?", - "mg41": "On pressing confirm, the invite request will be sent!", + "mg41": "確認を押すと、招待リクエストが送信されます!", - "mg42": "Group Type", + "mg42": "グループタイプ", - "mg43": "Invite Expiry", + "mg43": "招待の有効期限", - "mg44": "Public Group", + "mg44": "パブリックグループ", - "mg45": "Private Group", + "mg45": "プライベートグループ", - "mg46": "Cancel Invite", + "mg46": "招待をキャンセル", - "mg47": "Cancel Invite To Group", + "mg47": "グループへの招待をキャンセル", - "mg48": "Are you sure to cancel the invite for this member ?", + "mg48": "このメンバーの招待をキャンセルしてもよろしいですか?", - "mg49": "On pressing confirm, the cancel invite request will be sent!", + "mg49": "確認を押すと、招待キャンセルのリクエストが送信されます!", - "mg50": "Coming Soon...", + "mg50": "近日公開予定...", - "mg51": "Minimum 3 Characters / Maximum 32 Characters", + "mg51": "最小 3 文字 / 最大 32 文字", - "mg52": "Maximum 128 Characters", + "mg52": "最大 128 文字", - "mg53": "Your Open Join Requests", + "mg53": "オープンな参加リクエスト", - "mg54": "No Open Join Requests", + "mg54": "オープンな参加リクエストはありません", - "mg55": "Are you sure to accept the join request from this member ?", + "mg55": "このメンバーからの参加リクエストを承認してもよろしいですか?", - "mg56": "On pressing confirm, the accept join request will be sent!", + "mg56": "確認を押すと、参加承認リクエストが送信されます!", - "mg57": "Join Request Successfully Accepted", + "mg57": "参加リクエストは正常に受け入れられました", - "mg58": "SOMETHING WENT WRONG", + "mg58": "何か問題が発生しました", - "mg59": "Cancel Join Request Successfully Accepted", + "mg59": "参加キャンセル要求が正常に受け入れられました", - "mg60": "Are you sure to cancel the join request from this member ?", + "mg60": "このメンバーからの参加リクエストをキャンセルしてもよろしいですか?", - "mg61": "On pressing confirm, the cancel join request will be sent!" + "mg61": "確認を押すと、参加キャンセル要求が送信されます。" }, "info": { - "inf1": "Trade Portal Information", + "inf1": "貿易ポータル情報", - "inf2": "Close Trade Portal Info", + "inf2": "貿易ポータル情報を閉じる", - "inf3": "This is a market to BUY QORT with", + "inf3": "これは QORT を購入するための市場です", - "inf4": "- 'open market sells' are QORT SELL ORDERS.", + "inf4": "- 「公開市場の売り」は QORT 売り注文です。", - "inf5": "You can only buy ONE order at a time simply click an order that you wish to buy with", + "inf5": "一度に購入できる注文は 1 つだけです。購入したい注文をクリックするだけです。", - "inf6": "and it will populate the 'BUY QORT' box with the details, then click BUY.", + "inf6": "[QORT を購入] ボックスに詳細が入力され、[購入] をクリックします。", - "inf7": "Auto Buy Information", + "inf7": "自動購入情報", - "inf8": "Close Auto Buy Info", + "inf8": "自動購入情報を閉じる", - "inf9": "'Auto Buy' is a feature that allows 'buy orders' to be placed on the Trade Portal. These 'buy orders' are only visible by the person placing them. They are not 'public' buy orders like the 'open market sells' are, and are NOT stored on the Qortal blockchain. Auto Buy is a UI feature, and as such requires that the UI is RUNNING.", + "inf9": "「自動購入」は、貿易ポータルで「買い注文」を発注できるようにする機能です。これらの「買い注文」は、発注者のみが表示されます。これらは、 「公開市場での販売」は Qortal ブロックチェーンに保存されており、保存されていません。自動購入は UI 機能であるため、UI が実行中であることが必要です。", - "inf10": "To place an Auto Buy order click 'Add Auto Buy Order' button and fill out the box that comes up. Input the AMOUNT OF QORT you wish to BUY, and the PRICE you are willing to BUY UP TO. Once the order is active, Auto Buy will buy UP TO that amount of QORT for you, at UP TO the price you set (starting at the lowest order and moving up the books.)", + "inf10": "自動購入注文を行うには、[自動購入注文を追加] ボタンをクリックし、表示されるボックスに記入します。購入したい QORT の金額と、最大購入価格を入力します。1 回 注文はアクティブです。自動購入は、設定した価格まで、その量の QORT まで購入します (最低注文から開始して、書籍を増やしていきます)。」", - "inf11": "Simply LEAVE YOUR UI RUNNING and Auto Buy does the rest, automatically!", + "inf11": "UI を実行したままにしておくと、自動購入が残りの作業を自動的に実行します!", - "inf12": "You CAN browse other plugins in the UI (Q-Chat, wallets, etc.) but you CANNOT CLOSE THE UI if you want your Auto Buy to complete. Leaving the UI 'minimized' on the 'taskbar' or 'panel' is just fine, as long as the UI remains OPEN Auto Buy will function.", + "inf12": "UI で他のプラグイン (Q-Chat、ウォレットなど) を参照することはできますが、自動購入を完了したい場合は UI を閉じることはできません。UI を「タスクバー」上で「最小化」したままにするか、 「パネル」は、UI が開いたままである限り、自動購入が機能するので問題ありません。", - "inf13": "Automatically buy", + "inf13": "自動的に購入", - "inf14": "with", + "inf14": "付き", - "inf15": "Active Auto Buy Orders", + "inf15": "アクティブな自動車購入注文", - "inf16": "Auto Buy" + "inf16": "自動購入" } diff --git a/locales/jp.json b/locales/jp.json index c86c76eb..526fd955 100644 --- a/locales/jp.json +++ b/locales/jp.json @@ -1,73 +1,73 @@ { - "__locale_name__": "Japanese", + "__locale_name__": "日本語", - "electron_translate_1": "Show Qortal UI", + "electron_translate_1": "Qortal UI を表示", - "electron_translate_2": "Quit", + "electron_translate_2": "終了", - "electron_translate_3": "Update available", + "electron_translate_3": "アップデートが利用可能", - "electron_translate_4": "A new Qortal UI version is available. You want to download it ?", + "electron_translate_4": "Qortal UI の新しいバージョンが利用可能です。ダウンロードしますか?", - "electron_translate_5": "INSTALL NOW", + "electron_translate_5": "今すぐインストール", - "electron_translate_6": "MAYBE LATER", + "electron_translate_6": "後になるかもしれません", - "electron_translate_7": "Update ready to install", + "electron_translate_7": "アップデートをインストールする準備ができました", - "electron_translate_8": "A new Qortal UI version has been downloaded.", + "electron_translate_8": "新しい Qortal UI バージョンがダウンロードされました。", - "electron_translate_9": "Click INSTALL NOW to apply update, MAYBE LATER to not update the UI.", + "electron_translate_9": "今すぐインストールをクリックして更新を適用します。UI を更新しない場合は後で行うかもしれません。", - "electron_translate_10": "Temporary update failure, will try again later", + "electron_translate_10": "一時的な更新に失敗しました。後でもう一度試します", - "electron_translate_11": "DOWNLOAD UPDATE", + "electron_translate_11": "ダウンロード更新", - "electron_translate_12": "It will be downloaded ⌛️ in the background!", + "electron_translate_12": "バックグラウンドで ⌛️ がダウンロードされます!", - "electron_translate_13": "START QORTAL CORE", + "electron_translate_13": "QORTAL CORE を開始", - "electron_translate_14": "NO THANKS", + "electron_translate_14": "いいえ、ありがとう", - "electron_translate_15": "Qortal Core is NOT running on this system", + "electron_translate_15": "Qortal Core はこのシステムでは実行されていません", - "electron_translate_16": "Qortal UI has detected that Qortal Core is NOT running on this system", + "electron_translate_16": "Qortal UI は、Qortal Core がこのシステムで実行されていないことを検出しました", - "electron_translate_17": "Click START QORTAL CORE to start the Qortal Core on this system OR click NO THANKS to skip starting on this system", + "electron_translate_17": "このシステム上で Qortal Core を開始するには START QORTAL CORE をクリックするか、このシステムでの開始をスキップするには NO THANKS をクリックしてください", - "electron_translate_18": "DOWNLOAD QORTAL CORE", + "electron_translate_18": "QORTAL コアをダウンロード", - "electron_translate_19": "NO THANKS", + "electron_translate_19": "いいえ、ありがとう", - "electron_translate_20": "Qortal Core is NOT detected", + "electron_translate_20": "Qortal コアが検出されませんでした", - "electron_translate_21": "Qortal UI has detected that Qortal Core is NOT installed ( in default location ) on this system.", + "electron_translate_21": "Qortal UI は、Qortal Core がこのシステムに (デフォルトの場所に) インストールされていないことを検出しました。", - "electron_translate_22": "Click DOWNLOAD QORTAL CORE to download and install the core ( to default location ) OR click NO THANKS to skip download and install.", + "electron_translate_22": "「QORTAL CORE をダウンロード」をクリックしてコアをダウンロードして (デフォルトの場所に) インストールするか、「いいえ」をクリックしてダウンロードとインストールをスキップします。", - "electron_translate_23": "DOWNLOAD JAVA", + "electron_translate_23": "JAVA をダウンロード", - "electron_translate_24": "NO THANKS", + "electron_translate_24": "いいえ、ありがとう", - "electron_translate_25": "Java is not installed.", + "electron_translate_25": "Java がインストールされていません。", - "electron_translate_26": "Qortal UI has detected that java is not installed on your system.", + "electron_translate_26": "Qortal UI は、Java がシステムにインストールされていないことを検出しました。", - "electron_translate_27": "Click on DOWNLOAD JAVA to download and install java or on NO THANKS to not download and install it.", + "electron_translate_27": "Java をダウンロードしてインストールするには [JAVA をダウンロード] をクリックし、ダウンロードしてインストールしない場合は [いいえ] をクリックします。", - "electron_translate_28": "Never ask me again", + "electron_translate_28": "二度と質問しないでください", - "electron_translate_29": "CHANGE SETTING", + "electron_translate_29": "設定を変更", - "electron_translate_30": "CANCEL", + "electron_translate_30": "キャンセル", - "electron_translate_31": "Start Core Settings", + "electron_translate_31": "コア設定を開始", - "electron_translate_32": "Change the current status of asking to start the core if it is not running", + "electron_translate_32": "コアが実行されていない場合にコアの開始を求める現在のステータスを変更します", - "electron_translate_33": "(Check or Uncheck the never ask me again checkbox)", + "electron_translate_33": "(「二度と質問しない」チェックボックスをオンまたはオフにします)", - "electron_translate_34": "Settings" + "electron_translate_34": "設定" } From 532d1d9bde671bfa33917aa88e64609d6f2f28bd Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Mon, 22 May 2023 10:49:39 +0200 Subject: [PATCH 011/112] Update electron-builder.yml --- electron-builder.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/electron-builder.yml b/electron-builder.yml index 2779fa06..20ca7f6f 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -109,15 +109,17 @@ linux: target: - "deb" - "AppImage" + - "snap" + - "rpm" deb: - artifactName: "Qortal-Setup-arm64.${ext}" + artifactName: "Qortal-Setup-amd64.${ext}" synopsis: "Qortal UI for Linux" afterInstall: "./scripts/add-debian-apt-repo.sh" afterRemove: "./scripts/uninstall-debian-conf.sh" appImage: - artifactName: "Qortal-Setup-arm64.${ext}" + artifactName: "Qortal-Setup-amd64.${ext}" snap: artifactName: "Qortal-Setup-amd64.${ext}" From 7f9762ae826ccb3a0869d5d7d025a53707497c17 Mon Sep 17 00:00:00 2001 From: nuc1eon Date: Tue, 23 May 2023 16:05:41 +0200 Subject: [PATCH 012/112] Update us.json Fix typo/grammar --- core/language/us.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/language/us.json b/core/language/us.json index ffb1c13e..6841b8d8 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -576,7 +576,7 @@ "publishpage": { "pchange1": "Publish", "pchange2": "Update", - "pchange3": "Note: it is recommended that you set up port forwarding before hosting data, so that it can more easily accessed by peers on the network.", + "pchange3": "Note: it is recommended that you set up port forwarding before hosting data, so that it can more easily be accessed by peers on the network.", "pchange4": "Select Name", "pchange5": "Title", "pchange6": "Description", From 39fa338937cee68d111db226a729aa6f08c9ac0b Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Thu, 25 May 2023 02:00:01 -0400 Subject: [PATCH 013/112] Add fee info for Group transactions --- README.md | 11 ++++++----- .../core/group-management/group-management.src.js | 11 ++++++++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 35a2df57..ec2e0ef4 100644 --- a/README.md +++ b/README.md @@ -31,20 +31,21 @@ Easiest way to install the lastest required packages on Linux is via nvm. Adding via binary package mirror will only work if you have set the package path. You can do a node or java build via ports instead by downloading ports with portsnap fetch method. -Verify your installtion with node --version
-- ``` If you have an older installation of npm, please do not forget to update that with npm update -g. ``` +Verify your installation with ``` node --version ```
+ - If you have an older installation of npm, please do not forget to update that with ``` npm update -g ``` Clone the main UI repo - ``` git clone https://github.com/Qortal/qortal-ui.git ``` Installation ------------------------ - In `qortal-ui/` npm install - +In `qortal-ui` directory, run: +``` +npm install +``` Build UI server and files ------------------------- -In `qortal-ui` directory, run: ``` npm run build ``` diff --git a/plugins/plugins/core/group-management/group-management.src.js b/plugins/plugins/core/group-management/group-management.src.js index a3c3bb26..7e1e7f57 100644 --- a/plugins/plugins/core/group-management/group-management.src.js +++ b/plugins/plugins/core/group-management/group-management.src.js @@ -604,7 +604,7 @@ class GroupManagement extends LitElement {

-

${translate("walletpage.wchange21")} ${this.addGroupAdminFee} QORT

+

${translate("walletpage.wchange21")} ${this.createBanFee} QORT


${this.renderClearSuccess()} @@ -1500,6 +1500,9 @@ class GroupManagement extends LitElement { ${this.message} +
+ + ${translate("walletpage.wchange21")} ${this.createFee} QORT.
@@ -1557,6 +1560,9 @@ class GroupManagement extends LitElement { ${this.message} +
+ + ${translate("walletpage.wchange21")} ${this.joinFee} QORT. @@ -1619,6 +1625,9 @@ class GroupManagement extends LitElement { ${this.message} +
+ + ${translate("walletpage.wchange21")} ${this.leaveFee} QORT. From c566f33255410fd74df263eccb037300157c314b Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Thu, 25 May 2023 03:12:43 -0400 Subject: [PATCH 014/112] Enable altcoin balances in Q-Apps --- .../plugins/core/qdn/browser/browser.src.js | 109 +++++++++--------- 1 file changed, 54 insertions(+), 55 deletions(-) diff --git a/plugins/plugins/core/qdn/browser/browser.src.js b/plugins/plugins/core/qdn/browser/browser.src.js index ce9355a0..fc94208b 100644 --- a/plugins/plugins/core/qdn/browser/browser.src.js +++ b/plugins/plugins/core/qdn/browser/browser.src.js @@ -1580,62 +1580,61 @@ class WebBrowser extends LitElement { } finally { this.loader.hide(); } - } - // else { - // let _url = `` - // let _body = null + } else { + let _url = `` + let _body = null - // switch (coin) { - // case 'LTC': - // _url = `/crosschain/ltc/walletbalance?apiKey=${this.getApiKey()}` - // _body = window.parent.reduxStore.getState().app.selectedAddress.ltcWallet.derivedMasterPublicKey - // break - // case 'DOGE': - // _url = `/crosschain/doge/walletbalance?apiKey=${this.getApiKey()}` - // _body = window.parent.reduxStore.getState().app.selectedAddress.dogeWallet.derivedMasterPublicKey - // break - // case 'DGB': - // _url = `/crosschain/dgb/walletbalance?apiKey=${this.getApiKey()}` - // _body = window.parent.reduxStore.getState().app.selectedAddress.dgbWallet.derivedMasterPublicKey - // break - // case 'RVN': - // _url = `/crosschain/rvn/walletbalance?apiKey=${this.getApiKey()}` - // _body = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet.derivedMasterPublicKey - // break - // case 'ARRR': - // _url = `/crosschain/arrr/walletbalance?apiKey=${this.getApiKey()}` - // _body = window.parent.reduxStore.getState().app.selectedAddress.arrrWallet.seed58 - // break - // default: - // break - // } - // try { - // this.loader.show(); - // const res = await parentEpml.request('apiCall', { - // url: _url, - // method: 'POST', - // body: _body, - // }) - // if (isNaN(Number(res))) { - // const data = {}; - // const errorMsg = error.message || get("browserpage.bchange21"); - // data['error'] = errorMsg; - // response = JSON.stringify(data); - // return; - // } else { - // response = (Number(res) / 1e8).toFixed(8); - // } - // } catch (error) { - // console.error(error); - // const data = {}; - // const errorMsg = error.message || get("browserpage.bchange21"); - // data['error'] = errorMsg; - // response = JSON.stringify(data); - // return; - // } finally { - // this.loader.hide() - // } - // } + switch (coin) { + case 'LTC': + _url = `/crosschain/ltc/walletbalance?apiKey=${this.getApiKey()}` + _body = window.parent.reduxStore.getState().app.selectedAddress.ltcWallet.derivedMasterPublicKey + break + case 'DOGE': + _url = `/crosschain/doge/walletbalance?apiKey=${this.getApiKey()}` + _body = window.parent.reduxStore.getState().app.selectedAddress.dogeWallet.derivedMasterPublicKey + break + case 'DGB': + _url = `/crosschain/dgb/walletbalance?apiKey=${this.getApiKey()}` + _body = window.parent.reduxStore.getState().app.selectedAddress.dgbWallet.derivedMasterPublicKey + break + case 'RVN': + _url = `/crosschain/rvn/walletbalance?apiKey=${this.getApiKey()}` + _body = window.parent.reduxStore.getState().app.selectedAddress.rvnWallet.derivedMasterPublicKey + break + case 'ARRR': + _url = `/crosschain/arrr/walletbalance?apiKey=${this.getApiKey()}` + _body = window.parent.reduxStore.getState().app.selectedAddress.arrrWallet.seed58 + break + default: + break + } + try { + this.loader.show(); + const res = await parentEpml.request('apiCall', { + url: _url, + method: 'POST', + body: _body, + }) + if (isNaN(Number(res))) { + const data = {}; + const errorMsg = error.message || get("browserpage.bchange21"); + data['error'] = errorMsg; + response = JSON.stringify(data); + return; + } else { + response = (Number(res) / 1e8).toFixed(8); + } + } catch (error) { + console.error(error); + const data = {}; + const errorMsg = error.message || get("browserpage.bchange21"); + data['error'] = errorMsg; + response = JSON.stringify(data); + return; + } finally { + this.loader.hide() + } + } } else if (res3.action === 'reject') { response = '{"error": "User declined request"}'; } From 2c32108a8bb812fac82fa0d9600add4643d6b593 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Thu, 25 May 2023 05:10:00 -0400 Subject: [PATCH 015/112] Add BTC to GET_WALLET_BALANCE action --- .../plugins/core/qdn/browser/browser.src.js | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/plugins/plugins/core/qdn/browser/browser.src.js b/plugins/plugins/core/qdn/browser/browser.src.js index fc94208b..1e7f63f3 100644 --- a/plugins/plugins/core/qdn/browser/browser.src.js +++ b/plugins/plugins/core/qdn/browser/browser.src.js @@ -1585,6 +1585,10 @@ class WebBrowser extends LitElement { let _body = null switch (coin) { + case 'BTC': + _url = `/crosschain/btc/walletbalance?apiKey=${this.getApiKey()}` + _body = window.parent.reduxStore.getState().app.selectedAddress.btcWallet.derivedMasterPublicKey + break case 'LTC': _url = `/crosschain/ltc/walletbalance?apiKey=${this.getApiKey()}` _body = window.parent.reduxStore.getState().app.selectedAddress.ltcWallet.derivedMasterPublicKey @@ -1704,7 +1708,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -1903,7 +1907,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2009,7 +2013,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2115,7 +2119,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2221,7 +2225,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2327,7 +2331,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -2434,7 +2438,7 @@ class WebBrowser extends LitElement { let errorMsg = "Insufficient Funds!" let failedMsg = get("walletpage.wchange26") let pleaseMsg = get("walletpage.wchange44") - showErrorAndWait("INSSUFFICIENT_FUNDS", failedMsg, pleaseMsg) + showErrorAndWait("INSUFFICIENT_FUNDS", failedMsg, pleaseMsg) let obj = {} obj['error'] = errorMsg response = JSON.stringify(obj) @@ -3025,7 +3029,7 @@ async function showErrorAndWait(type, data, data1) { ` : ''} - ${type === "INSSUFFICIENT_FUNDS" ? ` + ${type === "INSUFFICIENT_FUNDS" ? ` ` : ''} From c89c8cb647add630d63e81eb0a7e436a05a46b12 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 29 May 2023 02:56:37 -0400 Subject: [PATCH 025/112] Update Japanese translations (credit: R M) --- core/language/jp.json | 901 +++++++++++++++++++++--------------------- locales/jp.json | 54 +-- 2 files changed, 477 insertions(+), 478 deletions(-) diff --git a/core/language/jp.json b/core/language/jp.json index 99447582..043a8e8d 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -50,15 +50,15 @@ "mintingdetails": "ミントの詳細", - "becomeAMinter": "MINTER になる", + "becomeAMinter": "ミンター になる", - "wallets": "財布", + "wallets": "ウォレット", - "tradeportal": "貿易ポータル", + "tradeportal": "取引所", "rewardshare": "報酬シェア", - "nameregistration": "名前登録", + "nameregistration": "名前の登録", "websites": "ウェブサイト", @@ -80,10 +80,10 @@ "sm1": "名前", - "sm2": "名前管理", + "sm2": "名前の管理", + + "sm3": "名前マーケット" - "sm3": "ネームズマーケット" - }, "login": { @@ -94,17 +94,17 @@ "name": "名前", - "address": "住所", + "address": "アドレス", "password": "パスワード", "youraccounts": "あなたのアカウント", - "clickto": "アカウントをクリックしてログインします", + "clickto": "ログインしたいアカウントをクリックして下さい", "needcreate": "ログインする前にアカウントを作成または保存する必要があります!", - "upload": "qortal バックアップをアップロードします", + "upload": "Qortal のバックアップをアップロードします", "howlogin": "どのようにログインしますか?", @@ -112,7 +112,7 @@ "seedphrase": "シードフレーズ", - "saved": "保存されたアカウント", + "saved": "保存したアカウント", "qora": "Qora アドレス シード", @@ -122,15 +122,15 @@ "save": "このブラウザに保存します。", - "prepare": "アカウントを準備しています", + "prepare": "アカウントを準備", - "areyousure": "保存されたウォレットからこのウォレットを削除してもよろしいですか?", + "areyousure": "保存されたウォレットからこのウォレットを削除しますか?", "error1": "バックアップは有効な JSON である必要があります", "error2": "ログイン オプションが選択されていません", - "createwelcome": "Qortal へようこそ。これは RPG ゲームに似ていることがわかります。Qortal ネットワークの鋳造業者として (なりたいと選択した場合) アカウントをレベルアップする機会があります。 これにより、より多くの QORT ブロック報酬が得られるだけでなく、プラットフォームの決定に対する投票という点でネットワークに対する大きな影響力も得られます。」", + "createwelcome": "Qortal へようこそ。Qortalは RPG ゲームに似ている事に気づくと思います。Qortal ネットワークのミンターとして (なりたいと選択した場合) アカウントをレベルアップすることが出来、QORT のブロック報酬をより多く得られるだけでなく、プラットフォームの決定に対する投票という点で、ネットワークに対してより大きな影響力を持つことができます。", "createa": "A", @@ -138,11 +138,11 @@ "confirmpass": "パスワードの確認", - "willbe": "バックグラウンドでランダムに生成されます。これは、Qortal のブロックチェーン アカウントの秘密キー ジェネレーターとして使用されます。", + "willbe": "はバックグラウンドでランダムに生成されます。これは、Qortal のブロックチェーン アカウントの秘密キー ジェネレーターとして使用されます。", "clicknext": "下の [次へ] をクリックして Qortal アカウントを作成します。", - "ready": "アカウントを作成する準備ができました。アカウントはこのブラウザに保存されます。新しいアカウントをブラウザに保存したくない場合は、下のボックスのチェックを外してください。引き続き、 アカウントを作成したらダウンロードする必要があるウォレットのバックアップ ファイルを使用して、(ログアウト後) 新しいアカウントでログインします。", + "ready": "アカウントを作成する準備ができました。アカウントはこのブラウザに保存されます。新しいアカウントをブラウザに保存したくない場合は、下のボックスのチェックを外してください。[必ず」新しいアカウントのウォレットのバックアップ ファイルをダウンロードして下さい。(ログアウト後) そのバックアップファイルが無いとログイン不可になります。", "welmessage": "Qortal へようこそ", @@ -150,13 +150,13 @@ "notmatch": "パスワードが一致しません!", - "lessthen8": "パスワードは 8 文字未満です。これはお勧めできません。この警告は無視して構いません。", + "lessthen8": "パスワードが 8 文字未満です。推奨できませんが警告は無視しても構いません。", - "lessthen8-2": "パスワードは 8 文字未満です!", + "lessthen8-2": "パスワードが 8 文字未満です!", "entername": "名前を入力してください!", - "downloaded": "ウォレットのバックアップ ファイルがダウンロードされました!", + "downloaded": "ウォレットのバックアップ ファイルをダウンロードしました!", "loading": "読み込み中です、お待ちください...", @@ -166,25 +166,25 @@ "savein": "ブラウザに保存", - "backup2": "このファイルは、アプリ/ブラウザーに保存されていないシステムでアカウントにアクセスする唯一の方法です。必ずこのファイルを複数の場所にバックアップしてください。ファイルは非常に安全に暗号化され、次の方法で復号化されます。 前の手順で作成したローカル パスワード。どこにでも安全に保存できますが、必ず複数の場所に保存してください。", + "backup2": "このファイルは、アプリ/ブラウザーに保存されていないシステムでアカウントにアクセスする唯一の方法です。必ずこのファイルを複数の場所にバックアップしてください。ファイルは非常に安全に暗号化され、前の手順で入力したローカル パスワードで復号化されます。どこにでも安全に保存できますが、必ず複数の場所に保存してください。", "savewallet": "ウォレットのバックアップ ファイルを保存", - "created1": "アカウントが作成されました", + "created1": "アカウントが作成され...", "created2": " このブラウザに保存されます。", "downloadbackup": "ウォレットのバックアップ ファイルをダウンロード", "passwordhint": "パスワードは 8 文字以上である必要があります。" - + }, "logout": { "logout": "ログアウト", - "confirmlogout": "ログアウトしてもよろしいですか?" + "confirmlogout": "ログアウトしますか?" }, @@ -192,17 +192,17 @@ "selectfile": "ファイルを選択", - "dragfile": "バックアップをここにドラッグ アンド ドロップします" + "dragfile": "バックアップをここにドラッグ アンド ドロップして下さい" }, "settings": { - "generalinfo": "一般的なアカウント情報", + "generalinfo": "アカウント情報", - "address": "住所", + "address": "アドレス", - "publickey": "公開キー", + "publickey": "公開鍵", "settings": "設定", @@ -212,9 +212,9 @@ "qr_login_menu_item": "QR ログイン", - "qr_login_description_1": "ログインしたときと同じパスワードを使用して、他のデバイスでウォレットのロックを解除するには、このコードをスキャンします。", + "qr_login_description_1": "このコードをスキャンしログインしたときと同じパスワードを使用して、他のデバイス上でこのウォレットのロックを解除出来ます。", - "qr_login_description_2": "QR コードをスキャンした後、他のデバイスでウォレットのロックを解除するために使用するパスワードを選択してください。", + "qr_login_description_2": "QR コードをスキャンした他のデバイスでこのウォレットのロックを解除するために使用するパスワードを入力してください。", "qr_login_button_1": "ログイン QR コードを表示", @@ -228,11 +228,11 @@ "download": "バックアップ ファイルをダウンロード", - "choose": "バックアップを暗号化するためのパスワードを選択してください。(ログインに使用したパスワードと同じでも、別のものでも構いません)", + "choose": "バックアップを暗号化するためのパスワードを入力してください。(ログインに使用したパスワードと同じでも、別のものでも構いません)", "block": "通知をブロックする (近日公開予定...)", - "playsound": "サウンドを再生", + "playsound": "音を鳴らす", "shownotifications": "通知を表示", @@ -258,15 +258,15 @@ "warning": "既存のノードは削除され、バックアップから新しいノードが作成されます。", - "snack1": "標準ノードが正常に削除および追加されました", + "snack1": "正常に全てのカスタムノードが削除されました", - "snack2": "UI がノードに接続されました", + "snack2": "UI が次のノードに接続しました", - "snack3": "カスタム ノードが正常に追加され、保存されました", + "snack3": "正常にカスタム ノードを追加・保存しました", - "snack4": "ノードが次の名前で正常に保存されました", + "snack4": "正常にノードを次のファイル名で保存しました", - "snack5": "ノードは正常にインポートされました", + "snack5": "正常にノードをインポートしました", "exp1": "秘密マスターキーをエクスポート", @@ -274,25 +274,25 @@ "exp3": "エクスポート", - "exp4": "プライベートマスターキーをバックアップするウォレットを選択してください。", + "exp4": "秘密マスターキーをバックアップするウォレットを選択してください。", - "core": "コア設定を開始" + "core": "Core設定を開始" }, "appinfo": { - "blockheight": "ブロックの高さ", + "blockheight": "ブロック高", "uiversion": "UI バージョン", - "coreversion": "コアバージョン", + "coreversion": "Coreバージョン", - "minting": "(鋳造)", + "minting": "(ミント)", "synchronizing": "同期中", - "peers": "接続されたピア" + "peers": "接続したピア" }, @@ -300,27 +300,27 @@ "minterlevel": "ミンターレベル", - "blocksminted": "ブロックが鋳造されました" + "blocksminted": "ミントしたブロック" }, "general": { - + "yes": "はい", "no": "いいえ", "confirm": "確認", - "decline": "辞退", + "decline": "拒否", "open": "開く", "close": "閉じる", - "back": "バックバック", + "back": "戻る", - "next": "次", + "next": "次へ", "create": "作成", @@ -328,7 +328,7 @@ "save": "保存", - "balance": "バランス", + "balance": "残高", "balances": "あなたのウォレット残高", @@ -342,59 +342,59 @@ "gchange1": "GIF エクスプローラー", - "gchange2": "コレクションを探索する", + "gchange2": "GIF集を検索", - "gchange3": "私のコレクション", + "gchange3": "私のGIF集", - "gchange4": "サブスクライブされたコレクション", + "gchange4": "登録したGIF集", - "gchange5": "GIF ファイルをアップロードします", + "gchange5": "GIF ファイルをアップロード", "gchange6": "ファイルは .Gif である必要があります", - "gchange7": "コレクションをアップロード", + "gchange7": "GIF集をアップロード", - "gchange8": "コレクション名が必要です!", + "gchange8": "GIF集に名前が必要です!", - "gchange9": "コレクション名", + "gchange9": "GIF集名", - "gchange10": "GIF コレクションが正常にアップロードされました!", + "gchange10": "正常にGIF集をアップロードしました!", - "gchange11": "GIF をアップロードしています。しばらくお待ちください...", + "gchange11": "GIF をアップロード。しばらくお待ちください...", - "gchange12": "問題が発生しました。タブを変更して戻ってみてください。", + "gchange12": "問題が発生しました。違うタブを押してまた戻ってみてください。", - "gchange13": "現在コレクションはありません。", + "gchange13": "現在GIF集がありません。", - "gchange14": "現在購読しているコレクションはありません。", + "gchange14": "現在登録しているGIF集がありません。", - "gchange15": "GIF の取得中にエラーが発生しました。再試行しています...", + "gchange15": "GIFの取得に失敗しました。再試行...", - "gchange16": "GIF の取得に失敗しました! 別のコレクションにアクセスして、もう一度お試しください!", + "gchange16": "GIF の取得に失敗しました! 別のGIF集にアクセスして、もう一度お試しください!", - "gchange17": "このコレクションを購読します", + "gchange17": "このGIF集を登録", - "gchange18": "コレクションを検索しています...", + "gchange18": "GIF集を検索...", - "gchange19": "コレクションが見つかりません!", + "gchange19": "GIF集が見つかりません!", - "gchange20": "コレクションに正常に登録されました!", + "gchange20": "正常にGIF集を登録しました!", - "gchange21": "コレクションの登録が正常に解除されました!", + "gchange21": "正常にGIF集の登録解除しました!", - "gchange22": "このコレクションの購読を解除します", + "gchange22": "このGIF集の購読を解除", - "gchange23": "GIF コレクションに同じ名前の 2 つの GIF を含めることはできません!", + "gchange23": "同じ名前のGIFをGIF集に入れられません!", - "gchange24": "このコレクション名はすでに使用されています。別の名前を試してください!", + "gchange24": "このGIF集名はすでに使用されています。別の名前を試してください!", "gchange25": "GIF (クリックして表示)", "gchange26": "GIF ファイルにアクセスして送信するには名前が必要です", - "gchange27": "GIF コレクションのサイズが 25MB を超えています! もう一度お試しください!", + "gchange27": "GIF集のサイズが 25MB を超えています! もう一度お試しください!", - "gchange28": "コレクション内の各 gif は 0.7mb を超えることはできません。もう一度お試しください。", + "gchange28": "GIF集内の各 gif は 0.7mb を超えることはできません。もう一度お試しください。", "gchange29": "ファイル名" @@ -410,65 +410,65 @@ "smchange4": "スポンサーシップ キーを作成できません", - "smchange5": "関係の作成", + "smchange5": "関係の構築開始", - "smchange6": "ブロックチェーンでの確認を待っています", + "smchange6": "ブロックチェーンの承認を待っています", - "smchange7": "関係を終わらせる", + "smchange7": "関係の構築終了", "smchange8": "ミントキーをノードに追加します", "smchange9": "完了", - "smchange10": "ノードごとに許可されるミント キーは 2 つだけです。3 つのキーを割り当てようとしています。管理 - ノード管理に移動して、このノードに割り当てたくないキーを削除してください。ありがとう!" + "smchange10": "ノードごとに許可されるミント キーは 2 つだけです。3 つ目のキーを割り当てようとしています。管理 - ノード管理に移動して、このノードに割り当てないキーを削除してください。" }, "mintingpage": { - "mchange1": "一般的な鋳造の詳細", + "mchange1": "ミントの詳細", "mchange2": "ブロックチェーン統計", - "mchange3": "平均四半期ブロック時間", + "mchange3": "1ブロックあたりの平均時間", - "mchange4": "1 日あたりの平均ブロック数", + "mchange4": "1日あたりの平均ブロック数", - "mchange5": "1 日あたりの平均作成 QORT", + "mchange5": "1日あたりの平均作成 QORT", "mchange6": "ミントアカウントの詳細", "mchange7": "ミンターではありません", - "mchange8": "ミント", + "mchange8": "ミント中", - "mchange9": "鋳造しない", + "mchange9": "ミント一時停止中", - "mchange10": "アカウントの詳細をアクティブ化", + "mchange10": "アカウントの詳細を有効化", - "mchange11": "アクティブ化されていません", + "mchange11": "有効化されていません", - "mchange12": "アカウントをアクティブ化します", + "mchange12": "アカウントを有効化", "mchange13": "はじめに", - "mchange14": "アカウントを有効にするには、OUTGOING トランザクションを実行する必要があります。名前の登録が最も一般的な方法です。アカウントを有効にするために、Q-Chat 内の誰かに少額の QORT を送ってもらうように依頼できます。 または、Trade Portal 内で QORT を購入してから、あらゆる種類の OUTGOING トランザクションを実行し、ブロックチェーン上で公開キーを保護します。これを行うまでは、公開キーは UI 内であなただけが知っており、他の誰もあなたの公開キーを取得することはできません チェーンからキーを外してください。", + "mchange14": "アカウントを有効にするには、OUTGOING トランザクションを実行する必要があります。名前の登録が最も一般的な方法です。アカウントを有効にするために、Q-Chat内で誰かに少額の QORT を送ってもらい名前を登録するか、取引所で少額のQORT を購入して何らかの OUTGOING トランザクションを実行し、ブロックチェーン上であなたの公開鍵を公開します。これを行うまでは、公開鍵は UI 内であなただけが知っており、他の誰もあなたの公開鍵をブロックチェーンから取得することはできません。", "mchange15": "現在のステータス", "mchange16": "現在のレベル", - "mchange17": "次のレベルへのブロック", + "mchange17": "次のレベルまでのブロック数", - "mchange18": "24 時間年中無休で鋳造し続けるとレベルに到達します", + "mchange18": "毎日24時間ミントし続けるとレベル", - "mchange19": "報酬情報の鋳造", + "mchange19": "ミント報酬情報", - "mchange20": "現在の層", + "mchange20": "現在のティア", "mchange21": "ティア内の合計ミンター数", - "mchange22": "ブロックごとの階層シェア", + "mchange22": "このティアが受取れるブロック報酬の割合", "mchange23": "ブロックごとの推定報酬", @@ -480,11 +480,11 @@ "mchange27": "レベル", - "mchange28": "階層", + "mchange28": "ティア", "mchange29": "日", - "mchange30": "ミンターズ", + "mchange30": "ミンター", "mchange31": "ヘルプを表示するには押してください", @@ -492,29 +492,28 @@ "mchange33": "はじめに", - "mchange34": "Qortal でミンターになり、ミンター レベルの上昇に応じて QORT 報酬を獲得し始めるには、まず「スポンサー」になる必要があります。Qortal のスポンサーとは、レベル 5 以上の他のミンター、または Qortal 創設者。スポンサーからスポンサー キーを取得し、そのキーを使用してレベル 1 に到達します。レベル 1 に到達すると、独自のミント キーを作成し、Qortal ブロックチェーンの安全確保に貢献して報酬を獲得できるようになります。 。」", + "mchange34": "Qortal でミンターになり、レベルに応じた QORT 報酬を獲得し始めるには、まず「スポンサー付き」になる必要があります。Qortal のスポンサーとは、レベル 5 以上の他のミンター、または Qortal 創設者です。スポンサーからスポンサー キーを取得し、そのキーを使用してレベル 1 を目指します。レベル 1 に到達すると、自分のミント キーを作成し、Qortal ブロックチェーンの安全確保に貢献して報酬を獲得できるようになります。」", "mchange35": "スポンサーシップ", - "mchange36": "スポンサーは「スポンサーシップ キー」を発行します。これを使用してノードに追加し、鋳造を開始します (レベル 1 に到達するまで報酬はありません)。レベル 1 に到達したら、独自のを作成/割り当てます。 「キーを鋳造して報酬を獲得し始めます。」", + "mchange36": "スポンサーに「スポンサーシップ キー」を発行して貰います。これをノードに追加し、ミントを開始します (レベル 1 に到達するまで報酬はありません)。レベル 1 に到達したら、自分のミントキーを作成し割り当てて報酬を獲得し始めます。」", - "mchange37": "スポンサーシップ キーを発行できる十分なレベルの Qortal の鋳造業者に連絡し、そのキーを取得してから、ここに戻ってキーを入力して鋳造の旅を始めてください。", - - "mchange38": "で" + "mchange37": "スポンサーシップ キーを発行できる十分なレベルの Qortal のミンターに連絡し、そのキーを取得し、ここに戻ってキーを入力してミントの旅を始めてください。", + "mchange38": "まで" }, "becomeMinterPage": { "bchange7": "スポンサーシップ キーを入力してください", - "bchange8": "ここにスポンサーからのキーを入力してください", + "bchange8": "ここにスポンサーから取得したキーを入力してください", "bchange10": "現在のスポンサーシップステータス", "bchange12": "スポンサー キーを使用したミント", - "bchange13": "スポンサー期間の残りのブロック", + "bchange13": "スポンサー付き期間の残りのブロック数", "bchange15": "スポンサー関係", @@ -522,15 +521,15 @@ "bchange17": "スポンサーシップ キーをコピー", - "bchange18": "鋳造を開始", + "bchange18": "ミントを開始", - "bchange19": "成功しました! 現在鋳造中です。" + "bchange19": "成功しました! 現在ミント中です。" }, "walletpage": { - "wchange1": "残高を取得しています ...", + "wchange1": "残高を取得 ...", "wchange2": "現在のウォレット", @@ -538,59 +537,59 @@ "wchange4": "アドレスをクリップボードにコピーしました", - "wchange5": "トランザクションの詳細", + "wchange5": "取引の詳細", - "wchange6": "トランザクションタイプ", + "wchange6": "取引の種類", - "wchange7": "アウト", + "wchange7": "出庫", - "wchange8": "で", + "wchange8": "入庫", - "wchange9": "送信者", + "wchange9": "送付者", - "wchange10": "受信者", + "wchange10": "受取人", "wchange11": "金額", - "wchange12": "取引手数料", + "wchange12": "手数料", "wchange13": "ブロック", - "wchange14": "時間", + "wchange14": "時期", "wchange15": "トランザクション署名", "wchange16": "トランザクション ハッシュ", - "wchange17": "送信", + "wchange17": "送付", - "wchange18": "送信元アドレス", + "wchange18": "出庫元アドレス", "wchange19": "利用可能な残高", - "wchange20": "宛先 (住所または名前)", + "wchange20": "送付先 (アドレスまたは名前)", - "wchange21": "現在の固定料金:", + "wchange21": "現在の手数料:", "wchange22": "ウォレット", - "wchange23": "宛先 (アドレス)", + "wchange23": "送付先 (アドレス)", - "wchange24": "バイトあたりの現在の料金", + "wchange24": "1バイトあたりの現在の手数料", - "wchange25": "手数料が低いと、トランザクションが遅くなったり、未確認のトランザクションが発生したりする可能性があります。", + "wchange25": "手数料が低いと、取引が遅れたり、未承認の取引が発生したりする可能性があります。", "wchange26": "資金が不足しています!", "wchange27": "金額が無効です!", - "wchange28": "受信機を空にすることはできません!", + "wchange28": "受取人を入力して下さい!", - "wchange29": "受信者が無効です!", + "wchange29": "受取人が無効です!", - "wchange30": "トランザクションは成功しました!", + "wchange30": "取引完了!", - "wchange31": "トランザクションが失敗しました!", + "wchange31": "取引失敗!", "wchange32": "QORT 残高の取得に失敗しました。もう一度お試しください!", @@ -600,27 +599,27 @@ "wchange35": "タイプ", - "wchange36": "料金", + "wchange36": "手数料", "wchange37": "合計金額", - "wchange38": "アドレスにはまだトランザクションがありません。", + "wchange38": "アドレスにはまだ取引がありません。", "wchange39": "アドレスをコピーできません。", - "wchange40": "支払い", + "wchange40": "支出", "wchange41": "ステータス", - "wchange42": "確認", + "wchange42": "承認", - "wchange43": "トランザクションは確認されるまで表示されません。しばらくお待ちください...", + "wchange43": "トランザクションは承認されるまで表示されません。しばらくお待ちください...", "wchange44": "もう一度試してください...", - "wchange45": "すべて送信", + "wchange45": "すべて送付", - "wchange46": "このアドレスに送信します", + "wchange46": "このアドレスに送付", "wchange47": "アドレス帳", @@ -628,11 +627,11 @@ "wchange49": "アドレス帳に追加", - "wchange50": "名前を空にすることはできません!", + "wchange50": "名前を入力して下さい!", - "wchange51": "アドレスを空にすることはできません!", + "wchange51": "アドレスを入力して下さい!", - "wchange52": "正常に追加されました!", + "wchange52": "追加しました!", "wchange53": "アドレス帳をインポート", @@ -652,19 +651,19 @@ "tradepage": { - "tchange1": "貿易ポータル", + "tchange1": "取引所", - "tchange2": "取引ペアの選択", + "tchange2": "取引ペア選択", - "tchange3": "歴史的な市場取引", + "tchange3": "取引履歴", "tchange4": "私の取引履歴", - "tchange5": "オープンマーケット売り注文", + "tchange5": "売り板情報", "tchange6": "私の注文", - "tchange7": "スタックしたオファー", + "tchange7": "通らなかったオファー", "tchange8": "金額", @@ -678,43 +677,43 @@ "tchange13": "販売者", - "tchange14": "それぞれの価格", + "tchange14": "単価", "tchange15": "フォームをクリア", - "tchange16": "持っています", + "tchange16": "所持数量:", "tchange17": "アクション", "tchange18": "購入", - "tchange19": "販売", + "tchange19": "売却", - "tchange20": "取引の作成に失敗しました。もう一度お試しください!", + "tchange20": "取引に失敗しました。もう一度お試しください!", - "tchange21": "取引の作成に失敗しました。エラー コード", + "tchange21": "取引に失敗しました。エラー コード", "tchange22": "資金が不足しています!", - "tchange23": "購入リクエストが成功しました!", + "tchange23": "購入リクエストを送信しました!", - "tchange24": "購入リクエストは存在します!", + "tchange24": "購入リクエストが既にあります!", - "tchange25": "取引の作成に失敗しました。エラー コード", + "tchange25": "取引に失敗しました。エラー コード", - "tchange26": "取引キャンセル中!", + "tchange26": "取引中止処理中!", - "tchange27": "取引のキャンセルに失敗しました。もう一度お試しください!", + "tchange27": "取引の中止に失敗しました。もう一度お試しください!", - "tchange28": "取引のキャンセルに失敗しました。エラー コード", + "tchange28": "取引の中止に失敗しました。エラー コード", - "tchange29": "キャンセル", + "tchange29": "中止", "tchange30": "残高の取得に失敗しました。もう一度お試しください!", - "tchange31": "販売済み", + "tchange31": "売却", - "tchange32": "購入しました", + "tchange32": "購入", "tchange33": "平均", @@ -722,9 +721,9 @@ "tchange35": "価格を 0 にすることはできません", - "tchange36": "自動購入を保留中", + "tchange36": "自動購入を処理中", - "tchange37": "自動買い注文が見つかりません!", + "tchange37": "自動購入注文が見つかりません!", "tchange38": "追加", @@ -732,21 +731,21 @@ "tchange40": "価格", - "tchange41": "自動購入注文が正常に削除されました!", + "tchange41": "正常に自動購入注文を削除しました!", - "tchange42": "市場公開売り注文", + "tchange42": "マーケット売り板情報", "tchange43": "私の購入履歴", - "tchange44": "自動購入注文が正常に追加されました!", + "tchange44": "正常に自動購入注文を追加しました!", "tchange45": "自動購入", "tchange46": "自動購入", - "tchange47": "この価格で販売します", + "tchange47": "この価格で売却します", - "tchange48": "不十分です", + "tchange48": "不足しています", "tchange49": "価格チャート" @@ -756,23 +755,23 @@ "rchange1": "報酬シェア", - "rchange2": "報酬シェアを作成する", + "rchange2": "報酬シェアを作成", - "rchange3": "このアカウントに関係する報酬シェア", + "rchange3": "このアカウントに関連する報酬シェア", "rchange4": "ミントアカウント", "rchange5": "シェアパーセント", - "rchange6": "受信者", + "rchange6": "受取人", "rchange7": "アクション", "rchange8": "タイプ", - "rchange9": "レベル 1 ~ 4 は自己シェアを作成でき、レベル 5 以上は報酬シェアを作成できます!", + "rchange9": "レベル 1 ~ 4 は自己シェアを、レベル 5 以上は報酬シェアを作成できます!", - "rchange10": "受信者の公開キー", + "rchange10": "受取人の公開鍵", "rchange11": "報酬シェア率", @@ -782,21 +781,21 @@ "rchange14": "追加", - "rchange15": "アカウントはいかなる報酬株式にも関与していません", + "rchange15": "アカウントはどの報酬シェアにも関連していません", - "rchange16": "自身の報酬シェア", + "rchange16": "自己シェア", "rchange17": "削除", "rchange18": "複数の報酬シェアを作成できません!", - "rchange19": "複数の自己共有を作成できません!", + "rchange19": "複数の自己シェアを作成できません!", - "rchange20": "レベルでは報酬シェアを作成できません!", + "rchange20": "このレベルでは報酬シェアを作成できません!レベル", - "rchange21": "報酬の共有が成功しました!", + "rchange21": "正常に報酬シェアしました!", - "rchange22": "報酬シェアは正常に削除されました!" + "rchange22": "正常に報酬シェアを削除しました!" }, @@ -804,7 +803,7 @@ "nchange1": "名前の登録", - "nchange2": "登録名", + "nchange2": "名前を登録", "nchange3": "登録名", @@ -820,55 +819,55 @@ "nchange9": "名前を登録してください!", - "nchange10": "説明 (オプション)", + "nchange10": "概要 (任意)", "nchange11": "おいしいことをしています", - "nchange12": "登録名", + "nchange12": "名前を登録中", - "nchange13": "現在の名前登録料金は", + "nchange13": "現在の名前登録料は", "nchange14": "登録", "nchange15": "アバターを設定", - "nchange16": "コアのアップデートが必要です", + "nchange16": "Coreのアップデートが必要です", "nchange17": "名前はすでに存在します!", - "nchange18": "名前の登録に成功しました!", + "nchange18": "正常に名前を登録しました!", - "nchange19": "販売名", + "nchange19": "名前を売却", - "nchange20": "販売をキャンセル", + "nchange20": "売却を中止", "nchange21": "名前を購入", - "nchange22": "ネームマーケット", + "nchange22": "名前マーケット", "nchange23": "売値", - "nchange24": "販売する名前はありません", + "nchange24": "売却する名前はありません", - "nchange25": "販売する名前", + "nchange25": "売却する名前", - "nchange26": "この名前を販売してもよろしいですか?", + "nchange26": "この名前を売却しますか?", - "nchange27": "QORT でこの価格", + "nchange27": "QORT建価格", - "nchange28": "確認を押すと、販売名リクエストが送信されます!", + "nchange28": "確認を押すと、名前の売却リクエストが送信されます!", - "nchange29": "キャンセルする名前", + "nchange29": "売却中止する名前", - "nchange30": "この名前の販売をキャンセルしてもよろしいですか?", + "nchange30": "この名前の売却を中止しますか?", - "nchange31": "確認を押すと、販売名のキャンセル要求が送信されます!", + "nchange31": "確認を押すと、名前の売却中止リクエストが送信されます!", - "nchange32": "名前販売リクエストが成功しました!", + "nchange32": "正常に名前の売却リクエストを送信しました!", - "nchange33": "販売名リクエストのキャンセルが成功しました!", + "nchange33": "正常に名前の売却リクエストを中止しました!", - "nchange34": "名前の購入リクエストが成功しました!", + "nchange34": "正常に名前の購入リクエストを送信しました!", "nchange35": "あなたには名前があります!", @@ -876,37 +875,37 @@ "nchange37": "注意!", - "nchange38": "この名前を購入するのに十分なクォルトがありません。", + "nchange38": "この名前を購入するのに十分なQORTがありません。", - "nchange39": "この名前を購入してもよろしいですか?", + "nchange39": "この名前を購入しますか?", - "nchange40": "確認を押すと、購入名のリクエストが送信されます!", + "nchange40": "確認を押すと、名前の購入リクエストが送信されます!", "nchange41": "古い名前", "nchange42": "新しい名前", - "nchange43": "この名前を変更してもよろしいですか?", + "nchange43": "この名前を", - "nchange44": "新しい名前に", + "nchange44": "新しい名前に変更しますか?", "nchange45": "確認を押すと、名前の更新リクエストが送信されます!", - "nchange46": "名前の販売履歴", + "nchange46": "名前の売却履歴", - "nchange47": "名前の更新に成功しました!" + "nchange47": "正常に名前を更新しました!" }, "websitespage": { - "schange1": "Web サイトを参照", + "schange1": "ウェブサイトを閲覧", - "schange2": "フォローしている Web サイト", + "schange2": "フォローしているウェブサイト", - "schange3": "ブロックされた Web サイト", + "schange3": "ブロックしたウェブサイト", - "schange4": "Web サイトを検索", + "schange4": "ウェブサイトを検索", "schange5": "アバター", @@ -918,33 +917,33 @@ "schange9": "ウェブサイト", - "schange10": "利用可能な Web サイトがありません", + "schange10": "閲覧可能なウェブサイトがありません", - "schange11": "フォローしている Web サイト", + "schange11": "フォローしているウェブサイト", - "schange12": "フォローしている Web サイト", + "schange12": "フォローしているウェブサイト", - "schange13": "フォローしている Web サイトがありません", + "schange13": "フォローしているウェブサイトがありません", - "schange14": "ブロックされた Web サイト", + "schange14": "ブロックしたウェブサイト", - "schange15": "ブロックされた Web サイト", + "schange15": "ブロックしたウェブサイト", - "schange16": "Web サイトをブロックしていません", + "schange16": "ウェブサイトをブロックしていません", "schange17": "名前が見つかりません!", - "schange18": "リレー モードが有効です。これは、ピアが要求したときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立つことを意味します。設定によってオプトアウトできます。", + "schange18": "リレー モードが有効です。これは、ピアがリクエストしたときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立っていることを意味します。オプトアウトするには", - "schange19": "で", + "schange19": "を右記のファイルに設定します", - "schange20": "リレー モードは無効になっています。設定によって有効にすることができます", + "schange20": "リレー モードは無効になっています。有効にするには", - "schange21": "Web サイトを公開", + "schange21": "ウェブサイトを公開", "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", + "schange23": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", @@ -966,7 +965,7 @@ "schange33": "検索する名前", - "schange34": "名前を空にすることはできません!", + "schange34": "名前を入力して下さい!", "schange35": "検索" @@ -974,13 +973,13 @@ "appspage": { - "schange1": "Q-Apps を参照", + "schange1": "Q-Appsを閲覧", "schange2": "Q-Appsをフォローしました", - "schange3": "ブロックされた Q-App", + "schange3": "ブロックした Q-Apps", - "schange4": "Q-Apps を検索", + "schange4": "Q-Appsを検索", "schange5": "アバター", @@ -992,33 +991,33 @@ "schange9": "Q-Apps", - "schange10": "利用可能な Q アプリはありません", + "schange10": "利用可能なQ-Appsはありません", - "schange11": "フォローしている Q-App", + "schange11": "フォローしているQ-Apps", "schange12": "Q-Appsをフォローしました", - "schange13": "どの Q-アプリもフォローしていません", + "schange13": "どのQ-Appsもフォローしていません", - "schange14": "ブロックされた Q-Apps", + "schange14": "ブロックしたQ-Apps", - "schange15": "ブロックされた Q-App", + "schange15": "ブロックしたQ-Apps", - "schange16": "Q-アプリをブロックしていません", + "schange16": "Q-Appsをブロックしていません", "schange17": "名前が見つかりません!", - "schange18": "リレー モードが有効です。これは、ピアが要求したときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立つことを意味します。設定によってオプトアウトできます。", + "schange18": "リレー モードが有効です。これは、ピアがリクエストしたときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立っていることを意味します。オプトアウトするには", - "schange19": "で", + "schange19": "を右記のファイルに設定して下さい。", - "schange20": "リレー モードは無効になっています。設定によって有効にすることができます", + "schange20": "リレー モードは無効になっています。有効にするには", - "schange21": "Q-App を公開", + "schange21": "Q-Appsを公開", "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", + "schange23": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", @@ -1040,13 +1039,13 @@ "schange33": "検索する名前", - "schange34": "名前を空にすることはできません!", + "schange34": "名前を入力して下さい!", "schange35": "検索", "schange36": "ダウンロード", - "schange37": "ダウンロード済み", + "schange37": "ダウンロード済", "schange38": "更新", @@ -1056,19 +1055,19 @@ "schange41": "ダウンロード中です。しばらくお待ちください...", - "schange42": "ダウンロードされたファイル" + "schange42": "ダウンロードしたファイル" }, "tubespage": { - "schange1": "Q-Tube を参照", + "schange1": "Q-Tubeを閲覧", - "schange2": "フォローした Q-Tube", + "schange2": "フォローしたQ-Tube", - "schange3": "ブロックされた Q-Tube", + "schange3": "ブロックしたQ-Tube", - "schange4": "Q-Tube を検索", + "schange4": "Q-Tubeを検索", "schange5": "カバー", @@ -1080,33 +1079,33 @@ "schange9": "Q-Tubes", - "schange10": "利用可能な Q チューブがありません", + "schange10": "閲覧可能な Q-Tubeがありません", - "schange11": "フォローしている Q-Tube", + "schange11": "フォローしたQ-Tube", - "schange12": "フォローした Q-Tube", + "schange12": "フォローしたQ-Tube", - "schange13": "どの Q-Tube もフォローしていません", + "schange13": "どの Q-Tubeもフォローしていません", - "schange14": "ブロックされた Q-Tube", + "schange14": "ブロックしたQ-Tube", - "schange15": "ブロックされた Q-Tube", + "schange15": "ブロックしたQ-Tube", - "schange16": "Q-tube をブロックしていません", + "schange16": "ブロックしたQ-Tubeがありません", "schange17": "名前が見つかりません!", - "schange18": "リレー モードが有効です。これは、ピアが要求したときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立つことを意味します。設定によってオプトアウトできます。", + "schange18": "リレー モードが有効です。これは、ピアがリクエストしたときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立っていることを意味します。オプトアウトするには", - "schange19": "で", + "schange19": "を右記のファイルに設定して下さい", - "schange20": "リレー モードは無効になっています。設定によって有効にすることができます", + "schange20": "リレー モードは無効になっています。有効にするには", "schange21": "ビデオを公開", "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", + "schange23": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", @@ -1128,13 +1127,13 @@ "schange33": "検索する名前", - "schange34": "名前を空にすることはできません!", + "schange34": "名前を入力して下さい!", "schange35": "検索", "schange36": "ダウンロード", - "schange37": "ダウンロード済み", + "schange37": "ダウンロード済", "schange38": "更新", @@ -1144,9 +1143,9 @@ "schange41": "ダウンロード中です。しばらくお待ちください...", - "schange42": "ダウンロードされたファイル", + "schange42": "ダウンロードしたファイル", - "schange43": "開いてお待ちください..." + "schange43": "開いています。しばらくお待ちください..." }, @@ -1162,7 +1161,7 @@ "pchange5": "タイトル", - "pchange6": "説明", + "pchange6": "概要", "pchange7": "カテゴリーを選択", @@ -1188,35 +1187,35 @@ "pchange18": "サービス名を入力してください", - "pchange19": "データを処理しています...これには時間がかかる場合があります...", + "pchange19": "データを処理...これには時間がかかる場合があります...", "pchange20": "エラー:", "pchange21": "データ公開時の内部サーバー エラー", - "pchange22": "プルーフ・オブ・ワークを計算しています...これには時間がかかる場合があります...", + "pchange22": "プルーフ・オブ・ワークを計算...これには時間がかかる場合があります...", - "pchange23": "トランザクションは成功しました!", + "pchange23": "正常にトランザクションが完了しました!", - "pchange24": "トランザクションに署名して処理できません", + "pchange24": "トランザクションの署名と処理ができませんでした", "pchange25": "ファイルを選択", - "pchange26": "データをアップロードしています...これには時間がかかる場合があります..." + "pchange26": "データをアップロード...これには時間がかかる場合があります..." }, "browserpage": { - "bchange1": "転送", + "bchange1": "次へ", "bchange2": "リロード", "bchange3": "リストに戻る", - "bchange4": "削除", + "bchange4": "ノードから", - "bchange5": "ノードから", + "bchange5": "を削除", "bchange6": "お使いのブラウザは iframe をサポートしていません", @@ -1226,45 +1225,45 @@ "bchange9": "ブロック", - "bchange10": "ブロックを解除する", + "bchange10": "ブロックを解除", "bchange11": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange12": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", + "bchange12": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", "bchange13": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", "bchange14": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange15": "フォローされている名前のデータは削除できません。まずフォローを解除してください。", + "bchange15": "フォローしている名前のデータは削除できません。まずフォローを解除してください。", "bchange16": "このリソースを削除しようとしたときにエラーが発生しました。もう一度お試しください。", "bchange17": "ユーザーはアカウント詳細の共有を拒否しました", - "bchange18": "認証を要求しました。認証しますか?", + "bchange18": "が認証を要求しました。許可しますか?", - "bchange19": "このアプリケーションに QDN への公開権限を与えますか?", + "bchange19": "このアプリケーションに QDN への公開を許可しますか?", - "bchange20": "ウォレット残高を取得する許可をこのアプリケーションに与えますか?", + "bchange20": "このアプリケーションにウォレット残高の取得を許可しますか?", "bchange21": "ウォレットの取得に失敗しました。もう一度お試しください。", - "bchange22": "このアプリケーションにチャット メッセージを送信する許可を与えますか?", + "bchange22": "このアプリケーションにチャットメッセージの送信を許可しますか?", "bchange23": "メッセージを送信しました!", - "bchange24": "これにより QORT アドレスが共有され、アカウントが とやり取りできるようになります。", + "bchange24": "これにより右記の機能とQORTアドレスが共有され、アカウントとやり取りします:", "bchange25": "機密データは共有されません。", - "bchange26": "常に自動的に認証する", + "bchange26": "常に自動的に認証", "bchange27": "拒否", "bchange28": "受け入れる", - "bchange29": "インスタント公開 (0.001 QORT 料金が必要)", + "bchange29": "インスタント公開 (手数料 0.001 QORTが必要)", "bchange30": "サービス", @@ -1276,29 +1275,29 @@ "bchange34": "ファイル名", - "bchange35": "このアプリケーションにコインを送信する許可を与えますか?", + "bchange35": "このアプリケーションにコイン送付を許可しますか?", - "bchange36": "Proof-of-Work を計算せずにインスタントを QDN に公開しますか?", + "bchange36": "プルーフ・オブ・ワークを計算せずにインスタントを QDN に公開しますか?", - "bchange37": "全画面表示にする", + "bchange37": "全画面で表示", "bchange38": "全画面表示を終了", - "bchange39": "リストの自動取得を常に許可します", + "bchange39": "常にリストの自動取得を許可します", "bchange40": "リスト", - "bchange41": "このアプリケーションにこのリストへのアクセス許可を与えますか?", + "bchange41": "このアプリケーションにこのリストへのアクセスを許可しますか?", "bchange42": "アイテム", - "bchange43": "このアプリケーションにこのリストに追加する権限を与えますか?", + "bchange43": "このアプリケーションにこのリストに追加する事を許可しますか?", - "bchange44": "このアプリケーションにこのリストから削除する権限を与えますか?", + "bchange44": "このアプリケーションにこのリストから削除する事を許可しますか?", "bchange45": "暗号化", - "bchange46": "このアプリケーションに次のファイルを保存する権限を与えますか?" + "bchange46": "このアプリケーションに次のファイルを保存する事を許可しますか?" }, @@ -1320,9 +1319,9 @@ "dchange8": "アクション", - "dchange9": "このノードによってホストされるデータ", + "dchange9": "このノードによってホストされたデータ", - "dchange10": "データ名を空にすることはできません!", + "dchange10": "データ名を入力して下さい!", "dchange11": "データが見つかりません!", @@ -1340,7 +1339,7 @@ "dchange18": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "dchange19": "この登録された名前のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", + "dchange19": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", "dchange20": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", @@ -1354,13 +1353,13 @@ "cchange2": "読み込み中...", - "cchange3": "ブロックされたユーザー", + "cchange3": "ブロックしたユーザー", "cchange4": "新しいメッセージ", "cchange5": "(クリックして下にスクロール)", - "cchange6": "プライベート メッセージを送信するためにチャットしたい人の名前またはアドレスを入力してください。本のアイコンをクリックすると、その人の名前を確認できます。", + "cchange6": "プライベート メッセージでチャットしたい人の名前またはアドレスを入力してください。本のアイコンをクリックすると、その人の名前を確認できます。", "cchange7": "ユーザー名 / アドレス", @@ -1368,7 +1367,7 @@ "cchange9": "送信", - "cchange10": "ブロックされたユーザーのリスト", + "cchange10": "ブロックしたユーザーのリスト", "cchange11": "名前", @@ -1376,11 +1375,11 @@ "cchange13": "アクション", - "cchange14": "このアカウントはユーザーをブロックしていません。", + "cchange14": "このアカウントはまだ誰もブロックしていません。", "cchange15": "名前が登録されていません", - "cchange16": "このユーザーのブロックが正常に解除されました。", + "cchange16": "正常にこのユーザーのブロックを解除しました。", "cchange17": "このユーザーのブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", @@ -1388,7 +1387,7 @@ "cchange19": "ユーザー名/アドレスが無効です。名前/アドレスを確認して再試行してください...", - "cchange20": "メッセージは正常に送信されました!", + "cchange20": "正常にメッセージを送信しました!", "cchange21": "送信に失敗しました。再試行してください...", @@ -1408,11 +1407,11 @@ "cchange29": "最大メッセージ サイズは 1000 バイトです", - "cchange30": "画像をアップロードしています。これには最大 1 分かかる場合があります。", + "cchange30": "画像をアップロード中。これには最大 1 分かかる場合があります。", - "cchange31": "画像を削除しています。これには最大 1 分かかる場合があります。", + "cchange31": "画像を削除中。これには最大 1 分かかる場合があります。", - "cchange33": "キャンセル", + "cchange33": "中止", "cchange34": "このチャット メッセージは古いメッセージ バージョンを使用しているため、この機能は使用できません。", @@ -1422,7 +1421,7 @@ "cchange37": "結果が見つかりませんでした", - "cchange38": "ユーザー認証済み", + "cchange38": "ユーザー認証済", "cchange39": "このユーザーはチェーン上に公開鍵を持っていないため、暗号化されたメッセージを送信できません。", @@ -1430,31 +1429,31 @@ "cchange41": "残高が 4 QORT 未満です", - "cchange42": "スパム対策の必要性から、残高が 4 QORT 未満のアカウントは、Q-Chat でメッセージを送信するのに時間がかかります。Q-Chat メッセージの送信速度をすぐに上げたい場合は、4 QORT 以上の残高を取得してください。 QORT をあなたのアドレスに送信します。これは、Trade Portal での取引、または QORT を提供する別の QORT 経由で行うことができます。アカウントに 4 QORT を超えると、Q-Chat メッセージは即座に送信され、このダイアログは表示されなくなります 表示。必要なスパム防止方法をご理解いただき、Qortal をお楽しみいただければ幸いです。」", + "cchange42": "スパム対策の必要性から、残高が 4 QORT 未満のアカウントは、Q-Chat でメッセージを送信するのに時間がかかります。Q-Chat メッセージの送信速度をすぐに上げたい場合は、Trade Portal で購入するか、他の Qortal ユーザーから QORT もらうなどしての残高を4 QORT 以上にしてください。残高が 4 QORT を超えると、Q-Chat メッセージは即座に送信され、このダイアログは表示されなくなります。必要なスパム防止対策をご理解いただき、Qortal をお楽しみいただければ幸いです。」", - "cchange43": "QORT を次の宛先に送信します", + "cchange43": "QORT で次のユーザーにチップを送る", "cchange44": "メッセージを送信", - "cchange45": "ヒントユーザー", + "cchange45": "ユーザーにチップを送る", - "cchange46": "チップ金額", + "cchange46": "チップの金額", "cchange47": "利用可能な残高", "cchange48": "QORT 残高の取得に失敗しました。もう一度お試しください!", - "cchange49": "現在の固定料金", + "cchange49": "現在の手数料", - "cchange50": "送信", + "cchange50": "送付", "cchange51": "資金が不足しています!", "cchange52": "金額が無効です!", - "cchange53": "レシーバーを空にすることはできません!", + "cchange53": "受取人を入力して下さい!", - "cchange54": "受信者が無効です!", + "cchange54": "受取人が無効です!", "cchange55": "トランザクションは成功しました!", @@ -1464,23 +1463,23 @@ "cchange58": "メッセージを送信", - "cchange59": "チップユーザー", + "cchange59": "このユーザーにチップを送る", - "cchange60": "グループの招待が保留中", + "cchange60": "グループに招待を処理中", "cchange61": "グループ招待の取得中にエラーが発生しました。もう一度お試しください。", "cchange62": "入力されたユーザー名とアドレスが間違っています。もう一度お試しください。", - "cchange63": "入力が有効になりました", + "cchange63": "入力で送信", - "cchange64": "無効と入力", + "cchange64": "入力で送信しない", - "cchange65": "受信者を入力してください", + "cchange65": "受取人を入力してください", - "cchange66": "返信済みメッセージを取得できません。メッセージが古すぎます。", + "cchange66": "返信済メッセージを取得できません。メッセージが古すぎます。", - "cchange68": "編集済み", + "cchange68": "編集済", "cchange69": "画像の自動表示", @@ -1492,17 +1491,17 @@ "cchange73": "s", - "cchange74": "反応しました", + "cchange74": "リアクション", - "cchange75": "添付ファイルをアップロードしています。これには最大 1 分かかる場合があります。", + "cchange75": "添付ファイルをアップロード中。これには最大 1 分かかる場合があります。", - "cchange76": "添付ファイルを削除しています。これには最大 1 分かかる場合があります。", + "cchange76": "添付ファイルを削除中。これには最大 1 分かかる場合があります。", "cchange77": "添付ファイルのサイズが 1 MB を超えています", - "cchange78": "この画像を削除してもよろしいですか?", + "cchange78": "この画像を削除しますか?", - "cchange79": "この添付ファイルを削除してもよろしいですか?", + "cchange79": "この添付ファイルを削除しますか?", "cchange80": "この画像は削除されました", @@ -1510,7 +1509,7 @@ "cchange82": "この添付ファイルは削除されました", - "cchange90": "メッセージはありません" + "cchange90": "メッセージがありません" }, @@ -1520,9 +1519,9 @@ "wcchange2": "新しいプライベート メッセージ", - "wcchange3": "プライベート メッセージを送信するためにチャットしたい人の名前またはアドレスを入力してください!", + "wcchange3": "プライベート メッセージでチャットしたい人の名前またはアドレスを入力してください!", - "wcchange4": "名前/住所", + "wcchange4": "名前/アドレス", "wcchange5": "メッセージ...", @@ -1530,7 +1529,7 @@ "wcchange7": "名前/アドレスが無効です。名前/アドレスを確認して再試行してください...", - "wcchange8": "メッセージは正常に送信されました!", + "wcchange8": "正常にメッセージを送信!", "wcchange9": "送信に失敗しました。再試行してください..." @@ -1540,7 +1539,7 @@ "bcchange1": "ユーザーをブロック", - "bcchange2": "このユーザーは正常にブロックされました!", + "bcchange2": "正常にこのユーザーをブロックしました!", "bcchange3": "このユーザーをブロックしようとしたときにエラーが発生しました。もう一度お試しください。", @@ -1548,7 +1547,7 @@ "bcchange5": "ユーザーリクエストをブロック", - "bcchange6": "このユーザーをブロックしてもよろしいですか?", + "bcchange6": "このユーザーをブロックしますか?", "bcchange7": "メニュー", @@ -1562,17 +1561,17 @@ "bcchange12": "編集", - "bcchange13": "反応", + "bcchange13": "リアクション", "bcchange14": "転送", - "bcchange15": "メッセージが転送されました", + "bcchange15": "メッセージを転送しました", - "bcchange16": "受信者を選択するか、以下で受信者を検索します", + "bcchange16": "受取人を選択するか、以下で受取人を検索します", "bcchange17": "転送されました", - "bcchange18": "ユーザーにチップを送信" + "bcchange18": "ユーザーにチップを送る" }, @@ -1586,7 +1585,7 @@ "gchange4": "グループ名", - "gchange5": "説明", + "gchange5": "概要", "gchange6": "役割", @@ -1594,23 +1593,23 @@ "gchange8": "どのグループのメンバーでもありません!", - "gchange9": "パブリック グループ", + "gchange9": "公開 グループ", "gchange10": "所有者", - "gchange11": "利用可能な公開パブリック グループがありません!", + "gchange11": "利用可能な公開グループがありません!", "gchange12": "新しいグループを作成", "gchange13": "グループタイプ", - "gchange14": "このフィールドは必須です", + "gchange14": "この欄は必須です", "gchange15": "オプションを選択してください", - "gchange16": "パブリック", + "gchange16": "公開", - "gchange17": "プライベート", + "gchange17": "非公開", "gchange18": "グループ承認のしきい値 (トランザクションを承認する必要がある管理者の数 / 割合):", @@ -1646,11 +1645,11 @@ "gchange34": "グループに参加", - "gchange35": "グループ脱退リクエスト", + "gchange35": "退会リクエスト", - "gchange36": "退出", + "gchange36": "退会中", - "gchange37": "グループから脱退", + "gchange37": "グループから退会", "gchange38": "グループ所有者の管理:", @@ -1658,25 +1657,25 @@ "gchange40": "グループの管理", - "gchange41": "グループの作成に成功しました!", + "gchange41": "正常にグループを作成しました!", "gchange42": "無効なグループ名", - "gchange43": "グループの説明が無効です", + "gchange43": "グループの概要が無効です", - "gchange44": "グループの種類を選択します", + "gchange44": "グループの種類を選択して下さい", - "gchange45": "グループ承認のしきい値を選択します", + "gchange45": "グループ承認のしきい値を選択して下さい", - "gchange46": "グループ トランザクション承認の最小ブロック遅延を選択します", + "gchange46": "グループ トランザクション承認の最小ブロック遅延を選択して下さい", - "gchange47": "グループ トランザクション承認の最大ブロック遅延を選択します", + "gchange47": "グループ トランザクション承認の最大ブロック遅延を選択して下さい", - "gchange48": "グループへの参加リクエストが正常に送信されました!", + "gchange48": "正常にグループへの参加リクエストを送信しました!", - "gchange49": "グループ脱退要求が正常に送信されました!", + "gchange49": "正常に退会リクエストを送信しました!", - "gchange50": "離れる", + "gchange50": "退会", "gchange51": "参加", @@ -1686,13 +1685,13 @@ "gchange54": "メンバー", - "gchange55": "プライベートグループを検索", + "gchange55": "非公開グループを検索", "gchange56": "検索するグループ名", - "gchange57": "プライベート グループ名が見つかりません", + "gchange57": "非公開 グループ名が見つかりません", - "gchange58": "グループ名は完全に一致する必要があることに注意してください。", + "gchange58": "グループ名は完全に一致する必要があります", "gchange59": "ティッカーの表示/非表示" @@ -1704,11 +1703,11 @@ "pchange2": "報酬", - "pchange3": "解決済み", + "pchange3": "解いたユーザー", "pchange4": "名前", - "pchange5": "説明", + "pchange5": "お題", "pchange6": "手がかり/答え", @@ -1716,23 +1715,23 @@ "pchange8": "推測", - "pchange9": "このパズルを解くための推測を入力すると勝ちます", + "pchange9": "答えを入力して下さい", - "pchange10": "推測は 43 文字または 44 文字である必要があります。", + "pchange10": "答えは 43 文字または 44 文字である必要があります。", - "pchange11": "そうではありません", + "pchange11": "✗", - "pchange12": "0 (ゼロ)、I (上の i)、O (上の o) または l (下の L) を含みます。", + "pchange12": "0 (ゼロ)、I (大文字の i)、O (大文字のo) または l (小文字のL) を含みます。", - "pchange13": "あなたの推測", + "pchange13": "あなたの答え", - "pchange14": "推測を確認しています...", + "pchange14": "答えを確認中...", "pchange15": "送信", - "pchange16": "推測は間違っています!", + "pchange16": "不正解!", - "pchange17": "報酬請求が送信されました - ウォレットに報酬がないか確認してください!" + "pchange17": "報酬請求を送信しました - ウォレットに報酬が入庫されているか確認してください!" }, @@ -1746,7 +1745,7 @@ "nchange4": "ミントアカウントを追加", - "nchange5": "自分のアカウントでミントを作成したい場合は、自分自身に対するリワードシェア トランザクションを作成する必要があります (リワードシェア パーセントを 0 に設定)。その後、それが提供するリワードシェア キーを使ってミントを作成します。", + "nchange5": "自分のアカウントでミントを作成したい場合は、自分自身に対するリワードシェア トランザクションを作成する必要があります (リワードシェア パーセントは 0 に設定)。その後、生成されたリワードシェア キーを使ってミントします。", "nchange6": "報酬シェアキー", @@ -1756,7 +1755,7 @@ "nchange9": "ミントアカウント", - "nchange10": "受信者のアカウント", + "nchange10": "受取人のアカウント", "nchange11": "アクション", @@ -1768,17 +1767,17 @@ "nchange15": "ピアを追加", - "nchange16": "追加するピアのアドレスを以下に入力します", + "nchange16": "追加したいピアのアドレスを以下に入力して下さい", - "nchange17": "ピアアドレス", + "nchange17": "ピアのアドレス", "nchange18": "アドレス", - "nchange19": "最後の高さ", + "nchange19": "最終ブロック高", "nchange20": "ビルドバージョン", - "nchange21": "接続先", + "nchange21": "接続時間", "nchange22": "アクション", @@ -1786,21 +1785,21 @@ "nchange24": "ノードには接続されたピアがありません", - "nchange25": "ピアとの同期を開始しています: ", + "nchange25": "ピアとの同期を開始中: ", - "nchange26": "ピアが正常に削除されました: ", + "nchange26": "正常に次のピアを解除しました: ", - "nchange27": "ミントノードが正常に追加されました!", + "nchange27": "正常にミントノードを追加しました!", "nchange28": "ミント ノードの追加に失敗しました!", - "nchange29": "ミントアカウントが正常に削除されました!", + "nchange29": "正常にミントアカウントを削除しました!", "nchange30": "ミントアカウントの削除に失敗しました!", "nchange31": "ノードを停止", - "nchange32": "停止リクエストが正常に送信されました!" + "nchange32": "正常に停止リクエストを送信しました!" }, @@ -1812,7 +1811,7 @@ "tchange3": "確認", - "tchange4": "宛先", + "tchange4": "送付先", "tchange5": "金額" @@ -1824,15 +1823,15 @@ "achange2": "API キー", - "achange3": "このノードの API キーを入力してください。このキーは、コアがインストールされているディレクトリの「apikey.txt」というファイルにあります。または、[キャンセル] をクリックして、機能が制限されたコアを使用します。", + "achange3": "このノードの API キーを入力してください。このキーは、Coreがインストールされているディレクトリの「apikey.txt」というファイルにあります。または、[中止] をクリックして、機能が制限されたCoreを使用します。", - "achange4": "キャンセル", + "achange4": "中止", "achange5": "追加", - "achange6": "API キーが正常に追加されました", + "achange6": "正常にAPI キーを追加しました", - "achange7": "API キーが間違っています。API キーが追加されていません" + "achange7": "API キーが間違っています。API キーは追加されませんでした" }, @@ -1840,35 +1839,35 @@ "amount": "金額", - "to": "へ", + "to": "送付先", - "declined": "ユーザーは取引を拒否しました!", + "declined": "ユーザーはトランザクションを拒否しました!", - "namedialog1": "以下の名前を登録しています:", + "namedialog1": "以下の名前を登録中:", "namedialog2": "確認を押すと名前が登録されます!", - "groupdialog1": "以下のグループへの参加をリクエストしています:", + "groupdialog1": "以下のグループへの参加をリクエスト中:", "groupdialog2": "確認を押すと、グループ参加リクエストが送信されます!", - "groupdialog3": "以下のグループからの退会をリクエストしています:", + "groupdialog3": "以下のグループからの退会をリクエスト中:", - "groupdialog4": "確認を押すと、グループ脱退リクエストが送信されます!", + "groupdialog4": "確認を押すと、退会リクエストが送信されます!", - "groupdialog5": "以下のグループの作成をリクエストしています:", + "groupdialog5": "以下のグループ作成をリクエスト中:", "groupdialog6": "確認を押すと、グループ作成リクエストが送信されます!", - "rewarddialog1": "報酬シェアトランザクションを作成しますか、共有します", + "rewarddialog1": "報酬シェアトランザクションを作成:", - "rewarddialog2": "あなたの鋳造報酬の", + "rewarddialog2": "のミント報酬を次のユーザーとシェア", "rewarddialog3": "はいの場合、ミントを作成するには以下のキーを保存する必要があります。キーは任意のノードに提供して、ユーザーに代わってミントを行うことができます。", "rewarddialog4": "確認を押すと報酬シェアが作成されますが、アカウントでミントするためには上記のキーをノードに提供する必要があります。", - "rewarddialog5": "アカウントに関連付けられた報酬シェア トランザクションを削除しています:", + "rewarddialog5": "次のアカウントに関連付けられた報酬シェア トランザクションを削除します:", "rewarddialog6": "確認を押すと、報酬シェアが削除され、ミントキーが無効になります。" @@ -1882,9 +1881,9 @@ "schange3": "アクティブなスポンサーシップの合計", - "schange4": "次のスポンサーシップは次で終了します", + "schange4": "次のスポンサーシップが終了するまで", - "schange5": "スポンサー New Minter", + "schange5": "新しいミンターのスポンサーになる", "schange6": "終了したスポンサーシップ", @@ -1892,9 +1891,9 @@ "schange8": "アドレス", - "schange9": "現在アクティブなスポンサーシップはありません", + "schange9": "現在アクティブなスポンサーシップがありません", - "schange10": "公開キーの検索", + "schange10": "公開鍵の検索", "schange11": "コピー", @@ -1902,19 +1901,19 @@ "schange13": "アドレスを入力してください", - "schange14": "進行中", + "schange14": "処理中", - "schange15": "仕上げ中", + "schange15": "仕上中", - "schange16": "以下のキーをコピーし、スポンサーと共有してください。", + "schange16": "以下のキーをコピーし、スポンサー付きと共有してください。", - "schange17": "クリップボードにコピーされました", + "schange17": "クリップボードにコピーしました", "schange18": "警告: 完了するまで、このプラグインを終了したり、Qortal UI を閉じたりしないでください。", "schange19": "スポンサーシップ キーをコピー", - "schange20": "関係の作成", + "schange20": "関係の構築中", "schange21": "スポンサーシップ キーを削除" @@ -1922,45 +1921,45 @@ "explorerpage": { - "exp1": "検索する住所または名前", + "exp1": "検索するアドレスまたは名前", "exp2": "アカウント残高", "exp3": "詳細情報", - "exp4": "住所または名前が見つかりません!", + "exp4": "アドレスまたは名前が見つかりません!", - "exp5": "登録名では大文字と小文字が区別されることに注意してください。", + "exp5": "登録名は大文字と小文字を区別します。", "exp6": "創設者", "exp7": "情報", - "exp8": "すべての買い取引を表示", + "exp8": "すべての購入取引を表示", - "exp9": "すべての売り取引を表示", + "exp9": "すべての売却取引を表示", "exp10": "購入履歴", - "exp11": "販売履歴", + "exp11": "売却履歴", "exp12": "まだ購入取引は行われていません。", - "exp13": "まだ売り取引は行われていません。", + "exp13": "まだ売却取引は行われていません。", - "exp14": "完全な情報を表示", + "exp14": "全て表示", - "exp15": "鋳造以来", + "exp15": "ミント開始日", - "exp16": "鋳造しない", + "exp16": "ミント一時停止中", - "exp17": "すべての支払い", + "exp17": "すべての支出", - "exp18": "支払い", + "exp18": "支出", - "exp19": "送信済み", + "exp19": "送付済", - "exp20": "受信しました", + "exp20": "受取済", "exp21": "取引" @@ -1974,11 +1973,11 @@ "mg3": "グループ管理者", - "mg4": "アップデートグループ", + "mg4": "グループを更新", "mg5": "グループの管理を閉じる", - "mg6": "禁止", + "mg6": "バン", "mg7": "キック", @@ -1986,85 +1985,85 @@ "mg9": "参加しました", - "mg10": "グループ管理者の追加", + "mg10": "グループ管理者を追加", - "mg11": "このメンバーを管理者に追加してもよろしいですか?", + "mg11": "このメンバーを管理者に追加しますか?", - "mg12": "確認を押すと、管理者の追加リクエストが送信されます!", + "mg12": "確認を押すと、管理者に追加リクエストが送信されます!", "mg13": "グループ管理者の削除", "mg14": "管理者アドレスを削除", - "mg15": "このメンバーを管理者から削除してもよろしいですか?", + "mg15": "このメンバーを管理者から削除しますか?", "mg16": "確認を押すと、管理者の削除リクエストが送信されます!", - "mg17": "メンバーをグループから追放", + "mg17": "メンバーをグループからバン", "mg18": "メンバー名", "mg19": "メンバーアドレス", - "mg20": "禁止期間", + "mg20": "バン期間", - "mg21": "禁止の理由", + "mg21": "バン理由", - "mg22": "このメンバーをグループから禁止してもよろしいですか?", + "mg22": "このメンバーをグループからバンにしますか?", - "mg23": "確認を押すと、禁止リクエストが送信されます!", + "mg23": "確認を押すと、バンリクエストが送信されます!", - "mg24": "永遠に", + "mg24": "永久に", - "mg25": "禁止されたメンバー", + "mg25": "バンされたメンバー", - "mg26": "禁止をキャンセル", + "mg26": "バンを中止", - "mg27": "禁止期限切れ", + "mg27": "バン期限", - "mg28": "グループからのメンバーの禁止をキャンセル", + "mg28": "グループからのメンバーのバンを中止", - "mg29": "このメンバーのグループからの禁止を解除してもよろしいですか?", + "mg29": "このメンバーをグループからのバンを中止しますか?", - "mg30": "確認を押すと、キャンセル禁止リクエストが送信されます!", + "mg30": "確認を押すと、バン中止のリクエストが送信されます!", "mg31": "グループからメンバーをキック", "mg32": "キックの理由", - "mg33": "このメンバーをグループから除外してもよろしいですか?", + "mg33": "このメンバーをグループからキックしますか?", - "mg34": "確認を押すと、キック要求が送信されます!", + "mg34": "確認を押すと、キックのリクエストが送信されます!", - "mg35": "開いているグループへの招待はありません", + "mg35": "未返答のグループ招待状はありません", - "mg36": "あなたのオープングループを招待します", + "mg36": "未返答のあなた宛のグループ招待状", - "mg37": "招待する住所または名前", + "mg37": "招待するアドレスまたは名前", "mg38": "招待の有効期限", - "mg39": "すべてのフィールドは必須です", + "mg39": "すべての欄は必須です", - "mg40": "このメンバーをグループに招待してもよろしいですか?", + "mg40": "このメンバーをグループに招待しますか?", - "mg41": "確認を押すと、招待リクエストが送信されます!", + "mg41": "確認を押すと、招待のリクエストが送信されます!", "mg42": "グループタイプ", "mg43": "招待の有効期限", - "mg44": "パブリックグループ", + "mg44": "公開グループ", - "mg45": "プライベートグループ", + "mg45": "非公開グループ", - "mg46": "招待をキャンセル", + "mg46": "招待を中止", - "mg47": "グループへの招待をキャンセル", + "mg47": "グループへの招待を中止", - "mg48": "このメンバーの招待をキャンセルしてもよろしいですか?", + "mg48": "このメンバーの招待を中止しますか?", - "mg49": "確認を押すと、招待キャンセルのリクエストが送信されます!", + "mg49": "確認を押すと、招待中止のリクエストが送信されます!", "mg50": "近日公開予定...", @@ -2072,57 +2071,57 @@ "mg52": "最大 128 文字", - "mg53": "オープンな参加リクエスト", + "mg53": "未返答のあなた宛の参加リクエスト", - "mg54": "オープンな参加リクエストはありません", + "mg54": "未返答の参加リクエストはありません", - "mg55": "このメンバーからの参加リクエストを承認してもよろしいですか?", + "mg55": "このメンバーからの参加リクエストを承認しますか?", "mg56": "確認を押すと、参加承認リクエストが送信されます!", - "mg57": "参加リクエストは正常に受け入れられました", + "mg57": "正常に参加リクエストが受け入れられました", "mg58": "何か問題が発生しました", - "mg59": "参加キャンセル要求が正常に受け入れられました", + "mg59": "正常に参加中止リクエストが受け入れられました", - "mg60": "このメンバーからの参加リクエストをキャンセルしてもよろしいですか?", + "mg60": "このメンバーからの参加リクエストを中止しますか?", - "mg61": "確認を押すと、参加キャンセル要求が送信されます。" + "mg61": "確認を押すと、参加中止のリクエストが送信されます。" }, "info": { - "inf1": "貿易ポータル情報", + "inf1": "取引所情報", - "inf2": "貿易ポータル情報を閉じる", + "inf2": "取引所情報を閉じる", - "inf3": "これは QORT を購入するための市場です", + "inf3": "QORTを次の通貨で購入するための取引所です", - "inf4": "- 「公開市場の売り」は QORT 売り注文です。", + "inf4": "- 「売り板情報」は QORTの売り注文です。", - "inf5": "一度に購入できる注文は 1 つだけです。購入したい注文をクリックするだけです。", + "inf5": "一度に購入できる注文は 1 つだけです。購入したい注文をクリックして", - "inf6": "[QORT を購入] ボックスに詳細が入力され、[購入] をクリックします。", + "inf6": "[QORTを購入] の入力欄に反映させ、最後に[購入] をクリックします。", "inf7": "自動購入情報", "inf8": "自動購入情報を閉じる", - "inf9": "「自動購入」は、貿易ポータルで「買い注文」を発注できるようにする機能です。これらの「買い注文」は、発注者のみが表示されます。これらは、 「公開市場での販売」は Qortal ブロックチェーンに保存されており、保存されていません。自動購入は UI 機能であるため、UI が実行中であることが必要です。", + "inf9": "「自動購入」は、取引所で「購入注文」を発注できるようにする機能です。これらの「購入注文」は、発注者のみに表示され、売り板情報みたいに公開されておらずQortalブロックチェーンにも保存されません。自動購入は UI機能であるため、UIが実行中である必要があります。", - "inf10": "自動購入注文を行うには、[自動購入注文を追加] ボタンをクリックし、表示されるボックスに記入します。購入したい QORT の金額と、最大購入価格を入力します。1 回 注文はアクティブです。自動購入は、設定した価格まで、その量の QORT まで購入します (最低注文から開始して、書籍を増やしていきます)。」", + "inf10": "自動購入注文を行うには、[自動購入注文を追加] ボタンをクリックし、表示されるボックスに入力します。購入したい QORT の金額と、最大購入価格を入力します。一度注文がアクティブになると自動購入は、設定した価格まで、設定した量の QORT を購入します (最低注文価格から始めて設定した価格まで上げていきます)。", - "inf11": "UI を実行したままにしておくと、自動購入が残りの作業を自動的に実行します!", + "inf11": "UIを実行したままにしておくと、自動購入が残りの作業を自動的に実行します!", - "inf12": "UI で他のプラグイン (Q-Chat、ウォレットなど) を参照することはできますが、自動購入を完了したい場合は UI を閉じることはできません。UI を「タスクバー」上で「最小化」したままにするか、 「パネル」は、UI が開いたままである限り、自動購入が機能するので問題ありません。", + "inf12": "UIで他のプラグイン(Q-Chat、ウォレットなど)を参照することはできますが、自動購入を完了させたい場合はUIを閉じないで下さい。UIを「タスクバー」か「パネル」上で「最小化」したままにするかUIを開いたままにしてあれば、自動購入が機能します。", - "inf13": "自動的に購入", + "inf13": "自動購入:", - "inf14": "付き", + "inf14": "を右記の通貨で", - "inf15": "アクティブな自動車購入注文", + "inf15": "アクティブな自動購入注文", "inf16": "自動購入" diff --git a/locales/jp.json b/locales/jp.json index 526fd955..dfd09ca2 100644 --- a/locales/jp.json +++ b/locales/jp.json @@ -8,65 +8,65 @@ "electron_translate_3": "アップデートが利用可能", - "electron_translate_4": "Qortal UI の新しいバージョンが利用可能です。ダウンロードしますか?", + "electron_translate_4": "新しいバージョンのQortal UIが利用可能です。ダウンロードしますか?", "electron_translate_5": "今すぐインストール", - "electron_translate_6": "後になるかもしれません", + "electron_translate_6": "後で", "electron_translate_7": "アップデートをインストールする準備ができました", - "electron_translate_8": "新しい Qortal UI バージョンがダウンロードされました。", + "electron_translate_8": "新しいバージョンのQortal UIをダウンロードしました。", - "electron_translate_9": "今すぐインストールをクリックして更新を適用します。UI を更新しない場合は後で行うかもしれません。", + "electron_translate_9": "更新を適用する場合は[今すぐインストール]を、UI を更新しない場合は[後で]をクリックして下さい。", - "electron_translate_10": "一時的な更新に失敗しました。後でもう一度試します", + "electron_translate_10": "更新に失敗しました。後で再試行します", - "electron_translate_11": "ダウンロード更新", + "electron_translate_11": "更新をダウンロード", - "electron_translate_12": "バックグラウンドで ⌛️ がダウンロードされます!", + "electron_translate_12": "バックグラウンドでダウンロードされます!⌛️", - "electron_translate_13": "QORTAL CORE を開始", + "electron_translate_13": "QORTAL COREを開始", - "electron_translate_14": "いいえ、ありがとう", + "electron_translate_14": "開始しない", - "electron_translate_15": "Qortal Core はこのシステムでは実行されていません", + "electron_translate_15": "Qortal Coreはこのシステムでは実行されていません", - "electron_translate_16": "Qortal UI は、Qortal Core がこのシステムで実行されていないことを検出しました", + "electron_translate_16": "Qortal UIは、Qortal Coreがこのシステムで実行されていないことを検出しました", - "electron_translate_17": "このシステム上で Qortal Core を開始するには START QORTAL CORE をクリックするか、このシステムでの開始をスキップするには NO THANKS をクリックしてください", + "electron_translate_17": "このシステム上でQortal Coreを開始するには[QORTAL COREを開始]を、開始をスキップするには[開始しない]をクリックしてください", - "electron_translate_18": "QORTAL コアをダウンロード", + "electron_translate_18": "QORTAL COREをダウンロード", - "electron_translate_19": "いいえ、ありがとう", + "electron_translate_19": "ダウンロードしない", - "electron_translate_20": "Qortal コアが検出されませんでした", + "electron_translate_20": "Qortal Coreが検出されませんでした", - "electron_translate_21": "Qortal UI は、Qortal Core がこのシステムに (デフォルトの場所に) インストールされていないことを検出しました。", + "electron_translate_21": "Qortal UIは、Qortal Coreがこのシステムの(デフォルトの場所に)インストールされていないことを検出しました。", - "electron_translate_22": "「QORTAL CORE をダウンロード」をクリックしてコアをダウンロードして (デフォルトの場所に) インストールするか、「いいえ」をクリックしてダウンロードとインストールをスキップします。", + "electron_translate_22": "Coreをダウンロードして(デフォルトの場所に)インストールする場合は[QORTAL COREをダウンロード]を、スキップする場合は[ダウンロードしない]をクリックして下さい。", - "electron_translate_23": "JAVA をダウンロード", + "electron_translate_23": "JAVAをダウンロード", - "electron_translate_24": "いいえ、ありがとう", + "electron_translate_24": "ダウンロードしない", - "electron_translate_25": "Java がインストールされていません。", + "electron_translate_25": "Javaがインストールされていません。", - "electron_translate_26": "Qortal UI は、Java がシステムにインストールされていないことを検出しました。", + "electron_translate_26": "Qortal UIは、Javaがシステムにインストールされていないことを検出しました。", - "electron_translate_27": "Java をダウンロードしてインストールするには [JAVA をダウンロード] をクリックし、ダウンロードしてインストールしない場合は [いいえ] をクリックします。", + "electron_translate_27": "Javaをダウンロードしてインストールするには[JAVAをダウンロード]を、しない場合は[いいえ]をクリックして下さい。", - "electron_translate_28": "二度と質問しないでください", + "electron_translate_28": "二度と表示しない", "electron_translate_29": "設定を変更", - "electron_translate_30": "キャンセル", + "electron_translate_30": "中止", - "electron_translate_31": "コア設定を開始", + "electron_translate_31": "Core設定を開始", - "electron_translate_32": "コアが実行されていない場合にコアの開始を求める現在のステータスを変更します", + "electron_translate_32": "Coreが実行されていない場合にCoreの開始を求める現在のステータスを変更します", - "electron_translate_33": "(「二度と質問しない」チェックボックスをオンまたはオフにします)", + "electron_translate_33": "(「二度と表示しない」チェックボックスをオンまたはオフにします)", "electron_translate_34": "設定" From 386bcba25e6cc1514782b30d6738daeea1e71013 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 29 May 2023 03:30:52 -0400 Subject: [PATCH 026/112] Adjust spacing --- core/language/jp.json | 1064 ----------------------------------------- locales/jp.json | 37 +- 2 files changed, 1 insertion(+), 1100 deletions(-) diff --git a/core/language/jp.json b/core/language/jp.json index 043a8e8d..8e72199a 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -1,2130 +1,1066 @@ { - "selectmenu": { - "selectlanguage": "言語を選択", - "languageflag": "jp", - "english": "英語", - "chinese1": "中国語 (簡体字)", - "chinese2": "中国語 (繁体字)", - "german": "ドイツ語", - "french": "フランス語", - "polish": "ポーランド語", - "spanish": "スペイン語", - "hindi": "ヒンディー語", - "croatian": "クロアチア語", - "portuguese": "ポルトガル語", - "hungarian": "ハンガリー語", - "serbian": "セルビア語", - "italian": "イタリア語", - "russian": "ロシア語", - "norwegian": "ノルウェー語", - "romanian": "ルーマニア語", - "korean": "韓国語", - "japanese": "日本語" - }, - "sidemenu": { - "minting": "ミント", - "mintingdetails": "ミントの詳細", - "becomeAMinter": "ミンター になる", - "wallets": "ウォレット", - "tradeportal": "取引所", - "rewardshare": "報酬シェア", - "nameregistration": "名前の登録", - "websites": "ウェブサイト", - "management": "管理", - "datamanagement": "データ管理", - "qchat": "Qチャット", - "groupmanagement": "グループ管理", - "puzzles": "パズル", - "nodemanagement": "ノード管理", - "trading": "取引", - "groups": "グループ", - "sm1": "名前", - "sm2": "名前の管理", - "sm3": "名前マーケット" - }, - "login": { - "login": "ログイン", - "createaccount": "アカウントの作成", - "name": "名前", - "address": "アドレス", - "password": "パスワード", - "youraccounts": "あなたのアカウント", - "clickto": "ログインしたいアカウントをクリックして下さい", - "needcreate": "ログインする前にアカウントを作成または保存する必要があります!", - "upload": "Qortal のバックアップをアップロードします", - "howlogin": "どのようにログインしますか?", - "seed": "シードフレーズ", - "seedphrase": "シードフレーズ", - "saved": "保存したアカウント", - "qora": "Qora アドレス シード", - "backup": "Qortal ウォレットのバックアップ", - "decrypt": "バックアップを復号化", - "save": "このブラウザに保存します。", - "prepare": "アカウントを準備", - "areyousure": "保存されたウォレットからこのウォレットを削除しますか?", - "error1": "バックアップは有効な JSON である必要があります", - "error2": "ログイン オプションが選択されていません", - "createwelcome": "Qortal へようこそ。Qortalは RPG ゲームに似ている事に気づくと思います。Qortal ネットワークのミンターとして (なりたいと選択した場合) アカウントをレベルアップすることが出来、QORT のブロック報酬をより多く得られるだけでなく、プラットフォームの決定に対する投票という点で、ネットワークに対してより大きな影響力を持つことができます。", - "createa": "A", - "click": "クリックしてシードフレーズを表示", - "confirmpass": "パスワードの確認", - "willbe": "はバックグラウンドでランダムに生成されます。これは、Qortal のブロックチェーン アカウントの秘密キー ジェネレーターとして使用されます。", - "clicknext": "下の [次へ] をクリックして Qortal アカウントを作成します。", - "ready": "アカウントを作成する準備ができました。アカウントはこのブラウザに保存されます。新しいアカウントをブラウザに保存したくない場合は、下のボックスのチェックを外してください。[必ず」新しいアカウントのウォレットのバックアップ ファイルをダウンロードして下さい。(ログアウト後) そのバックアップファイルが無いとログイン不可になります。", - "welmessage": "Qortal へようこそ", - "pleaseenter": "パスワードを入力してください!", - "notmatch": "パスワードが一致しません!", - "lessthen8": "パスワードが 8 文字未満です。推奨できませんが警告は無視しても構いません。", - "lessthen8-2": "パスワードが 8 文字未満です!", - "entername": "名前を入力してください!", - "downloaded": "ウォレットのバックアップ ファイルをダウンロードしました!", - "loading": "読み込み中です、お待ちください...", - "createdseed": "作成したシードフレーズ", - "saveseed": "シードフレーズを保存", - "savein": "ブラウザに保存", - "backup2": "このファイルは、アプリ/ブラウザーに保存されていないシステムでアカウントにアクセスする唯一の方法です。必ずこのファイルを複数の場所にバックアップしてください。ファイルは非常に安全に暗号化され、前の手順で入力したローカル パスワードで復号化されます。どこにでも安全に保存できますが、必ず複数の場所に保存してください。", - "savewallet": "ウォレットのバックアップ ファイルを保存", - "created1": "アカウントが作成され...", - "created2": " このブラウザに保存されます。", - "downloadbackup": "ウォレットのバックアップ ファイルをダウンロード", - "passwordhint": "パスワードは 8 文字以上である必要があります。" - }, - "logout": { - "logout": "ログアウト", - "confirmlogout": "ログアウトしますか?" - }, - "fragfile": { - "selectfile": "ファイルを選択", - "dragfile": "バックアップをここにドラッグ アンド ドロップして下さい" - }, - "settings": { - "generalinfo": "アカウント情報", - "address": "アドレス", - "publickey": "公開鍵", - "settings": "設定", - "account": "アカウント", - "security": "セキュリティ", - "qr_login_menu_item": "QR ログイン", - "qr_login_description_1": "このコードをスキャンしログインしたときと同じパスワードを使用して、他のデバイス上でこのウォレットのロックを解除出来ます。", - "qr_login_description_2": "QR コードをスキャンした他のデバイスでこのウォレットのロックを解除するために使用するパスワードを入力してください。", - "qr_login_button_1": "ログイン QR コードを表示", - "qr_login_button_2": "ログイン QR コードを生成", - "notifications": "通知", - "accountsecurity": "アカウントのセキュリティ", - "password": "パスワード", - "download": "バックアップ ファイルをダウンロード", - "choose": "バックアップを暗号化するためのパスワードを入力してください。(ログインに使用したパスワードと同じでも、別のものでも構いません)", - "block": "通知をブロックする (近日公開予定...)", - "playsound": "音を鳴らす", - "shownotifications": "通知を表示", - "nodeurl": "ノード URL", - "nodehint": "上のデフォルトのノード リストからノードを選択するか、下のボタンをクリックしてカスタム ノードを上のリストに追加します", - "addcustomnode": "カスタム ノードを追加", - "addandsave": "追加して保存", - "protocol": "プロトコル", - "domain": "ドメイン", - "port": "ポート", - "import": "ノードをインポート", - "export": "ノードのエクスポート", - "deletecustomnode": "すべてのカスタム ノードを削除", - "warning": "既存のノードは削除され、バックアップから新しいノードが作成されます。", - "snack1": "正常に全てのカスタムノードが削除されました", - "snack2": "UI が次のノードに接続しました", - "snack3": "正常にカスタム ノードを追加・保存しました", - "snack4": "正常にノードを次のファイル名で保存しました", - "snack5": "正常にノードをインポートしました", - "exp1": "秘密マスターキーをエクスポート", - "exp2": "マスターキーのエクスポート", - "exp3": "エクスポート", - "exp4": "秘密マスターキーをバックアップするウォレットを選択してください。", - "core": "Core設定を開始" - }, - "appinfo": { - "blockheight": "ブロック高", - "uiversion": "UI バージョン", - "coreversion": "Coreバージョン", - "minting": "(ミント)", - "synchronizing": "同期中", - "peers": "接続したピア" - }, - "walletprofile": { - "minterlevel": "ミンターレベル", - "blocksminted": "ミントしたブロック" - }, - "general": { - "yes": "はい", - "no": "いいえ", - "confirm": "確認", - "decline": "拒否", - "open": "開く", - "close": "閉じる", - "back": "戻る", - "next": "次へ", - "create": "作成", - "continue": "続行", - "save": "保存", - "balance": "残高", - "balances": "あなたのウォレット残高", - "update": "ウォレット残高を更新", - "view": "表示" - }, - "gifs": { - "gchange1": "GIF エクスプローラー", - "gchange2": "GIF集を検索", - "gchange3": "私のGIF集", - "gchange4": "登録したGIF集", - "gchange5": "GIF ファイルをアップロード", - "gchange6": "ファイルは .Gif である必要があります", - "gchange7": "GIF集をアップロード", - "gchange8": "GIF集に名前が必要です!", - "gchange9": "GIF集名", - "gchange10": "正常にGIF集をアップロードしました!", - "gchange11": "GIF をアップロード。しばらくお待ちください...", - "gchange12": "問題が発生しました。違うタブを押してまた戻ってみてください。", - "gchange13": "現在GIF集がありません。", - "gchange14": "現在登録しているGIF集がありません。", - "gchange15": "GIFの取得に失敗しました。再試行...", - "gchange16": "GIF の取得に失敗しました! 別のGIF集にアクセスして、もう一度お試しください!", - "gchange17": "このGIF集を登録", - "gchange18": "GIF集を検索...", - "gchange19": "GIF集が見つかりません!", - "gchange20": "正常にGIF集を登録しました!", - "gchange21": "正常にGIF集の登録解除しました!", - "gchange22": "このGIF集の購読を解除", - "gchange23": "同じ名前のGIFをGIF集に入れられません!", - "gchange24": "このGIF集名はすでに使用されています。別の名前を試してください!", - "gchange25": "GIF (クリックして表示)", - "gchange26": "GIF ファイルにアクセスして送信するには名前が必要です", - "gchange27": "GIF集のサイズが 25MB を超えています! もう一度お試しください!", - "gchange28": "GIF集内の各 gif は 0.7mb を超えることはできません。もう一度お試しください。", - "gchange29": "ファイル名" - }, - "startminting": { - "smchange1": "ミントアカウントを取得できません", - "smchange2": "キーの削除に失敗しました", - "smchange3": "ミントキーの追加に失敗しました", - "smchange4": "スポンサーシップ キーを作成できません", - "smchange5": "関係の構築開始", - "smchange6": "ブロックチェーンの承認を待っています", - "smchange7": "関係の構築終了", - "smchange8": "ミントキーをノードに追加します", - "smchange9": "完了", - "smchange10": "ノードごとに許可されるミント キーは 2 つだけです。3 つ目のキーを割り当てようとしています。管理 - ノード管理に移動して、このノードに割り当てないキーを削除してください。" - }, - "mintingpage": { - "mchange1": "ミントの詳細", - "mchange2": "ブロックチェーン統計", - "mchange3": "1ブロックあたりの平均時間", - "mchange4": "1日あたりの平均ブロック数", - "mchange5": "1日あたりの平均作成 QORT", - "mchange6": "ミントアカウントの詳細", - "mchange7": "ミンターではありません", - "mchange8": "ミント中", - "mchange9": "ミント一時停止中", - "mchange10": "アカウントの詳細を有効化", - "mchange11": "有効化されていません", - "mchange12": "アカウントを有効化", - "mchange13": "はじめに", - "mchange14": "アカウントを有効にするには、OUTGOING トランザクションを実行する必要があります。名前の登録が最も一般的な方法です。アカウントを有効にするために、Q-Chat内で誰かに少額の QORT を送ってもらい名前を登録するか、取引所で少額のQORT を購入して何らかの OUTGOING トランザクションを実行し、ブロックチェーン上であなたの公開鍵を公開します。これを行うまでは、公開鍵は UI 内であなただけが知っており、他の誰もあなたの公開鍵をブロックチェーンから取得することはできません。", - "mchange15": "現在のステータス", - "mchange16": "現在のレベル", - "mchange17": "次のレベルまでのブロック数", - "mchange18": "毎日24時間ミントし続けるとレベル", - "mchange19": "ミント報酬情報", - "mchange20": "現在のティア", - "mchange21": "ティア内の合計ミンター数", - "mchange22": "このティアが受取れるブロック報酬の割合", - "mchange23": "ブロックごとの推定報酬", - "mchange24": "1 日あたりの推定報酬", - "mchange25": "秒", - "mchange26": "ブロック", - "mchange27": "レベル", - "mchange28": "ティア", - "mchange29": "日", - "mchange30": "ミンター", - "mchange31": "ヘルプを表示するには押してください", - "mchange32": "ミンターになる", - "mchange33": "はじめに", - "mchange34": "Qortal でミンターになり、レベルに応じた QORT 報酬を獲得し始めるには、まず「スポンサー付き」になる必要があります。Qortal のスポンサーとは、レベル 5 以上の他のミンター、または Qortal 創設者です。スポンサーからスポンサー キーを取得し、そのキーを使用してレベル 1 を目指します。レベル 1 に到達すると、自分のミント キーを作成し、Qortal ブロックチェーンの安全確保に貢献して報酬を獲得できるようになります。」", - "mchange35": "スポンサーシップ", - "mchange36": "スポンサーに「スポンサーシップ キー」を発行して貰います。これをノードに追加し、ミントを開始します (レベル 1 に到達するまで報酬はありません)。レベル 1 に到達したら、自分のミントキーを作成し割り当てて報酬を獲得し始めます。」", - "mchange37": "スポンサーシップ キーを発行できる十分なレベルの Qortal のミンターに連絡し、そのキーを取得し、ここに戻ってキーを入力してミントの旅を始めてください。", - "mchange38": "まで" }, - "becomeMinterPage": { - "bchange7": "スポンサーシップ キーを入力してください", - "bchange8": "ここにスポンサーから取得したキーを入力してください", - "bchange10": "現在のスポンサーシップステータス", - "bchange12": "スポンサー キーを使用したミント", - "bchange13": "スポンサー付き期間の残りのブロック数", - "bchange15": "スポンサー関係", - "bchange16": "スポンサー アカウント", - "bchange17": "スポンサーシップ キーをコピー", - "bchange18": "ミントを開始", - "bchange19": "成功しました! 現在ミント中です。" - }, - "walletpage": { - "wchange1": "残高を取得 ...", - "wchange2": "現在のウォレット", - "wchange3": "ウォレットのアドレスをクリップボードにコピー", - "wchange4": "アドレスをクリップボードにコピーしました", - "wchange5": "取引の詳細", - "wchange6": "取引の種類", - "wchange7": "出庫", - "wchange8": "入庫", - "wchange9": "送付者", - "wchange10": "受取人", - "wchange11": "金額", - "wchange12": "手数料", - "wchange13": "ブロック", - "wchange14": "時期", - "wchange15": "トランザクション署名", - "wchange16": "トランザクション ハッシュ", - "wchange17": "送付", - "wchange18": "出庫元アドレス", - "wchange19": "利用可能な残高", - "wchange20": "送付先 (アドレスまたは名前)", - "wchange21": "現在の手数料:", - "wchange22": "ウォレット", - "wchange23": "送付先 (アドレス)", - "wchange24": "1バイトあたりの現在の手数料", - "wchange25": "手数料が低いと、取引が遅れたり、未承認の取引が発生したりする可能性があります。", - "wchange26": "資金が不足しています!", - "wchange27": "金額が無効です!", - "wchange28": "受取人を入力して下さい!", - "wchange29": "受取人が無効です!", - "wchange30": "取引完了!", - "wchange31": "取引失敗!", - "wchange32": "QORT 残高の取得に失敗しました。もう一度お試しください!", - "wchange33": "取得に失敗しました", - "wchange34": "残高。もう一度お試しください!", - "wchange35": "タイプ", - "wchange36": "手数料", - "wchange37": "合計金額", - "wchange38": "アドレスにはまだ取引がありません。", - "wchange39": "アドレスをコピーできません。", - "wchange40": "支出", - "wchange41": "ステータス", - "wchange42": "承認", - "wchange43": "トランザクションは承認されるまで表示されません。しばらくお待ちください...", - "wchange44": "もう一度試してください...", - "wchange45": "すべて送付", - "wchange46": "このアドレスに送付", - "wchange47": "アドレス帳", - "wchange48": "このアドレス帳は空です!", - "wchange49": "アドレス帳に追加", - "wchange50": "名前を入力して下さい!", - "wchange51": "アドレスを入力して下さい!", - "wchange52": "追加しました!", - "wchange53": "アドレス帳をインポート", - "wchange54": "アドレス帳のエクスポート", - "wchange55": "既存のアドレス帳は削除され、バックアップから新しく作成されます。", - "wchange56": "警告!", - "wchange57": "メモ", - "wchange58": "新しいアドレス", - "wchange59": "コイン" - }, - "tradepage": { - "tchange1": "取引所", - "tchange2": "取引ペア選択", - "tchange3": "取引履歴", - "tchange4": "私の取引履歴", - "tchange5": "売り板情報", - "tchange6": "私の注文", - "tchange7": "通らなかったオファー", - "tchange8": "金額", - "tchange9": "価格", - "tchange10": "合計", - "tchange11": "日付", - "tchange12": "ステータス", - "tchange13": "販売者", - "tchange14": "単価", - "tchange15": "フォームをクリア", - "tchange16": "所持数量:", - "tchange17": "アクション", - "tchange18": "購入", - "tchange19": "売却", - "tchange20": "取引に失敗しました。もう一度お試しください!", - "tchange21": "取引に失敗しました。エラー コード", - "tchange22": "資金が不足しています!", - "tchange23": "購入リクエストを送信しました!", - "tchange24": "購入リクエストが既にあります!", - "tchange25": "取引に失敗しました。エラー コード", - "tchange26": "取引中止処理中!", - "tchange27": "取引の中止に失敗しました。もう一度お試しください!", - "tchange28": "取引の中止に失敗しました。エラー コード", - "tchange29": "中止", - "tchange30": "残高の取得に失敗しました。もう一度お試しください!", - "tchange31": "売却", - "tchange32": "購入", - "tchange33": "平均", - "tchange34": "金額を 0 にすることはできません", - "tchange35": "価格を 0 にすることはできません", - "tchange36": "自動購入を処理中", - "tchange37": "自動購入注文が見つかりません!", - "tchange38": "追加", - "tchange39": "自動購入注文", - "tchange40": "価格", - "tchange41": "正常に自動購入注文を削除しました!", - "tchange42": "マーケット売り板情報", - "tchange43": "私の購入履歴", - "tchange44": "正常に自動購入注文を追加しました!", - "tchange45": "自動購入", - "tchange46": "自動購入", - "tchange47": "この価格で売却します", - "tchange48": "不足しています", - "tchange49": "価格チャート" - }, - "rewardsharepage": { - "rchange1": "報酬シェア", - "rchange2": "報酬シェアを作成", - "rchange3": "このアカウントに関連する報酬シェア", - "rchange4": "ミントアカウント", - "rchange5": "シェアパーセント", - "rchange6": "受取人", - "rchange7": "アクション", - "rchange8": "タイプ", - "rchange9": "レベル 1 ~ 4 は自己シェアを、レベル 5 以上は報酬シェアを作成できます!", - "rchange10": "受取人の公開鍵", - "rchange11": "報酬シェア率", - "rchange12": "おいしいことをしています", - "rchange13": "ミントアカウントの追加", - "rchange14": "追加", - "rchange15": "アカウントはどの報酬シェアにも関連していません", - "rchange16": "自己シェア", - "rchange17": "削除", - "rchange18": "複数の報酬シェアを作成できません!", - "rchange19": "複数の自己シェアを作成できません!", - "rchange20": "このレベルでは報酬シェアを作成できません!レベル", - "rchange21": "正常に報酬シェアしました!", - "rchange22": "正常に報酬シェアを削除しました!" - }, - "registernamepage": { - "nchange1": "名前の登録", - "nchange2": "名前を登録", - "nchange3": "登録名", - "nchange4": "アバター", - "nchange5": "名前", - "nchange6": "所有者", - "nchange7": "アクション", - "nchange8": "このアカウントには名前が登録されていません!", - "nchange9": "名前を登録してください!", - "nchange10": "概要 (任意)", - "nchange11": "おいしいことをしています", - "nchange12": "名前を登録中", - "nchange13": "現在の名前登録料は", - "nchange14": "登録", - "nchange15": "アバターを設定", - "nchange16": "Coreのアップデートが必要です", - "nchange17": "名前はすでに存在します!", - "nchange18": "正常に名前を登録しました!", - "nchange19": "名前を売却", - "nchange20": "売却を中止", - "nchange21": "名前を購入", - "nchange22": "名前マーケット", - "nchange23": "売値", - "nchange24": "売却する名前はありません", - "nchange25": "売却する名前", - "nchange26": "この名前を売却しますか?", - "nchange27": "QORT建価格", - "nchange28": "確認を押すと、名前の売却リクエストが送信されます!", - "nchange29": "売却中止する名前", - "nchange30": "この名前の売却を中止しますか?", - "nchange31": "確認を押すと、名前の売却中止リクエストが送信されます!", - "nchange32": "正常に名前の売却リクエストを送信しました!", - "nchange33": "正常に名前の売却リクエストを中止しました!", - "nchange34": "正常に名前の購入リクエストを送信しました!", - "nchange35": "あなたには名前があります!", - "nchange36": "名前が登録されていないアカウントのみが名前を購入できます。", - "nchange37": "注意!", - "nchange38": "この名前を購入するのに十分なQORTがありません。", - "nchange39": "この名前を購入しますか?", - "nchange40": "確認を押すと、名前の購入リクエストが送信されます!", - "nchange41": "古い名前", - "nchange42": "新しい名前", - "nchange43": "この名前を", - "nchange44": "新しい名前に変更しますか?", - "nchange45": "確認を押すと、名前の更新リクエストが送信されます!", - "nchange46": "名前の売却履歴", - "nchange47": "正常に名前を更新しました!" - }, - "websitespage": { - "schange1": "ウェブサイトを閲覧", - "schange2": "フォローしているウェブサイト", - "schange3": "ブロックしたウェブサイト", - "schange4": "ウェブサイトを検索", - "schange5": "アバター", - "schange6": "詳細", - "schange7": "発行元", - "schange8": "アクション", - "schange9": "ウェブサイト", - "schange10": "閲覧可能なウェブサイトがありません", - "schange11": "フォローしているウェブサイト", - "schange12": "フォローしているウェブサイト", - "schange13": "フォローしているウェブサイトがありません", - "schange14": "ブロックしたウェブサイト", - "schange15": "ブロックしたウェブサイト", - "schange16": "ウェブサイトをブロックしていません", - "schange17": "名前が見つかりません!", - "schange18": "リレー モードが有効です。これは、ピアがリクエストしたときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立っていることを意味します。オプトアウトするには", - "schange19": "を右記のファイルに設定します", - "schange20": "リレー モードは無効になっています。有効にするには", - "schange21": "ウェブサイトを公開", - "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange25": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange26": "未分類", - "schange27": "サイズ", - "schange28": "ステータス", - "schange29": "フォロー", - "schange30": "フォローを解除", - "schange31": "ブロック", - "schange32": "ブロックを解除", - "schange33": "検索する名前", - "schange34": "名前を入力して下さい!", - "schange35": "検索" - }, - "appspage": { - "schange1": "Q-Appsを閲覧", - "schange2": "Q-Appsをフォローしました", - "schange3": "ブロックした Q-Apps", - "schange4": "Q-Appsを検索", - "schange5": "アバター", - "schange6": "詳細", - "schange7": "発行元", - "schange8": "アクション", - "schange9": "Q-Apps", - "schange10": "利用可能なQ-Appsはありません", - "schange11": "フォローしているQ-Apps", - "schange12": "Q-Appsをフォローしました", - "schange13": "どのQ-Appsもフォローしていません", - "schange14": "ブロックしたQ-Apps", - "schange15": "ブロックしたQ-Apps", - "schange16": "Q-Appsをブロックしていません", - "schange17": "名前が見つかりません!", - "schange18": "リレー モードが有効です。これは、ピアがリクエストしたときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立っていることを意味します。オプトアウトするには", - "schange19": "を右記のファイルに設定して下さい。", - "schange20": "リレー モードは無効になっています。有効にするには", - "schange21": "Q-Appsを公開", - "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange25": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange26": "未分類", - "schange27": "サイズ", - "schange28": "ステータス", - "schange29": "フォロー", - "schange30": "フォローを解除", - "schange31": "ブロック", - "schange32": "ブロックを解除", - "schange33": "検索する名前", - "schange34": "名前を入力して下さい!", - "schange35": "検索", - "schange36": "ダウンロード", - "schange37": "ダウンロード済", - "schange38": "更新", - "schange39": "開く", - "schange40": "プレビュー", - "schange41": "ダウンロード中です。しばらくお待ちください...", - "schange42": "ダウンロードしたファイル" - }, - "tubespage": { - "schange1": "Q-Tubeを閲覧", - "schange2": "フォローしたQ-Tube", - "schange3": "ブロックしたQ-Tube", - "schange4": "Q-Tubeを検索", - "schange5": "カバー", - "schange6": "詳細", - "schange7": "発行元", - "schange8": "アクション", - "schange9": "Q-Tubes", - "schange10": "閲覧可能な Q-Tubeがありません", - "schange11": "フォローしたQ-Tube", - "schange12": "フォローしたQ-Tube", - "schange13": "どの Q-Tubeもフォローしていません", - "schange14": "ブロックしたQ-Tube", - "schange15": "ブロックしたQ-Tube", - "schange16": "ブロックしたQ-Tubeがありません", - "schange17": "名前が見つかりません!", - "schange18": "リレー モードが有効です。これは、ピアがリクエストしたときに、ノードが暗号化されたデータをネットワーク上で転送するのに役立っていることを意味します。オプトアウトするには", - "schange19": "を右記のファイルに設定して下さい", - "schange20": "リレー モードは無効になっています。有効にするには", - "schange21": "ビデオを公開", - "schange22": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange23": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange24": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "schange25": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "schange26": "未分類", - "schange27": "サイズ", - "schange28": "ステータス", - "schange29": "フォロー", - "schange30": "フォローを解除", - "schange31": "ブロック", - "schange32": "ブロックを解除", - "schange33": "検索する名前", - "schange34": "名前を入力して下さい!", - "schange35": "検索", - "schange36": "ダウンロード", - "schange37": "ダウンロード済", - "schange38": "更新", - "schange39": "開く", - "schange40": "プレビュー", - "schange41": "ダウンロード中です。しばらくお待ちください...", - "schange42": "ダウンロードしたファイル", - "schange43": "開いています。しばらくお待ちください..." - }, - "publishpage": { - "pchange1": "公開", - "pchange2": "更新", - "pchange3": "注: データをホストする前に、ネットワーク上のピアがより簡単にアクセスできるように、ポート転送を設定することをお勧めします。", - "pchange4": "名前を選択", - "pchange5": "タイトル", - "pchange6": "概要", - "pchange7": "カテゴリーを選択", - "pchange8": "タグ", - "pchange9": "サービス", - "pchange10": "識別子", - "pchange11": "公開", - "pchange12": "静的コンテンツを含む zip ファイルを選択", - "pchange13": "静的ファイルへのローカル パス", - "pchange14": "データを公開する登録名を選択してください", - "pchange15": "ホストするファイルを選択してください", - "pchange16": "ホストする zip ファイルを選択してください", - "pchange17": "静的コンテンツを含むディレクトリ パスを入力してください", - "pchange18": "サービス名を入力してください", - "pchange19": "データを処理...これには時間がかかる場合があります...", - "pchange20": "エラー:", - "pchange21": "データ公開時の内部サーバー エラー", - "pchange22": "プルーフ・オブ・ワークを計算...これには時間がかかる場合があります...", - "pchange23": "正常にトランザクションが完了しました!", - "pchange24": "トランザクションの署名と処理ができませんでした", - "pchange25": "ファイルを選択", - "pchange26": "データをアップロード...これには時間がかかる場合があります..." - }, - "browserpage": { - "bchange1": "次へ", - "bchange2": "リロード", - "bchange3": "リストに戻る", - "bchange4": "ノードから", - "bchange5": "を削除", - "bchange6": "お使いのブラウザは iframe をサポートしていません", - "bchange7": "フォロー", - "bchange8": "フォローを解除", - "bchange9": "ブロック", - "bchange10": "ブロックを解除", - "bchange11": "この登録名をフォローしようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange12": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange13": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange14": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange15": "フォローしている名前のデータは削除できません。まずフォローを解除してください。", - "bchange16": "このリソースを削除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange17": "ユーザーはアカウント詳細の共有を拒否しました", - "bchange18": "が認証を要求しました。許可しますか?", - "bchange19": "このアプリケーションに QDN への公開を許可しますか?", - "bchange20": "このアプリケーションにウォレット残高の取得を許可しますか?", - "bchange21": "ウォレットの取得に失敗しました。もう一度お試しください。", - "bchange22": "このアプリケーションにチャットメッセージの送信を許可しますか?", - "bchange23": "メッセージを送信しました!", - "bchange24": "これにより右記の機能とQORTアドレスが共有され、アカウントとやり取りします:", - "bchange25": "機密データは共有されません。", - "bchange26": "常に自動的に認証", - "bchange27": "拒否", - "bchange28": "受け入れる", - "bchange29": "インスタント公開 (手数料 0.001 QORTが必要)", - "bchange30": "サービス", - "bchange31": "名前", - "bchange32": "識別子", - "bchange33": "インスタント公開", - "bchange34": "ファイル名", - "bchange35": "このアプリケーションにコイン送付を許可しますか?", - "bchange36": "プルーフ・オブ・ワークを計算せずにインスタントを QDN に公開しますか?", - "bchange37": "全画面で表示", - "bchange38": "全画面表示を終了", - "bchange39": "常にリストの自動取得を許可します", - "bchange40": "リスト", - "bchange41": "このアプリケーションにこのリストへのアクセスを許可しますか?", - "bchange42": "アイテム", - "bchange43": "このアプリケーションにこのリストに追加する事を許可しますか?", - "bchange44": "このアプリケーションにこのリストから削除する事を許可しますか?", - "bchange45": "暗号化", - "bchange46": "このアプリケーションに次のファイルを保存する事を許可しますか?" - }, - "datapage": { - "dchange1": "データ管理", - "dchange2": "このノードでホストされたデータを検索", - "dchange3": "検索するデータ", - "dchange4": "検索", - "dchange5": "登録名", - "dchange6": "サービス", - "dchange7": "識別子", - "dchange8": "アクション", - "dchange9": "このノードによってホストされたデータ", - "dchange10": "データ名を入力して下さい!", - "dchange11": "データが見つかりません!", - "dchange12": "ホストされたデータ リストをノードから取得できませんでした", - "dchange13": "このノードはデータをホストしていません", - "dchange14": "フォローを解除", - "dchange15": "削除", - "dchange16": "ブロック", - "dchange17": "ブロックを解除", - "dchange18": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "dchange19": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "dchange20": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "dchange21": "このリソースを削除しようとしたときにエラーが発生しました。もう一度お試しください。" - }, - "chatpage": { - "cchange1": "新しいプライベート メッセージ", - "cchange2": "読み込み中...", - "cchange3": "ブロックしたユーザー", - "cchange4": "新しいメッセージ", - "cchange5": "(クリックして下にスクロール)", - "cchange6": "プライベート メッセージでチャットしたい人の名前またはアドレスを入力してください。本のアイコンをクリックすると、その人の名前を確認できます。", - "cchange7": "ユーザー名 / アドレス", - "cchange8": "メッセージ...", - "cchange9": "送信", - "cchange10": "ブロックしたユーザーのリスト", - "cchange11": "名前", - "cchange12": "所有者", - "cchange13": "アクション", - "cchange14": "このアカウントはまだ誰もブロックしていません。", - "cchange15": "名前が登録されていません", - "cchange16": "正常にこのユーザーのブロックを解除しました。", - "cchange17": "このユーザーのブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "cchange18": "ブロックを解除", - "cchange19": "ユーザー名/アドレスが無効です。名前/アドレスを確認して再試行してください...", - "cchange20": "正常にメッセージを送信しました!", - "cchange21": "送信に失敗しました。再試行してください...", - "cchange22": "メッセージを読み込み中...", - "cchange23": "メッセージを復号化できません!", - "cchange24": "メッセージあたりの最大文字数は 255 です", - "cchange25": "メッセージを編集", - "cchange26": "ファイル サイズが 0.5 MB を超えています", - "cchange27": "画像を送信するには登録名が必要です", - "cchange28": "このファイルは画像ではありません", - "cchange29": "最大メッセージ サイズは 1000 バイトです", - "cchange30": "画像をアップロード中。これには最大 1 分かかる場合があります。", - "cchange31": "画像を削除中。これには最大 1 分かかる場合があります。", - "cchange33": "中止", - "cchange34": "このチャット メッセージは古いメッセージ バージョンを使用しているため、この機能は使用できません。", - "cchange35": "ユーザー名を取得しようとしたときにエラーが発生しました。もう一度お試しください。", - "cchange36": "検索結果", - "cchange37": "結果が見つかりませんでした", - "cchange38": "ユーザー認証済", - "cchange39": "このユーザーはチェーン上に公開鍵を持っていないため、暗号化されたメッセージを送信できません。", - "cchange40": "画像 (クリックして表示)", - "cchange41": "残高が 4 QORT 未満です", - "cchange42": "スパム対策の必要性から、残高が 4 QORT 未満のアカウントは、Q-Chat でメッセージを送信するのに時間がかかります。Q-Chat メッセージの送信速度をすぐに上げたい場合は、Trade Portal で購入するか、他の Qortal ユーザーから QORT もらうなどしての残高を4 QORT 以上にしてください。残高が 4 QORT を超えると、Q-Chat メッセージは即座に送信され、このダイアログは表示されなくなります。必要なスパム防止対策をご理解いただき、Qortal をお楽しみいただければ幸いです。」", - "cchange43": "QORT で次のユーザーにチップを送る", - "cchange44": "メッセージを送信", - "cchange45": "ユーザーにチップを送る", - "cchange46": "チップの金額", - "cchange47": "利用可能な残高", - "cchange48": "QORT 残高の取得に失敗しました。もう一度お試しください!", - "cchange49": "現在の手数料", - "cchange50": "送付", - "cchange51": "資金が不足しています!", - "cchange52": "金額が無効です!", - "cchange53": "受取人を入力して下さい!", - "cchange54": "受取人が無効です!", - "cchange55": "トランザクションは成功しました!", - "cchange56": "トランザクションが失敗しました!", - "cchange57": "ユーザー情報", - "cchange58": "メッセージを送信", - "cchange59": "このユーザーにチップを送る", - "cchange60": "グループに招待を処理中", - "cchange61": "グループ招待の取得中にエラーが発生しました。もう一度お試しください。", - "cchange62": "入力されたユーザー名とアドレスが間違っています。もう一度お試しください。", - "cchange63": "入力で送信", - "cchange64": "入力で送信しない", - "cchange65": "受取人を入力してください", - "cchange66": "返信済メッセージを取得できません。メッセージが古すぎます。", - "cchange68": "編集済", - "cchange69": "画像の自動表示", - "cchange70": "この画像タイプはサポートされていません", - "cchange71": "そして", - "cchange72": "その他", - "cchange73": "s", - "cchange74": "リアクション", - "cchange75": "添付ファイルをアップロード中。これには最大 1 分かかる場合があります。", - "cchange76": "添付ファイルを削除中。これには最大 1 分かかる場合があります。", - "cchange77": "添付ファイルのサイズが 1 MB を超えています", - "cchange78": "この画像を削除しますか?", - "cchange79": "この添付ファイルを削除しますか?", - "cchange80": "この画像は削除されました", - "cchange81": "この画像タイプはサポートされていません", - "cchange82": "この添付ファイルは削除されました", - "cchange90": "メッセージがありません" - }, - "welcomepage": { - "wcchange1": "Q-Chat へようこそ", - "wcchange2": "新しいプライベート メッセージ", - "wcchange3": "プライベート メッセージでチャットしたい人の名前またはアドレスを入力してください!", - "wcchange4": "名前/アドレス", - "wcchange5": "メッセージ...", - "wcchange6": "送信", - "wcchange7": "名前/アドレスが無効です。名前/アドレスを確認して再試行してください...", - "wcchange8": "正常にメッセージを送信!", - "wcchange9": "送信に失敗しました。再試行してください..." - }, - "blockpage": { - "bcchange1": "ユーザーをブロック", - "bcchange2": "正常にこのユーザーをブロックしました!", - "bcchange3": "このユーザーをブロックしようとしたときにエラーが発生しました。もう一度お試しください。", - "bcchange4": "名前が登録されていません", - "bcchange5": "ユーザーリクエストをブロック", - "bcchange6": "このユーザーをブロックしますか?", - "bcchange7": "メニュー", - "bcchange8": "アドレスをコピー", - "bcchange9": "プライベートメッセージ", - "bcchange10": "詳細", - "bcchange11": "返信", - "bcchange12": "編集", - "bcchange13": "リアクション", - "bcchange14": "転送", - "bcchange15": "メッセージを転送しました", - "bcchange16": "受取人を選択するか、以下で受取人を検索します", - "bcchange17": "転送されました", - "bcchange18": "ユーザーにチップを送る" - }, - "grouppage": { - "gchange1": "Qortal グループ", - "gchange2": "グループの作成", - "gchange3": "参加しているグループ", - "gchange4": "グループ名", - "gchange5": "概要", - "gchange6": "役割", - "gchange7": "アクション", - "gchange8": "どのグループのメンバーでもありません!", - "gchange9": "公開 グループ", - "gchange10": "所有者", - "gchange11": "利用可能な公開グループがありません!", - "gchange12": "新しいグループを作成", - "gchange13": "グループタイプ", - "gchange14": "この欄は必須です", - "gchange15": "オプションを選択してください", - "gchange16": "公開", - "gchange17": "非公開", - "gchange18": "グループ承認のしきい値 (トランザクションを承認する必要がある管理者の数 / 割合):", - "gchange19": "なし", - "gchange20": "1", - "gchange21": "グループ トランザクション承認の最小ブロック遅延:", - "gchange22": "分", - "gchange23": "時間", - "gchange24": "時間", - "gchange25": "日", - "gchange26": "日", - "gchange27": "グループ トランザクション承認の最大ブロック遅延:", - "gchange28": "グループの作成", - "gchange29": "グループの作成", - "gchange30": "グループへの参加リクエスト", - "gchange31": "作成日", - "gchange32": "更新日", - "gchange33": "参加中", - "gchange34": "グループに参加", - "gchange35": "退会リクエスト", - "gchange36": "退会中", - "gchange37": "グループから退会", - "gchange38": "グループ所有者の管理:", - "gchange39": "グループ管理者の管理:", - "gchange40": "グループの管理", - "gchange41": "正常にグループを作成しました!", - "gchange42": "無効なグループ名", - "gchange43": "グループの概要が無効です", - "gchange44": "グループの種類を選択して下さい", - "gchange45": "グループ承認のしきい値を選択して下さい", - "gchange46": "グループ トランザクション承認の最小ブロック遅延を選択して下さい", - "gchange47": "グループ トランザクション承認の最大ブロック遅延を選択して下さい", - "gchange48": "正常にグループへの参加リクエストを送信しました!", - "gchange49": "正常に退会リクエストを送信しました!", - "gchange50": "退会", - "gchange51": "参加", - "gchange52": "管理者", - "gchange53": "メンバー", - "gchange54": "メンバー", - "gchange55": "非公開グループを検索", - "gchange56": "検索するグループ名", - "gchange57": "非公開 グループ名が見つかりません", - "gchange58": "グループ名は完全に一致する必要があります", - "gchange59": "ティッカーの表示/非表示" - }, - "puzzlepage": { - "pchange1": "パズル", - "pchange2": "報酬", - "pchange3": "解いたユーザー", - "pchange4": "名前", - "pchange5": "お題", - "pchange6": "手がかり/答え", - "pchange7": "アクション", - "pchange8": "推測", - "pchange9": "答えを入力して下さい", - "pchange10": "答えは 43 文字または 44 文字である必要があります。", - "pchange11": "✗", - "pchange12": "0 (ゼロ)、I (大文字の i)、O (大文字のo) または l (小文字のL) を含みます。", - "pchange13": "あなたの答え", - "pchange14": "答えを確認中...", - "pchange15": "送信", - "pchange16": "不正解!", - "pchange17": "報酬請求を送信しました - ウォレットに報酬が入庫されているか確認してください!" - }, - "nodepage": { - "nchange1": "ノード管理:", - "nchange2": "ノードがオンラインになっている期間:", - "nchange3": "ノードのミントアカウント", - "nchange4": "ミントアカウントを追加", - "nchange5": "自分のアカウントでミントを作成したい場合は、自分自身に対するリワードシェア トランザクションを作成する必要があります (リワードシェア パーセントは 0 に設定)。その後、生成されたリワードシェア キーを使ってミントします。", - "nchange6": "報酬シェアキー", - "nchange7": "ミントアカウントの追加", - "nchange8": "追加", - "nchange9": "ミントアカウント", - "nchange10": "受取人のアカウント", - "nchange11": "アクション", - "nchange12": "削除", - "nchange13": "このノードのミント アカウントが見つかりません", - "nchange14": "このノードに接続されているピア", - "nchange15": "ピアを追加", - "nchange16": "追加したいピアのアドレスを以下に入力して下さい", - "nchange17": "ピアのアドレス", - "nchange18": "アドレス", - "nchange19": "最終ブロック高", - "nchange20": "ビルドバージョン", - "nchange21": "接続時間", - "nchange22": "アクション", - "nchange23": "強制同期", - "nchange24": "ノードには接続されたピアがありません", - "nchange25": "ピアとの同期を開始中: ", - "nchange26": "正常に次のピアを解除しました: ", - "nchange27": "正常にミントノードを追加しました!", - "nchange28": "ミント ノードの追加に失敗しました!", - "nchange29": "正常にミントアカウントを削除しました!", - "nchange30": "ミントアカウントの削除に失敗しました!", - "nchange31": "ノードを停止", - "nchange32": "正常に停止リクエストを送信しました!" - }, - "transpage": { - "tchange1": "トランザクションリクエスト", - "tchange2": "拒否", - "tchange3": "確認", - "tchange4": "送付先", - "tchange5": "金額" - }, - "apipage": { - "achange1": "API キーを追加", - "achange2": "API キー", - "achange3": "このノードの API キーを入力してください。このキーは、Coreがインストールされているディレクトリの「apikey.txt」というファイルにあります。または、[中止] をクリックして、機能が制限されたCoreを使用します。", - "achange4": "中止", - "achange5": "追加", - "achange6": "正常にAPI キーを追加しました", - "achange7": "API キーが間違っています。API キーは追加されませんでした" - }, - "transactions": { - "amount": "金額", - "to": "送付先", - "declined": "ユーザーはトランザクションを拒否しました!", - "namedialog1": "以下の名前を登録中:", - "namedialog2": "確認を押すと名前が登録されます!", - "groupdialog1": "以下のグループへの参加をリクエスト中:", - "groupdialog2": "確認を押すと、グループ参加リクエストが送信されます!", - "groupdialog3": "以下のグループからの退会をリクエスト中:", - "groupdialog4": "確認を押すと、退会リクエストが送信されます!", - "groupdialog5": "以下のグループ作成をリクエスト中:", - "groupdialog6": "確認を押すと、グループ作成リクエストが送信されます!", - "rewarddialog1": "報酬シェアトランザクションを作成:", - "rewarddialog2": "のミント報酬を次のユーザーとシェア", - "rewarddialog3": "はいの場合、ミントを作成するには以下のキーを保存する必要があります。キーは任意のノードに提供して、ユーザーに代わってミントを行うことができます。", - "rewarddialog4": "確認を押すと報酬シェアが作成されますが、アカウントでミントするためには上記のキーをノードに提供する必要があります。", - "rewarddialog5": "次のアカウントに関連付けられた報酬シェア トランザクションを削除します:", - "rewarddialog6": "確認を押すと、報酬シェアが削除され、ミントキーが無効になります。" - }, - "sponsorshipspage": { - "schange1": "アクティブなスポンサーシップ", - "schange2": "アカウントアドレス", - "schange3": "アクティブなスポンサーシップの合計", - "schange4": "次のスポンサーシップが終了するまで", - "schange5": "新しいミンターのスポンサーになる", - "schange6": "終了したスポンサーシップ", - "schange7": "完了", - "schange8": "アドレス", - "schange9": "現在アクティブなスポンサーシップがありません", - "schange10": "公開鍵の検索", - "schange11": "コピー", - "schange12": "アドレスから公開鍵へのコンバーター", - "schange13": "アドレスを入力してください", - "schange14": "処理中", - "schange15": "仕上中", - "schange16": "以下のキーをコピーし、スポンサー付きと共有してください。", - "schange17": "クリップボードにコピーしました", - "schange18": "警告: 完了するまで、このプラグインを終了したり、Qortal UI を閉じたりしないでください。", - "schange19": "スポンサーシップ キーをコピー", - "schange20": "関係の構築中", - "schange21": "スポンサーシップ キーを削除" - }, - "explorerpage": { - "exp1": "検索するアドレスまたは名前", - "exp2": "アカウント残高", - "exp3": "詳細情報", - "exp4": "アドレスまたは名前が見つかりません!", - "exp5": "登録名は大文字と小文字を区別します。", - "exp6": "創設者", - "exp7": "情報", - "exp8": "すべての購入取引を表示", - "exp9": "すべての売却取引を表示", - "exp10": "購入履歴", - "exp11": "売却履歴", - "exp12": "まだ購入取引は行われていません。", - "exp13": "まだ売却取引は行われていません。", - "exp14": "全て表示", - "exp15": "ミント開始日", - "exp16": "ミント一時停止中", - "exp17": "すべての支出", - "exp18": "支出", - "exp19": "送付済", - "exp20": "受取済", - "exp21": "取引" - }, - "managegroup": { - "mg1": "グループメンバー", - "mg2": "グループに招待", - "mg3": "グループ管理者", - "mg4": "グループを更新", - "mg5": "グループの管理を閉じる", - "mg6": "バン", - "mg7": "キック", - "mg8": "グループID", - "mg9": "参加しました", - "mg10": "グループ管理者を追加", - "mg11": "このメンバーを管理者に追加しますか?", - "mg12": "確認を押すと、管理者に追加リクエストが送信されます!", - "mg13": "グループ管理者の削除", - "mg14": "管理者アドレスを削除", - "mg15": "このメンバーを管理者から削除しますか?", - "mg16": "確認を押すと、管理者の削除リクエストが送信されます!", - "mg17": "メンバーをグループからバン", - "mg18": "メンバー名", - "mg19": "メンバーアドレス", - "mg20": "バン期間", - "mg21": "バン理由", - "mg22": "このメンバーをグループからバンにしますか?", - "mg23": "確認を押すと、バンリクエストが送信されます!", - "mg24": "永久に", - "mg25": "バンされたメンバー", - "mg26": "バンを中止", - "mg27": "バン期限", - "mg28": "グループからのメンバーのバンを中止", - "mg29": "このメンバーをグループからのバンを中止しますか?", - "mg30": "確認を押すと、バン中止のリクエストが送信されます!", - "mg31": "グループからメンバーをキック", - "mg32": "キックの理由", - "mg33": "このメンバーをグループからキックしますか?", - "mg34": "確認を押すと、キックのリクエストが送信されます!", - "mg35": "未返答のグループ招待状はありません", - "mg36": "未返答のあなた宛のグループ招待状", - "mg37": "招待するアドレスまたは名前", - "mg38": "招待の有効期限", - "mg39": "すべての欄は必須です", - "mg40": "このメンバーをグループに招待しますか?", - "mg41": "確認を押すと、招待のリクエストが送信されます!", - "mg42": "グループタイプ", - "mg43": "招待の有効期限", - "mg44": "公開グループ", - "mg45": "非公開グループ", - "mg46": "招待を中止", - "mg47": "グループへの招待を中止", - "mg48": "このメンバーの招待を中止しますか?", - "mg49": "確認を押すと、招待中止のリクエストが送信されます!", - "mg50": "近日公開予定...", - "mg51": "最小 3 文字 / 最大 32 文字", - "mg52": "最大 128 文字", - "mg53": "未返答のあなた宛の参加リクエスト", - "mg54": "未返答の参加リクエストはありません", - "mg55": "このメンバーからの参加リクエストを承認しますか?", - "mg56": "確認を押すと、参加承認リクエストが送信されます!", - "mg57": "正常に参加リクエストが受け入れられました", - "mg58": "何か問題が発生しました", - "mg59": "正常に参加中止リクエストが受け入れられました", - "mg60": "このメンバーからの参加リクエストを中止しますか?", - "mg61": "確認を押すと、参加中止のリクエストが送信されます。" - }, - "info": { - "inf1": "取引所情報", - "inf2": "取引所情報を閉じる", - "inf3": "QORTを次の通貨で購入するための取引所です", - "inf4": "- 「売り板情報」は QORTの売り注文です。", - "inf5": "一度に購入できる注文は 1 つだけです。購入したい注文をクリックして", - "inf6": "[QORTを購入] の入力欄に反映させ、最後に[購入] をクリックします。", - "inf7": "自動購入情報", - "inf8": "自動購入情報を閉じる", - "inf9": "「自動購入」は、取引所で「購入注文」を発注できるようにする機能です。これらの「購入注文」は、発注者のみに表示され、売り板情報みたいに公開されておらずQortalブロックチェーンにも保存されません。自動購入は UI機能であるため、UIが実行中である必要があります。", - "inf10": "自動購入注文を行うには、[自動購入注文を追加] ボタンをクリックし、表示されるボックスに入力します。購入したい QORT の金額と、最大購入価格を入力します。一度注文がアクティブになると自動購入は、設定した価格まで、設定した量の QORT を購入します (最低注文価格から始めて設定した価格まで上げていきます)。", - "inf11": "UIを実行したままにしておくと、自動購入が残りの作業を自動的に実行します!", - "inf12": "UIで他のプラグイン(Q-Chat、ウォレットなど)を参照することはできますが、自動購入を完了させたい場合はUIを閉じないで下さい。UIを「タスクバー」か「パネル」上で「最小化」したままにするかUIを開いたままにしてあれば、自動購入が機能します。", - "inf13": "自動購入:", - "inf14": "を右記の通貨で", - "inf15": "アクティブな自動購入注文", - "inf16": "自動購入" - } - } diff --git a/locales/jp.json b/locales/jp.json index dfd09ca2..64eadec4 100644 --- a/locales/jp.json +++ b/locales/jp.json @@ -1,73 +1,38 @@ { - "__locale_name__": "日本語", "electron_translate_1": "Qortal UI を表示", - "electron_translate_2": "終了", - "electron_translate_3": "アップデートが利用可能", - "electron_translate_4": "新しいバージョンのQortal UIが利用可能です。ダウンロードしますか?", - "electron_translate_5": "今すぐインストール", - "electron_translate_6": "後で", - "electron_translate_7": "アップデートをインストールする準備ができました", - "electron_translate_8": "新しいバージョンのQortal UIをダウンロードしました。", - "electron_translate_9": "更新を適用する場合は[今すぐインストール]を、UI を更新しない場合は[後で]をクリックして下さい。", - "electron_translate_10": "更新に失敗しました。後で再試行します", - "electron_translate_11": "更新をダウンロード", - "electron_translate_12": "バックグラウンドでダウンロードされます!⌛️", - "electron_translate_13": "QORTAL COREを開始", - "electron_translate_14": "開始しない", - "electron_translate_15": "Qortal Coreはこのシステムでは実行されていません", - "electron_translate_16": "Qortal UIは、Qortal Coreがこのシステムで実行されていないことを検出しました", - "electron_translate_17": "このシステム上でQortal Coreを開始するには[QORTAL COREを開始]を、開始をスキップするには[開始しない]をクリックしてください", - "electron_translate_18": "QORTAL COREをダウンロード", - "electron_translate_19": "ダウンロードしない", - "electron_translate_20": "Qortal Coreが検出されませんでした", - "electron_translate_21": "Qortal UIは、Qortal Coreがこのシステムの(デフォルトの場所に)インストールされていないことを検出しました。", - "electron_translate_22": "Coreをダウンロードして(デフォルトの場所に)インストールする場合は[QORTAL COREをダウンロード]を、スキップする場合は[ダウンロードしない]をクリックして下さい。", - "electron_translate_23": "JAVAをダウンロード", - "electron_translate_24": "ダウンロードしない", - "electron_translate_25": "Javaがインストールされていません。", - "electron_translate_26": "Qortal UIは、Javaがシステムにインストールされていないことを検出しました。", - "electron_translate_27": "Javaをダウンロードしてインストールするには[JAVAをダウンロード]を、しない場合は[いいえ]をクリックして下さい。", - "electron_translate_28": "二度と表示しない", - "electron_translate_29": "設定を変更", - "electron_translate_30": "中止", - "electron_translate_31": "Core設定を開始", - "electron_translate_32": "Coreが実行されていない場合にCoreの開始を求める現在のステータスを変更します", - "electron_translate_33": "(「二度と表示しない」チェックボックスをオンまたはオフにします)", - "electron_translate_34": "設定" - -} +} \ No newline at end of file From fff8adb530d61bbc644141d5b4c896bf9b17152f Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 29 May 2023 03:31:40 -0400 Subject: [PATCH 027/112] Add new Japanese translations for review --- core/language/jp.json | 4 +++- locales/jp.json | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/language/jp.json b/core/language/jp.json index 8e72199a..1ab68639 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -1061,6 +1061,8 @@ "inf13": "自動購入:", "inf14": "を右記の通貨で", "inf15": "アクティブな自動購入注文", - "inf16": "自動購入" + "inf16": "自動購入", + "inf17": "ライトテーマに切り替える", + "inf18": "ダークテーマに切り替える" } } diff --git a/locales/jp.json b/locales/jp.json index 64eadec4..cfc901bc 100644 --- a/locales/jp.json +++ b/locales/jp.json @@ -34,5 +34,7 @@ "electron_translate_31": "Core設定を開始", "electron_translate_32": "Coreが実行されていない場合にCoreの開始を求める現在のステータスを変更します", "electron_translate_33": "(「二度と表示しない」チェックボックスをオンまたはオフにします)", - "electron_translate_34": "設定" + "electron_translate_34": "設定", + "electron_translate_35": "コピー", + "electron_translate_36": "貼り付け" } \ No newline at end of file From 203656b03108b422435dfc250f82a040c93c8559 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Mon, 29 May 2023 14:51:04 +0200 Subject: [PATCH 028/112] Add files via upload --- img/jp-flag-round-icon-32.png | Bin 0 -> 3040 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/jp-flag-round-icon-32.png diff --git a/img/jp-flag-round-icon-32.png b/img/jp-flag-round-icon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..42195ac0d6210300b3f4e1bdfe0b7521c813467c GIT binary patch literal 3040 zcmaJ@c|4SB8-7KLA!?L0OvAAoV~}Pt)|m+zgd!2Mn>34=kr_gZrAgU^vQ&J@$w4U< z4&^jiqwFaqgc3RtA^Aq9`o2HDzW4XO@3Z`_>$>mzxvxJSp}XtujUZJJ000}E95Ei^ z5wiMiSSS8-!^3CAg9;Dp!}DZOd0_+&1+XKth!ltugFvHrPzYo}NE5{h03>zkUOqe@ zybFrNV!#Ni7#N?y7PA4s%7)J-kb)^Z2$4dgGttoL>N+TdPDVq$E%0zW+kp~9cMRuH zJi}eRNa4XGBpGUB4YA^*!~zToj{xB_jxf0>J{tN>7bTvrZks?M-ypnTH1waOeDLlN z2Ns6{LBin1Bskm@Vu^&2;0U-m5kaOPrO1ygLphP%ETlrEDRQA24it(CZxdJASz&B=cwSFjIC|nYU z&gRisOvtJtfyfHwp`qez|0#pP{wd4kem^Slp_%XrY!g!$e6_3}Ks^5cLm7;pXfDr# z@}GSFr!dz`z^0gZP`Ip64oTcRs@7^KHp+oRA@EonFBa>_kCSu{V)0nqAQl^fFo#({ z^t|azGAoR$|BZmhqnwyr9)U@sIAPFGu>_1xC!^rF9rj419S(;z#hIF7F?N;+J=C+)OUsi5trdq51;twyh*s}K1cIaf z-260X3oRmo@LbNiZc(nQyZ1rJHgj(rh#v58IxDFgsZ{Qheg7ExoW}sJ*5JWqxB65# zQE$9ye7v#EKFRO&*}~=HZMUsWpX|7*2O{3kld}oi@a%}9g@uKl0qjxA?RNWRJ)U+A zGN@?21Yh?Y0VnCv*r!wR^rQSULN#@QZlJMj}87iatqM_#3 zm!7AV=3R7$&j4~I;o;WCuNGsTX$o6avG^0~9xKJT^-3R?+qVzW0@6MJUQ%BZ_*{`r z+YCs`%*eig2ZO`>-(x03spqHDS*7;KDBp7qD>VkkXCfk)DciE8g&tjvX;If$l&S*!3$JNZnn!_K2PA{Ys;t@biuZW*7SEp3&~l zmxYxF_|MJVcdL3A+&?w7unE9vf?_{USb8Vr+mfG!+Cx^xCD-lq?&n9pV=ry<&Ki z`*z!Fnxe*rk(9TQPmmw_){Mx}f|Q^2zB(EDZn}JT!&-%VcQ-Y6h}375wLt3o zX}@^5*Euk|wz?3AEUJdqMSl=I2sMd(v)hyI=$6u+vu#;$O+BHRs--Na#TUM{@TGJ- z`qI5uxsET<_My&yrZakIdqsszVF!3zK1#YjE+W>@<&5NCaEz6UPTJ`Pg>lt9TkTq9 z6=NTJ-Q8OS1FqB?k(5PVXTO0BT|EmtH4{_OZdN^aKWOZ zd6ixCJWxZR!innJD*N{18JuQRLquyq9hS} zCrj%ZsCuvA6@P9)ZX|PgL0vgMantY$Oj1m(Dm@*dwO~u zNhh*y^A}CN?NUI4jWo)tlT{)8g7kb@0^^IWENKf_OI{?oX1uicjZJ%KsDdm z;jLb;m&_q%%TY}1NT{B1x+)ncs_Lw|=5YXe2)gZT%t`lBun7jA< z3#sCp_8-8_f-egZZq8D6>m~V<{uRIhGnuq1wR!G|)cx@%J)#E>?M$yr?ENz*d&AhA zi@tFiSbp@kEhGK5J%LE|O7`RHvV)H+7X4+iuO$`ks!YQUuU<9lMcgG-B4i9YC_tl7Fv zuE7Qw^&?~u?a@#l4Q9Ll>6C7dlSJUMVG227S#{!l>o09DNUra?G^*%OOW%BJsptNkNW=8!nVn?J1!~{FbP)D@Ri_K<5#*HINITiJ zEgA!})qgbXV&3h{J?+zy(O$azIyhhnf1stfS1ZZLGdVqV2+ths5^mABtyk84Zr-i{ z(5kMQ8>_XmWq_$7A~YG_{$3w^!BOYov@S}AU3IrOR8-rY^t`)U^DMdKjrLj@^irad z1+F=KQ}Tez^A#8``ItG(+ju9o{CtBP}sSjuf~dw ztJv;6Rdkj3^%QQDdBK;39$e`XzPDA{(T3j;7X^N&RB^et6x+F&f8#}nF43}Ec5^HJ zW5k8ll`lRTc`{`X!=^itC4#+5&U=dLl)NT=KJQ;iD^l9_u>KG9Dan+0+POg$WL`gG&_5p!xW8%fWg45xTBa?+RD%-E51Jg_XDFD-{>ZrPZ_e{urgnXq8Xn+< zJ-=BnbosDn(We+@>5= zm7{q1paI6YM`O6Ig<)>rP@(P)L?ZYoW)%;bRS7)~+SGscr a1P5A9YgwuRy3wn5ZYQiOrqn+0 Date: Tue, 30 May 2023 18:02:20 +0200 Subject: [PATCH 029/112] Updated Chromium to 114.0.5735.45 --- package-lock.json | 438 +++++++++++++++++++++++----------------------- package.json | 18 +- 2 files changed, 230 insertions(+), 226 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9831ec2b..47b9cec2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "short-unique-id": "4.4.4" }, "devDependencies": { - "@babel/core": "7.21.8", + "@babel/core": "7.22.1", "@material/mwc-button": "0.27.0", "@material/mwc-checkbox": "0.27.0", "@material/mwc-dialog": "0.27.0", @@ -91,20 +91,20 @@ "@rollup/plugin-node-resolve": "15.0.2", "@rollup/plugin-replace": "5.0.2", "@rollup/plugin-terser": "0.4.3", - "@vaadin/avatar": "24.0.6", - "@vaadin/button": "24.0.6", - "@vaadin/grid": "24.0.6", - "@vaadin/icons": "24.0.6", - "@vaadin/password-field": "24.0.6", - "@vaadin/tooltip": "24.0.6", + "@vaadin/avatar": "24.0.7", + "@vaadin/button": "24.0.7", + "@vaadin/grid": "24.0.7", + "@vaadin/icons": "24.0.7", + "@vaadin/password-field": "24.0.7", + "@vaadin/tooltip": "24.0.7", "@zip.js/zip.js": "2.7.14", "axios": "1.4.0", - "electron": "24.4.0", + "electron": "25.0.0", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", "file-saver": "2.0.5", - "highcharts": "10.3.3", + "highcharts": "11.0.1", "html-escaper": "3.0.3", "is-electron": "2.2.2", "lit": "2.7.4", @@ -147,28 +147,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.9.tgz", - "integrity": "sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", + "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", - "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", + "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-compilation-targets": "^7.21.5", - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helpers": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/generator": "^7.22.0", + "@babel/helper-compilation-targets": "^7.22.1", + "@babel/helper-module-transforms": "^7.22.1", + "@babel/helpers": "^7.22.0", + "@babel/parser": "^7.22.0", + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -184,11 +184,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.9.tgz", - "integrity": "sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", + "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", "dependencies": { - "@babel/types": "^7.21.5", + "@babel/types": "^7.22.3", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -198,11 +198,11 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", - "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", + "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", "dependencies": { - "@babel/compat-data": "^7.21.5", + "@babel/compat-data": "^7.22.0", "@babel/helper-validator-option": "^7.21.0", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", @@ -216,9 +216,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", - "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", + "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", "engines": { "node": ">=6.9.0" } @@ -258,18 +258,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "version": "7.22.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", + "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-module-imports": "^7.21.4", "@babel/helper-simple-access": "^7.21.5", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.0" }, "engines": { "node": ">=6.9.0" @@ -330,13 +330,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", + "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.21.9", + "@babel/traverse": "^7.22.1", + "@babel/types": "^7.22.3" }, "engines": { "node": ">=6.9.0" @@ -356,9 +356,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.9.tgz", - "integrity": "sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", + "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -420,9 +420,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", + "version": "7.22.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", + "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -444,18 +444,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", - "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", + "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", "dependencies": { "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.5", - "@babel/helper-environment-visitor": "^7.21.5", + "@babel/generator": "^7.22.3", + "@babel/helper-environment-visitor": "^7.22.1", "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.5", - "@babel/types": "^7.21.5", + "@babel/parser": "^7.22.4", + "@babel/types": "^7.22.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -464,9 +464,9 @@ } }, "node_modules/@babel/types": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", - "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "version": "7.22.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", + "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", "dependencies": { "@babel/helper-string-parser": "^7.21.5", "@babel/helper-validator-identifier": "^7.19.1", @@ -2625,9 +2625,9 @@ } }, "node_modules/@popperjs/core": { - "version": "2.11.7", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz", - "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==", + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -3310,9 +3310,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.16.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.14.tgz", - "integrity": "sha512-+ImzUB3mw2c5ISJUq0punjDilUQ5GnUim0ZRvchHIWJmOC0G+p0kzhXBqj6cDjK0QdPFwzrHWgrJp3RPvCG5qg==", + "version": "18.16.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.16.tgz", + "integrity": "sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==", "devOptional": true }, "node_modules/@types/object.omit": { @@ -3398,57 +3398,57 @@ } }, "node_modules/@vaadin/avatar": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/avatar/-/avatar-24.0.6.tgz", - "integrity": "sha512-/Watxwbb3gfjPwBE/eXEduwcqPR4N5SANP+jDT0jUpCIYa/KB+WYe+XuIuEey672KhHf80vh2HyRLoefsF+uZA==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/avatar/-/avatar-24.0.7.tgz", + "integrity": "sha512-rYlTvuStV6PUCyW5nMhVOc7+Ne1BgTZCinB4roDA7RU74pNKBAtfAXfTGIyTmntZQXLJtafM55Hd+DNugy8HNw==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/item": "~24.0.6", - "@vaadin/list-box": "~24.0.6", - "@vaadin/overlay": "~24.0.6", - "@vaadin/tooltip": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/component-base": "~24.0.7", + "@vaadin/item": "~24.0.7", + "@vaadin/list-box": "~24.0.7", + "@vaadin/overlay": "~24.0.7", + "@vaadin/tooltip": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/button": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/button/-/button-24.0.6.tgz", - "integrity": "sha512-i1TBUQBb3A2WzboFGixMFaLMe33SgT1SwWXhfyNeAANDkyK4CLdxFJzGAaY3gt7/LkB40AXA3fC26LU8e9D/nA==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/button/-/button-24.0.7.tgz", + "integrity": "sha512-UP3Fd0pUtKEfpcAWf3mCCTZzaatDJoyexryc2tj2laDH+it2We8TIKwtc/CHexqIKABOeIyNdggXIM/DJdovDA==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6", + "@vaadin/component-base": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7", "lit": "^2.0.0" } }, "node_modules/@vaadin/checkbox": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.0.6.tgz", - "integrity": "sha512-VSKr57Y9IrixZblfwtXrsRhO5WbZR8lo8IADJGyeajyTnPqynhUHXdoW7IiAGzOXvPg2T9MoaKhSB+jFQKNO+g==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.0.7.tgz", + "integrity": "sha512-BzqtC0sH6aUCh+FHWHofltn7by2y66UV/KFVfyb/iQZIvtcg8P0jhKHVCPnniga3AuptYvMzLTF7eg7249lFYA==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/field-base": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6", + "@vaadin/component-base": "~24.0.7", + "@vaadin/field-base": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7", "lit": "^2.0.0" } }, "node_modules/@vaadin/component-base": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.0.6.tgz", - "integrity": "sha512-N/meLmKUXjPPDQKNaF5xVbhZLZN7+3GaymWHZC8bFYl0sjhodk55ijiO3xlDeCbbNrO4iTStvG2FaXhXcravqA==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.0.7.tgz", + "integrity": "sha512-+yT+i3wSviz5fXxHuzoXZZCDgr8/0rUBHx2TqYlu7Jw95yWRnTtOcRJCHXpw/zIfK7h0QYY4WhQatQA3+eiD6A==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -3459,165 +3459,165 @@ } }, "node_modules/@vaadin/field-base": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.0.6.tgz", - "integrity": "sha512-iIg8D+sF1m0dTIEsRefTHgo2UmgQD20DCQxWR0GDCn2IvHJrR9PGuA0alLmPT7GOVR0LpS3sV0PNciy8kyDmOw==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.0.7.tgz", + "integrity": "sha512-Ndl5hR3rPcM2ShXW+z3bMVxDB5QW8Vk1um84lQxvHG6FANZsZbHQjiyh6S6aQjg/7nEv3OQlI8xMV17gqYeCIg==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", + "@vaadin/component-base": "~24.0.7", "lit": "^2.0.0" } }, "node_modules/@vaadin/grid": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.0.6.tgz", - "integrity": "sha512-6r8p5KivHhA1hEO0FzXHQllmsav78URHbsX5DHeskSCDquku8PQnbSS4EhmGaprzMxuI2YwbMsLe9xUBY5qi9Q==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.0.7.tgz", + "integrity": "sha512-/3/KopkriLhO8ly5EkqG9oSIFAXzYiW74B7hp/wCCjgcjpbvKaO2UuqCVNCEn9z1tDkf1YxAHl6PWMb+HH9+Zw==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/checkbox": "~24.0.6", - "@vaadin/component-base": "~24.0.6", - "@vaadin/lit-renderer": "~24.0.6", - "@vaadin/text-field": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/checkbox": "~24.0.7", + "@vaadin/component-base": "~24.0.7", + "@vaadin/lit-renderer": "~24.0.7", + "@vaadin/text-field": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/icon": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.0.6.tgz", - "integrity": "sha512-lAx8pShK0Fl7Dab7jBgCfLm6DU8/xgymTECwm17+ZXk+dxpuI0P74Wzbk7HRxwVgtB++5cmj9FWxft9CnKnB8g==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.0.7.tgz", + "integrity": "sha512-6sY7MM9ILKOvaDk8+OxLh69EKssXbiCERELIrexoXeuvQy0C8aN188jbSH9PJZs56w7AMlOCaH5GseN+Z9Gnqw==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6", + "@vaadin/component-base": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7", "lit": "^2.0.0" } }, "node_modules/@vaadin/icons": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/icons/-/icons-24.0.6.tgz", - "integrity": "sha512-ahwm8X/OnHGe6/X9UyZ6lN1KX36RpU0eBToemiFpjjzjY5d4GUOSI7a7KbK7W3y8r8VibK/6J68neqpg8Yc15w==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/icons/-/icons-24.0.7.tgz", + "integrity": "sha512-PkZMrCdCpXPN2z8GK1t5S6S15buz1c0neIRbHsXn8mYNsLf1qf4IqGeXm52zJHApo+tjKteV5ksw45rJvfcXGQ==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/icon": "~24.0.6" + "@vaadin/icon": "~24.0.7" } }, "node_modules/@vaadin/input-container": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.0.6.tgz", - "integrity": "sha512-/JC3v+apVDavV68zDZPhlDriQsArMgnHFHqrXJyB1pQx9lzAs6I3NCT7U8nJFWJKbRuzwKasPQJ60hGASUuL/A==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.0.7.tgz", + "integrity": "sha512-NccYViCYzGdkMG8S7rzMKsByObjHjc4rWKTPFcOEnNntakGI5pn3YcYsHXLZkyUkBA2oZy3mH77KPvxVUm3yOg==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/component-base": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/item": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/item/-/item-24.0.6.tgz", - "integrity": "sha512-3YYphu8qfjIRKgj8tjKdurMoVFp787p0u22kMB37DUTDuxZKgghWV8yzshq4btQtpf0SAi02kDb1KLSirkIgfg==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/item/-/item-24.0.7.tgz", + "integrity": "sha512-sDUqfaw0ffZwlcMByGV0ZK8XZInNmZr6CvrZpK+exDeEGgkQVjjq/QCYm/ZUcu4+zpivX+JYLYE9FUpAAiSu8Q==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/component-base": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/list-box": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/list-box/-/list-box-24.0.6.tgz", - "integrity": "sha512-qTdUz31+PjQqZ+zHfbc5GIGe1ofDyLgF+ajiD5B91VOO6WnNYxNUX7v6Wm8h21rTsLVSOqFLRD+jf5EPdfi+Xw==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/list-box/-/list-box-24.0.7.tgz", + "integrity": "sha512-i6ZZzPMp4jE4A2qOeor2oXZSkRe44J4yBc/dz16Z0AiYTzopHiz/cDJkujD8+VvGJZlmumFgrFs6LKyHQdjqkA==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/item": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/component-base": "~24.0.7", + "@vaadin/item": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/lit-renderer": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.0.6.tgz", - "integrity": "sha512-aWtirzOrrLwKAHQPhS1j2GauljBPVb4lkxiBtDi39ThWeecLCiGnzBHt0vsMGALgpEdCerBXJZv5oI6o5Y2tMw==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.0.7.tgz", + "integrity": "sha512-MfrMmtaQVaWwsUilHlHFoZ4n00+UXlHOdDxzyKIY7ll0gfWFUNy6xJl5iog1AtClRyYdthE+yZw2s8yxDU1iCQ==", "dev": true, "dependencies": { "lit": "^2.0.0" } }, "node_modules/@vaadin/overlay": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/overlay/-/overlay-24.0.6.tgz", - "integrity": "sha512-Cx30TMl4VnRdvFgDHY8VHkyFApps9nMZaR64WQ1tlpCpukA0Sy1Yia5e2p3CeVwdTpQ/XrbnyZz2HMKd3mKh3g==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/overlay/-/overlay-24.0.7.tgz", + "integrity": "sha512-42ZrEJtLVdoN971cDxpRXCuocEOhdHox94vz7b6rj/GGBUMeEX3KS7SEEXkE5q1yesev0mDT99i8k6pE1qnFdA==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/component-base": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/password-field": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/password-field/-/password-field-24.0.6.tgz", - "integrity": "sha512-AFXNPRhy+HU6vx7LckhyRsN2RjyWiCL41VtWmpKdjgRfqLielsLRaYfQatRKj35fGCB/oPwf8QiPaeKoUDfvwQ==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/password-field/-/password-field-24.0.7.tgz", + "integrity": "sha512-8jJiVFaanc3Yw8vzTCaF6rlUeecv8sALw0u4G8JVP+sSWih1bAr0yhVJo9cfz6OLqrht2P201+k0qoxrSirhPA==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/button": "~24.0.6", - "@vaadin/component-base": "~24.0.6", - "@vaadin/text-field": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/button": "~24.0.7", + "@vaadin/component-base": "~24.0.7", + "@vaadin/text-field": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/text-field": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.0.6.tgz", - "integrity": "sha512-Uc+Eqy96vQF8fh1YpmsnyiARthOC76uQqTylflnP4rKkQxwF5vpC6pYSaFQs3YPCofaO6jQwEmwpVs7cdZK4Xw==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.0.7.tgz", + "integrity": "sha512-NYOB3dTYy/OEYOhkJGtW+kgPn7zmbIQ8+IhM3PqgfbpDNXQo34P3Nr6dKpk6ceCc4jIn1IS/oInSsRynhjkyMw==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/field-base": "~24.0.6", - "@vaadin/input-container": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6", + "@vaadin/component-base": "~24.0.7", + "@vaadin/field-base": "~24.0.7", + "@vaadin/input-container": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7", "lit": "^2.0.0" } }, "node_modules/@vaadin/tooltip": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/tooltip/-/tooltip-24.0.6.tgz", - "integrity": "sha512-+y21lN3bbtdBb1TH4myAfFo87AFMskrJ3DdW/g7xe4nJQ+HtnjbULIDrA54zI3vHIQVd0ruHwQ1itYP1T0XSyw==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/tooltip/-/tooltip-24.0.7.tgz", + "integrity": "sha512-xQwaKPLWFxiYwXyFmt6zThlP9JKPysW9/9DdOTE0zSfMSapnfsO2CC5w4BFJM7cDV9NBGCjbE8rpVGBG63LxQA==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.6", - "@vaadin/overlay": "~24.0.6", - "@vaadin/vaadin-lumo-styles": "~24.0.6", - "@vaadin/vaadin-material-styles": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/component-base": "~24.0.7", + "@vaadin/overlay": "~24.0.7", + "@vaadin/vaadin-lumo-styles": "~24.0.7", + "@vaadin/vaadin-material-styles": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/vaadin-development-mode-detector": { @@ -3627,30 +3627,30 @@ "dev": true }, "node_modules/@vaadin/vaadin-lumo-styles": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.0.6.tgz", - "integrity": "sha512-2eQYMajBWkSlKcotFHebFiw5JLWVh6DP3NQXjHbij7avzcD4EiAlbJ5spOfWrr4n8tsjkKNXZdZ0KNO/1EhxMQ==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.0.7.tgz", + "integrity": "sha512-R7J2NUQYSE8PfujOahEKz3QKmS9ArZ6aK5RqwudojHPArgib9XoSL8QbRMALucPKRwSNR+k92DWnpd2eiIVT3w==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/icon": "~24.0.6", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/icon": "~24.0.7", + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/vaadin-material-styles": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.0.6.tgz", - "integrity": "sha512-ESdPk7TkMVQQ8Otn2VdVacTK4HQ4rLvoJ981IXG3nFEUgx7uH/fUL/X7fLYTjPHI8wswTp5MuZeb5ZiF/QlKjg==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.0.7.tgz", + "integrity": "sha512-ryuhcYqP08oDdXVijSRyMv/HHvfNiPwvBIRmXEuIdoneh0sE4MXKM+7DcHpZOumqOYd7RTtlx4X6GXzytqHnQw==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-themable-mixin": "~24.0.6" + "@vaadin/vaadin-themable-mixin": "~24.0.7" } }, "node_modules/@vaadin/vaadin-themable-mixin": { - "version": "24.0.6", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.0.6.tgz", - "integrity": "sha512-eScErcbxzKTHhG5E5MWKhIrnwUkbrkjmvpGSccdPUk8a9T1WJvHJGUiw6Ne+mFJtrlctU253iHjpx7GGAyd7jg==", + "version": "24.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.0.7.tgz", + "integrity": "sha512-Z4Cqxy+WeClN8GcDKWupl2OXoSwC7+lAUIibsm5agQLRHLcuArNOWY5c/i3Xw8mKzQGLyAaCIAOQ1tmLtcHsbw==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -4163,9 +4163,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz", + "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==", "funding": [ { "type": "opencollective", @@ -4174,13 +4174,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001489", + "electron-to-chromium": "^1.4.411", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -4445,9 +4449,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001489", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", - "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", + "version": "1.0.30001491", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001491.tgz", + "integrity": "sha512-17EYIi4TLnPiTzVKMveIxU5ETlxbSO3B6iPvMbprqnKh4qJsQGk5Nh1Lp4jIMAE0XfrujsJuWZAM3oJdMHaKBA==", "funding": [ { "type": "opencollective", @@ -5107,9 +5111,9 @@ } }, "node_modules/electron": { - "version": "24.4.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-24.4.0.tgz", - "integrity": "sha512-A9YzLHRUA+HfYVf2daNv0jPXNCWShgcgcTaGntrZRGynQLEhDTbti9Lfmq2tjRKoEgXZ7qj+aJFw+tJZsT/Cfw==", + "version": "25.0.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-25.0.0.tgz", + "integrity": "sha512-8Bjlpw52XW447RKjYGaaizWI4x0dv4gATNn7ssuonySbDgeJNqUnIJQGBrpXyB3VUROVmhXnTWB9VWRzv6uVlA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -5603,9 +5607,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.407", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.407.tgz", - "integrity": "sha512-5smEvFSFYMv90tICOzRVP7Opp98DAC4KW7RRipg3BuNpGbbV3N+x24Zh3sbLb1T5haGtOSy/hrBfXsWnIM9aCg==" + "version": "1.4.413", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.413.tgz", + "integrity": "sha512-Gd+/OAhRca06dkVxIQo/W7dr6Nmk9cx6lQdZ19GvFp51k5B/lUAokm6SJfNkdV8kFLsC3Z4sLTyEHWCnB1Efbw==" }, "node_modules/electron-updater": { "version": "5.3.0", @@ -6502,9 +6506,9 @@ } }, "node_modules/highcharts": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-10.3.3.tgz", - "integrity": "sha512-r7wgUPQI9tr3jFDn3XT36qsNwEIZYcfgz4mkKEA6E4nn5p86y+u1EZjazIG4TRkl5/gmGRtkBUiZW81g029RIw==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-11.0.1.tgz", + "integrity": "sha512-KRwNwm6kJsp3JxNSpORuWLzvLnPuqCR3n0qbGjw+0m6MIxrlkUWnFaZJ2uXjMur6j3RUC66te36tldlSheYydQ==", "dev": true }, "node_modules/hosted-git-info": { @@ -6903,9 +6907,9 @@ } }, "node_modules/jake": { - "version": "10.8.6", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.6.tgz", - "integrity": "sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==", + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dev": true, "dependencies": { "async": "^3.2.3", @@ -8712,9 +8716,9 @@ } }, "node_modules/smob": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/smob/-/smob-1.1.1.tgz", - "integrity": "sha512-i5aqEBPnDv9d77+NDxfjROtywxzNdAVNyaOr+RsLhM28Ts+Ar7luIp/Q+SBYa6wv/7BBcOpEkrhtDxsl2WA9Jg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", + "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", "dev": true }, "node_modules/sort-keys": { diff --git a/package.json b/package.json index a387d2f8..7f849cd7 100644 --- a/package.json +++ b/package.json @@ -71,12 +71,12 @@ }, "devDependencies": { "axios": "1.4.0", - "electron": "24.4.0", + "electron": "25.0.0", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", "file-saver": "2.0.5", - "highcharts": "10.3.3", + "highcharts": "11.0.1", "html-escaper": "3.0.3", "is-electron": "2.2.2", "lit": "2.7.4", @@ -90,7 +90,7 @@ "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", "shelljs": "0.8.5", - "@babel/core": "7.21.8", + "@babel/core": "7.22.1", "@material/mwc-button": "0.27.0", "@material/mwc-checkbox": "0.27.0", "@material/mwc-dialog": "0.27.0", @@ -132,12 +132,12 @@ "@rollup/plugin-node-resolve": "15.0.2", "@rollup/plugin-replace": "5.0.2", "@rollup/plugin-terser": "0.4.3", - "@vaadin/avatar": "24.0.6", - "@vaadin/button": "24.0.6", - "@vaadin/grid": "24.0.6", - "@vaadin/icons": "24.0.6", - "@vaadin/password-field": "24.0.6", - "@vaadin/tooltip": "24.0.6", + "@vaadin/avatar": "24.0.7", + "@vaadin/button": "24.0.7", + "@vaadin/grid": "24.0.7", + "@vaadin/icons": "24.0.7", + "@vaadin/password-field": "24.0.7", + "@vaadin/tooltip": "24.0.7", "@zip.js/zip.js": "2.7.14" }, "engines": { From 282a9a7318bd4fd57ca09768730d58f678aa6ce8 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 30 May 2023 19:13:24 +0200 Subject: [PATCH 030/112] Replace --- .../become-minter/components/not-sponsored.js | 137 ++++++++++++++++++ .../become-minter/components/yes-sponsored.js | 114 +++++++++++++++ 2 files changed, 251 insertions(+) create mode 100644 plugins/plugins/core/become-minter/components/not-sponsored.js create mode 100644 plugins/plugins/core/become-minter/components/yes-sponsored.js diff --git a/plugins/plugins/core/become-minter/components/not-sponsored.js b/plugins/plugins/core/become-minter/components/not-sponsored.js new file mode 100644 index 00000000..c298b55c --- /dev/null +++ b/plugins/plugins/core/become-minter/components/not-sponsored.js @@ -0,0 +1,137 @@ +import { LitElement, html } from 'lit'; +import { Epml } from '../../../../epml.js'; +import '../../components/ButtonIconCopy.js'; +import { use, translate, registerTranslateConfig } from 'lit-translate'; + +registerTranslateConfig({ + loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), +}); + +import '@polymer/paper-spinner/paper-spinner-lite.js'; +import '@material/mwc-button'; +import '@material/mwc-textfield'; +import '@vaadin/button'; +import { pageStyles } from '../become-minter-css.src.js'; + +const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }); + +class NotSponsored extends LitElement { + static properties = { + atMount: { type: Function }, + isLoadingSponsorshipKeySubmit: { type: Boolean }, + sponsorshipKeyValue: { type: String }, + addMintingAccountMessage: { type: String }, + }; + + static styles = [pageStyles]; + + constructor() { + super(); + this.isLoadingSponsorshipKeySubmit = false; + this.sponsorshipKeyValue = ''; + this.addMintingAccountMessage = ''; + this.atMount = () => {}; + } + + renderErr1Text() { + return html`${translate('nodepage.nchange27')}`; + } + + renderErr2Text() { + return html`${translate('nodepage.nchange28')}`; + } + + getApiKey() { + const myNode = + window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ + window.parent.reduxStore.getState().app.nodeConfig.node + ]; + let apiKey = myNode.apiKey; + return apiKey; + } + + addMintingAccount(e) { + this.isLoadingSponsorshipKeySubmit = true; + this.addMintingAccountMessage = 'Loading...'; + + parentEpml + .request('apiCall', { + url: `/admin/mintingaccounts?apiKey=${this.getApiKey()}`, + method: 'POST', + body: this.sponsorshipKeyValue, + }) + .then((res) => { + if (res === true) { + // refetch data + this.atMount(); + this.sponsorshipKeyValue = ''; + this.addMintingAccountMessage = this.renderErr1Text(); + this.isLoadingSponsorshipKeySubmit = false; + } else { + this.sponsorshipKeyValue = ''; + this.addMintingAccountMessage = this.renderErr2Text(); + this.isLoadingSponsorshipKeySubmit = false; + } + }); + } + + inputHandler(e) { + this.sponsorshipKeyValue = e.target.value; + } + + render() { + return html` +
+
+

+ ${translate('mintingpage.mchange33')} +

+

+ ${translate('mintingpage.mchange34')} +

+

+ ${translate('mintingpage.mchange35')} +

+

+ ${translate('mintingpage.mchange36')} +

+

+ ${translate('mintingpage.mchange37')} +

+ +

${this.addMintingAccountMessage}

+
+
+ + +
+ +
+ + ${this.isLoadingSponsorshipKeySubmit === false + ? html`${translate('puzzlepage.pchange15')}` + : html` + + `} + +
+
+
+
+ `; + } +} + +window.customElements.define('not-sponsored', NotSponsored); diff --git a/plugins/plugins/core/become-minter/components/yes-sponsored.js b/plugins/plugins/core/become-minter/components/yes-sponsored.js new file mode 100644 index 00000000..901c48d3 --- /dev/null +++ b/plugins/plugins/core/become-minter/components/yes-sponsored.js @@ -0,0 +1,114 @@ +import { LitElement, html } from 'lit'; +import { Epml } from '../../../../epml.js'; +import '../../components/ButtonIconCopy.js'; +import { use, translate, registerTranslateConfig } from 'lit-translate'; + +registerTranslateConfig({ + loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), +}); + +import '@polymer/paper-spinner/paper-spinner-lite.js'; +import '@material/mwc-button'; +import '@material/mwc-textfield'; +import '@vaadin/button'; +import { blocksNeed } from '../../../utils/blocks-needed.js'; +import { pageStyles } from '../become-minter-css.src.js'; + +class YesSponsored extends LitElement { + static get properties() { + return { + addressInfo: { type: Object }, + rewardSharePublicKey: { type: String }, + isMinting: {type: Boolean} + }; + } + + constructor() { + super(); + + this.addressInfo = {}; + this.rewardSharePublicKey = ''; + this.isMinting = false + } + + static styles = [pageStyles]; + + _levelUpBlocks() { + let countBlocksString = ( + blocksNeed(0) - + (this.addressInfo?.blocksMinted + + this.addressInfo?.blocksMintedAdjustment) + ).toString(); + return countBlocksString; + } + + render() { + return html` +
+
+
+ + ${translate('becomeMinterPage.bchange10')} + +
+
+
+
+
+ + ${translate('walletpage.wchange41')} + +
+ ${this.isMinting ? html` +

${translate('becomeMinterPage.bchange12')}

+ ` : html` +

${translate('mintingpage.mchange9')}

+ `} +
+
+
+
+ + ${translate('becomeMinterPage.bchange13')} + +
+

+ ${this._levelUpBlocks()} + ${translate('mintingpage.mchange26')} +

+
+
+
+
+ + ${translate('becomeMinterPage.bchange15')} + +
+

+ ${translate('becomeMinterPage.bchange16')} +

+
+

+ ${this.rewardSharePublicKey} +

+ + +
+
+
+
+
+ `; + } +} + +window.customElements.define('yes-sponsored', YesSponsored); From ec1ee4eb0721ff82b327257c807bbb3a32089384 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 30 May 2023 19:13:59 +0200 Subject: [PATCH 031/112] replaced --- .../components/not-sponsored.src.js | 137 ------------------ 1 file changed, 137 deletions(-) delete mode 100644 plugins/plugins/core/become-minter/components/not-sponsored.src.js diff --git a/plugins/plugins/core/become-minter/components/not-sponsored.src.js b/plugins/plugins/core/become-minter/components/not-sponsored.src.js deleted file mode 100644 index c298b55c..00000000 --- a/plugins/plugins/core/become-minter/components/not-sponsored.src.js +++ /dev/null @@ -1,137 +0,0 @@ -import { LitElement, html } from 'lit'; -import { Epml } from '../../../../epml.js'; -import '../../components/ButtonIconCopy.js'; -import { use, translate, registerTranslateConfig } from 'lit-translate'; - -registerTranslateConfig({ - loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), -}); - -import '@polymer/paper-spinner/paper-spinner-lite.js'; -import '@material/mwc-button'; -import '@material/mwc-textfield'; -import '@vaadin/button'; -import { pageStyles } from '../become-minter-css.src.js'; - -const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }); - -class NotSponsored extends LitElement { - static properties = { - atMount: { type: Function }, - isLoadingSponsorshipKeySubmit: { type: Boolean }, - sponsorshipKeyValue: { type: String }, - addMintingAccountMessage: { type: String }, - }; - - static styles = [pageStyles]; - - constructor() { - super(); - this.isLoadingSponsorshipKeySubmit = false; - this.sponsorshipKeyValue = ''; - this.addMintingAccountMessage = ''; - this.atMount = () => {}; - } - - renderErr1Text() { - return html`${translate('nodepage.nchange27')}`; - } - - renderErr2Text() { - return html`${translate('nodepage.nchange28')}`; - } - - getApiKey() { - const myNode = - window.parent.reduxStore.getState().app.nodeConfig.knownNodes[ - window.parent.reduxStore.getState().app.nodeConfig.node - ]; - let apiKey = myNode.apiKey; - return apiKey; - } - - addMintingAccount(e) { - this.isLoadingSponsorshipKeySubmit = true; - this.addMintingAccountMessage = 'Loading...'; - - parentEpml - .request('apiCall', { - url: `/admin/mintingaccounts?apiKey=${this.getApiKey()}`, - method: 'POST', - body: this.sponsorshipKeyValue, - }) - .then((res) => { - if (res === true) { - // refetch data - this.atMount(); - this.sponsorshipKeyValue = ''; - this.addMintingAccountMessage = this.renderErr1Text(); - this.isLoadingSponsorshipKeySubmit = false; - } else { - this.sponsorshipKeyValue = ''; - this.addMintingAccountMessage = this.renderErr2Text(); - this.isLoadingSponsorshipKeySubmit = false; - } - }); - } - - inputHandler(e) { - this.sponsorshipKeyValue = e.target.value; - } - - render() { - return html` -
-
-

- ${translate('mintingpage.mchange33')} -

-

- ${translate('mintingpage.mchange34')} -

-

- ${translate('mintingpage.mchange35')} -

-

- ${translate('mintingpage.mchange36')} -

-

- ${translate('mintingpage.mchange37')} -

- -

${this.addMintingAccountMessage}

-
-
- - -
- -
- - ${this.isLoadingSponsorshipKeySubmit === false - ? html`${translate('puzzlepage.pchange15')}` - : html` - - `} - -
-
-
-
- `; - } -} - -window.customElements.define('not-sponsored', NotSponsored); From 68d59b9dfd5c8b92bd102a83f34575546cfcc4ec Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 30 May 2023 19:14:21 +0200 Subject: [PATCH 032/112] replaced --- .../components/yes-sponsored.src.js | 114 ------------------ 1 file changed, 114 deletions(-) delete mode 100644 plugins/plugins/core/become-minter/components/yes-sponsored.src.js diff --git a/plugins/plugins/core/become-minter/components/yes-sponsored.src.js b/plugins/plugins/core/become-minter/components/yes-sponsored.src.js deleted file mode 100644 index 901c48d3..00000000 --- a/plugins/plugins/core/become-minter/components/yes-sponsored.src.js +++ /dev/null @@ -1,114 +0,0 @@ -import { LitElement, html } from 'lit'; -import { Epml } from '../../../../epml.js'; -import '../../components/ButtonIconCopy.js'; -import { use, translate, registerTranslateConfig } from 'lit-translate'; - -registerTranslateConfig({ - loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), -}); - -import '@polymer/paper-spinner/paper-spinner-lite.js'; -import '@material/mwc-button'; -import '@material/mwc-textfield'; -import '@vaadin/button'; -import { blocksNeed } from '../../../utils/blocks-needed.js'; -import { pageStyles } from '../become-minter-css.src.js'; - -class YesSponsored extends LitElement { - static get properties() { - return { - addressInfo: { type: Object }, - rewardSharePublicKey: { type: String }, - isMinting: {type: Boolean} - }; - } - - constructor() { - super(); - - this.addressInfo = {}; - this.rewardSharePublicKey = ''; - this.isMinting = false - } - - static styles = [pageStyles]; - - _levelUpBlocks() { - let countBlocksString = ( - blocksNeed(0) - - (this.addressInfo?.blocksMinted + - this.addressInfo?.blocksMintedAdjustment) - ).toString(); - return countBlocksString; - } - - render() { - return html` -
-
-
- - ${translate('becomeMinterPage.bchange10')} - -
-
-
-
-
- - ${translate('walletpage.wchange41')} - -
- ${this.isMinting ? html` -

${translate('becomeMinterPage.bchange12')}

- ` : html` -

${translate('mintingpage.mchange9')}

- `} -
-
-
-
- - ${translate('becomeMinterPage.bchange13')} - -
-

- ${this._levelUpBlocks()} - ${translate('mintingpage.mchange26')} -

-
-
-
-
- - ${translate('becomeMinterPage.bchange15')} - -
-

- ${translate('becomeMinterPage.bchange16')} -

-
-

- ${this.rewardSharePublicKey} -

- - -
-
-
-
-
- `; - } -} - -window.customElements.define('yes-sponsored', YesSponsored); From ea3b8986f551050460f108fff16611fd4574b9b2 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Tue, 30 May 2023 19:15:31 +0200 Subject: [PATCH 033/112] Added copy paste --- .../plugins/core/become-minter/become-minter.src.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/plugins/core/become-minter/become-minter.src.js b/plugins/plugins/core/become-minter/become-minter.src.js index d8a10ca0..4f7cf61f 100644 --- a/plugins/plugins/core/become-minter/become-minter.src.js +++ b/plugins/plugins/core/become-minter/become-minter.src.js @@ -3,6 +3,7 @@ import { Epml } from '../../../epml.js' import '../components/ButtonIconCopy.js' import { use, translate, registerTranslateConfig } from 'lit-translate' import { blocksNeed } from '../../utils/blocks-needed.js' +import isElectron from 'is-electron' registerTranslateConfig({ loader: (lang) => fetch(`/language/${lang}.json`).then((res) => res.json()), @@ -13,8 +14,8 @@ import '@material/mwc-button' import '@material/mwc-textfield' import '@vaadin/button' import { pageStyles } from './become-minter-css.src.js' -import './components/not-sponsored.src' -import './components/yes-sponsored.src' +import './components/not-sponsored.js' +import './components/yes-sponsored.js' const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) @@ -126,6 +127,13 @@ class BecomeMinter extends LitElement { async firstUpdated() { await this.atMount() + if (!isElectron()) { + } else { + window.addEventListener('contextmenu', (event) => { + event.preventDefault() + window.parent.electronAPI.showMyMenu() + }) + } } async getRewardShareRelationship(recipientAddress) { From 2cd7c6b709a69667b8132d1acbbbe6764921b4ea Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Wed, 31 May 2023 00:03:36 -0400 Subject: [PATCH 034/112] Update Japanese (credit: R M) & add new text --- core/language/jp.json | 86 ++++++++++++++++++++++--------------------- locales/jp.json | 4 +- 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/core/language/jp.json b/core/language/jp.json index 1ab68639..e6a01134 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -64,17 +64,17 @@ "areyousure": "保存されたウォレットからこのウォレットを削除しますか?", "error1": "バックアップは有効な JSON である必要があります", "error2": "ログイン オプションが選択されていません", - "createwelcome": "Qortal へようこそ。Qortalは RPG ゲームに似ている事に気づくと思います。Qortal ネットワークのミンターとして (なりたいと選択した場合) アカウントをレベルアップすることが出来、QORT のブロック報酬をより多く得られるだけでなく、プラットフォームの決定に対する投票という点で、ネットワークに対してより大きな影響力を持つことができます。", + "createwelcome": "Qortal へようこそ。Qortalは RPG ゲームに似ている事に気づくと思います。Qortal ネットワークのミンターとして (なりたいと選択した場合) アカウントをレベルアップすることが出来、QORT のブロック報酬をより多く得られるだけでなく、プラットフォームの決定に対する投票という点で、ネットワークに対してより大きな影響力を持つことが出来ます。", "createa": "A", "click": "クリックしてシードフレーズを表示", "confirmpass": "パスワードの確認", "willbe": "はバックグラウンドでランダムに生成されます。これは、Qortal のブロックチェーン アカウントの秘密キー ジェネレーターとして使用されます。", "clicknext": "下の [次へ] をクリックして Qortal アカウントを作成します。", - "ready": "アカウントを作成する準備ができました。アカウントはこのブラウザに保存されます。新しいアカウントをブラウザに保存したくない場合は、下のボックスのチェックを外してください。[必ず」新しいアカウントのウォレットのバックアップ ファイルをダウンロードして下さい。(ログアウト後) そのバックアップファイルが無いとログイン不可になります。", + "ready": "アカウントを作成する準備が出来ました。アカウントはこのブラウザに保存されます。新しいアカウントをブラウザに保存したくない場合は、下のボックスのチェックを外してください。[必ず」新しいアカウントのウォレットのバックアップ ファイルをダウンロードして下さい。(ログアウト後) そのバックアップファイルが無いとログイン不可になります。", "welmessage": "Qortal へようこそ", "pleaseenter": "パスワードを入力してください!", "notmatch": "パスワードが一致しません!", - "lessthen8": "パスワードが 8 文字未満です。推奨できませんが警告は無視しても構いません。", + "lessthen8": "パスワードが 8 文字未満です。推奨出来ませんが警告は無視しても構いません。", "lessthen8-2": "パスワードが 8 文字未満です!", "entername": "名前を入力してください!", "downloaded": "ウォレットのバックアップ ファイルをダウンロードしました!", @@ -82,7 +82,7 @@ "createdseed": "作成したシードフレーズ", "saveseed": "シードフレーズを保存", "savein": "ブラウザに保存", - "backup2": "このファイルは、アプリ/ブラウザーに保存されていないシステムでアカウントにアクセスする唯一の方法です。必ずこのファイルを複数の場所にバックアップしてください。ファイルは非常に安全に暗号化され、前の手順で入力したローカル パスワードで復号化されます。どこにでも安全に保存できますが、必ず複数の場所に保存してください。", + "backup2": "このファイルは、アプリ/ブラウザーに保存されていないシステムでアカウントにアクセスする唯一の方法です。必ずこのファイルを複数の場所にバックアップしてください。ファイルは非常に安全に暗号化され、前の手順で入力したローカル パスワードで復号化されます。どこにでも安全に保存出来ますが、必ず複数の場所に保存してください。", "savewallet": "ウォレットのバックアップ ファイルを保存", "created1": "アカウントが作成され...", "created2": " このブラウザに保存されます。", @@ -196,14 +196,14 @@ "gchange25": "GIF (クリックして表示)", "gchange26": "GIF ファイルにアクセスして送信するには名前が必要です", "gchange27": "GIF集のサイズが 25MB を超えています! もう一度お試しください!", - "gchange28": "GIF集内の各 gif は 0.7mb を超えることはできません。もう一度お試しください。", + "gchange28": "GIF集内の各 gif は 0.7mb を超えることは出来ません。もう一度お試しください。", "gchange29": "ファイル名" }, "startminting": { - "smchange1": "ミントアカウントを取得できません", + "smchange1": "ミントアカウントを取得出来ません", "smchange2": "キーの削除に失敗しました", "smchange3": "ミントキーの追加に失敗しました", - "smchange4": "スポンサーシップ キーを作成できません", + "smchange4": "スポンサーシップ キーを作成出来ません", "smchange5": "関係の構築開始", "smchange6": "ブロックチェーンの承認を待っています", "smchange7": "関係の構築終了", @@ -225,7 +225,7 @@ "mchange11": "有効化されていません", "mchange12": "アカウントを有効化", "mchange13": "はじめに", - "mchange14": "アカウントを有効にするには、OUTGOING トランザクションを実行する必要があります。名前の登録が最も一般的な方法です。アカウントを有効にするために、Q-Chat内で誰かに少額の QORT を送ってもらい名前を登録するか、取引所で少額のQORT を購入して何らかの OUTGOING トランザクションを実行し、ブロックチェーン上であなたの公開鍵を公開します。これを行うまでは、公開鍵は UI 内であなただけが知っており、他の誰もあなたの公開鍵をブロックチェーンから取得することはできません。", + "mchange14": "アカウントを有効にするには、OUTGOING トランザクションを実行する必要があります。名前の登録が最も一般的な方法です。アカウントを有効にするために、Q-Chat内で誰かに少額の QORT を送ってもらい名前を登録するか、取引所で少額のQORT を購入して何らかの OUTGOING トランザクションを実行し、ブロックチェーン上であなたの公開鍵を公開します。これを行うまでは、公開鍵は UI 内であなただけが知っており、他の誰もあなたの公開鍵をブロックチェーンから取得することは出来ません。", "mchange15": "現在のステータス", "mchange16": "現在のレベル", "mchange17": "次のレベルまでのブロック数", @@ -245,10 +245,10 @@ "mchange31": "ヘルプを表示するには押してください", "mchange32": "ミンターになる", "mchange33": "はじめに", - "mchange34": "Qortal でミンターになり、レベルに応じた QORT 報酬を獲得し始めるには、まず「スポンサー付き」になる必要があります。Qortal のスポンサーとは、レベル 5 以上の他のミンター、または Qortal 創設者です。スポンサーからスポンサー キーを取得し、そのキーを使用してレベル 1 を目指します。レベル 1 に到達すると、自分のミント キーを作成し、Qortal ブロックチェーンの安全確保に貢献して報酬を獲得できるようになります。」", + "mchange34": "Qortal でミンターになり、レベルに応じた QORT 報酬を獲得し始めるには、まず「スポンサー付き」になる必要があります。Qortal のスポンサーとは、レベル 5 以上の他のミンター、または Qortal 創設者です。スポンサーからスポンサー キーを取得し、そのキーを使用してレベル 1 を目指します。レベル 1 に到達すると、自分のミント キーを作成し、Qortal ブロックチェーンの安全確保に貢献して報酬を獲得出来るようになります。」", "mchange35": "スポンサーシップ", "mchange36": "スポンサーに「スポンサーシップ キー」を発行して貰います。これをノードに追加し、ミントを開始します (レベル 1 に到達するまで報酬はありません)。レベル 1 に到達したら、自分のミントキーを作成し割り当てて報酬を獲得し始めます。」", - "mchange37": "スポンサーシップ キーを発行できる十分なレベルの Qortal のミンターに連絡し、そのキーを取得し、ここに戻ってキーを入力してミントの旅を始めてください。", + "mchange37": "スポンサーシップ キーを発行出来る十分なレベルの Qortal のミンターに連絡し、そのキーを取得し、ここに戻ってキーを入力してミントの旅を始めてください。", "mchange38": "まで" }, "becomeMinterPage": { @@ -290,9 +290,9 @@ "wchange24": "1バイトあたりの現在の手数料", "wchange25": "手数料が低いと、取引が遅れたり、未承認の取引が発生したりする可能性があります。", "wchange26": "資金が不足しています!", - "wchange27": "金額が無効です!", + "wchange27": "無効な金額です!", "wchange28": "受取人を入力して下さい!", - "wchange29": "受取人が無効です!", + "wchange29": "無効な受取人です!", "wchange30": "取引完了!", "wchange31": "取引失敗!", "wchange32": "QORT 残高の取得に失敗しました。もう一度お試しください!", @@ -302,8 +302,8 @@ "wchange36": "手数料", "wchange37": "合計金額", "wchange38": "アドレスにはまだ取引がありません。", - "wchange39": "アドレスをコピーできません。", - "wchange40": "支出", + "wchange39": "アドレスをコピー出来ません。", + "wchange40": "入出金", "wchange41": "ステータス", "wchange42": "承認", "wchange43": "トランザクションは承認されるまで表示されません。しばらくお待ちください...", @@ -358,8 +358,8 @@ "tchange31": "売却", "tchange32": "購入", "tchange33": "平均", - "tchange34": "金額を 0 にすることはできません", - "tchange35": "価格を 0 にすることはできません", + "tchange34": "金額を 0 にすることは出来ません", + "tchange35": "価格を 0 にすることは出来ません", "tchange36": "自動購入を処理中", "tchange37": "自動購入注文が見つかりません!", "tchange38": "追加", @@ -384,7 +384,7 @@ "rchange6": "受取人", "rchange7": "アクション", "rchange8": "タイプ", - "rchange9": "レベル 1 ~ 4 は自己シェアを、レベル 5 以上は報酬シェアを作成できます!", + "rchange9": "レベル 1 ~ 4 は自己シェアを、レベル 5 以上は報酬シェアを作成出来ます!", "rchange10": "受取人の公開鍵", "rchange11": "報酬シェア率", "rchange12": "おいしいことをしています", @@ -393,9 +393,9 @@ "rchange15": "アカウントはどの報酬シェアにも関連していません", "rchange16": "自己シェア", "rchange17": "削除", - "rchange18": "複数の報酬シェアを作成できません!", - "rchange19": "複数の自己シェアを作成できません!", - "rchange20": "このレベルでは報酬シェアを作成できません!レベル", + "rchange18": "複数の報酬シェアを作成出来ません!", + "rchange19": "複数の自己シェアを作成出来ません!", + "rchange20": "このレベルでは報酬シェアを作成出来ません!レベル", "rchange21": "正常に報酬シェアしました!", "rchange22": "正常に報酬シェアを削除しました!" }, @@ -435,7 +435,7 @@ "nchange33": "正常に名前の売却リクエストを中止しました!", "nchange34": "正常に名前の購入リクエストを送信しました!", "nchange35": "あなたには名前があります!", - "nchange36": "名前が登録されていないアカウントのみが名前を購入できます。", + "nchange36": "名前が登録されていないアカウントのみが名前を購入出来ます。", "nchange37": "注意!", "nchange38": "この名前を購入するのに十分なQORTがありません。", "nchange39": "この名前を購入しますか?", @@ -577,7 +577,7 @@ "publishpage": { "pchange1": "公開", "pchange2": "更新", - "pchange3": "注: データをホストする前に、ネットワーク上のピアがより簡単にアクセスできるように、ポート転送を設定することをお勧めします。", + "pchange3": "注: データをホストする前に、ネットワーク上のピアがより簡単にアクセス出来るように、ポート転送を設定することをお勧めします。", "pchange4": "名前を選択", "pchange5": "タイトル", "pchange6": "概要", @@ -598,7 +598,7 @@ "pchange21": "データ公開時の内部サーバー エラー", "pchange22": "プルーフ・オブ・ワークを計算...これには時間がかかる場合があります...", "pchange23": "正常にトランザクションが完了しました!", - "pchange24": "トランザクションの署名と処理ができませんでした", + "pchange24": "トランザクションの署名と処理が出来ませんでした", "pchange25": "ファイルを選択", "pchange26": "データをアップロード...これには時間がかかる場合があります..." }, @@ -617,7 +617,7 @@ "bchange12": "この登録名のフォローを解除しようとしたときにエラーが発生しました。もう一度お試しください。", "bchange13": "この登録名をブロックしようとしたときにエラーが発生しました。もう一度お試しください。", "bchange14": "この登録名のブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", - "bchange15": "フォローしている名前のデータは削除できません。まずフォローを解除してください。", + "bchange15": "フォローしている名前のデータは削除出来ません。まずフォローを解除してください。", "bchange16": "このリソースを削除しようとしたときにエラーが発生しました。もう一度お試しください。", "bchange17": "ユーザーはアカウント詳細の共有を拒否しました", "bchange18": "が認証を要求しました。許可しますか?", @@ -662,7 +662,7 @@ "dchange9": "このノードによってホストされたデータ", "dchange10": "データ名を入力して下さい!", "dchange11": "データが見つかりません!", - "dchange12": "ホストされたデータ リストをノードから取得できませんでした", + "dchange12": "ホストされたデータ リストをノードから取得出来ませんでした", "dchange13": "このノードはデータをホストしていません", "dchange14": "フォローを解除", "dchange15": "削除", @@ -679,7 +679,7 @@ "cchange3": "ブロックしたユーザー", "cchange4": "新しいメッセージ", "cchange5": "(クリックして下にスクロール)", - "cchange6": "プライベート メッセージでチャットしたい人の名前またはアドレスを入力してください。本のアイコンをクリックすると、その人の名前を確認できます。", + "cchange6": "プライベート メッセージでチャットしたい人の名前またはアドレスを入力してください。本のアイコンをクリックすると、その人の名前を確認出来ます。", "cchange7": "ユーザー名 / アドレス", "cchange8": "メッセージ...", "cchange9": "送信", @@ -692,11 +692,11 @@ "cchange16": "正常にこのユーザーのブロックを解除しました。", "cchange17": "このユーザーのブロックを解除しようとしたときにエラーが発生しました。もう一度お試しください。", "cchange18": "ブロックを解除", - "cchange19": "ユーザー名/アドレスが無効です。名前/アドレスを確認して再試行してください...", + "cchange19": "無効なユーザー名/アドレスです。名前/アドレスを確認して再試行してください...", "cchange20": "正常にメッセージを送信しました!", "cchange21": "送信に失敗しました。再試行してください...", "cchange22": "メッセージを読み込み中...", - "cchange23": "メッセージを復号化できません!", + "cchange23": "メッセージを復号化出来ません!", "cchange24": "メッセージあたりの最大文字数は 255 です", "cchange25": "メッセージを編集", "cchange26": "ファイル サイズが 0.5 MB を超えています", @@ -706,12 +706,12 @@ "cchange30": "画像をアップロード中。これには最大 1 分かかる場合があります。", "cchange31": "画像を削除中。これには最大 1 分かかる場合があります。", "cchange33": "中止", - "cchange34": "このチャット メッセージは古いメッセージ バージョンを使用しているため、この機能は使用できません。", + "cchange34": "このチャット メッセージは古いメッセージ バージョンを使用しているため、この機能は使用出来ません。", "cchange35": "ユーザー名を取得しようとしたときにエラーが発生しました。もう一度お試しください。", "cchange36": "検索結果", "cchange37": "結果が見つかりませんでした", "cchange38": "ユーザー認証済", - "cchange39": "このユーザーはチェーン上に公開鍵を持っていないため、暗号化されたメッセージを送信できません。", + "cchange39": "このユーザーはチェーン上に公開鍵を持っていないため、暗号化されたメッセージを送信出来ません。", "cchange40": "画像 (クリックして表示)", "cchange41": "残高が 4 QORT 未満です", "cchange42": "スパム対策の必要性から、残高が 4 QORT 未満のアカウントは、Q-Chat でメッセージを送信するのに時間がかかります。Q-Chat メッセージの送信速度をすぐに上げたい場合は、Trade Portal で購入するか、他の Qortal ユーザーから QORT もらうなどしての残高を4 QORT 以上にしてください。残高が 4 QORT を超えると、Q-Chat メッセージは即座に送信され、このダイアログは表示されなくなります。必要なスパム防止対策をご理解いただき、Qortal をお楽しみいただければ幸いです。」", @@ -724,9 +724,9 @@ "cchange49": "現在の手数料", "cchange50": "送付", "cchange51": "資金が不足しています!", - "cchange52": "金額が無効です!", + "cchange52": "無効な金額です!", "cchange53": "受取人を入力して下さい!", - "cchange54": "受取人が無効です!", + "cchange54": "無効な受取人です!", "cchange55": "トランザクションは成功しました!", "cchange56": "トランザクションが失敗しました!", "cchange57": "ユーザー情報", @@ -738,7 +738,7 @@ "cchange63": "入力で送信", "cchange64": "入力で送信しない", "cchange65": "受取人を入力してください", - "cchange66": "返信済メッセージを取得できません。メッセージが古すぎます。", + "cchange66": "返信済メッセージを取得出来ません。メッセージが古すぎます。", "cchange68": "編集済", "cchange69": "画像の自動表示", "cchange70": "この画像タイプはサポートされていません", @@ -763,7 +763,7 @@ "wcchange4": "名前/アドレス", "wcchange5": "メッセージ...", "wcchange6": "送信", - "wcchange7": "名前/アドレスが無効です。名前/アドレスを確認して再試行してください...", + "wcchange7": "無効な名前/アドレスです。名前/アドレスを確認して再試行してください...", "wcchange8": "正常にメッセージを送信!", "wcchange9": "送信に失敗しました。再試行してください..." }, @@ -830,7 +830,7 @@ "gchange40": "グループの管理", "gchange41": "正常にグループを作成しました!", "gchange42": "無効なグループ名", - "gchange43": "グループの概要が無効です", + "gchange43": "無効なグループの概要です", "gchange44": "グループの種類を選択して下さい", "gchange45": "グループ承認のしきい値を選択して下さい", "gchange46": "グループ トランザクション承認の最小ブロック遅延を選択して下さい", @@ -899,7 +899,9 @@ "nchange29": "正常にミントアカウントを削除しました!", "nchange30": "ミントアカウントの削除に失敗しました!", "nchange31": "ノードを停止", - "nchange32": "正常に停止リクエストを送信しました!" + "nchange32": "正常に停止リクエストを送信しました!", + "nchange33": "ノードを再起動", + "nchange34": "正常に再起動リクエストを送信しました!" }, "transpage": { "tchange1": "トランザクションリクエスト", @@ -931,7 +933,7 @@ "groupdialog6": "確認を押すと、グループ作成リクエストが送信されます!", "rewarddialog1": "報酬シェアトランザクションを作成:", "rewarddialog2": "のミント報酬を次のユーザーとシェア", - "rewarddialog3": "はいの場合、ミントを作成するには以下のキーを保存する必要があります。キーは任意のノードに提供して、ユーザーに代わってミントを行うことができます。", + "rewarddialog3": "はいの場合、ミントを作成するには以下のキーを保存する必要があります。キーは任意のノードに提供して、ユーザーに代わってミントを行うことが出来ます。", "rewarddialog4": "確認を押すと報酬シェアが作成されますが、アカウントでミントするためには上記のキーをノードに提供する必要があります。", "rewarddialog5": "次のアカウントに関連付けられた報酬シェア トランザクションを削除します:", "rewarddialog6": "確認を押すと、報酬シェアが削除され、ミントキーが無効になります。" @@ -976,8 +978,8 @@ "exp14": "全て表示", "exp15": "ミント開始日", "exp16": "ミント一時停止中", - "exp17": "すべての支出", - "exp18": "支出", + "exp17": "すべての入出金", + "exp18": "入出金", "exp19": "送付済", "exp20": "受取済", "exp21": "取引" @@ -1050,14 +1052,14 @@ "inf2": "取引所情報を閉じる", "inf3": "QORTを次の通貨で購入するための取引所です", "inf4": "- 「売り板情報」は QORTの売り注文です。", - "inf5": "一度に購入できる注文は 1 つだけです。購入したい注文をクリックして", + "inf5": "一度に購入出来る注文は 1 つだけです。購入したい注文をクリックして", "inf6": "[QORTを購入] の入力欄に反映させ、最後に[購入] をクリックします。", "inf7": "自動購入情報", "inf8": "自動購入情報を閉じる", - "inf9": "「自動購入」は、取引所で「購入注文」を発注できるようにする機能です。これらの「購入注文」は、発注者のみに表示され、売り板情報みたいに公開されておらずQortalブロックチェーンにも保存されません。自動購入は UI機能であるため、UIが実行中である必要があります。", + "inf9": "「自動購入」は、取引所で「購入注文」を発注出来るようにする機能です。これらの「購入注文」は、発注者のみに表示され、売り板情報みたいに公開されておらずQortalブロックチェーンにも保存されません。自動購入は UI機能であるため、UIが実行中である必要があります。", "inf10": "自動購入注文を行うには、[自動購入注文を追加] ボタンをクリックし、表示されるボックスに入力します。購入したい QORT の金額と、最大購入価格を入力します。一度注文がアクティブになると自動購入は、設定した価格まで、設定した量の QORT を購入します (最低注文価格から始めて設定した価格まで上げていきます)。", "inf11": "UIを実行したままにしておくと、自動購入が残りの作業を自動的に実行します!", - "inf12": "UIで他のプラグイン(Q-Chat、ウォレットなど)を参照することはできますが、自動購入を完了させたい場合はUIを閉じないで下さい。UIを「タスクバー」か「パネル」上で「最小化」したままにするかUIを開いたままにしてあれば、自動購入が機能します。", + "inf12": "UIで他のプラグイン(Q-Chat、ウォレットなど)を参照することは出来ますが、自動購入を完了させたい場合はUIを閉じないで下さい。UIを「タスクバー」か「パネル」上で「最小化」したままにするかUIを開いたままにしてあれば、自動購入が機能します。", "inf13": "自動購入:", "inf14": "を右記の通貨で", "inf15": "アクティブな自動購入注文", diff --git a/locales/jp.json b/locales/jp.json index cfc901bc..61597af4 100644 --- a/locales/jp.json +++ b/locales/jp.json @@ -7,7 +7,7 @@ "electron_translate_4": "新しいバージョンのQortal UIが利用可能です。ダウンロードしますか?", "electron_translate_5": "今すぐインストール", "electron_translate_6": "後で", - "electron_translate_7": "アップデートをインストールする準備ができました", + "electron_translate_7": "アップデートをインストールする準備が出来ました", "electron_translate_8": "新しいバージョンのQortal UIをダウンロードしました。", "electron_translate_9": "更新を適用する場合は[今すぐインストール]を、UI を更新しない場合は[後で]をクリックして下さい。", "electron_translate_10": "更新に失敗しました。後で再試行します", @@ -36,5 +36,5 @@ "electron_translate_33": "(「二度と表示しない」チェックボックスをオンまたはオフにします)", "electron_translate_34": "設定", "electron_translate_35": "コピー", - "electron_translate_36": "貼り付け" + "electron_translate_36": "ペースト" } \ No newline at end of file From 969ec4ac4095af308a06338cb2f8f384dd6e253a Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Wed, 31 May 2023 01:12:11 -0400 Subject: [PATCH 035/112] Minor translation formatting --- core/language/es.json | 16 +++---- core/language/fr.json | 16 +++---- core/language/hr.json | 14 +++--- core/language/hu.json | 16 +++---- core/language/it.json | 16 +++---- core/language/ko.json | 22 +++++----- core/language/no.json | 16 +++---- core/language/pl.json | 14 +++--- core/language/pt.json | 14 +++--- core/language/ro.json | 16 +++---- core/language/rs.json | 16 +++---- core/language/ru.json | 16 +++---- core/language/us.json | 96 ++++++++++++++++++++--------------------- core/language/zhc.json | 14 +++--- core/language/zht.json | 14 +++--- crypto/api/constants.js | 2 +- 16 files changed, 159 insertions(+), 159 deletions(-) diff --git a/core/language/es.json b/core/language/es.json index 0b71e925..f4839ffc 100644 --- a/core/language/es.json +++ b/core/language/es.json @@ -51,7 +51,7 @@ "youraccounts": "Sus cuentas", "clickto": "Haga clic en su cuenta para iniciar sesión", "needcreate": "Necesita crear o guardar una cuenta antes de poder acceder a ella!", - "upload": "Suba su copia de seguridad qortal", + "upload": "Suba su copia de seguridad Qortal", "howlogin": "¿Como te gustaría iniciar sesión?", "seed": "Frasesemilla", "seedphrase": "frasesemilla", @@ -436,7 +436,7 @@ "nchange35": "¡TIENES UN NOMBRE!", "nchange36": "Solo las cuentas sin nombre registrado pueden comprar un nombre.", "nchange37": "¡ATENCIÓN!", - "nchange38": "No tienes suficiente qort para comprar este nombre.", + "nchange38": "No tienes suficiente QORT para comprar este nombre.", "nchange39": "¿Estás seguro de comprar este nombre?", "nchange40": "¡Al presionar confirmar, se enviará la solicitud de compra de nombre!", "nchange41": "Nombre anterior", @@ -494,13 +494,13 @@ "schange7": "Publicado por", "schange8": "Acciones", "schange9": "Q-Apps", - "schange10": "No hay q-apps disponibles", + "schange10": "No hay Q-Apps disponibles", "schange11": "Tus Q-Apps seguidas", "schange12": "Q-Apps seguidas", - "schange13": "No estás siguiendo ninguna q-apps", + "schange13": "No estás siguiendo ninguna Q-Apps", "schange14": "Tus Q-Apps bloqueadas", "schange15": "Q-Apps bloqueadas", - "schange16": "No has bloqueado ninguna q-apps", + "schange16": "No has bloqueado ninguna Q-Apps", "schange17": "¡No se encontró el nombre!", "schange18": "El modo de retransmisión está habilitado. Esto significa que su nodo ayudará a transportar datos cifrados por la red cuando un par lo solicite. Puede optar por no hacerlo configurando", "schange19": "en", @@ -538,13 +538,13 @@ "schange7": "Publicado por", "schange8": "Acciones", "schange9": "Q-Tubes", - "schange10": "No hay q-tubos disponibles", + "schange10": "No hay Q-Tubes disponibles", "schange11": "Tus Q-Tubes seguidos", "schange12": "Q-Tubes seguidos", - "schange13": "No estás siguiendo ningún q-tubes", + "schange13": "No estás siguiendo ningún Q-Tubes", "schange14": "Tus Q-Tubes bloqueados", "schange15": "Q-Tubes bloqueados", - "schange16": "No has bloqueado ningún q-tubes", + "schange16": "No has bloqueado ningún Q-Tubes", "schange17": "¡No se encontró el nombre!", "schange18": "El modo de retransmisión está habilitado. Esto significa que su nodo ayudará a transportar datos cifrados por la red cuando un par lo solicite. Puede optar por no hacerlo configurando", "schange19": "en", diff --git a/core/language/fr.json b/core/language/fr.json index a73ad4af..8a7c763e 100644 --- a/core/language/fr.json +++ b/core/language/fr.json @@ -51,7 +51,7 @@ "youraccounts": "Vos comptes", "clickto": "Cliquez sur votre compte pour vous connecter", "needcreate": "Vous devez créer ou sauver un compte avant de pouvoir vous connecter!", - "upload": "Envoyer votre sauvegarde qortal", + "upload": "Envoyer votre sauvegarde Qortal", "howlogin": "Comment voulez-vous vous connecter ?", "seed": "Phrase mnémonique", "seedphrase": "Phrase mnémonique", @@ -436,7 +436,7 @@ "nchange35": "VOUS AVEZ UN NOM !", "nchange36": "Seuls les comptes sans nom enregistré peuvent acheter un nom.", "nchange37": "ATTENTION !", - "nchange38": "Vous n'avez pas assez de qort pour acheter ce nom.", + "nchange38": "Vous n'avez pas assez de QORT pour acheter ce nom.", "nchange39": "Êtes-vous sûr d'acheter ce nom ?", "nchange40": "En appuyant sur confirmer, la demande d'achat de nom sera envoyée !", "nchange41": "Ancien nom", @@ -494,13 +494,13 @@ "schange7": "Publié par", "schange8": "Actions", "schange9": "Q-Apps", - "schange10": "Aucune q-apps disponible", + "schange10": "Aucune Q-Apps disponible", "schange11": "Vos Q-Apps suivies", "schange12": "Q-Apps suivies", - "schange13": "Vous ne suivez aucune q-apps", + "schange13": "Vous ne suivez aucune Q-Apps", "schange14": "Vos Q-Apps bloquées", "schange15": "Applications Q bloquées", - "schange16": "Vous n'avez bloqué aucune q-apps", + "schange16": "Vous n'avez bloqué aucune Q-Apps", "schange17": "Nom introuvable !", "schange18": "Le mode relais est activé. Cela signifie que votre nœud aidera à transporter des données cryptées sur le réseau lorsqu'un pair le demande. Vous pouvez vous désinscrire en définissant", "schange19": "dans", @@ -538,13 +538,13 @@ "schange7": "Publié par", "schange8": "Actions", "schange9": "Q-Tubes", - "schange10": "Aucun q-tube disponible", + "schange10": "Aucun Q-Tube disponible", "schange11": "Vos Q-Tubes suivis", "schange12": "A suivi Q-Tubes", - "schange13": "Vous ne suivez aucun q-tubes", + "schange13": "Vous ne suivez aucun Q-Tubes", "schange14": "Vos Q-Tubes bloqués", "schange15": "Q-Tubes bloqués", - "schange16": "Vous n'avez bloqué aucun q-tubes", + "schange16": "Vous n'avez bloqué aucun Q-Tubes", "schange17": "Nom introuvable !", "schange18": "Le mode relais est activé. Cela signifie que votre nœud aidera à transporter des données cryptées sur le réseau lorsqu'un pair le demande. Vous pouvez vous désinscrire en définissant", "schange19": "dans", diff --git a/core/language/hr.json b/core/language/hr.json index 70df8b84..416633d1 100644 --- a/core/language/hr.json +++ b/core/language/hr.json @@ -436,7 +436,7 @@ "nchange35": "IMATE IME!", "nchange36": "Samo računi bez registriranog imena mogu kupiti ime.", "nchange37": "PAŽNJA!", - "nchange38": "Nemate dovoljno qort da kupite ovo ime.", + "nchange38": "Nemate dovoljno QORT da kupite ovo ime.", "nchange39": "Jeste li sigurni da želite kupiti ovo ime?", "nchange40": "Pritiskom na potvrdu, zahtjev za kupnju imena bit će poslan!", "nchange41": "Staro ime", @@ -494,13 +494,13 @@ "schange7": "Objavio", "schange8": "Akcije", "schange9": "Q-Apps", - "schange10": "Nema dostupnih q-apps", + "schange10": "Nema dostupnih Q-Apps", "schange11": "Q-Apps koje pratite", "schange12": "Pratite Q-Apps", - "schange13": "Ne pratite nijednu q-apps", + "schange13": "Ne pratite nijednu Q-Apps", "schange14": "Vaše blokirane Q-Apps", "schange15": "Blokirane Q-Apps", - "schange16": "Niste blokirali nijednu q-apps", + "schange16": "Niste blokirali nijednu Q-Apps", "schange17": "Ime nije pronađeno!", "schange18": "Relejni način rada je omogućen. To znači da će vaš čvor pomoći u prijenosu šifriranih podataka po mreži kada to ravnopravni uređaj zatraži. Možete se isključiti postavljanjem", "schange19": "u", @@ -538,13 +538,13 @@ "schange7": "Objavio", "schange8": "Akcije", "schange9": "Q-Tubes", - "schange10": "Nema dostupnih q-tubes", + "schange10": "Nema dostupnih Q-Tubes", "schange11": "Q-Tubes koje pratite", "schange12": "Pratio Q-Tubes", - "schange13": "Ne pratite nijednu q-tubes", + "schange13": "Ne pratite nijednu Q-Tubes", "schange14": "Vaše blokirane Q-Tubes", "schange15": "Blokirane Q-Tubes", - "schange16": "Niste blokirali nijednu q-tubes", + "schange16": "Niste blokirali nijednu Q-Tubes", "schange17": "Ime nije pronađeno!", "schange18": "Relejni način rada je omogućen. To znači da će vaš čvor pomoći u prijenosu šifriranih podataka po mreži kada to ravnopravni uređaj zatraži. Možete se isključiti postavljanjem", "schange19": "u", diff --git a/core/language/hu.json b/core/language/hu.json index ec2b8db1..99a8f442 100644 --- a/core/language/hu.json +++ b/core/language/hu.json @@ -245,7 +245,7 @@ "mchange31": "Segítségért Nyomja Meg A Gombot", "mchange32": "Legyen Pénzverő", "mchange33": "Bevezetés", - "mchange34": "A Qortalban ahhoz, hogy pénzverővé váljon, és elkezdjen QORT jutalmakat keresni a Minter szint növelésével, először 'szponzorálttá' kell válnia. A Qortal szponzora bármely más 5. vagy annál magasabb szintű pénzverő, vagy qortal alapító.Szponzori kulcsot kap a szponzortól, és ezt a kulcsot használja az 1. szintre való eljutáshoz. Miután elérte az 1. szintet, létrehozhatja saját verési kulcsát, és elkezdhet jutalmakat keresni a Qortal Blockchain biztosításáért.", + "mchange34": "A Qortalban ahhoz, hogy pénzverővé váljon, és elkezdjen QORT jutalmakat keresni a Minter szint növelésével, először 'szponzorálttá' kell válnia. A Qortal szponzora bármely más 5. vagy annál magasabb szintű pénzverő, vagy Qortal alapító.Szponzori kulcsot kap a szponzortól, és ezt a kulcsot használja az 1. szintre való eljutáshoz. Miután elérte az 1. szintet, létrehozhatja saját verési kulcsát, és elkezdhet jutalmakat keresni a Qortal Blockchain biztosításáért.", "mchange35": "Szponzorálás", "mchange36": "A szponzorod kiad neked egy 'szponzorációs kulcsot', amelyet a csomópontodhoz való hozzáadáshoz fogsz használni, és elkezd verni (jutalom nélkül, amíg el nem éri a szintet 1.) Amint eléri az 1. szintet, létrehozza / hozzárendeli saját 'pénzverő kulcsát'.", "mchange37": "Egyszerűen lépjen kapcsolatba egy Qortal-i pénzverdével, aki elég magas ahhoz, hogy kiadjon egy szponzorációs kulcsot, megszerezze azt a kulcsot, majd jöjjön vissza ide, és adja meg a kulcsot a verési út megkezdéséhez!", @@ -436,7 +436,7 @@ "nchange35": "VAN NEVE!", "nchange36": "Csak a regisztrált név nélküli fiókok vásárolhatnak nevet.", "nchange37": "FIGYELEM!", - "nchange38": "Nincs elég qortja ennek a névnek a megvásárlásához.", + "nchange38": "Nincs elég QORTja ennek a névnek a megvásárlásához.", "nchange39": "Biztosan megveszi ezt a nevet?", "nchange40": "A megerősítés megnyomására a vásárlási névkérelem elküldésre kerül!", "nchange41": "Régi név", @@ -494,13 +494,13 @@ "schange7": "Kiadó", "schange8": "Műveletek", "schange9": "Q-Apps", - "schange10": "Nincs elérhető q-apps", + "schange10": "Nincs elérhető Q-Apps", "schange11": "Az Ön által követett Q-Apps", "schange12": "Követett Q-alkalmazások", - "schange13": "Nem követsz egyetlen q-apps sem", + "schange13": "Nem követsz egyetlen Q-Apps sem", "schange14": "Az Ön letiltott Q-Apps", "schange15": "Letiltott Q-Apps", - "schange16": "Nem tiltott le egyetlen q-apps sem", + "schange16": "Nem tiltott le egyetlen Q-Apps sem", "schange17": "A név nem található!", "schange18": "A továbbítási mód engedélyezve van. Ez azt jelenti, hogy a csomópont segít a titkosított adatok továbbításában a hálózaton, amikor egy társ kéri. A beállítással letilthatja", "schange19": "in", @@ -538,13 +538,13 @@ "schange7": "Kiadó", "schange8": "Műveletek", "schange9": "Q-Tubes", - "schange10": "Nincs elérhető q-tubes", + "schange10": "Nincs elérhető Q-Tubes", "schange11": "Az Ön által követett Q-Tubes", "schange12": "Követve Q-Tubes", - "schange13": "Nem követsz egyetlen q-tubes sem", + "schange13": "Nem követsz egyetlen Q-Tubes sem", "schange14": "Az Ön blokkolt Q-Tubes", "schange15": "Blocked Q-Tubes", - "schange16": "Nem blokkoltál egyetlen q-tubes sem", + "schange16": "Nem blokkoltál egyetlen Q-Tubes sem", "schange17": "A név nem található!", "schange18": "A továbbítási mód engedélyezve van. Ez azt jelenti, hogy a csomópont segít a titkosított adatok továbbításában a hálózaton, amikor egy társ kéri. A beállítással letilthatja", "schange19": "in", diff --git a/core/language/it.json b/core/language/it.json index c6d18342..b1268413 100644 --- a/core/language/it.json +++ b/core/language/it.json @@ -51,7 +51,7 @@ "youraccounts": "I tuoi account", "clickto": "Fai clic sul tuo account per accedere con esso", "needcreate": "Devi creare o salvare un account prima di poter accedere!", - "upload": "Carica il tuo backup di qortal", + "upload": "Carica il tuo backup di Qortal", "howlogin": "Come vorresti accedere?", "seed": "Seedphrase", "seedphrase": "seedphrase", @@ -436,7 +436,7 @@ "nchange35": "HAI UN NOME!", "nchange36": "Solo gli account senza nome registrato possono acquistare un nome.", "nchange37": "ATTENZIONE!", - "nchange38": "Non hai abbastanza qort per acquistare questo nome.", + "nchange38": "Non hai abbastanza QORT per acquistare questo nome.", "nchange39": "Sei sicuro di acquistare questo nome?", "nchange40": "Premendo conferma, verrà inviata la richiesta di acquisto del nome!", "nchange41": "Vecchio nome", @@ -494,13 +494,13 @@ "schange7": "Pubblicato da", "schange8": "Azioni", "schange9": "Q-Apps", - "schange10": "Nessuna q-apps disponibile", + "schange10": "Nessuna Q-Apps disponibile", "schange11": "Le tue Q-Apps seguite", "schange12": "Q-Apps seguite", - "schange13": "Non stai seguendo nessuna q-apps", + "schange13": "Non stai seguendo nessuna Q-Apps", "schange14": "Le tue Q-Apps bloccate", "schange15": "Q-App bloccate", - "schange16": "Non hai bloccato nessuna q-apps", + "schange16": "Non hai bloccato nessuna Q-Apps", "schange17": "Nome non trovato!", "schange18": "La modalità di inoltro è abilitata. Ciò significa che il tuo nodo aiuterà a trasportare i dati crittografati sulla rete quando un peer lo richiede. Puoi disattivarli impostando", "schange19": "dentro", @@ -538,13 +538,13 @@ "schange7": "Pubblicato da", "schange8": "Azioni", "schange9": "Q-Tubes", - "schange10": "Nessun q-tubes disponibile", + "schange10": "Nessun Q-Tubes disponibile", "schange11": "I tuoi Q-Tubes seguiti", "schange12": "Seguito Q-Tubes", - "schange13": "Non stai seguendo nessun q-tubes", + "schange13": "Non stai seguendo nessun Q-Tubes", "schange14": "I tuoi Q-Tubes bloccati", "schange15": "Q-Tubes bloccati", - "schange16": "Non hai bloccato nessun q-tubes", + "schange16": "Non hai bloccato nessun Q-Tubes", "schange17": "Nome non trovato!", "schange18": "La modalità di inoltro è abilitata. Ciò significa che il tuo nodo aiuterà a trasportare i dati crittografati sulla rete quando un peer lo richiede. Puoi disattivarli impostando", "schange19": "dentro", diff --git a/core/language/ko.json b/core/language/ko.json index 6c9b0849..46119620 100644 --- a/core/language/ko.json +++ b/core/language/ko.json @@ -51,7 +51,7 @@ "youraccounts": "귀하의 계정", "clickto": "클릭하여 계정에 로그인하세요", "needcreate": "로그인하기 전에 계정을 생성하거나 저장해야 합니다!", - "upload": "qortal 백업파일을 업로드합니다.", + "upload": "Qortal 백업파일을 업로드합니다.", "howlogin": "어떤 방식으로 로그인하시겠습니까?", "seed": "시드구문", "seedphrase": "시드구문", @@ -71,7 +71,7 @@ "willbe": "백그라운드에서 랜덤하게 생성됩니다. 이것은 Qortal의 블록체인 계정에 대한 개인 키 생성기로 사용됩니다.", "clicknext": "아래 NEXT를 클릭하여 Qortal 계정을 만드십시오.", "ready": "계정을 만들 준비가 되었습니다. 이 브라우저에 저장됩니다. 브라우저에 새 계정을 저장하지 않으려면 아래 상자를 선택 취소할 수 있습니다. 계정을 만든 후에는 반드시 다운로드해야 하는 지갑 백업 파일을 사용하여 새 계정으로 로그인할 수 있습니다(로그아웃 후).", - "welmessage": "qortal에 오신 것을 환영합니다.", + "welmessage": "Qortal에 오신 것을 환영합니다.", "pleaseenter": "암호를 입력하십시오!", "notmatch": "암호가 일치하지 않습니다!", "lessthen8": "암호가 8자 미만입니다! 이것은 권장되지 않습니다. 이 경고는 계속 무시할 수 있습니다.", @@ -214,9 +214,9 @@ "mintingpage": { "mchange1": "일반 민팅 정보", "mchange2": "블록체인 통계", - "mchange3": "qortql 블록타임 평균", + "mchange3": "Qortal 블록타임 평균", "mchange4": "일별 블록수 평균", - "mchange5": "일별 qort생성 평균", + "mchange5": "일별 QORT생성 평균", "mchange6": "민팅 계정 세부사항", "mchange7": "민터가 아님", "mchange8": "민팅중", @@ -248,7 +248,7 @@ "mchange34": "Qortal에서 Minter가 되고 Minter Level이 상승하여 QORT 보상을 받기 시작하려면 먼저 '후원'이 되어야 합니다. Qortal의 후원자는 레벨 5 이상의 다른 부서 또는 Qortal Founder입니다. 스폰서로부터 후원 키를 받아 이 키를 사용하여 레벨 1로 이동합니다. 레벨 1에 도달하면 자신만의 조폐 키를 만들고 Qortal Blockchain 보안에 도움이 되는 보상을 받을 수 있습니다.", "mchange35": "스폰서쉽", "mchange36": "스폰서가 노드에 추가하는 데 사용할 '스폰서 키'를 발급하고 주조 작업을 시작합니다(레벨 1에 도달할 때까지 보상 없음). 레벨 1에 도달하면 '마인팅 키'를 작성/지정하고 보상을 획득합니다.", - "mchange37": "qortal에 있는 후원 키를 발급할 수 있을 정도로 높은 수준의 광부에게 연락하여 해당 키를 받은 다음 여기로 돌아와 주조 여행을 시작할 수 있는 키를 입력하기만 하면 됩니다.", + "mchange37": "Qortal에 있는 후원 키를 발급할 수 있을 정도로 높은 수준의 광부에게 연락하여 해당 키를 받은 다음 여기로 돌아와 주조 여행을 시작할 수 있는 키를 입력하기만 하면 됩니다.", "mchange38": "안" }, "becomeMinterPage": { @@ -436,7 +436,7 @@ "nchange35": "이름이 있습니다!", "nchange36": "등록된 이름이 없는 계정만 이름을 살 수 있습니다.", "nchange37": "주의!", - "nchange38": "이 이름을 살 만큼 충분한 qort가 없습니다.", + "nchange38": "이 이름을 살 만큼 충분한 QORT가 없습니다.", "nchange39": "이 이름을 구입하시겠습니까?", "nchange40": "확인을 누르면 구매 이름 요청이 전송됩니다!", "nchange41": "이전 이름", @@ -494,10 +494,10 @@ "schange7": "출판사", "schange8": "작업", "schange9": "Q-Apps", - "schange10": "사용할 수 있는 q-apps 없음", + "schange10": "사용할 수 있는 Q-Apps 없음", "schange11": "내가 팔로우한 Q-Apps", "schange12": "팔로우한 Q-Apps", - "schange13": "팔로우 중인 q-apps 없습니다", + "schange13": "팔로우 중인 Q-Apps 없습니다", "schange14": "차단된 Q-Apps", "schange15": "차단된 Q-Apps", "schange16": "Q-Apps 차단하지 않았습니다", @@ -538,13 +538,13 @@ "schange7": "출판사", "schange8": "작업", "schange9": "Q-Tubes", - "schange10": "사용 가능한 q-tubes 없음", + "schange10": "사용 가능한 Q-Tubes 없음", "schange11": "내가 팔로우한 Q-Tubes", "schange12": "팔로잉한 Q-Tubes", - "schange13": "팔로우 중인 q-tubes가 없습니다", + "schange13": "팔로우 중인 Q-Tubes가 없습니다", "schange14": "차단된 Q-Tubes", "schange15": "차단된 Q-Tubes", - "schange16": "어떤 q-tubes 차단하지 않았습니다", + "schange16": "어떤 Q-Tubes 차단하지 않았습니다", "schange17": "이름을 찾을 수 없습니다!", "schange18": "릴레이 모드가 활성화되었습니다. 이는 피어가 요청할 때 노드가 네트워크에서 암호화된 데이터를 전송하는 데 도움이 된다는 것을 의미합니다. 설정을 통해 옵트아웃할 수 있습니다.", "schange19": "에서", diff --git a/core/language/no.json b/core/language/no.json index 251cf687..c5d5ecc6 100644 --- a/core/language/no.json +++ b/core/language/no.json @@ -51,7 +51,7 @@ "youraccounts": "Dine kontoer", "clickto": "Klikk på kontoen din for å logge på", "needcreate": "Du må opprette eller lagre en konto før du kan logge på!", - "upload": "Last opp din qortal-backup", + "upload": "Last opp din Qortal-backup", "howlogin": "Hvordan vil du logge på?", "seed": "Minnefrase (seedphrase)", "seedphrase": "minnefrase (seedphrase)", @@ -436,7 +436,7 @@ "nchange35": "DU HAR ET NAVN!", "nchange36": "Bare kontoer uten registrert navn kan kjøpe et navn.", "nchange37": "OBS!", - "nchange38": "Du har ikke nok qort til å kjøpe dette navnet.", + "nchange38": "Du har ikke nok QORT til å kjøpe dette navnet.", "nchange39": "Er du sikker på å kjøpe dette navnet?", "nchange40": "Når du trykker bekreft, vil forespørselen om kjøpsnavn bli sendt!", "nchange41": "Gammelt navn", @@ -494,13 +494,13 @@ "schange7": "Publisert av", "schange8": "Handlinger", "schange9": "Q-Apps", - "schange10": "Ingen q-apps tilgjengelig", + "schange10": "Ingen Q-Apps tilgjengelig", "schange11": "Dine fulgte Q-Apps", "schange12": "Følgte Q-Apps", - "schange13": "Du følger ingen q-apps", + "schange13": "Du følger ingen Q-Apps", "schange14": "Dine blokkerte Q-Apps", "schange15": "Blokkerte Q-apper", - "schange16": "Du har ikke blokkert noen q-apps", + "schange16": "Du har ikke blokkert noen Q-Apps", "schange17": "Navnet ble ikke funnet!", "schange18": "Relémodus er aktivert. Dette betyr at noden din vil hjelpe til med å transportere krypterte data rundt i nettverket når en peer ber om det. Du kan velge bort ved å stille inn", "schange19": "i", @@ -538,13 +538,13 @@ "schange7": "Publisert av", "schange8": "Handlinger", "schange9": "Q-Tubes", - "schange10": "Ingen q-tubes tilgjengelig", + "schange10": "Ingen Q-Tubes tilgjengelig", "schange11": "Dine fulgte Q-Tubes", "schange12": "Følgte Q-Tubes", - "schange13": "Du følger ingen q-tubes", + "schange13": "Du følger ingen Q-Tubes", "schange14": "Dine blokkerte Q-Tubes", "schange15": "Blokkerte Q-Tubes", - "schange16": "Du har ikke blokkert noen q-tubes", + "schange16": "Du har ikke blokkert noen Q-Tubes", "schange17": "Navnet ble ikke funnet!", "schange18": "Relémodus er aktivert. Dette betyr at noden din vil hjelpe til med å transportere krypterte data rundt i nettverket når en peer ber om det. Du kan velge bort ved å stille inn", "schange19": "i", diff --git a/core/language/pl.json b/core/language/pl.json index 8329e04e..5fb4d8f0 100644 --- a/core/language/pl.json +++ b/core/language/pl.json @@ -436,7 +436,7 @@ "nchange35": "MASZ IMIĘ!", "nchange36": "Tylko konta bez zarejestrowanej nazwy mogą kupić nazwę.", "nchange37": "UWAGA!", - "nchange38": "Nie masz wystarczającej ilości qort, aby kupić tę nazwę.", + "nchange38": "Nie masz wystarczającej ilości QORT, aby kupić tę nazwę.", "nchange39": "Czy na pewno kupisz tę nazwę?", "nchange40": "Po naciśnięciu potwierdzenia, prośba o nazwę kupna zostanie wysłana!", "nchange41": "Stara nazwa", @@ -494,13 +494,13 @@ "schange7": "Opublikowane przez", "schange8": "Akcje", "schange9": "Q-Apps", - "schange10": "Brak dostępnych q-apps", + "schange10": "Brak dostępnych Q-Apps", "schange11": "Twoje obserwowane Q-Apps", "schange12": "Obserwowane Q-Apps", - "schange13": "Nie obserwujesz żadnych q-apps", + "schange13": "Nie obserwujesz żadnych Q-Apps", "schange14": "Twoje zablokowane Q-Apps", "schange15": "Zablokowane Q-Apps", - "schange16": "Nie zablokowałeś żadnych q-apps", + "schange16": "Nie zablokowałeś żadnych Q-Apps", "schange17": "Nie znaleziono nazwy!", "schange18": "Tryb przekazywania jest włączony. Oznacza to, że twój węzeł pomoże w transporcie zaszyfrowanych danych w sieci, gdy zażąda tego peer. Możesz zrezygnować, ustawiając", "schange19": "w", @@ -538,13 +538,13 @@ "schange7": "Opublikowane przez", "schange8": "Akcje", "schange9": "Q-Tubes", - "schange10": "Brak dostępnych q-tubes", + "schange10": "Brak dostępnych Q-Tubes", "schange11": "Twoje obserwowane Q-Tubes", "schange12": "Obserwowano Q-Tubes", - "schange13": "Nie obserwujesz żadnych q-tubes", + "schange13": "Nie obserwujesz żadnych Q-Tubes", "schange14": "Twoje zablokowane Q-Tubes", "schange15": "Zablokowane Q-Tubes", - "schange16": "Nie zablokowałeś żadnych q-tubes", + "schange16": "Nie zablokowałeś żadnych Q-Tubes", "schange17": "Nie znaleziono nazwy!", "schange18": "Tryb przekazywania jest włączony. Oznacza to, że twój węzeł pomoże w transporcie zaszyfrowanych danych w sieci, gdy zażąda tego peer. Możesz zrezygnować, ustawiając", "schange19": "w", diff --git a/core/language/pt.json b/core/language/pt.json index d77ec1c9..c92630c8 100644 --- a/core/language/pt.json +++ b/core/language/pt.json @@ -436,7 +436,7 @@ "nchange35": "VOCÊ TEM UM NOME!", "nchange36": "Apenas contas sem nome registrado podem comprar um nome.", "nchange37": "ATENÇÃO!", - "nchange38": "Você não tem qort suficiente para comprar este nome.", + "nchange38": "Você não tem QORT suficiente para comprar este nome.", "nchange39": "Tem certeza que deseja comprar este nome ?", "nchange40": "Ao pressionar confirmar, a solicitação do nome de compra será enviada!", "nchange41": "Nome antigo", @@ -494,13 +494,13 @@ "schange7": "Publicado por", "schange8": "Ações", "schange9": "Q-Apps", - "schange10": "Nenhum q-apps disponível", + "schange10": "Nenhum Q-Apps disponível", "schange11": "Seus Q-Apps seguidos", "schange12": "Q-Apps seguidos", - "schange13": "Você não está seguindo nenhum q-apps", + "schange13": "Você não está seguindo nenhum Q-Apps", "schange14": "Seus Q-Apps bloqueados", "schange15": "Q-Apps bloqueados", - "schange16": "Você não bloqueou nenhum q-apps", + "schange16": "Você não bloqueou nenhum Q-Apps", "schange17": "Nome não encontrado!", "schange18": "O modo de retransmissão está ativado. Isso significa que seu nó ajudará a transportar dados criptografados pela rede quando um par solicitar. Você pode optar por não configurar", "schange19": "em", @@ -538,13 +538,13 @@ "schange7": "Publicado por", "schange8": "Ações", "schange9": "Q-Tubes", - "schange10": "Nenhum q-tubes disponível", + "schange10": "Nenhum Q-Tubes disponível", "schange11": "Seus Q-Tubes seguidos", "schange12": "Q-Tubes seguidos", - "schange13": "Você não está seguindo nenhum q-tubes", + "schange13": "Você não está seguindo nenhum Q-Tubes", "schange14": "Seus Q-Tubes bloqueados", "schange15": "Q-Tubes bloqueados", - "schange16": "Você não bloqueou nenhum q-tubes", + "schange16": "Você não bloqueou nenhum Q-Tubes", "schange17": "Nome não encontrado!", "schange18": "O modo de retransmissão está ativado. Isso significa que seu nó ajudará a transportar dados criptografados pela rede quando um ponto solicitar. Você pode optar por não configurar", "schange19": "em", diff --git a/core/language/ro.json b/core/language/ro.json index 12c0725e..7f11189e 100644 --- a/core/language/ro.json +++ b/core/language/ro.json @@ -51,7 +51,7 @@ "youraccounts": "Conturile tale", "clickto": "Fa click pe Contul tau pentru a te conecta cu el", "needcreate": "Trebuie sa iti creezi sau sa salvezi un cont inainte de a te conecta!", - "upload": "Urca copia de siguranta qortal", + "upload": "Urca copia de siguranta Qortal", "howlogin": "Cum doresti sa te conectezi?", "seed": "frazainitiala", "seedphrase": "frazainitiala", @@ -436,7 +436,7 @@ "nchange35": "AI UN NUME!", "nchange36": "Numai conturile fără nume înregistrat pot cumpăra un nume.", "nchange37": "ATENȚIE!", - "nchange38": "Nu aveți suficient qort pentru a cumpăra acest nume.", + "nchange38": "Nu aveți suficient QORT pentru a cumpăra acest nume.", "nchange39": "Sunteți sigur că veți cumpăra acest nume?", "nchange40": "La apăsarea confirmării, cererea de nume de cumpărare va fi trimisă!", "nchange41": "Nume vechi", @@ -494,13 +494,13 @@ "schange7": "Publicat de", "schange8": "Acțiuni", "schange9": "Q-Apps", - "schange10": "Nu există q-apps disponibile", + "schange10": "Nu există Q-Apps disponibile", "schange11": "Q-Apps urmărite", "schange12": "Q-Apps urmărite", - "schange13": "Nu urmăriți nicio q-apps", + "schange13": "Nu urmăriți nicio Q-Apps", "schange14": "Q-Apps dvs. blocate", "schange15": "Q-Apps blocate", - "schange16": "Nu ați blocat nicio q-apps", + "schange16": "Nu ați blocat nicio Q-Apps", "schange17": "Numele nu a fost găsit!", "schange18": "Modul de retransmisie este activat. Aceasta înseamnă că nodul dvs. va ajuta la transportul datelor criptate în rețea atunci când un peer o solicită. Puteți renunța prin setare", "schange19": "în", @@ -538,13 +538,13 @@ "schange7": "Publicat de", "schange8": "Acțiuni", "schange9": "Q-Tubes", - "schange10": "Nu există q-tubes disponibile", + "schange10": "Nu există Q-Tubes disponibile", "schange11": "Q-Tubes urmărite", "schange12": "Urmărite Q-Tubes", - "schange13": "Nu urmăriți niciun q-tubes", + "schange13": "Nu urmăriți niciun Q-Tubes", "schange14": "Q-Tubes blocate", "schange15": "Q-Tubes blocate", - "schange16": "Nu ați blocat niciun q-tubes", + "schange16": "Nu ați blocat niciun Q-Tubes", "schange17": "Numele nu a fost găsit!", "schange18": "Modul de retransmisie este activat. Aceasta înseamnă că nodul dvs. va ajuta la transportul datelor criptate în rețea atunci când un peer o solicită. Puteți renunța prin setare", "schange19": "în", diff --git a/core/language/rs.json b/core/language/rs.json index 1915ec33..d80e44ec 100644 --- a/core/language/rs.json +++ b/core/language/rs.json @@ -51,12 +51,12 @@ "youraccounts": "Tvoji nalozi", "clickto": "Kliknite na nalog sa kojim želite da se prijavite", "needcreate": "Morate napraviti ili sačuvati nalog pre mogućnosti prijavljivanja!", - "upload": "Ubacite vašu rezervnu kopiju qortala", + "upload": "Ubacite vašu rezervnu kopiju Qortala", "howlogin": "Kako bi ste želeli da se prijavite?", "seed": "Semenska fraza", "seedphrase": "semenskafraza", "saved": "Sačuvani nalog", - "qora": "Seme qora adrese", + "qora": "Seme Qora adrese", "backup": "Rezervna kopija Qortal novčanika", "decrypt": "Dešifrovanje rezervne kopije", "save": "Sačuvajte u ovom pretraživaču.", @@ -494,13 +494,13 @@ "schange7": "Objavio", "schange8": "Radnje", "schange9": "Q-Apps", - "schange10": "Nema dostupnih q-apps", + "schange10": "Nema dostupnih Q-Apps", "schange11": "Vaše praćene Q-Apps", "schange12": "Praćene Q-Apps", - "schange13": "Ne pratite nijednu q-apps", + "schange13": "Ne pratite nijednu Q-Apps", "schange14": "Vaše blokirane Q-Apps", "schange15": "Blokirane Q-Apps", - "schange16": "Niste blokirali nijednu q-apps", + "schange16": "Niste blokirali nijednu Q-Apps", "schange17": "Ime nije pronađeno!", "schange18": "Relejni režim je omogućen. To znači da će vaš čvor pomoći da se šifrovane podatke transportuju po mreži kada kolega to zatraži. Možete isključiti podešavanjem", "schange19": "u", @@ -538,13 +538,13 @@ "schange7": "Objavio", "schange8": "Radnje", "schange9": "Q-Tubes", - "schange10": "Nije dostupne q-tubes", + "schange10": "Nije dostupne Q-Tubes", "schange11": "Vaše praćene Q-Tubes", "schange12": "Praćene Q-Tubes", - "schange13": "Ne pratite nijednu q-tubes", + "schange13": "Ne pratite nijednu Q-Tubes", "schange14": "Vaše blokirane Q-Tubes", "schange15": "Blokirane Q-Tubes", - "schange16": "Niste blokirali nijednu q-tubes", + "schange16": "Niste blokirali nijednu Q-Tubes", "schange17": "Ime nije pronađeno!", "schange18": "Relejni režim je omogućen. To znači da će vaš čvor pomoći da se šifrovane podatke transportuju po mreži kada kolega to zatraži. Možete isključiti podešavanjem", "schange19": "u", diff --git a/core/language/ru.json b/core/language/ru.json index 34a0c678..878fdab3 100644 --- a/core/language/ru.json +++ b/core/language/ru.json @@ -51,7 +51,7 @@ "youraccounts": "Ваши аккаунты", "clickto": "Нажмите на свою учетную запись, чтобы войти с ее помощью", "needcreate": "Вам необходимо создать или сохранить учетную запись, прежде чем вы сможете войти в нее!", - "upload": "Загрузить резервную копию вашего qortal", + "upload": "Загрузить резервную копию вашего Qortal", "howlogin": "Как бы вы хотели войти?", "seed": "Seed-фраза", "seedphrase": "seed-фраза", @@ -436,7 +436,7 @@ "nchange35": "У ВАС ЕСТЬ ИМЯ!", "nchange36": "Только аккаунты без зарегистрированного имени могут купить имя.", "nchange37": "ВНИМАНИЕ!", - "nchange38": "У вас недостаточно qort, чтобы купить это имя.", + "nchange38": "У вас недостаточно QORT, чтобы купить это имя.", "nchange39": "Вы уверены, что купите это имя?", "nchange40": "При нажатии кнопки подтверждения будет отправлен запрос имени на покупку!", "nchange41": "Старое имя", @@ -494,13 +494,13 @@ "schange7": "Опубликовано", "schange8": "Действия", "schange9": "Q-Apps", - "schange10": "Нет доступных q-apps", + "schange10": "Нет доступных Q-Apps", "schange11": "Q-Apps, на которые вы подписаны", "schange12": "Подписан на Q-Apps", - "schange13": "Вы не подписаны ни на одно q-apps", + "schange13": "Вы не подписаны ни на одно Q-Apps", "schange14": "Ваши заблокированные Q-Apps", "schange15": "Заблокированные Q-Apps", - "schange16": "Вы не заблокировали ни одно q-apps", + "schange16": "Вы не заблокировали ни одно Q-Apps", "schange17": "Имя не найдено!", "schange18": "Режим ретрансляции включен. Это означает, что ваш узел будет помогать передавать зашифрованные данные по сети, когда их запрашивает одноранговый узел. Вы можете отказаться, настроив", "schange19": "в", @@ -538,13 +538,13 @@ "schange7": "Опубликовано", "schange8": "Действия", "schange9": "Q-Tubes", - "schange10": "Нет доступных q-tubes", + "schange10": "Нет доступных Q-Tubes", "schange11": "Ваши подписчики Q-Tubes", "schange12": "Следил за Q-Tubes", - "schange13": "Вы не подписаны ни на один q-tubes", + "schange13": "Вы не подписаны ни на один Q-Tubes", "schange14": "Ваши заблокированные Q-Tubes", "schange15": "Заблокированные Q-Tubes", - "schange16": "Вы не заблокировали ни одну q-tubes", + "schange16": "Вы не заблокировали ни одну Q-Tubes", "schange17": "Имя не найдено!", "schange18": "Режим ретрансляции включен. Это означает, что ваш узел будет помогать передавать зашифрованные данные по сети, когда их запрашивает одноранговый узел. Вы можете отказаться, настроив", "schange19": "в", diff --git a/core/language/us.json b/core/language/us.json index 9eb69823..e17be41f 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -43,16 +43,16 @@ "sm3": "NAMES MARKET" }, "login": { - "login": "Login", + "login": "Log In", "createaccount": "Create Account", "name": "Name", "address": "Address", "password": "Password", "youraccounts": "Your accounts", - "clickto": "Click your account to login with it", + "clickto": "Click your account to log in with it", "needcreate": "You need to create or save an account before you can log in!", - "upload": "Upload your qortal backup", - "howlogin": "How would you like to login?", + "upload": "Upload your Qortal backup", + "howlogin": "How would you like to log in?", "seed": "Seedphrase", "seedphrase": "seedphrase", "saved": "Saved account", @@ -70,14 +70,14 @@ "confirmpass": "Confirm Password", "willbe": "will be randomly generated in background. This is used as your private key generator for your blockchain account in Qortal.", "clicknext": "Create your Qortal account by clicking NEXT below.", - "ready": "Your account is now ready to be created. It will be saved in this browser. If you do not want your new account to be saved in your browser, you can uncheck the box below. You will still be able to login with your new account(after logging out), using your wallet backup file that you MUST download once you create your account.", + "ready": "Your account is now ready to be created. It will be saved in this browser. If you do not want your new account to be saved in your browser, you can uncheck the box below. You will still be able to log in with your new account(after logging out), using your wallet backup file that you MUST download once you create your account.", "welmessage": "Welcome to Qortal", "pleaseenter": "Please enter a Password!", - "notmatch": "Passwords not match!", + "notmatch": "Passwords do not match!", "lessthen8": "Your password is less than 8 characters! This is not recommended. You can continue to ignore this warning.", "lessthen8-2": "Your password is less than 8 characters!", "entername": "Please enter a Name!", - "downloaded": "Your Wallet BackUp file get downloaded!", + "downloaded": "Your Wallet BackUp file was downloaded!", "loading": "Loading, Please wait...", "createdseed": "Your created Seedphrase", "saveseed": "Save Seedphrase", @@ -90,8 +90,8 @@ "passwordhint": "A password must be at least 8 characters." }, "logout": { - "logout": "LOGOUT", - "confirmlogout": "Are you sure you want to logout?" + "logout": "LOG OUT", + "confirmlogout": "Are you sure you want to log out?" }, "fragfile": { "selectfile": "Select file", @@ -105,8 +105,8 @@ "account": "Account", "security": "Security", "qr_login_menu_item": "QR Login", - "qr_login_description_1": "Scan this code to unlock your wallet on other device using the same password which you logged in with.", - "qr_login_description_2": "Choose a password which you will use to unlock your wallet on other device after scanning the QR code.", + "qr_login_description_1": "Scan this code to unlock your wallet on another device using the same password which you logged in with.", + "qr_login_description_2": "Choose a password which you will use to unlock your wallet on another device after scanning the QR code.", "qr_login_button_1": "Show login QR code", "qr_login_button_2": "Generate login QR code", "notifications": "Notifications", @@ -127,8 +127,8 @@ "import": "Import Nodes", "export": "Export Nodes", "deletecustomnode": "Remove All Custom Nodes", - "warning": "Your existing nodes will be deleted and from backup new created.", - "snack1": "Successfully deleted and added standard nodes", + "warning": "Your existing nodes will be deleted and reset to default.", + "snack1": "Successfully deleted and added default nodes", "snack2": "UI conected to node", "snack3": "Successfully added and saved custom node", "snack4": "Nodes successfully saved as", @@ -174,7 +174,7 @@ "gchange3": "My Collections", "gchange4": "Subscribed Collections", "gchange5": "Upload your gif files", - "gchange6": "File should be .Gif", + "gchange6": "File should be .gif", "gchange7": "Upload Collection", "gchange8": "A collection name is required!", "gchange9": "Collection Name", @@ -209,7 +209,7 @@ "smchange7": "Finishing up relationship", "smchange8": "Adding minting key to node", "smchange9": "Complete", - "smchange10": "Only 2 minting keys are allowed per node, you are attempting to assign 3 keys, please go to management - node management, and remove the key you do not want to assign to this node, thank you!" + "smchange10": "Only 2 minting keys are allowed per node, you are attempting to assign 3 keys, please go to Management - Node Management, and remove the key you do not want to assign to this node, thank you!" }, "mintingpage": { "mchange1": "General Minting Details", @@ -245,26 +245,26 @@ "mchange31": "Press for help", "mchange32": "Become A Minter", "mchange33": "Introduction", - "mchange34": "In Qortal, in order to become a minter and begin earning QORT rewards with your increase in Minter Level, you must first become ‘sponsored’. A sponsor in Qortal is any other minter of level 5 or higher, or a Qortal Founder. You will obtain a sponsorship key from the sponsor, and use that key to get to level 1. Once you have reached level 1, you will be able to create your own minting key and start earning rewards for helping secure the Qortal Blockchain.", + "mchange34": "In Qortal, in order to become a minter and begin earning QORT rewards with your increase in Minter Level, you must first become ‘sponsored’. A sponsor in Qortal is any other minter of level 5 or higher, or a Qortal Founder. You will obtain a minting key from the sponsor, and use that key to get to level 1. Once you have reached level 1, you will be able to create your own minting key and start earning rewards for helping secure the Qortal Blockchain.", "mchange35": "Sponsorship", - "mchange36": "Your sponsor will issue you a ‘Sponsorship Key’ which you will use to add to your node, and begin minting (for no rewards until reaching level 1.) Once you reach level 1, you create/assign your own ‘Minting Key’ and begin earning rewards.", - "mchange37": "Simply reach out to a minter in Qortal who is high enough level to issue a sponsorship key, obtain that key, then come back here and input the key to begin your minting journey !", + "mchange36": "Your sponsor will issue you a ‘Minting Key’ which you will use to add to your node, and begin minting (for no rewards until reaching level 1.) Once you reach level 1, you create/assign your own ‘Minting Key’ and begin earning rewards.", + "mchange37": "Simply reach out to a minter in Qortal who is high enough level to issue a minting key, obtain that key, then come back here and input the key to begin your minting journey!", "mchange38": "in" }, "becomeMinterPage": { - "bchange7": "Enter Sponsorship Key", + "bchange7": "Enter Minting Key", "bchange8": "Input key from your sponsor here", "bchange10": "Current Sponsorship Status", - "bchange12": "Minting with sponsor key", + "bchange12": "Minting with sponsor's key", "bchange13": "Blocks Remaining in Sponsorship Period", "bchange15": "Sponsorship Relationship", "bchange16": "Sponsor Account", - "bchange17": "Copy Sponsorship Key", + "bchange17": "Copy Minting Key", "bchange18": "Start Minting", "bchange19": "Success! You are currently minting." }, "walletpage": { - "wchange1": "Fetching balance ...", + "wchange1": "Fetching balance...", "wchange2": "Current Wallet", "wchange3": "Copy wallet address to clipboard", "wchange4": "Address copied to clipboard", @@ -311,14 +311,14 @@ "wchange45": "Send all", "wchange46": "Send to this address", "wchange47": "Address Book", - "wchange48": "This Address Book is empty !", + "wchange48": "This Address Book is empty!", "wchange49": "Add to Address Book", "wchange50": "Name cannot be empty!", "wchange51": "Address cannot be empty!", "wchange52": "Successfully added!", "wchange53": "Import Address Book", "wchange54": "Export Address Book", - "wchange55": "Your existing address book will be deleted and from backup new created.", + "wchange55": "Your existing address book will be deleted and reset to default.", "wchange56": "WARNING!", "wchange57": "Memo", "wchange58": "New Address", @@ -361,7 +361,7 @@ "tchange34": "Amount can not be 0", "tchange35": "Price can not be 0", "tchange36": "PENDING AUTO BUY", - "tchange37": "No auto buy order found !", + "tchange37": "No auto buy order found!", "tchange38": "ADD", "tchange39": "AUTO BUY ORDER", "tchange40": "Price", @@ -425,11 +425,11 @@ "nchange23": "Sell Price", "nchange24": "No Names To Sell", "nchange25": "Name To Sell", - "nchange26": "Are you sure to sell this name ?", + "nchange26": "Are you sure to sell this name?", "nchange27": "For this price in QORT", "nchange28": "On pressing confirm, the sell name request will be sent!", "nchange29": "Name To Cancel", - "nchange30": "Are you sure to cancel the sell for this name ?", + "nchange30": "Are you sure to cancel the sell for this name?", "nchange31": "On pressing confirm, the cancel sell name request will be sent!", "nchange32": "Sell Name Request Successful!", "nchange33": "Cancel Sell Name Request Successful!", @@ -437,12 +437,12 @@ "nchange35": "YOU HAVE A NAME!", "nchange36": "Only accounts with no registered name can buy a name.", "nchange37": "ATTENTION!", - "nchange38": "You not have enough qort to buy this name.", - "nchange39": "Are you sure to buy this name ?", + "nchange38": "You not have enough QORT to buy this name.", + "nchange39": "Are you sure to buy this name?", "nchange40": "On pressing confirm, the buy name request will be sent!", "nchange41": "Old Name", "nchange42": "New Name", - "nchange43": "Are you sure to change this name ?", + "nchange43": "Are you sure to change this name?", "nchange44": "To the new name", "nchange45": "On pressing confirm, the name update request will be sent!", "nchange46": "Name Sale History", @@ -495,13 +495,13 @@ "schange7": "Published by", "schange8": "Actions", "schange9": "Q-Apps", - "schange10": "No q-apps available", + "schange10": "No Q-Apps available", "schange11": "Your Followed Q-Apps", "schange12": "Followed Q-Apps", - "schange13": "You aren't following any q-apps", + "schange13": "You aren't following any Q-Apps", "schange14": "Your Blocked Q-Apps", "schange15": "Blocked Q-Apps", - "schange16": "You have not blocked any q-apps", + "schange16": "You have not blocked any Q-Apps", "schange17": "Name Not Found!", "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", "schange19": "in", @@ -539,13 +539,13 @@ "schange7": "Published by", "schange8": "Actions", "schange9": "Q-Tubes", - "schange10": "No q-tubes available", + "schange10": "No Q-Tubes available", "schange11": "Your Followed Q-Tubes", "schange12": "Followed Q-Tubes", - "schange13": "You aren't following any q-tubes", + "schange13": "You aren't following any Q-Tubes", "schange14": "Your Blocked Q-Tubes", "schange15": "Blocked Q-Tubes", - "schange16": "You have not blocked any q-tubes", + "schange16": "You have not blocked any Q-Tubes", "schange17": "Name Not Found!", "schange18": "Relay mode is enabled. This means that your node will help to transport encrypted data around the network when a peer requests it. You can opt out by setting", "schange19": "in", @@ -773,7 +773,7 @@ "bcchange3": "Error occurred when trying to block this user. Please try again!", "bcchange4": "No registered name", "bcchange5": "Block User Request", - "bcchange6": "Are you sure to block this user ?", + "bcchange6": "Are you sure to block this user?", "bcchange7": "MENU", "bcchange8": "Copy Address", "bcchange9": "Private Message", @@ -831,7 +831,7 @@ "gchange41": "Group Creation Successful!", "gchange42": "Invalid Group Name", "gchange43": "Invalid Group Description", - "gchange44": "Select a Group Typ", + "gchange44": "Select a Group Type", "gchange45": "Select a Group Approval Threshold", "gchange46": "Select a Minimum Block delay for Group Transaction Approvals", "gchange47": "Select a Maximum Block delay for Group Transaction Approvals", @@ -963,7 +963,7 @@ "exp1": "Address or name to search", "exp2": "Account Balance", "exp3": "More Info", - "exp4": "Address or Name not found !", + "exp4": "Address or Name not found!", "exp5": "Note that registered names are case-sensitive.", "exp6": "Founder", "exp7": "Info", @@ -993,36 +993,36 @@ "mg8": "Group ID", "mg9": "Joined", "mg10": "Add Group Admin", - "mg11": "Are you sure to add this member to admins ?", + "mg11": "Are you sure to add this member to admins?", "mg12": "On pressing confirm, add admin request will be sent!", "mg13": "Remove Group Admin", "mg14": "Remove Admin Address", - "mg15": "Are you sure to remove this member from admins ?", + "mg15": "Are you sure to remove this member from admins?", "mg16": "On pressing confirm, remove admin request will be sent!", "mg17": "Ban Member From Group", "mg18": "Member Name", "mg19": "Member Address", "mg20": "How Long To Ban", "mg21": "Reason For Ban", - "mg22": "Are you sure to ban this member from the group ?", + "mg22": "Are you sure to ban this member from the group?", "mg23": "On pressing confirm, the ban request will be sent!", "mg24": "FOREVER", "mg25": "Banned Members", "mg26": "CANCEL BAN", "mg27": "Ban Expiry", "mg28": "Cancel Ban Member From Group", - "mg29": "Are you sure to cancel the ban for this member from the group ?", + "mg29": "Are you sure to cancel the ban for this member from the group?", "mg30": "On pressing confirm, the cancel ban request will be sent!", "mg31": "Kick Member From Group", "mg32": "Reason For Kick", - "mg33": "Are you sure to kick this member from the group ?", + "mg33": "Are you sure to kick this member from the group?", "mg34": "On pressing confirm, the kick request will be sent!", "mg35": "No Open Group Invites", "mg36": "Your Open Group Invites", "mg37": "Address or name to invite", "mg38": "Invite Expiry Time", "mg39": "All Fields Are Required", - "mg40": "Are you sure to invite this member to the group ?", + "mg40": "Are you sure to invite this member to the group?", "mg41": "On pressing confirm, the invite request will be sent!", "mg42": "Group Type", "mg43": "Invite Expiry", @@ -1030,19 +1030,19 @@ "mg45": "Private Group", "mg46": "Cancel Invite", "mg47": "Cancel Invite To Group", - "mg48": "Are you sure to cancel the invite for this member ?", + "mg48": "Are you sure to cancel the invite for this member?", "mg49": "On pressing confirm, the cancel invite request will be sent!", "mg50": "Coming Soon...", "mg51": "Minimum 3 Characters / Maximum 32 Characters", "mg52": "Maximum 128 Characters", "mg53": "Your Open Join Requests", "mg54": "No Open Join Requests", - "mg55": "Are you sure to accept the join request from this member ?", + "mg55": "Are you sure to accept the join request from this member?", "mg56": "On pressing confirm, the accept join request will be sent!", "mg57": "Join Request Successfully Accepted", "mg58": "SOMETHING WENT WRONG", "mg59": "Cancel Join Request Successfully Accepted", - "mg60": "Are you sure to cancel the join request from this member ?", + "mg60": "Are you sure to cancel the join request from this member?", "mg61": "On pressing confirm, the cancel join request will be sent!" }, "info": { diff --git a/core/language/zhc.json b/core/language/zhc.json index 9bf8e60c..113b7cb3 100644 --- a/core/language/zhc.json +++ b/core/language/zhc.json @@ -436,7 +436,7 @@ "nchange35": "你有名字!", "nchange36": "只有没有注册名字的账户才能买名字。", "nchange37": "注意!", - "nchange38": "你没有足够的qort 来购买这个名字。", + "nchange38": "你没有足够的QORT 来购买这个名字。", "nchange39": "你确定要买这个名字吗?", "nchange40": "按下确认后,将发送购买名称请求!", "nchange41": "旧名称", @@ -494,13 +494,13 @@ "schange7": "发布者", "schange8": "动作", "schange9": "Q-Apps", - "schange10": "没有可用的 q-apps", + "schange10": "没有可用的 Q-Apps", "schange11": "您关注的 Q-Apps", "schange12": "关注 Q-Apps", - "schange13": "您没有关注任何 q-apps", + "schange13": "您没有关注任何 Q-Apps", "schange14": "你被屏蔽的 Q-Apps", "schange15": "被阻止的 Q-Apps", - "schange16": "你没有屏蔽任何 q-apps", + "schange16": "你没有屏蔽任何 Q-Apps", "schange17": "找不到名字!", "schange18": "中继模式已启用。这意味着您的节点将在对等点请求时帮助在网络中传输加密数据。您可以通过设置选择退出", "schange19": "在", @@ -538,13 +538,13 @@ "schange7": "发布者", "schange8": "动作", "schange9": "Q-Tubes", - "schange10": "没有可用的 q-tubes", + "schange10": "没有可用的 Q-Tubes", "schange11": "您关注的 Q-Tubes", "schange12": "关注 Q-Tubes", - "schange13": "你没有关注任何 q-tubes", + "schange13": "你没有关注任何 Q-Tubes", "schange14": "你阻塞的 Q-Tubes", "schange15": "阻塞的 Q-Tubes", - "schange16": "你没有阻塞任何 q-tubes", + "schange16": "你没有阻塞任何 Q-Tubes", "schange17": "找不到名字!", "schange18": "中继模式已启用。这意味着您的节点将在对等点请求时帮助在网络中传输加密数据。您可以通过设置选择退出", "schange19": "在", diff --git a/core/language/zht.json b/core/language/zht.json index fadd23e3..c196fbeb 100644 --- a/core/language/zht.json +++ b/core/language/zht.json @@ -436,7 +436,7 @@ "nchange35": "你有名字!", "nchange36": "只有沒有註冊名字的賬戶才能買名字。", "nchange37": "注意!", - "nchange38": "你沒有足夠的 qort 來購買這個名字。", + "nchange38": "你沒有足夠的 QORT 來購買這個名字。", "nchange39": "你確定要買這個名字嗎?", "nchange40": "按下確認後,將發送購買名稱請求!", "nchange41": "舊名稱", @@ -494,13 +494,13 @@ "schange7": "發布者", "schange8": "動作", "schange9": "Q-Apps", - "schange10": "沒有可用的 q-apps", + "schange10": "沒有可用的 Q-Apps", "schange11": "您關注的 Q-Apps", "schange12": "關注 Q-Apps", - "schange13": "您沒有關注任何 q-apps", + "schange13": "您沒有關注任何 Q-Apps", "schange14": "你被屏蔽的 Q-Apps", "schange15": "被阻止的 Q-Apps", - "schange16": "你沒有屏蔽任何 q-apps", + "schange16": "你沒有屏蔽任何 Q-Apps", "schange17": "找不到名字!", "schange18": "中繼模式已啟用。這意味著您的節點將在對等點請求時幫助在網絡中傳輸加密數據。您可以通過設置選擇退出", "schange19": "在", @@ -538,13 +538,13 @@ "schange7": "發布者", "schange8": "動作", "schange9": "Q-Tubes", - "schange10": "沒有可用的 q-tubes", + "schange10": "沒有可用的 Q-Tubes", "schange11": "您關注的 Q-Tubes", "schange12": "關注 Q-Tubes", - "schange13": "你沒有關注任何 q-tubes", + "schange13": "你沒有關注任何 Q-Tubes", "schange14": "你阻塞的 Q-Tubes", "schange15": "阻塞的 Q-Tubes", - "schange16": "你沒有阻塞任何 q-tubes", + "schange16": "你沒有阻塞任何 Q-Tubes", "schange17": "找不到名字!", "schange18": "中繼模式已啟用。這意味著您的節點將在對等點請求時幫助在網絡中傳輸加密數據。您可以通過設置選擇退出", "schange19": "在", diff --git a/crypto/api/constants.js b/crypto/api/constants.js index 11c0cbbf..e6e17f35 100644 --- a/crypto/api/constants.js +++ b/crypto/api/constants.js @@ -161,7 +161,7 @@ const PROXY_URL = "/proxy/" // Chat reference timestamp const CHAT_REFERENCE_FEATURE_TRIGGER_TIMESTAMP = 1674316800000 -// Used as a salt for all qora addresses. Salts used for storing your private keys in local storage will be randomly generated +// Used as a salt for all Qora addresses. Salts used for storing your private keys in local storage will be randomly generated const STATIC_SALT = new Uint8Array([54, 190, 201, 206, 65, 29, 123, 129, 147, 231, 180, 166, 171, 45, 95, 165, 78, 200, 208, 194, 44, 207, 221, 146, 45, 238, 68, 68, 69, 102, 62, 6]) const BCRYPT_ROUNDS = 10 // Remember that the total work spent on key derivation is BCRYPT_ROUNDS * KDF_THREADS const BCRYPT_VERSION = "2a" From cc31423bbc77572cd615a9546ac19917790ffe78 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Wed, 31 May 2023 13:38:53 +0200 Subject: [PATCH 036/112] Add more context menu items --- electron.js | 82 +++++++++++++++++++++++++++++++++++++++++++++- locales/bg.json | 8 ++++- locales/de.json | 10 ++++-- locales/en.json | 8 ++++- locales/es.json | 10 ++++-- locales/fr.json | 8 ++++- locales/hi.json | 8 ++++- locales/hr.json | 10 ++++-- locales/hu.json | 10 ++++-- locales/it.json | 8 ++++- locales/jp.json | 8 ++++- locales/ko.json | 8 ++++- locales/nl.json | 8 ++++- locales/no.json | 10 ++++-- locales/pt.json | 8 ++++- locales/pt_BR.json | 8 ++++- locales/ro.json | 10 ++++-- locales/ru_RU.json | 8 ++++- locales/sr.json | 10 ++++-- locales/tr.json | 8 ++++- locales/uk.json | 8 ++++- locales/zh_CN.json | 8 ++++- locales/zh_TW.json | 8 ++++- 23 files changed, 242 insertions(+), 30 deletions(-) diff --git a/electron.js b/electron.js index 8d5543a7..a4e76fd9 100644 --- a/electron.js +++ b/electron.js @@ -800,6 +800,51 @@ function createWindow() { }) } +let newWindow = null + +function createNewWindow() { + newWindow = new BrowserWindow({ + backgroundColor: '#eee', + width: 1280, + height: 720, + minWidth: 700, + minHeight: 640, + icon: path.join(__dirname + '/img/icons/png/256x256.png'), + title: "Qortal UI New Instance", + autoHideMenuBar: true, + webPreferences: { + partition: 'persist:webviewsession', + nodeIntegration: true, + contextIsolation: true, + enableRemoteModule: false, + allowRunningInsecureContent: false, + experimentalFeatures: false, + preload: path.join(__dirname, '/lib/preload.js') + }, + show: false + }) + newWindow.show() + newWindow.loadURL('http://localhost:12388/app/wallet') + newWindow.on('closed', function () { + newWindow = null + }) + newWindow.on('minimize', function (event) { + event.preventDefault() + newWindow.hide() + }) + ipcMain.handle('dark-mode:toggle', () => { + if (nativeTheme.shouldUseDarkColors) { + nativeTheme.themeSource = 'light' + } else { + nativeTheme.themeSource = 'dark' + } + return nativeTheme.shouldUseDarkColors + }) + ipcMain.handle('dark-mode:system', () => { + nativeTheme.themeSource = 'system' + }) +} + const createTray = () => { let myTray = new Tray(path.join(__dirname + '/img/icons/png/tray/tray.png')) const contextMenu = Menu.buildFromTemplate([ @@ -934,7 +979,6 @@ if (!isLock) { autoUpdater.checkForUpdatesAndNotify() }) ipcMain.on('show-my-menu', (event) => { - log.info("RIGHT CLICKED") let homePageOptions = Menu.buildFromTemplate([ { label: i18n.__("electron_translate_35"), @@ -943,6 +987,42 @@ if (!isLock) { { label: i18n.__("electron_translate_36"), role: 'paste' + }, + { + type: "separator" + }, + { + label: i18n.__("electron_translate_37"), + submenu: [ + { + label: i18n.__("electron_translate_38"), + role: 'zoomIn' + }, + { + label: i18n.__("electron_translate_39"), + role: 'zoomOut' + }, + { + label: i18n.__("electron_translate_40"), + role: 'resetZoom' + }, + { + type: 'separator' + }, + { + label: i18n.__("electron_translate_41"), + role: 'togglefullscreen' + } + ] + }, + { + type: "separator" + }, + { + label: i18n.__("electron_translate_42"), + click: function () { + createNewWindow() + }, } ]) homePageOptions.popup(myWindow) diff --git a/locales/bg.json b/locales/bg.json index 243d14e6..2bd9c2d9 100644 --- a/locales/bg.json +++ b/locales/bg.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Поставете отметка или премахнете отметката от квадратчето никога повече да не ме питате)", "electron_translate_34": "Настройки", "electron_translate_35": "Копиране", - "electron_translate_36": "Поставяне" + "electron_translate_36": "Поставяне", + "electron_translate_37": "Преглед", + "electron_translate_38": "Увеличаване", + "electron_translate_39": "Намаляване", + "electron_translate_40": "Действителен размер", + "electron_translate_41": "Превключване на цял екран", + "electron_translate_42": "Нов потребителски интерфейс" } \ No newline at end of file diff --git a/locales/de.json b/locales/de.json index e327d4f1..919ae783 100644 --- a/locales/de.json +++ b/locales/de.json @@ -1,5 +1,5 @@ { - "__locale_name__": "Deutsch, Deutschland", + "__locale_name__": "Deutsch", "electron_translate_1": "Qortal-UI anzeigen", "electron_translate_2": "Beenden", @@ -36,5 +36,11 @@ "electron_translate_33": "(Aktivieren oder deaktivieren Sie das Kontrollkästchen Frag mich nie wieder)", "electron_translate_34": "Einstellungen", "electron_translate_35": "Kopieren", - "electron_translate_36": "Einfügen" + "electron_translate_36": "Einfügen", + "electron_translate_37": "Ansicht", + "electron_translate_38": "Vergrößern", + "electron_translate_39": "Herauszoomen", + "electron_translate_40": "Tatsächliche Größe", + "electron_translate_41": "Vollbild umschalten", + "electron_translate_42": "Neue UI-Instanz" } \ No newline at end of file diff --git a/locales/en.json b/locales/en.json index 5be79963..2ecf06c7 100644 --- a/locales/en.json +++ b/locales/en.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Check or Uncheck the never ask me again checkbox)", "electron_translate_34": "Settings", "electron_translate_35": "Copy", - "electron_translate_36": "Paste" + "electron_translate_36": "Paste", + "electron_translate_37": "View", + "electron_translate_38": "Zoom In", + "electron_translate_39": "Zoom Out", + "electron_translate_40": "Actual Size", + "electron_translate_41": "Toggle Full Screen", + "electron_translate_42": "New UI Instance" } \ No newline at end of file diff --git a/locales/es.json b/locales/es.json index 722dc81b..cba8795c 100644 --- a/locales/es.json +++ b/locales/es.json @@ -1,5 +1,5 @@ { - "__locale_name__": "español", + "__locale_name__": "Español", "electron_translate_1": "Mostrar interfaz de usuario de Qortal", "electron_translate_2": "Salir", @@ -36,5 +36,11 @@ "electron_translate_33": "(Marque o desmarque la casilla de verificación Nunca volver a preguntarme)", "electron_translate_34": "Configuración", "electron_translate_35": "Copiar", - "electron_translate_36": "Pegar" + "electron_translate_36": "Pegar", + "electron_translate_37": "Ver", + "electron_translate_38": "Acercar", + "electron_translate_39": "Alejar", + "electron_translate_40": "Tamaño real", + "electron_translate_41": "Alternar pantalla completa", + "electron_translate_42": "Nueva instancia de UI" } diff --git a/locales/fr.json b/locales/fr.json index ccb0b124..1ba133a1 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Cochez ou décochez la case Ne plus jamais me demander)", "electron_translate_34": "Paramètres", "electron_translate_35": "Copier", - "electron_translate_36": "Coller" + "electron_translate_36": "Coller", + "electron_translate_37": "Voir", + "electron_translate_38": "Zoom avant", + "electron_translate_39": "Zoom arrière", + "electron_translate_40": "Taille réelle", + "electron_translate_41": "Basculer en plein écran", + "electron_translate_42": "Nouvelle instance d' UI" } \ No newline at end of file diff --git a/locales/hi.json b/locales/hi.json index 4fb6e5cd..4cf70912 100644 --- a/locales/hi.json +++ b/locales/hi.json @@ -36,5 +36,11 @@ "electron_translate_33": "(मुझे फिर कभी न पूछें चेकबॉक्स को चेक या अनचेक करें)", "electron_translate_34": "सेटिंग्स", "electron_translate_35": "प्रतिलिपि", - "electron_translate_36": "पेस्ट करें" + "electron_translate_36": "पेस्ट करें", + "electron_translate_37": "देखें", + "electron_translate_38": "ज़ूम इन", + "electron_translate_39": "ज़ूम आउट", + "electron_translate_40": "वास्तविक आकार", + "electron_translate_41": "पूरी स्क्रीन को टॉगल करें", + "electron_translate_42": "नया UI उदाहरण" } \ No newline at end of file diff --git a/locales/hr.json b/locales/hr.json index 13b81e1e..7ce19a27 100644 --- a/locales/hr.json +++ b/locales/hr.json @@ -1,5 +1,5 @@ { - "__locale_name__": "Croatia", + "__locale_name__": "Hrvatski", "electron_translate_1": "Prikaži Qortal UI", "electron_translate_2": "Odustani", @@ -36,5 +36,11 @@ "electron_translate_33": "(Označite ili poništite potvrdni okvir nikad me više ne pitaj)", "electron_translate_34": "Postavke", "electron_translate_35": "Kopiraj", - "electron_translate_36": "Zalijepi" + "electron_translate_36": "Zalijepi", + "electron_translate_37": "Prikaz", + "electron_translate_38": "Uvećaj", + "electron_translate_39": "Smanji", + "electron_translate_40": "Stvarna veličina", + "electron_translate_41": "Prebaci preko cijelog zaslona", + "electron_translate_42": "Nova instanca korisničkog sučelja" } \ No newline at end of file diff --git a/locales/hu.json b/locales/hu.json index 680b4731..a86940b3 100644 --- a/locales/hu.json +++ b/locales/hu.json @@ -1,5 +1,5 @@ { - "__locale_name__": "Hungary", + "__locale_name__": "Magyar", "electron_translate_1": "Qortal felhasználói felület megjelenítése", "electron_translate_2": "Kilépés", @@ -36,5 +36,11 @@ "electron_translate_33": "(Jelölje be a soha többé ne kérdezzen jelölőnégyzetet, vagy törölje a pipát)", "electron_translate_34": "Beállítások", "electron_translate_35": "Másolás", - "electron_translate_36": "Beillesztés" + "electron_translate_36": "Beillesztés", + "electron_translate_37": "Megtekintés", + "electron_translate_38": "Nagyítás", + "electron_translate_39": "Kicsinyítés", + "electron_translate_40": "Tényleges méret", + "electron_translate_41": "Teljes képernyő váltás", + "electron_translate_42": "Új UI-példány" } \ No newline at end of file diff --git a/locales/it.json b/locales/it.json index 232e3f35..e0cfd00e 100644 --- a/locales/it.json +++ b/locales/it.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Seleziona o deseleziona la casella di controllo Non chiedermelo più)", "electron_translate_34": "Impostazioni", "electron_translate_35": "Copia", - "electron_translate_36": "Incolla" + "electron_translate_36": "Incolla", + "electron_translate_37": "Vedi", + "electron_translate_38": "Ingrandisci", + "electron_translate_39": "Zoom indietro", + "electron_translate_40": "Dimensioni effettive", + "electron_translate_41": "Attiva/disattiva schermo intero", + "electron_translate_42": "Nuova istanza UI" } \ No newline at end of file diff --git a/locales/jp.json b/locales/jp.json index 61597af4..6acbf2e5 100644 --- a/locales/jp.json +++ b/locales/jp.json @@ -36,5 +36,11 @@ "electron_translate_33": "(「二度と表示しない」チェックボックスをオンまたはオフにします)", "electron_translate_34": "設定", "electron_translate_35": "コピー", - "electron_translate_36": "ペースト" + "electron_translate_36": "ペースト"、 + "electron_translate_37": "表示", + "electron_translate_38": "ズームイン", + "electron_translate_39": "ズームアウト", + "electron_translate_40": "実際のサイズ", + "electron_translate_41": "全画面表示を切り替える", + "electron_translate_42": "新しい UI インスタンス" } \ No newline at end of file diff --git a/locales/ko.json b/locales/ko.json index 11f8447a..a9f36ece 100644 --- a/locales/ko.json +++ b/locales/ko.json @@ -36,5 +36,11 @@ "electron_translate_33": "(다시 묻지 않음 확인란 선택 또는 선택 취소)", "electron_translate_34": "설정", "electron_translate_35": "복사", - "electron_translate_36": "붙여넣기" + "electron_translate_36": "붙여넣기", + "electron_translate_37": "보기", + "electron_translate_38": "확대", + "electron_translate_39": "축소", + "electron_translate_40": "실제 크기", + "electron_translate_41": "전체 화면 전환", + "electron_translate_42": "새 UI 인스턴스" } \ No newline at end of file diff --git a/locales/nl.json b/locales/nl.json index a105040b..a00b76e2 100644 --- a/locales/nl.json +++ b/locales/nl.json @@ -36,5 +36,11 @@ "electron_translate_33": "(vink het selectievakje Nooit meer vragen aan of uit)", "electron_translate_34": "Instellingen", "electron_translate_35": "Kopiëren", - "electron_translate_36": "Plakken" + "electron_translate_36": "Plakken", + "electron_translate_37": "Bekijken", + "electron_translate_38": "Inzoomen", + "electron_translate_39": "Uitzoomen", + "electron_translate_40": "Ware grootte", + "electron_translate_41": "Volledig scherm wisselen", + "electron_translate_42": "Nieuwe UI-instantie" } \ No newline at end of file diff --git a/locales/no.json b/locales/no.json index 1d0eab4e..3b0292a1 100644 --- a/locales/no.json +++ b/locales/no.json @@ -1,5 +1,5 @@ { - "__locale_name__": "Norwegian", + "__locale_name__": "Norsk", "electron_translate_1": "Vis Qortal UI", "electron_translate_2": "Avslutt", @@ -36,5 +36,11 @@ "electron_translate_33": "(Merk av eller fjern merket for aldri spør meg igjen)", "electron_translate_34": "Innstillinger", "electron_translate_35": "Kopier", - "electron_translate_36": "Lim inn" + "electron_translate_36": "Lim inn", + "electron_translate_37": "Vis", + "electron_translate_38": "Zoom inn", + "electron_translate_39": "Zoom ut", + "electron_translate_40": "Faktisk størrelse", + "electron_translate_41": "Veksle fullskjerm", + "electron_translate_42": "Ny brukergrensesnittforekomst" } \ No newline at end of file diff --git a/locales/pt.json b/locales/pt.json index 6b2c4660..c32cf4c8 100644 --- a/locales/pt.json +++ b/locales/pt.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Marque ou desmarque a caixa de seleção para nunca mais me perguntar)", "electron_translate_34": "Configurações", "electron_translate_35": "Copiar", - "electron_translate_36": "Colar" + "electron_translate_36": "Colar", + "electron_translate_37": "Ver", + "electron_translate_38": "Aumentar o zoom", + "electron_translate_39": "Reduzir", + "electron_translate_40": "Tamanho real", + "electron_translate_41": "Alternar tela cheia", + "electron_translate_42": "Nova instância de IU" } \ No newline at end of file diff --git a/locales/pt_BR.json b/locales/pt_BR.json index b122e12d..4c7bcc9b 100644 --- a/locales/pt_BR.json +++ b/locales/pt_BR.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Marque ou desmarque a caixa de seleção para nunca mais me perguntar)", "electron_translate_34": "Configurações", "electron_translate_35": "Copiar", - "electron_translate_36": "Colar" + "electron_translate_36": "Colar", + "electron_translate_37": "Ver", + "electron_translate_38": "Aumentar o zoom", + "electron_translate_39": "Reduzir", + "electron_translate_40": "Tamanho real", + "electron_translate_41": "Alternar tela cheia", + "electron_translate_42": "Nova instância de IU" } \ No newline at end of file diff --git a/locales/ro.json b/locales/ro.json index 9cf774f3..cf6563b3 100644 --- a/locales/ro.json +++ b/locales/ro.json @@ -1,5 +1,5 @@ { - "__locale_name__": "Romania", + "__locale_name__": "Română", "electron_translate_1": "Afișați Qortal UI", "electron_translate_2": "Ieși", @@ -36,5 +36,11 @@ "electron_translate_33": "(Bifează sau debifează caseta de selectare niciodată să nu mă mai întrebe)", "electron_translate_34": "Setări", "electron_translate_35": "Copiați", - "electron_translate_36": "Inserați" + "electron_translate_36": "Inserați", + "electron_translate_37": "Vizualizare", + "electron_translate_38": "Măriți", + "electron_translate_39": "Măriți mic", + "electron_translate_40": "Dimensiunea reală", + "electron_translate_41": "Comutați ecranul complet", + "electron_translate_42": "Instanță nouă UI" } \ No newline at end of file diff --git a/locales/ru_RU.json b/locales/ru_RU.json index 561c7ee8..71bc7289 100644 --- a/locales/ru_RU.json +++ b/locales/ru_RU.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Установите или снимите флажок Больше не спрашивать)", "electron_translate_34": "Настройки", "electron_translate_35": "Копировать", - "electron_translate_36": "Вставить" + "electron_translate_36": "Вставить", + "electron_translate_37": "Просмотреть", + "electron_translate_38": "Увеличить", + "electron_translate_39": "Уменьшить масштаб", + "electron_translate_40": "Реальный размер", + "electron_translate_41": "Включить полноэкранный режим", + "electron_translate_42": "Новый экземпляр пользовательского интерфейса" } \ No newline at end of file diff --git a/locales/sr.json b/locales/sr.json index c9822117..a869d94c 100644 --- a/locales/sr.json +++ b/locales/sr.json @@ -1,5 +1,5 @@ { - "__locale_name__": "Serbia", + "__locale_name__": "Srpski", "electron_translate_1": "Prikaži Kortal korisnički interfejs", "electron_translate_2": "Odustani", @@ -36,5 +36,11 @@ "electron_translate_33": "(Označite ili opozovite izbor u polju za potvrdu nikad me više ne pitaj)", "electron_translate_34": "Podešavanja", "electron_translate_35": "Kopiraj", - "electron_translate_36": "Nalepi" + "electron_translate_36": "Nalepi", + "electron_translate_37": "Prikaz", + "electron_translate_38": "Uvećaj", + "electron_translate_39": "Umanji", + "electron_translate_40": "Stvarna veličina", + "electron_translate_41": "Uključi ceo ekran", + "electron_translate_42": "Nova UI instanca" } \ No newline at end of file diff --git a/locales/tr.json b/locales/tr.json index 26fc77e0..0f7ff846 100644 --- a/locales/tr.json +++ b/locales/tr.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Bana bir daha asla sorma onay kutusunu işaretleyin veya işaretini kaldırın)", "electron_translate_34": "Ayarlar", "electron_translate_35": "Kopyala", - "electron_translate_36": "Yapıştır" + "electron_translate_36": "Yapıştır", + "electron_translate_37": "Görüntüle", + "electron_translate_38": "Yakınlaştır", + "electron_translate_39": "Uzaklaştır", + "electron_translate_40": "Gerçek Boyut", + "electron_translate_41": "Tam Ekranı Değiştir", + "electron_translate_42": "Yeni Kullanıcı Arayüzü Örneği" } \ No newline at end of file diff --git a/locales/uk.json b/locales/uk.json index 861b6126..ff1d3ae3 100644 --- a/locales/uk.json +++ b/locales/uk.json @@ -36,5 +36,11 @@ "electron_translate_33": "(Check or Uncheck the never ask me again checkbox)", "electron_translate_34": "Settings", "electron_translate_35": "Copy", - "electron_translate_36": "Paste" + "electron_translate_36": "Paste", + "electron_translate_37": "View", + "electron_translate_38": "Zoom In", + "electron_translate_39": "Zoom Out", + "electron_translate_40": "Actual Size", + "electron_translate_41": "Toggle Full Screen", + "electron_translate_42": "New UI Instance" } \ No newline at end of file diff --git a/locales/zh_CN.json b/locales/zh_CN.json index 5e153977..082862cb 100644 --- a/locales/zh_CN.json +++ b/locales/zh_CN.json @@ -36,5 +36,11 @@ "electron_translate_33": "(选中或取消选中不再询问复选框)", "electron_translate_34": "设置", "electron_translate_35": "复制", - "electron_translate_36": "粘贴" + "electron_translate_36": "粘贴", + "electron_translate_37": "视图", + "electron_translate_38": "放大", + "electron_translate_39": "缩小", + "electron_translate_40": "实际尺寸", + "electron_translate_41": "切换全屏", + "electron_translate_42": "新 UI 实例" } \ No newline at end of file diff --git a/locales/zh_TW.json b/locales/zh_TW.json index 345bde46..74f75592 100644 --- a/locales/zh_TW.json +++ b/locales/zh_TW.json @@ -36,5 +36,11 @@ "electron_translate_33": "(勾選或取消勾選不再詢問複選框)", "electron_translate_34": "設置", "electron_translate_35": "複製", - "electron_translate_36": "粘貼" + "electron_translate_36": "粘貼", + "electron_translate_37": "視圖", + "electron_translate_38": "放大", + "electron_translate_39": "縮小", + "electron_translate_40": "實際尺寸", + "electron_translate_41": "切換全屏", + "electron_translate_42": "新 UI 實例" } \ No newline at end of file From 9cf81bff3f0a7537ec179cdeceb4032784f96faf Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 2 Jun 2023 10:08:06 +0200 Subject: [PATCH 037/112] Update dependencies --- README.md | 2 +- package-lock.json | 60 +++++++++++++++++++++++------------------------ package.json | 8 +++---- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index ec2e0ef4..4b1478e7 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Easiest way to install the lastest required packages on Linux is via nvm. ``` source ~/.bashrc ``` (For Fedora / CentOS)
``` nvm ls-remote ``` (Fetch list of available versions)
``` nvm install v18.14.0 ``` (LTS: Hydrogen supported by Electron)
-``` npm --location=global install npm@9.6.6 ```
+``` npm --location=global install npm@9.6.7 ```
Adding via binary package mirror will only work if you have set the package path. You can do a node or java build via ports instead by downloading ports with portsnap fetch method. diff --git a/package-lock.json b/package-lock.json index 47b9cec2..59fe6422 100644 --- a/package-lock.json +++ b/package-lock.json @@ -88,7 +88,7 @@ "@rollup/plugin-alias": "5.0.0", "@rollup/plugin-babel": "6.0.3", "@rollup/plugin-commonjs": "25.0.0", - "@rollup/plugin-node-resolve": "15.0.2", + "@rollup/plugin-node-resolve": "15.1.0", "@rollup/plugin-replace": "5.0.2", "@rollup/plugin-terser": "0.4.3", "@vaadin/avatar": "24.0.7", @@ -99,7 +99,7 @@ "@vaadin/tooltip": "24.0.7", "@zip.js/zip.js": "2.7.14", "axios": "1.4.0", - "electron": "25.0.0", + "electron": "25.0.1", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", @@ -107,9 +107,9 @@ "highcharts": "11.0.1", "html-escaper": "3.0.3", "is-electron": "2.2.2", - "lit": "2.7.4", + "lit": "2.7.5", "lit-translate": "2.0.1", - "passive-events-support": "1.0.33", + "passive-events-support": "1.1.0", "pwa-helpers": "0.9.1", "redux": "4.2.1", "redux-thunk": "2.4.2", @@ -1192,9 +1192,9 @@ "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" }, "node_modules/@lit/reactive-element": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz", - "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.2.tgz", + "integrity": "sha512-rDfl+QnCYjuIGf5xI2sVJWdYIi56CTCwWa+nidKYX6oIuBYwUbT/vX4qbUDlHiZKJ/3FRNQ/tWJui44p6/stSA==", "dependencies": { "@lit-labs/ssr-dom-shim": "^1.0.0" } @@ -2752,9 +2752,9 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz", - "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.1.0.tgz", + "integrity": "sha512-xeZHCgsiZ9pzYVgAo9580eCGqwh/XCEUM9q6iQfGNocjgkufHAqC3exA+45URvhiYV8sBF9RlBai650eNs7AsA==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -4449,9 +4449,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001491", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001491.tgz", - "integrity": "sha512-17EYIi4TLnPiTzVKMveIxU5ETlxbSO3B6iPvMbprqnKh4qJsQGk5Nh1Lp4jIMAE0XfrujsJuWZAM3oJdMHaKBA==", + "version": "1.0.30001492", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", + "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", "funding": [ { "type": "opencollective", @@ -5111,9 +5111,9 @@ } }, "node_modules/electron": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-25.0.0.tgz", - "integrity": "sha512-8Bjlpw52XW447RKjYGaaizWI4x0dv4gATNn7ssuonySbDgeJNqUnIJQGBrpXyB3VUROVmhXnTWB9VWRzv6uVlA==", + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-25.0.1.tgz", + "integrity": "sha512-YD3xCrH01LiPeLlG90DWgMXJK69UxY4NiXKqXT12HOiXLqEaKrLWap+CiiS7J7SWUXz+4XOItQI8g1dtG7zkkA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -5607,9 +5607,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.413", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.413.tgz", - "integrity": "sha512-Gd+/OAhRca06dkVxIQo/W7dr6Nmk9cx6lQdZ19GvFp51k5B/lUAokm6SJfNkdV8kFLsC3Z4sLTyEHWCnB1Efbw==" + "version": "1.4.417", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.417.tgz", + "integrity": "sha512-8rY8HdCxuSVY8wku3i/eDac4g1b4cSbruzocenrqBlzqruAZYHjQCHIjC66dLR9DXhEHTojsC4EjhZ8KmzwXqA==" }, "node_modules/electron-updater": { "version": "5.3.0", @@ -7123,9 +7123,9 @@ } }, "node_modules/lit": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.4.tgz", - "integrity": "sha512-cgD7xrZoYr21mbrkZIuIrj98YTMw/snJPg52deWVV4A8icLyNHI3bF70xsJeAgwTuiq5Kkd+ZR8gybSJDCPB7g==", + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.5.tgz", + "integrity": "sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ==", "dependencies": { "@lit/reactive-element": "^1.6.0", "lit-element": "^3.3.0", @@ -7715,9 +7715,9 @@ } }, "node_modules/passive-events-support": { - "version": "1.0.33", - "resolved": "https://registry.npmjs.org/passive-events-support/-/passive-events-support-1.0.33.tgz", - "integrity": "sha512-ooFBZ6B1RpwAMaFiLT+gU156qZkfUAZcK0ivd0ylptKr9KdhINHR3CLHewVTG1+HfqUdH0SPSq0mbaVReGZoaw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/passive-events-support/-/passive-events-support-1.1.0.tgz", + "integrity": "sha512-MNkNItIS7Ufwp0OrBIImkYlJmGmdFullI7KaEUPnKRpxf/QYQu6rI1VpCXVnW2LiRcnKPcpLvwFY5KfXOXqqWA==", "dev": true }, "node_modules/path-exists": { @@ -8982,13 +8982,13 @@ } }, "node_modules/terser": { - "version": "5.17.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", - "integrity": "sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==", + "version": "5.17.7", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz", + "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, diff --git a/package.json b/package.json index 7f849cd7..dbf91aa2 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ }, "devDependencies": { "axios": "1.4.0", - "electron": "25.0.0", + "electron": "25.0.1", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", @@ -79,10 +79,10 @@ "highcharts": "11.0.1", "html-escaper": "3.0.3", "is-electron": "2.2.2", - "lit": "2.7.4", + "lit": "2.7.5", "lit-translate": "2.0.1", "pwa-helpers": "0.9.1", - "passive-events-support": "1.0.33", + "passive-events-support": "1.1.0", "redux": "4.2.1", "redux-thunk": "2.4.2", "rollup": "3.23.0", @@ -129,7 +129,7 @@ "@rollup/plugin-alias": "5.0.0", "@rollup/plugin-babel": "6.0.3", "@rollup/plugin-commonjs": "25.0.0", - "@rollup/plugin-node-resolve": "15.0.2", + "@rollup/plugin-node-resolve": "15.1.0", "@rollup/plugin-replace": "5.0.2", "@rollup/plugin-terser": "0.4.3", "@vaadin/avatar": "24.0.7", From d098e1381248ed92a111ae1fcbd0cb9a73e83046 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Fri, 2 Jun 2023 05:32:56 -0400 Subject: [PATCH 038/112] Add Restart Node button --- core/language/de.json | 4 +++- core/language/es.json | 4 +++- core/language/fr.json | 6 ++++-- core/language/hindi.json | 4 +++- core/language/hr.json | 4 +++- core/language/hu.json | 4 +++- core/language/it.json | 4 +++- core/language/ko.json | 4 +++- core/language/no.json | 4 +++- core/language/pl.json | 4 +++- core/language/pt.json | 4 +++- core/language/ro.json | 4 +++- core/language/rs.json | 4 +++- core/language/ru.json | 4 +++- core/language/us.json | 4 +++- core/language/zhc.json | 4 +++- core/language/zht.json | 4 +++- .../core/node-management/node-management.src.js | 13 +++++++++++++ 18 files changed, 65 insertions(+), 18 deletions(-) diff --git a/core/language/de.json b/core/language/de.json index cd500e60..97cd9f99 100644 --- a/core/language/de.json +++ b/core/language/de.json @@ -898,7 +898,9 @@ "nchange29": "Prägekonto erfolgreich entfernt!", "nchange30": "Fehler beim Entfernen des Prägekontos!", "nchange31": "Knoten stoppen", - "nchange32": "Stoppanforderung erfolgreich gesendet!" + "nchange32": "Stoppanforderung erfolgreich gesendet!", + "nchange33": "Knoten neu starten", + "nchange34": "Neustartanforderung erfolgreich gesendet!" }, "transpage": { "tchange1": "Transaktionsanfrage", diff --git a/core/language/es.json b/core/language/es.json index a7bc551c..04d367df 100644 --- a/core/language/es.json +++ b/core/language/es.json @@ -898,7 +898,9 @@ "nchange29": "Eliminación exitosa de la cuenta de acuñación!", "nchange30": "Fallo en la eliminación de la cuenta de acuñación!", "nchange31": "Detener Nodo", - "nchange32": "Solicitud de detención enviada con éxito!" + "nchange32": "Solicitud de detención enviada con éxito!", + "nchange33": "Reiniciar Nodo", + "nchange34": "Solicitud de reinicio enviada con éxito!" }, "transpage": { "tchange1": "Solicitud de transacción", diff --git a/core/language/fr.json b/core/language/fr.json index 34adfd8b..0daf77b6 100644 --- a/core/language/fr.json +++ b/core/language/fr.json @@ -897,8 +897,10 @@ "nchange28": "Échec de l’ajout d’un noeud de frappe!", "nchange29": "Suppression réussie du compte de frappe!", "nchange30": "Echec de la suppression du compte de frappe!", - "nchange31": "Arreter le noeud", - "nchange32": "Demande d’arrêt envoyée avec succès!" + "nchange31": "Arrêter le noeud", + "nchange32": "Demande d’arrêt envoyée avec succès!", + "nchange33": "Redémarrer le noeud", + "nchange34": "Demande de redémarrage envoyée avec succès!" }, "transpage": { "tchange1": "Demande de transaction", diff --git a/core/language/hindi.json b/core/language/hindi.json index e20ac835..8bcf3151 100644 --- a/core/language/hindi.json +++ b/core/language/hindi.json @@ -899,7 +899,9 @@ "nchange29": "मिंटिंग अकाउंट को सफलतापूर्वक हटाया गया!", "nchange30": "खनन खाता हटाने में विफल!", "nchange31": "स्टॉप नोड", - "nchange32": "स्टॉप अनुरोध सफलतापूर्वक भेजा गया!" + "nchange32": "स्टॉप अनुरोध सफलतापूर्वक भेजा गया!", + "nchange33": "नोड फिर से चालू करें", + "nchange34": "रीस्टार्ट अनुरोध सफलतापूर्वक भेजा गया!" }, "transpage": { "tchange1": "लेनदेन अनुरोध", diff --git a/core/language/hr.json b/core/language/hr.json index 7a2b0109..9f16b7d7 100644 --- a/core/language/hr.json +++ b/core/language/hr.json @@ -898,7 +898,9 @@ "nchange29": "Uspješno uklonjen minter račun!", "nchange30": "Neuspješno uklanjanje minter računa!", "nchange31": "Zaustavi čvor", - "nchange32": "Uspješno poslan zahtjev za zaustavljenje!" + "nchange32": "Uspješno poslan zahtjev za zaustavljenje!", + "nchange33": "Ponovo pokreni čvor", + "nchange34": "Uspješno poslan zahtjev za ponovnim pokretanjem!" }, "transpage": { "tchange1": "Zahtjev za transakciju", diff --git a/core/language/hu.json b/core/language/hu.json index b90b9864..49a737a0 100644 --- a/core/language/hu.json +++ b/core/language/hu.json @@ -898,7 +898,9 @@ "nchange29": "Sikerült eltávolítani a verési fiókot!", "nchange30": "Nem sikerült eltávolítani a verési fiókot!", "nchange31": "Csomópont Leállítás", - "nchange32": "Sikeresen Elküldött Stop Kérés!" + "nchange32": "Sikeresen Elküldött Stop Kérés!", + "nchange33": "Csomópont Újraindítása", + "nchange34": "Sikeresen Elküldött Újraindítási Kérés!" }, "transpage": { "tchange1": "Tranzakciós Kérelem", diff --git a/core/language/it.json b/core/language/it.json index 49730a13..c9d830b2 100644 --- a/core/language/it.json +++ b/core/language/it.json @@ -898,7 +898,9 @@ "nchange29": "Conto di minting rimosso con successo!", "nchange30": "Impossibile rimuovere l'account di minting!", "nchange31": "Arresta nodo", - "nchange32": "Richiesta di arresto inviata con successo!" + "nchange32": "Richiesta di arresto inviata con successo!", + "nchange33": "Riavvia nodo", + "nchange34": "Richiesta di riavvio inviata con successo!" }, "transpage": { "tchange1": "Richiesta di transazione", diff --git a/core/language/ko.json b/core/language/ko.json index 26bfeba6..c63e7dc9 100644 --- a/core/language/ko.json +++ b/core/language/ko.json @@ -898,7 +898,9 @@ "nchange29": "민팅 계정이 제거되었습니다!", "nchange30": "민팅 계정을 제거하지 못했습니다!", "nchange31": "노드 중지", - "nchange32": "중지 요청을 성공적으로 전송했습니다.!" + "nchange32": "중지 요청을 성공적으로 전송했습니다!", + "nchange33": "노드 재시작", + "nchange34": "다시 시작 요청을 성공적으로 보냈습니다!" }, "transpage": { "tchange1": "거래요청", diff --git a/core/language/no.json b/core/language/no.json index 31adeb54..9afc0111 100644 --- a/core/language/no.json +++ b/core/language/no.json @@ -898,7 +898,9 @@ "nchange29": "Mintekontoen ble fjernet!", "nchange30": "Kunne ikke fjerne mintekontoen!", "nchange31": "Stopp noden", - "nchange32": "Stoppforespørsel sendt!" + "nchange32": "Stoppforespørsel sendt!", + "nchange33": "Omstart noden", + "nchange34": "Omstartsforespørsel sendt!" }, "transpage": { "tchange1": "Transaksjonsforespørsel", diff --git a/core/language/pl.json b/core/language/pl.json index bf75e955..5944526b 100644 --- a/core/language/pl.json +++ b/core/language/pl.json @@ -898,7 +898,9 @@ "nchange29": "Pomyślnie usunięto konto mintowania!", "nchange30": "Nie udało się usunąć konta mintowania!", "nchange31": "Zatrzymaj węzeł", - "nchange32": "Pomyślnie wysłane żądanie zatrzymania!" + "nchange32": "Pomyślnie wysłane żądanie zatrzymania!", + "nchange33": "Uruchom ponownie węzeł", + "nchange34": "Pomyślnie wysłane żądanie ponownego uruchomienia!" }, "transpage": { "tchange1": "Żądanie transakcji", diff --git a/core/language/pt.json b/core/language/pt.json index 0cc2b870..756a49ab 100644 --- a/core/language/pt.json +++ b/core/language/pt.json @@ -898,7 +898,9 @@ "nchange29": "Conta de Mineração removida com sucesso!", "nchange30": "Falha em remover a conta de mineração", "nchange31": "Parar Nódulo", - "nchange32": "Pedido de parada enviado com sucesso!" + "nchange32": "Pedido de parada enviado com sucesso!", + "nchange33": "Reiniciar Nódulo", + "nchange34": "Pedido de reinicialização enviado com sucesso!" }, "transpage": { "tchange1": "Pedido de transação", diff --git a/core/language/ro.json b/core/language/ro.json index fa3ce721..ede9a1bd 100644 --- a/core/language/ro.json +++ b/core/language/ro.json @@ -898,7 +898,9 @@ "nchange29": "S-a eliminat cu succes contul de producator de moneda (minting)!", "nchange30": "Nu a reusit eliminare contulului de recompensare (minting)!", "nchange31": "Opreste Nodul", - "nchange32": "Cerere de Oprire Trimisa cu Succes!" + "nchange32": "Cerere de Oprire Trimisă cu Succes!", + "nchange33": "Reporniți Nodul", + "nchange34": "Cerere de Repornire a Fost Trimisă cu Succes!" }, "transpage": { "tchange1": "Cerere de tranzactionare", diff --git a/core/language/rs.json b/core/language/rs.json index f22f8746..7eb3df86 100644 --- a/core/language/rs.json +++ b/core/language/rs.json @@ -898,7 +898,9 @@ "nchange29": "Minting nalog uspešno uklonjen!", "nchange30": "Minting nalog neuspešno uklonjen!", "nchange31": "Zaustavite čvor", - "nchange32": "Zahtev za zaustavljanje uspešno poslat!" + "nchange32": "Zahtev za zaustavljanje uspešno poslat!", + "nchange33": "Ponovo pokreni čvor", + "nchange34": "Zahtev za ponovno pokretanje uspešno poslat!" }, "transpage": { "tchange1": "Zahtev za transakcijom", diff --git a/core/language/ru.json b/core/language/ru.json index afe2fd86..172647a2 100644 --- a/core/language/ru.json +++ b/core/language/ru.json @@ -898,7 +898,9 @@ "nchange29": "Учетная запись Minting успешно удалена!", "nchange30": "Не удалось удалить учетную запись Minting!", "nchange31": "Остановить узел", - "nchange32": "Запрос на остановку успешно отправлен!" + "nchange32": "Запрос на остановку успешно отправлен!", + "nchange33": "Перезапустить узел", + "nchange34": "Запрос на перезапуск успешно отправлен!" }, "transpage": { "tchange1": "Запрос транзакции", diff --git a/core/language/us.json b/core/language/us.json index 5db172a0..7d203f7c 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -899,7 +899,9 @@ "nchange29": "Successfully Removed Minting Account!", "nchange30": "Failed to Remove Minting Account!", "nchange31": "Stop Node", - "nchange32": "Successfully Sent Stop Request!" + "nchange32": "Successfully Sent Stop Request!", + "nchange33": "Restart Node", + "nchange34": "Successfully Sent Restart Request!" }, "transpage": { "tchange1": "Transaction request", diff --git a/core/language/zhc.json b/core/language/zhc.json index 473726f0..f8cd057b 100644 --- a/core/language/zhc.json +++ b/core/language/zhc.json @@ -898,7 +898,9 @@ "nchange29": "成功从此节点中移除铸币账号!", "nchange30": "未能从此节点中移除铸币账号!", "nchange31": "关闭节点", - "nchange32": "成功发送关闭节点请求!" + "nchange32": "成功发送关闭节点请求!", + "nchange33": "重启节点", + "nchange34": "成功发送重启节点请求!" }, "transpage": { "tchange1": "请求交易", diff --git a/core/language/zht.json b/core/language/zht.json index aa8c4f71..851c3e94 100644 --- a/core/language/zht.json +++ b/core/language/zht.json @@ -898,7 +898,9 @@ "nchange29": "成功從此節點中移除鑄幣賬號!", "nchange30": "未能從此節點中移除鑄幣賬號!", "nchange31": "關閉節點", - "nchange32": "成功發送關閉節點請求!" + "nchange32": "成功發送關閉節點請求!", + "nchange33": "重啟節點", + "nchange34": "成功發送重啟節點請求!" }, "transpage": { "tchange1": "請求交易", diff --git a/plugins/plugins/core/node-management/node-management.src.js b/plugins/plugins/core/node-management/node-management.src.js index 341ad989..3524df1a 100644 --- a/plugins/plugins/core/node-management/node-management.src.js +++ b/plugins/plugins/core/node-management/node-management.src.js @@ -156,6 +156,7 @@ class NodeManagement extends LitElement {

${translate("nodepage.nchange1")} ${this.nodeDomain}

this.stopNode()}>dangerous ${translate("nodepage.nchange31")} + this.restartNode()}>360 ${translate("nodepage.nchange33")}
${translate("nodepage.nchange2")} ${this.upTime}


@@ -450,6 +451,18 @@ class NodeManagement extends LitElement { }); } + restartNode() { + parentEpml + .request("apiCall", { + url: `/admin/restart?apiKey=${this.getApiKey()}`, + method: "GET" + }) + .then((res) => { + let err7string = get("nodepage.nchange34") + parentEpml.request('showSnackBar', `${err7string}`); + }); + } + onPageNavigation(pageUrl) { parentEpml.request("setPageUrl", pageUrl); } From afa1c7bddae71e41e340e37369edb99c5d34a68f Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Fri, 2 Jun 2023 05:51:18 -0400 Subject: [PATCH 039/112] Update translations --- core/language/jp.json | 4 ++-- locales/hu.json | 14 +++++++------- locales/jp.json | 2 +- locales/sr.json | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/core/language/jp.json b/core/language/jp.json index e6a01134..06cf2daa 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -1064,7 +1064,7 @@ "inf14": "を右記の通貨で", "inf15": "アクティブな自動購入注文", "inf16": "自動購入", - "inf17": "ライトテーマに切り替える", - "inf18": "ダークテーマに切り替える" + "inf17": "ライトモードに切り替える", + "inf18": "ダークモードに切り替える" } } diff --git a/locales/hu.json b/locales/hu.json index a86940b3..9c47bfd3 100644 --- a/locales/hu.json +++ b/locales/hu.json @@ -8,8 +8,8 @@ "electron_translate_5": "TELEPÍTÉS MOST", "electron_translate_6": "TALÁN KÉSŐBB", "electron_translate_7": "Frissítés készen áll a telepítésre", - "electron_translate_8": "A Qortal felhasználói felület új verziója letöltődött." - "electron_translate_9": "Kattintson a TELEPÍTÉS MOST gombra a frissítés alkalmazásához, TALÁN KÉSŐBB, ha nem szeretné frissíteni a felhasználói felületet." + "electron_translate_8": "A Qortal felhasználói felület új verziója letöltődött.", + "electron_translate_9": "Kattintson a TELEPÍTÉS MOST gombra a frissítés alkalmazásához, TALÁN KÉSŐBB, ha nem szeretné frissíteni a felhasználói felületet.", "electron_translate_10": "Ideiglenes frissítési hiba, később újra megpróbálom", "electron_translate_11": "FRISSÍTÉS LETÖLTÉSE", "electron_translate_12": "A háttérben lesz letöltve ⌛️!", @@ -21,13 +21,13 @@ "electron_translate_18": "QORTAL CORE LETÖLTÉSE", "electron_translate_19": "NO KÖSZÖNÖM", "electron_translate_20": "Nincs észlelve a Qortal Core", - "electron_translate_21": "A Qortal UI azt észlelte, hogy a Qortal Core NINCS telepítve (az alapértelmezett helyen) ezen a rendszeren." - "electron_translate_22": "Kattintson a QORTAL CORE LETÖLTÉSE lehetőségre a mag letöltéséhez és telepítéséhez (az alapértelmezett helyre), VAGY kattintson a NEM KÖSZÖNÖM gombra a letöltés és telepítés kihagyásához." + "electron_translate_21": "A Qortal UI azt észlelte, hogy a Qortal Core NINCS telepítve (az alapértelmezett helyen) ezen a rendszeren.", + "electron_translate_22": "Kattintson a QORTAL CORE LETÖLTÉSE lehetőségre a mag letöltéséhez és telepítéséhez (az alapértelmezett helyre), VAGY kattintson a NEM KÖSZÖNÖM gombra a letöltés és telepítés kihagyásához.", "electron_translate_23": "JAVA LETÖLTÉSE", "electron_translate_24": "KÖSZÖNÖM NEM", - "electron_translate_25": "A Java nincs telepítve." - "electron_translate_26": "A Qortal UI azt észlelte, hogy a java nincs telepítve az Ön rendszerére." - "electron_translate_27": "Kattintson a JAVA LETÖLTÉSE gombra a java letöltéséhez és telepítéséhez, vagy a NEM KÖSZÖNÖM gombra, ha nem szeretné letölteni és telepíteni." + "electron_translate_25": "A Java nincs telepítve.", + "electron_translate_26": "A Qortal UI azt észlelte, hogy a java nincs telepítve az Ön rendszerére.", + "electron_translate_27": "Kattintson a JAVA LETÖLTÉSE gombra a java letöltéséhez és telepítéséhez, vagy a NEM KÖSZÖNÖM gombra, ha nem szeretné letölteni és telepíteni.", "electron_translate_28": "Soha többé ne kérdezz", "electron_translate_29": "BEÁLLÍTÁS MÓDOSÍTÁSA", "electron_translate_30": "MÉGSEM", diff --git a/locales/jp.json b/locales/jp.json index 6acbf2e5..bef82de7 100644 --- a/locales/jp.json +++ b/locales/jp.json @@ -36,7 +36,7 @@ "electron_translate_33": "(「二度と表示しない」チェックボックスをオンまたはオフにします)", "electron_translate_34": "設定", "electron_translate_35": "コピー", - "electron_translate_36": "ペースト"、 + "electron_translate_36": "貼り付け", "electron_translate_37": "表示", "electron_translate_38": "ズームイン", "electron_translate_39": "ズームアウト", diff --git a/locales/sr.json b/locales/sr.json index a869d94c..2998aa49 100644 --- a/locales/sr.json +++ b/locales/sr.json @@ -27,7 +27,7 @@ "electron_translate_24": "NE HVALA", "electron_translate_25": "Java nije instalirana.", "electron_translate_26": "Kortal UI je otkrio da java nije instalirana na vašem sistemu.", - "electron_translate_27": "Kliknite na DOVNLOAD JAVA da preuzmete i instalirate Java ili na NE HVALA da je ne preuzimate i instalirate." + "electron_translate_27": "Kliknite na DOVNLOAD JAVA da preuzmete i instalirate Java ili na NE HVALA da je ne preuzimate i instalirate.", "electron_translate_28": "Nikad me više ne pitaj", "electron_translate_29": "PROMENI PODEŠAVANJE", "electron_translate_30": "OTKAŽI", From f6457a706dc685fa0e43d7e795155a8ba30e6b40 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:06:00 +0200 Subject: [PATCH 040/112] Fix height --- core/src/components/user-info-view/user-info-view.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/components/user-info-view/user-info-view.js b/core/src/components/user-info-view/user-info-view.js index dbf5510d..fdf0c97c 100644 --- a/core/src/components/user-info-view/user-info-view.js +++ b/core/src/components/user-info-view/user-info-view.js @@ -332,9 +332,10 @@ class UserInfoView extends connect(store)(LitElement) { .border-wrapper { border: 1px var(--tradeborder) solid; - overflow: hidden; + overflow: hidden; } + #first-explorer-section { display: grid; grid-template-columns: 1fr 1fr; @@ -1109,7 +1110,7 @@ class UserInfoView extends connect(store)(LitElement) {
${translate("explorerpage.exp17")}
${translate("login.loading")}
- + Date: Fri, 2 Jun 2023 13:53:39 +0200 Subject: [PATCH 041/112] Disable no update notification --- electron.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/electron.js b/electron.js index a4e76fd9..88ff4afb 100644 --- a/electron.js +++ b/electron.js @@ -1048,11 +1048,7 @@ if (!isLock) { }) }) autoUpdater.on('update-not-available', (event) => { - const noUpdate = new Notification({ - title: 'Checking for update', - body: 'No update available, you are on latest version.' - }) - noUpdate.show() + log.info("NO UPDATE") }) autoUpdater.on('download-progress', (progressObj) => { myWindow.webContents.send('downloadProgress', progressObj) From b026873e6567bf7964a617e79c66916ad0989afd Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sat, 3 Jun 2023 17:46:22 +0200 Subject: [PATCH 042/112] Enable total input in Auto Buy --- .../core/trade-bot/trade-bot-portal.src.js | 104 +++++++++++++++++- 1 file changed, 98 insertions(+), 6 deletions(-) diff --git a/plugins/plugins/core/trade-bot/trade-bot-portal.src.js b/plugins/plugins/core/trade-bot/trade-bot-portal.src.js index fad9a474..51928947 100644 --- a/plugins/plugins/core/trade-bot/trade-bot-portal.src.js +++ b/plugins/plugins/core/trade-bot/trade-bot-portal.src.js @@ -1557,10 +1557,10 @@ class TradeBotPortal extends LitElement { style="width: 100%; color: var(--black);" id="autoBuyBTCTotalInput" required - readOnly label="" placeholder="0.0000000" type="number" + @input="${(e) => { this.checkTradeBotTotalAmount(e) }}" auto-validate="false" outlined value="${this.initialAmount}" @@ -1632,10 +1632,10 @@ class TradeBotPortal extends LitElement { style="width: 100%; color: var(--black);" id="autoBuyLTCTotalInput" required - readOnly label="" placeholder="0.0000000" type="number" + @input="${(e) => { this.checkTradeBotTotalAmount(e) }}" auto-validate="false" outlined value="${this.initialAmount}" @@ -1707,10 +1707,10 @@ class TradeBotPortal extends LitElement { style="width: 100%; color: var(--black);" id="autoBuyDOGETotalInput" required - readOnly label="" placeholder="0.0000000" type="number" + @input="${(e) => { this.checkTradeBotTotalAmount(e) }}" auto-validate="false" outlined value="${this.initialAmount}" @@ -1782,10 +1782,10 @@ class TradeBotPortal extends LitElement { style="width: 100%; color: var(--black);" id="autoBuyDGBTotalInput" required - readOnly label="" placeholder="0.0000000" type="number" + @input="${(e) => { this.checkTradeBotTotalAmount(e) }}" auto-validate="false" outlined value="${this.initialAmount}" @@ -1857,10 +1857,10 @@ class TradeBotPortal extends LitElement { style="width: 100%; color: var(--black);" id="autoBuyRVNTotalInput" required - readOnly label="" placeholder="0.0000000" type="number" + @input="${(e) => { this.checkTradeBotTotalAmount(e) }}" auto-validate="false" outlined value="${this.initialAmount}" @@ -1932,10 +1932,10 @@ class TradeBotPortal extends LitElement { style="width: 100%; color: var(--black);" id="autoBuyARRRTotalInput" required - readOnly label="" placeholder="0.0000000" type="number" + @input="${(e) => { this.checkTradeBotTotalAmount(e) }}" auto-validate="false" outlined value="${this.initialAmount}" @@ -2708,8 +2708,10 @@ class TradeBotPortal extends LitElement { checkTradeBotValues() { const checkTradeBotAmountInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value const checkTradeBotPriceInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value + const checkTradeBotTotalInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'TotalInput').value const checkAmount = this.round(parseFloat(checkTradeBotAmountInput)) const checkPrice = this.round(parseFloat(checkTradeBotPriceInput)) + const checkTotal = this.round(parseFloat(checkTradeBotTotalInput)) if (Number(checkAmount) === 0) { let amountString = get("tradepage.tchange34") @@ -2717,6 +2719,9 @@ class TradeBotPortal extends LitElement { } else if (Number(checkPrice) === 0) { let priceString = get("tradepage.tchange35") parentEpml.request('showSnackBar', `${priceString}`) + } else if (Number(checkTotal) === 0) { + let totalString = get("tradepage.tchange35") + parentEpml.request('showSnackBar', `${totalString}`) } else { this.showAddToAutoBuyStore() } @@ -3270,6 +3275,7 @@ class TradeBotPortal extends LitElement { } else { const buyTradeBotAmountInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value const buyTradeBotPriceInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value + const buyTradeBotTotalInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'TotalInput').value const checkFunds = this.round(parseFloat(buyTradeBotAmountInput) * parseFloat(buyTradeBotPriceInput)) const myFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance)) if (Number(myFunds) > Number(checkFunds)) { @@ -3302,6 +3308,7 @@ class TradeBotPortal extends LitElement { } else { const buyTradeBotAmountInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value const buyTradeBotPriceInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value + const buyTradeBotTotalInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'TotalInput').value const checkFunds = this.round(parseFloat(buyTradeBotAmountInput) * parseFloat(buyTradeBotPriceInput)) const myFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance)) if (Number(myFunds) > Number(checkFunds)) { @@ -3321,6 +3328,7 @@ class TradeBotPortal extends LitElement { } else { const buyTradeBotAmountInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value const buyTradeBotPriceInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value + const buyTradeBotTotalInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'TotalInput').value const checkFunds = this.round(parseFloat(buyTradeBotAmountInput) * parseFloat(buyTradeBotPriceInput)) const myFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance)) if (Number(myFunds) > Number(checkFunds)) { @@ -3336,6 +3344,90 @@ class TradeBotPortal extends LitElement { } } + checkTradeBotTotalAmount(e) { + const targetAmount = e.target.value + const target = e.target + this.autoBuyWarning = false + + if (targetAmount.length === 0) { + this.isValidAmount = false + this.autoBuyBtnDisable = true + this.autoBuyWarning = false + e.target.blur() + e.target.focus() + e.target.invalid = true + } else { + const buyTradeBotAmountInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value + const buyTradeBotPriceInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value + const buyTradeBotTotalInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'TotalInput').value + const checkFunds = this.round(parseFloat(buyTradeBotAmountInput) * parseFloat(buyTradeBotPriceInput)) + const myFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance)) + if (Number(myFunds) > Number(checkFunds)) { + this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value = this.round(parseFloat(buyTradeBotTotalInput) / parseFloat(buyTradeBotPriceInput)) + this.autoBuyBtnDisable = false + this.autoBuyWarning = false + } else { + this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value = this.round(parseFloat(buyTradeBotTotalInput) / parseFloat(buyTradeBotPriceInput)) + this.autoBuyBtnDisable = true + this.autoBuyWarning = true + } + } + + e.target.blur() + e.target.focus() + + e.target.validityTransform = (newValue, nativeValidity) => { + if (newValue.includes('-') === true) { + this.autoBuyBtnDisable = true + this.autoBuyWarning = false + return { + valid: false, + } + } else if (!nativeValidity.valid) { + if (newValue.includes('.') === true) { + let myAmount = newValue.split('.') + if (myAmount[1].length > 8) { + this.autoBuyBtnDisable = true + this.autoBuyWarning = false + } else { + const buyTradeBotAmountInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value + const buyTradeBotPriceInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value + const buyTradeBotTotalInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'TotalInput').value + const checkFunds = this.round(parseFloat(buyTradeBotAmountInput) * parseFloat(buyTradeBotPriceInput)) + const myFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance)) + if (Number(myFunds) > Number(checkFunds)) { + this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value = this.round(parseFloat(buyTradeBotTotalInput) / parseFloat(buyTradeBotPriceInput)) + this.autoBuyBtnDisable = false + this.autoBuyWarning = false + } else { + this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value = this.round(parseFloat(buyTradeBotTotalInput) / parseFloat(buyTradeBotPriceInput)) + this.autoBuyBtnDisable = true + this.autoBuyWarning = true + } + return { + valid: true, + } + } + } + } else { + const buyTradeBotAmountInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value + const buyTradeBotPriceInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'PriceInput').value + const buyTradeBotTotalInput = this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'TotalInput').value + const checkFunds = this.round(parseFloat(buyTradeBotAmountInput) * parseFloat(buyTradeBotPriceInput)) + const myFunds = this.round(parseFloat(this.listedCoins.get(this.selectedCoin).balance)) + if (Number(myFunds) > Number(checkFunds)) { + this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value = this.round(parseFloat(buyTradeBotTotalInput) / parseFloat(buyTradeBotPriceInput)) + this.autoBuyBtnDisable = false + this.autoBuyWarning = false + } else { + this.shadowRoot.getElementById('autoBuy' + this.listedCoins.get(this.selectedCoin).coinCode + 'QortAmountInput').value = this.round(parseFloat(buyTradeBotTotalInput) / parseFloat(buyTradeBotPriceInput)) + this.autoBuyBtnDisable = true + this.autoBuyWarning = true + } + } + } + } + getApiKey() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]; let apiKey = myNode.apiKey; From b9166ce7cac0f70385710e5f53c404d03fa5ea8d Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sun, 4 Jun 2023 12:30:44 +0200 Subject: [PATCH 043/112] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b1478e7..5a1f443a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/Qortal/qortal-ui?label=latest%20version) [![GitHub Releases](https://img.shields.io/github/downloads/Qortal/qortal-ui/latest/total)](https://github.com/Qortal/qortal-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL--3.0-blue)](https://opensource.org/licenses/GPL-3.0) -[![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=chat&logo=discord&logoColor=white)](https://discord.com/invite/54UyhB7) +[![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Chat&logo=discord&logoColor=white)](https://discord.com/invite/54UyhB7) +[![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Q-Apps&logo=discord&logoColor=white)](]https://discord.gg/tqnpDMfuR2) Decentralizing The World From 9da75211b80f8e22b3b1b0756117d8f9a0cea3f8 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sun, 4 Jun 2023 12:32:32 +0200 Subject: [PATCH 044/112] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a1f443a..95a79092 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![GitHub Releases](https://img.shields.io/github/downloads/Qortal/qortal-ui/latest/total)](https://github.com/Qortal/qortal-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL--3.0-blue)](https://opensource.org/licenses/GPL-3.0) [![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Chat&logo=discord&logoColor=white)](https://discord.com/invite/54UyhB7) -[![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Q-Apps&logo=discord&logoColor=white)](]https://discord.gg/tqnpDMfuR2) +[![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Q-Apps&logo=discord&logoColor=white)](]https://discord.com/invite/tqnpDMfuR2) Decentralizing The World From adda927bee6bad573a1b8a6a055f9f823eb11c3e Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sun, 4 Jun 2023 12:35:38 +0200 Subject: [PATCH 045/112] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95a79092..f61475d2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![GitHub Releases](https://img.shields.io/github/downloads/Qortal/qortal-ui/latest/total)](https://github.com/Qortal/qortal-ui/releases/latest) [![License](https://img.shields.io/badge/license-GPL--3.0-blue)](https://opensource.org/licenses/GPL-3.0) [![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Chat&logo=discord&logoColor=white)](https://discord.com/invite/54UyhB7) -[![Qortal Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Q-Apps&logo=discord&logoColor=white)](]https://discord.com/invite/tqnpDMfuR2) +[![Qortal Apps Discord Invite](https://img.shields.io/discord/745037351163527189?color=%237289DA&label=Q-Apps&logo=discord&logoColor=white)](https://discord.com/invite/tqnpDMfuR2) Decentralizing The World From 7ded0034f5f4a5371a02e2e65da61d40a474e259 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sun, 4 Jun 2023 14:29:13 +0200 Subject: [PATCH 046/112] Add show all payments --- core/language/de.json | 8 +- core/language/es.json | 8 +- core/language/fr.json | 10 +- core/language/hindi.json | 8 +- core/language/hr.json | 8 +- core/language/hu.json | 8 +- core/language/it.json | 8 +- core/language/jp.json | 8 +- core/language/ko.json | 8 +- core/language/no.json | 8 +- core/language/pl.json | 8 +- core/language/pt.json | 8 +- core/language/ro.json | 8 +- core/language/rs.json | 8 +- core/language/ru.json | 8 +- core/language/us.json | 8 +- core/language/zhc.json | 8 +- core/language/zht.json | 8 +- .../user-info-view/user-info-view.js | 112 ++++++++++++++++-- 19 files changed, 177 insertions(+), 81 deletions(-) diff --git a/core/language/de.json b/core/language/de.json index 97cd9f99..6e256df8 100644 --- a/core/language/de.json +++ b/core/language/de.json @@ -898,9 +898,7 @@ "nchange29": "Prägekonto erfolgreich entfernt!", "nchange30": "Fehler beim Entfernen des Prägekontos!", "nchange31": "Knoten stoppen", - "nchange32": "Stoppanforderung erfolgreich gesendet!", - "nchange33": "Knoten neu starten", - "nchange34": "Neustartanforderung erfolgreich gesendet!" + "nchange32": "Stoppanforderung erfolgreich gesendet!" }, "transpage": { "tchange1": "Transaktionsanfrage", @@ -981,7 +979,9 @@ "exp18": "Zahlungen", "exp19": "Gesendet", "exp20": "Empfangen", - "exp21": "Trades" + "exp21": "Trades", + "exp22": "LETZTE 5 ZAHLUNGEN", + "exp23": "Alle Zahlungen anzeigen" }, "managegroup": { "mg1": "Gruppenmitglieder", diff --git a/core/language/es.json b/core/language/es.json index 04d367df..8004ae76 100644 --- a/core/language/es.json +++ b/core/language/es.json @@ -898,9 +898,7 @@ "nchange29": "Eliminación exitosa de la cuenta de acuñación!", "nchange30": "Fallo en la eliminación de la cuenta de acuñación!", "nchange31": "Detener Nodo", - "nchange32": "Solicitud de detención enviada con éxito!", - "nchange33": "Reiniciar Nodo", - "nchange34": "Solicitud de reinicio enviada con éxito!" + "nchange32": "Solicitud de detención enviada con éxito!" }, "transpage": { "tchange1": "Solicitud de transacción", @@ -981,7 +979,9 @@ "exp18": "Pagos", "exp19": "Enviado", "exp20": "Recibido", - "exp21": "Oficios" + "exp21": "Oficios", + "exp22": "ULTIMOS 5 PAGOS", + "exp23": "Mostrar todos los pagos" }, "managegroup": { "mg1": "Miembros del grupo", diff --git a/core/language/fr.json b/core/language/fr.json index 0daf77b6..3969e9f2 100644 --- a/core/language/fr.json +++ b/core/language/fr.json @@ -897,10 +897,8 @@ "nchange28": "Échec de l’ajout d’un noeud de frappe!", "nchange29": "Suppression réussie du compte de frappe!", "nchange30": "Echec de la suppression du compte de frappe!", - "nchange31": "Arrêter le noeud", - "nchange32": "Demande d’arrêt envoyée avec succès!", - "nchange33": "Redémarrer le noeud", - "nchange34": "Demande de redémarrage envoyée avec succès!" + "nchange31": "Arreter le noeud", + "nchange32": "Demande d’arrêt envoyée avec succès!" }, "transpage": { "tchange1": "Demande de transaction", @@ -981,7 +979,9 @@ "exp18": "Paiements", "exp19": "Envoyé", "exp20": "Reçu", - "exp21": "Métiers" + "exp21": "Métiers", + "exp22": "5 DERNIERS PAIEMENTS", + "exp23": "Afficher tous les paiements" }, "managegroup": { "mg1": "Membres du groupe", diff --git a/core/language/hindi.json b/core/language/hindi.json index 8bcf3151..7fcb7f0c 100644 --- a/core/language/hindi.json +++ b/core/language/hindi.json @@ -899,9 +899,7 @@ "nchange29": "मिंटिंग अकाउंट को सफलतापूर्वक हटाया गया!", "nchange30": "खनन खाता हटाने में विफल!", "nchange31": "स्टॉप नोड", - "nchange32": "स्टॉप अनुरोध सफलतापूर्वक भेजा गया!", - "nchange33": "नोड फिर से चालू करें", - "nchange34": "रीस्टार्ट अनुरोध सफलतापूर्वक भेजा गया!" + "nchange32": "स्टॉप अनुरोध सफलतापूर्वक भेजा गया!" }, "transpage": { "tchange1": "लेनदेन अनुरोध", @@ -982,7 +980,9 @@ "exp18": "भुगतान", "exp19": "भेजा गया", "exp20": "प्राप्त", - "exp21": "ट्रेडों" + "exp21": "ट्रेडों", + "exp22": "पिछले 5 भुगतान", + "exp23": "सभी भुगतान दिखाएं" }, "managegroup": { "mg1": "समूह के सदस्य", diff --git a/core/language/hr.json b/core/language/hr.json index 9f16b7d7..b555bbeb 100644 --- a/core/language/hr.json +++ b/core/language/hr.json @@ -898,9 +898,7 @@ "nchange29": "Uspješno uklonjen minter račun!", "nchange30": "Neuspješno uklanjanje minter računa!", "nchange31": "Zaustavi čvor", - "nchange32": "Uspješno poslan zahtjev za zaustavljenje!", - "nchange33": "Ponovo pokreni čvor", - "nchange34": "Uspješno poslan zahtjev za ponovnim pokretanjem!" + "nchange32": "Uspješno poslan zahtjev za zaustavljenje!" }, "transpage": { "tchange1": "Zahtjev za transakciju", @@ -981,7 +979,9 @@ "exp18": "Plaćanja", "exp19": "Poslano", "exp20": "Primljeno", - "exp21": "Obrta" + "exp21": "Obrta", + "exp22": "ZADNJIH 5 UPLATA", + "exp23": "Prikaži sva plaćanja" }, "managegroup": { "mg1": "Članovi grupe", diff --git a/core/language/hu.json b/core/language/hu.json index 49a737a0..59b03c50 100644 --- a/core/language/hu.json +++ b/core/language/hu.json @@ -898,9 +898,7 @@ "nchange29": "Sikerült eltávolítani a verési fiókot!", "nchange30": "Nem sikerült eltávolítani a verési fiókot!", "nchange31": "Csomópont Leállítás", - "nchange32": "Sikeresen Elküldött Stop Kérés!", - "nchange33": "Csomópont Újraindítása", - "nchange34": "Sikeresen Elküldött Újraindítási Kérés!" + "nchange32": "Sikeresen Elküldött Stop Kérés!" }, "transpage": { "tchange1": "Tranzakciós Kérelem", @@ -981,7 +979,9 @@ "exp18": "Kifizetések", "exp19": "Elküldve", "exp20": "Fogadott", - "exp21": "Passzátszelek" + "exp21": "Passzátszelek", + "exp22": "UTOLSÓ 5 FIZETÉS", + "exp23": "Minden kifizetés megjelenítése" }, "managegroup": { "mg1": "Csoporttagok", diff --git a/core/language/it.json b/core/language/it.json index c9d830b2..625065d4 100644 --- a/core/language/it.json +++ b/core/language/it.json @@ -898,9 +898,7 @@ "nchange29": "Conto di minting rimosso con successo!", "nchange30": "Impossibile rimuovere l'account di minting!", "nchange31": "Arresta nodo", - "nchange32": "Richiesta di arresto inviata con successo!", - "nchange33": "Riavvia nodo", - "nchange34": "Richiesta di riavvio inviata con successo!" + "nchange32": "Richiesta di arresto inviata con successo!" }, "transpage": { "tchange1": "Richiesta di transazione", @@ -981,7 +979,9 @@ "exp18": "Pagamenti", "exp19": "Inviato", "exp20": "Ricevuto", - "exp21": "Mestieri" + "exp21": "Mestieri", + "exp22": "ULTIMI 5 PAGAMENTI", + "exp23": "Mostra tutti i pagamenti" }, "managegroup": { "mg1": "Membri del gruppo", diff --git a/core/language/jp.json b/core/language/jp.json index 06cf2daa..a082039c 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -40,7 +40,9 @@ "groups": "グループ", "sm1": "名前", "sm2": "名前の管理", - "sm3": "名前マーケット" + "sm3": "名前マーケット", + "exp22": "最後の 5 回の支払い", + "exp23": "すべての支払いを表示" }, "login": { "login": "ログイン", @@ -1064,7 +1066,7 @@ "inf14": "を右記の通貨で", "inf15": "アクティブな自動購入注文", "inf16": "自動購入", - "inf17": "ライトモードに切り替える", - "inf18": "ダークモードに切り替える" + "inf17": "ライトテーマに切り替える", + "inf18": "ダークテーマに切り替える" } } diff --git a/core/language/ko.json b/core/language/ko.json index c63e7dc9..3cb34c4c 100644 --- a/core/language/ko.json +++ b/core/language/ko.json @@ -898,9 +898,7 @@ "nchange29": "민팅 계정이 제거되었습니다!", "nchange30": "민팅 계정을 제거하지 못했습니다!", "nchange31": "노드 중지", - "nchange32": "중지 요청을 성공적으로 전송했습니다!", - "nchange33": "노드 재시작", - "nchange34": "다시 시작 요청을 성공적으로 보냈습니다!" + "nchange32": "중지 요청을 성공적으로 전송했습니다.!" }, "transpage": { "tchange1": "거래요청", @@ -981,7 +979,9 @@ "exp18": "결제", "exp19": "보냈습니다", "exp20": "수신됨", - "exp21": "거래" + "exp21": "거래", + "exp22": "마지막 5회 결제", + "exp23": "모든 결제 보기" }, "managegroup": { "mg1": "그룹 구성원", diff --git a/core/language/no.json b/core/language/no.json index 9afc0111..bb5a1db8 100644 --- a/core/language/no.json +++ b/core/language/no.json @@ -898,9 +898,7 @@ "nchange29": "Mintekontoen ble fjernet!", "nchange30": "Kunne ikke fjerne mintekontoen!", "nchange31": "Stopp noden", - "nchange32": "Stoppforespørsel sendt!", - "nchange33": "Omstart noden", - "nchange34": "Omstartsforespørsel sendt!" + "nchange32": "Stoppforespørsel sendt!" }, "transpage": { "tchange1": "Transaksjonsforespørsel", @@ -981,7 +979,9 @@ "exp18": "Betalinger", "exp19": "Sendt", "exp20": "Motta", - "exp21": "Handler" + "exp21": "Handler", + "exp22": "SISTE 5 BETALINGER", + "exp23": "Vis alle betalinger" }, "managegroup": { "mg1": "Gruppemedlemmer", diff --git a/core/language/pl.json b/core/language/pl.json index 5944526b..4fb13215 100644 --- a/core/language/pl.json +++ b/core/language/pl.json @@ -898,9 +898,7 @@ "nchange29": "Pomyślnie usunięto konto mintowania!", "nchange30": "Nie udało się usunąć konta mintowania!", "nchange31": "Zatrzymaj węzeł", - "nchange32": "Pomyślnie wysłane żądanie zatrzymania!", - "nchange33": "Uruchom ponownie węzeł", - "nchange34": "Pomyślnie wysłane żądanie ponownego uruchomienia!" + "nchange32": "Pomyślnie wysłane żądanie zatrzymania!" }, "transpage": { "tchange1": "Żądanie transakcji", @@ -981,7 +979,9 @@ "exp18": "Płatności", "exp19": "Wysłane", "exp20": "Otrzymano", - "exp21": "Transakcji" + "exp21": "Transakcji", + "exp22": "OSTATNIE 5 PŁATNOŚCI", + "exp23": "Pokaż wszystkie płatności" }, "managegroup": { "mg1": "Członkowie grupy", diff --git a/core/language/pt.json b/core/language/pt.json index 756a49ab..1dfdac72 100644 --- a/core/language/pt.json +++ b/core/language/pt.json @@ -898,9 +898,7 @@ "nchange29": "Conta de Mineração removida com sucesso!", "nchange30": "Falha em remover a conta de mineração", "nchange31": "Parar Nódulo", - "nchange32": "Pedido de parada enviado com sucesso!", - "nchange33": "Reiniciar Nódulo", - "nchange34": "Pedido de reinicialização enviado com sucesso!" + "nchange32": "Pedido de parada enviado com sucesso!" }, "transpage": { "tchange1": "Pedido de transação", @@ -981,7 +979,9 @@ "exp18": "Pagamentos", "exp19": "Enviado", "exp20": "Recebido", - "exp21": "Comércios" + "exp21": "Comércios", + "exp22": "ÚLTIMOS 5 PAGAMENTOS", + "exp23": "Mostrar todos os pagamentos" }, "managegroup": { "mg1": "Membros do grupo", diff --git a/core/language/ro.json b/core/language/ro.json index ede9a1bd..8068ad2b 100644 --- a/core/language/ro.json +++ b/core/language/ro.json @@ -898,9 +898,7 @@ "nchange29": "S-a eliminat cu succes contul de producator de moneda (minting)!", "nchange30": "Nu a reusit eliminare contulului de recompensare (minting)!", "nchange31": "Opreste Nodul", - "nchange32": "Cerere de Oprire Trimisă cu Succes!", - "nchange33": "Reporniți Nodul", - "nchange34": "Cerere de Repornire a Fost Trimisă cu Succes!" + "nchange32": "Cerere de Oprire Trimisa cu Succes!" }, "transpage": { "tchange1": "Cerere de tranzactionare", @@ -981,7 +979,9 @@ "exp18": "Plăti", "exp19": "Trimis", "exp20": "Primit", - "exp21": "Meserii" + "exp21": "Meserii", + "exp22": "ULTIMELE 5 PĂȚI", + "exp23": "Afișați toate plățile" }, "managegroup": { "mg1": "Membrii grupului", diff --git a/core/language/rs.json b/core/language/rs.json index 7eb3df86..7c5c0aaa 100644 --- a/core/language/rs.json +++ b/core/language/rs.json @@ -898,9 +898,7 @@ "nchange29": "Minting nalog uspešno uklonjen!", "nchange30": "Minting nalog neuspešno uklonjen!", "nchange31": "Zaustavite čvor", - "nchange32": "Zahtev za zaustavljanje uspešno poslat!", - "nchange33": "Ponovo pokreni čvor", - "nchange34": "Zahtev za ponovno pokretanje uspešno poslat!" + "nchange32": "Zahtev za zaustavljanje uspešno poslat!" }, "transpage": { "tchange1": "Zahtev za transakcijom", @@ -981,7 +979,9 @@ "exp18": "Plaćanja", "exp19": "Poslato", "exp20": "Primljeno", - "exp21": "Trgovine" + "exp21": "Trgovine", + "exp22": "POSLEDNJIH 5 PLAĆANJA", + "exp23": "Prikaži sva plaćanja" }, "managegroup": { "mg1": "Članovi grupe", diff --git a/core/language/ru.json b/core/language/ru.json index 172647a2..454f1653 100644 --- a/core/language/ru.json +++ b/core/language/ru.json @@ -898,9 +898,7 @@ "nchange29": "Учетная запись Minting успешно удалена!", "nchange30": "Не удалось удалить учетную запись Minting!", "nchange31": "Остановить узел", - "nchange32": "Запрос на остановку успешно отправлен!", - "nchange33": "Перезапустить узел", - "nchange34": "Запрос на перезапуск успешно отправлен!" + "nchange32": "Запрос на остановку успешно отправлен!" }, "transpage": { "tchange1": "Запрос транзакции", @@ -981,7 +979,9 @@ "exp18": "Платежи", "exp19": "Отправлено", "exp20": "Получено", - "exp21": "Сделок" + "exp21": "Сделок", + "exp22": "ПОСЛЕДНИЕ 5 ПЛАТЕЖЕЙ", + "exp23": "Показать все платежи" }, "managegroup": { "mg1": "Члены группы", diff --git a/core/language/us.json b/core/language/us.json index 7d203f7c..00ea1133 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -899,9 +899,7 @@ "nchange29": "Successfully Removed Minting Account!", "nchange30": "Failed to Remove Minting Account!", "nchange31": "Stop Node", - "nchange32": "Successfully Sent Stop Request!", - "nchange33": "Restart Node", - "nchange34": "Successfully Sent Restart Request!" + "nchange32": "Successfully Sent Stop Request!" }, "transpage": { "tchange1": "Transaction request", @@ -982,7 +980,9 @@ "exp18": "Payments", "exp19": "Sent", "exp20": "Received", - "exp21": "Trades" + "exp21": "Trades", + "exp22": "LAST 5 PAYMENTS", + "exp23": "Show All Payments" }, "managegroup": { "mg1": "Group Members", diff --git a/core/language/zhc.json b/core/language/zhc.json index f8cd057b..5348b834 100644 --- a/core/language/zhc.json +++ b/core/language/zhc.json @@ -898,9 +898,7 @@ "nchange29": "成功从此节点中移除铸币账号!", "nchange30": "未能从此节点中移除铸币账号!", "nchange31": "关闭节点", - "nchange32": "成功发送关闭节点请求!", - "nchange33": "重启节点", - "nchange34": "成功发送重启节点请求!" + "nchange32": "成功发送关闭节点请求!" }, "transpage": { "tchange1": "请求交易", @@ -981,7 +979,9 @@ "exp18": "付款", "exp19": "已发送", "exp20": "已收到", - "exp21": "交易" + "exp21": "交易", + "exp22": "最近 5 笔付款", + "exp23": "显示所有付款" }, "managegroup": { "mg1": "群组成员", diff --git a/core/language/zht.json b/core/language/zht.json index 851c3e94..597b7a97 100644 --- a/core/language/zht.json +++ b/core/language/zht.json @@ -898,9 +898,7 @@ "nchange29": "成功從此節點中移除鑄幣賬號!", "nchange30": "未能從此節點中移除鑄幣賬號!", "nchange31": "關閉節點", - "nchange32": "成功發送關閉節點請求!", - "nchange33": "重啟節點", - "nchange34": "成功發送重啟節點請求!" + "nchange32": "成功發送關閉節點請求!" }, "transpage": { "tchange1": "請求交易", @@ -981,7 +979,9 @@ "exp18": "付款", "exp19": "已發送", "exp20": "已收到", - "exp21": "交易" + "exp21": "交易", + "exp22": "最近 5 筆付款", + "exp23": "顯示所有付款" }, "managegroup": { "mg1": "群組成員", diff --git a/core/src/components/user-info-view/user-info-view.js b/core/src/components/user-info-view/user-info-view.js index fdf0c97c..892f1265 100644 --- a/core/src/components/user-info-view/user-info-view.js +++ b/core/src/components/user-info-view/user-info-view.js @@ -2,7 +2,6 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { connect } from 'pwa-helpers' import { store } from '../../store.js' -import { doLogout } from '../../redux/app/app-actions.js' import { get, translate, translateUnsafeHTML } from 'lit-translate' import '@polymer/paper-dialog/paper-dialog.js' @@ -48,6 +47,7 @@ class UserInfoView extends connect(store)(LitElement) { explorerSoldRVNTrades: { type: Array }, explorerSoldARRRTrades: { type: Array }, allPayments: { type: Array }, + slicedArray: { type: Array }, allReceivedPayments: { type: Array }, allSendPayments: { type: Array }, actualBlockheight: { type: Number }, @@ -267,8 +267,24 @@ class UserInfoView extends connect(store)(LitElement) { --mdc-theme-primary: var(--mdc-theme-error) } + .warning { + --mdc-theme-primary: #f0ad4e; + } + + .green { + --mdc-theme-primary: #198754; + } + .buttons { - text-align:right; + display: inline; + float: right; + margin-bottom: 5px; + } + + .paybutton { + display: inline; + float: left; + margin-bottom: 5px; } .loadingContainer { @@ -315,6 +331,15 @@ class UserInfoView extends connect(store)(LitElement) { height: 250px; } + .box-info-full { + margin: 0; + padding: 0; + display: flex; + flex-flow: column; + height: 450px; + width: 450px; + } + header { display: flex; flex: 0 1 auto; @@ -322,7 +347,7 @@ class UserInfoView extends connect(store)(LitElement) { justify-content: center; padding: 0px 10px; font-size: 16px; - color: var(--white); + color: var(--black); background-color: var(--tradehead); border-left: 1px solid var(--tradeborder); border-top: 1px solid var(--tradeborder); @@ -479,6 +504,7 @@ class UserInfoView extends connect(store)(LitElement) { this.explorerSoldRVNTrades = [] this.explorerSoldARRRTrades = [] this.allPayments = [] + this.slicedArray = [] this.allReceivedPayments = [] this.allSendPayments = [] this.actualBlockheight = 0 @@ -1107,10 +1133,66 @@ class UserInfoView extends connect(store)(LitElement) {
+
${translate("explorerpage.exp22")}
+
+
${translate("login.loading")}
+ + { + render(html`${translate("walletpage.wchange40")} ${data.item.creatorAddress === this.displayAddress ? html`${translate("walletpage.wchange7")}` : html`${translate("walletpage.wchange8")}`} `, root) + }} + > + + + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + render(html`info`, root) + }} + > + + + ${this.isEmptyArray(this.slicedArray) ? html` + ${translate("walletpage.wchange38")} + `: ''} +
+
+
+
+ + this.showAllPayments()}>${translate("explorerpage.exp23")} + + + this.openTrades()}>${translate("explorerpage.exp21")} + this.closeCompleteInfoDialog()} dialog-dismiss>${translate("general.close")} + +
+ + + +
+

${translate("explorerpage.exp17")}

+
+
+
+
${translate("explorerpage.exp17")}
${translate("login.loading")}
- +
-
- this.openTrades()}>${translate("explorerpage.exp21")} - this.closeCompleteInfoDialog()} dialog-dismiss>${translate("general.close")} +
+ + this.closeShowAllPaymentsDialog()} dialog-dismiss>${translate("general.close")} +
@@ -1420,14 +1503,15 @@ class UserInfoView extends connect(store)(LitElement) { founderStatus() { if (this.addressResult.flags === 1) { - return html`${translate("general.yes")}` + return html`${translate("general.yes")}` } else { - return html`${translate("general.no")}` + return html`${translate("general.no")}` } } async getPaymentsGridItems() { this.allPayments = [] + this.slicedArray = [] this.allReceivedPayments = [] this.allSendPayments = [] this.totalSent = 0 @@ -1455,6 +1539,8 @@ class UserInfoView extends connect(store)(LitElement) { } }).filter(item => !!item) + this.slicedArray = this.allPayments.slice(0, 5) + this.allSendPayments = this.allPayments.map(item => { const searchSendAddress = item.creatorAddress if (searchSendAddress == paymentsAddress) { @@ -1506,6 +1592,10 @@ class UserInfoView extends connect(store)(LitElement) { this.shadowRoot.getElementById('showTxDetailsDialog').open() } + showAllPayments() { + this.shadowRoot.getElementById('showAllPaymentsDialog').open() + } + async getBoughtBTCGridItems() { const myNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port @@ -1851,6 +1941,10 @@ class UserInfoView extends connect(store)(LitElement) { this.shadowRoot.getElementById('userSoldDialog').close() } + closeShowAllPaymentsDialog() { + this.shadowRoot.getElementById('showAllPaymentsDialog').close() + } + getApiKey() { const apiNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]; let apiKey = apiNode.apiKey; From 7df79fd5e96fe5e9cbc0c8395c4d1f1af8fd95b0 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:37:40 +0200 Subject: [PATCH 047/112] Added new User info --- core/language/de.json | 4 +- core/language/es.json | 4 +- core/language/fr.json | 4 +- core/language/hindi.json | 4 +- core/language/hr.json | 4 +- core/language/hu.json | 4 +- core/language/it.json | 4 +- core/language/jp.json | 8 +- core/language/ko.json | 4 +- core/language/no.json | 4 +- core/language/pl.json | 4 +- core/language/pt.json | 4 +- core/language/ro.json | 4 +- core/language/rs.json | 4 +- core/language/ru.json | 4 +- core/language/us.json | 4 +- core/language/zhc.json | 4 +- core/language/zht.json | 4 +- .../plugins/core/components/TraderInfoView.js | 1968 +++++++++++++++++ .../core/trade-portal/trade-portal.src.js | 119 +- 20 files changed, 2045 insertions(+), 118 deletions(-) create mode 100644 plugins/plugins/core/components/TraderInfoView.js diff --git a/core/language/de.json b/core/language/de.json index 6e256df8..62db88aa 100644 --- a/core/language/de.json +++ b/core/language/de.json @@ -898,7 +898,9 @@ "nchange29": "Prägekonto erfolgreich entfernt!", "nchange30": "Fehler beim Entfernen des Prägekontos!", "nchange31": "Knoten stoppen", - "nchange32": "Stoppanforderung erfolgreich gesendet!" + "nchange32": "Stoppanforderung erfolgreich gesendet!", + "nchange33": "Knoten neu starten", + "nchange34": "Neustartanforderung erfolgreich gesendet!" }, "transpage": { "tchange1": "Transaktionsanfrage", diff --git a/core/language/es.json b/core/language/es.json index 8004ae76..d87e1c82 100644 --- a/core/language/es.json +++ b/core/language/es.json @@ -898,7 +898,9 @@ "nchange29": "Eliminación exitosa de la cuenta de acuñación!", "nchange30": "Fallo en la eliminación de la cuenta de acuñación!", "nchange31": "Detener Nodo", - "nchange32": "Solicitud de detención enviada con éxito!" + "nchange32": "Solicitud de detención enviada con éxito!", + "nchange33": "Reiniciar Nodo", + "nchange34": "Solicitud de reinicio enviada con éxito!" }, "transpage": { "tchange1": "Solicitud de transacción", diff --git a/core/language/fr.json b/core/language/fr.json index 3969e9f2..e2fd1c46 100644 --- a/core/language/fr.json +++ b/core/language/fr.json @@ -898,7 +898,9 @@ "nchange29": "Suppression réussie du compte de frappe!", "nchange30": "Echec de la suppression du compte de frappe!", "nchange31": "Arreter le noeud", - "nchange32": "Demande d’arrêt envoyée avec succès!" + "nchange32": "Demande d’arrêt envoyée avec succès!", + "nchange33": "Redémarrer le noeud", + "nchange34": "Demande de redémarrage envoyée avec succès!" }, "transpage": { "tchange1": "Demande de transaction", diff --git a/core/language/hindi.json b/core/language/hindi.json index 7fcb7f0c..d7441070 100644 --- a/core/language/hindi.json +++ b/core/language/hindi.json @@ -899,7 +899,9 @@ "nchange29": "मिंटिंग अकाउंट को सफलतापूर्वक हटाया गया!", "nchange30": "खनन खाता हटाने में विफल!", "nchange31": "स्टॉप नोड", - "nchange32": "स्टॉप अनुरोध सफलतापूर्वक भेजा गया!" + "nchange32": "स्टॉप अनुरोध सफलतापूर्वक भेजा गया!", + "nchange33": "नोड फिर से चालू करें", + "nchange34": "रीस्टार्ट अनुरोध सफलतापूर्वक भेजा गया!" }, "transpage": { "tchange1": "लेनदेन अनुरोध", diff --git a/core/language/hr.json b/core/language/hr.json index b555bbeb..f5a554aa 100644 --- a/core/language/hr.json +++ b/core/language/hr.json @@ -898,7 +898,9 @@ "nchange29": "Uspješno uklonjen minter račun!", "nchange30": "Neuspješno uklanjanje minter računa!", "nchange31": "Zaustavi čvor", - "nchange32": "Uspješno poslan zahtjev za zaustavljenje!" + "nchange32": "Uspješno poslan zahtjev za zaustavljenje!", + "nchange33": "Ponovo pokreni čvor", + "nchange34": "Uspješno poslan zahtjev za ponovnim pokretanjem!" }, "transpage": { "tchange1": "Zahtjev za transakciju", diff --git a/core/language/hu.json b/core/language/hu.json index 59b03c50..c1093093 100644 --- a/core/language/hu.json +++ b/core/language/hu.json @@ -898,7 +898,9 @@ "nchange29": "Sikerült eltávolítani a verési fiókot!", "nchange30": "Nem sikerült eltávolítani a verési fiókot!", "nchange31": "Csomópont Leállítás", - "nchange32": "Sikeresen Elküldött Stop Kérés!" + "nchange32": "Sikeresen Elküldött Stop Kérés!", + "nchange33": "Csomópont Újraindítása", + "nchange34": "Sikeresen Elküldött Újraindítási Kérés!" }, "transpage": { "tchange1": "Tranzakciós Kérelem", diff --git a/core/language/it.json b/core/language/it.json index 625065d4..69c4592a 100644 --- a/core/language/it.json +++ b/core/language/it.json @@ -898,7 +898,9 @@ "nchange29": "Conto di minting rimosso con successo!", "nchange30": "Impossibile rimuovere l'account di minting!", "nchange31": "Arresta nodo", - "nchange32": "Richiesta di arresto inviata con successo!" + "nchange32": "Richiesta di arresto inviata con successo!", + "nchange33": "Riavvia nodo", + "nchange34": "Richiesta di riavvio inviata con successo!" }, "transpage": { "tchange1": "Richiesta di transazione", diff --git a/core/language/jp.json b/core/language/jp.json index a082039c..ef8c365a 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -984,7 +984,9 @@ "exp18": "入出金", "exp19": "送付済", "exp20": "受取済", - "exp21": "取引" + "exp21": "取引", + "exp22": "最後の 5 回の支払い", + "exp23": "すべての支払いを表示" }, "managegroup": { "mg1": "グループメンバー", @@ -1066,7 +1068,7 @@ "inf14": "を右記の通貨で", "inf15": "アクティブな自動購入注文", "inf16": "自動購入", - "inf17": "ライトテーマに切り替える", - "inf18": "ダークテーマに切り替える" + "inf17": "ライトモードに切り替える", + "inf18": "ダークモードに切り替える" } } diff --git a/core/language/ko.json b/core/language/ko.json index 3cb34c4c..a5ba6855 100644 --- a/core/language/ko.json +++ b/core/language/ko.json @@ -898,7 +898,9 @@ "nchange29": "민팅 계정이 제거되었습니다!", "nchange30": "민팅 계정을 제거하지 못했습니다!", "nchange31": "노드 중지", - "nchange32": "중지 요청을 성공적으로 전송했습니다.!" + "nchange32": "중지 요청을 성공적으로 전송했습니다.!", + "nchange33": "노드 재시작", + "nchange34": "다시 시작 요청을 성공적으로 보냈습니다!" }, "transpage": { "tchange1": "거래요청", diff --git a/core/language/no.json b/core/language/no.json index bb5a1db8..d0ad6634 100644 --- a/core/language/no.json +++ b/core/language/no.json @@ -898,7 +898,9 @@ "nchange29": "Mintekontoen ble fjernet!", "nchange30": "Kunne ikke fjerne mintekontoen!", "nchange31": "Stopp noden", - "nchange32": "Stoppforespørsel sendt!" + "nchange32": "Stoppforespørsel sendt!", + "nchange33": "Omstart noden", + "nchange34": "Omstartsforespørsel sendt!" }, "transpage": { "tchange1": "Transaksjonsforespørsel", diff --git a/core/language/pl.json b/core/language/pl.json index 4fb13215..7367c370 100644 --- a/core/language/pl.json +++ b/core/language/pl.json @@ -898,7 +898,9 @@ "nchange29": "Pomyślnie usunięto konto mintowania!", "nchange30": "Nie udało się usunąć konta mintowania!", "nchange31": "Zatrzymaj węzeł", - "nchange32": "Pomyślnie wysłane żądanie zatrzymania!" + "nchange32": "Pomyślnie wysłane żądanie zatrzymania!", + "nchange33": "Uruchom ponownie węzeł", + "nchange34": "Pomyślnie wysłane żądanie ponownego uruchomienia!" }, "transpage": { "tchange1": "Żądanie transakcji", diff --git a/core/language/pt.json b/core/language/pt.json index 1dfdac72..b4907fa6 100644 --- a/core/language/pt.json +++ b/core/language/pt.json @@ -898,7 +898,9 @@ "nchange29": "Conta de Mineração removida com sucesso!", "nchange30": "Falha em remover a conta de mineração", "nchange31": "Parar Nódulo", - "nchange32": "Pedido de parada enviado com sucesso!" + "nchange32": "Pedido de parada enviado com sucesso!", + "nchange33": "Reiniciar Nódulo", + "nchange34": "Pedido de reinicialização enviado com sucesso!" }, "transpage": { "tchange1": "Pedido de transação", diff --git a/core/language/ro.json b/core/language/ro.json index 8068ad2b..39480b7c 100644 --- a/core/language/ro.json +++ b/core/language/ro.json @@ -898,7 +898,9 @@ "nchange29": "S-a eliminat cu succes contul de producator de moneda (minting)!", "nchange30": "Nu a reusit eliminare contulului de recompensare (minting)!", "nchange31": "Opreste Nodul", - "nchange32": "Cerere de Oprire Trimisa cu Succes!" + "nchange32": "Cerere de Oprire Trimisa cu Succes!", + "nchange33": "Reporniți Nodul", + "nchange34": "Cerere de Repornire a Fost Trimisă cu Succes!" }, "transpage": { "tchange1": "Cerere de tranzactionare", diff --git a/core/language/rs.json b/core/language/rs.json index 7c5c0aaa..a799b1f3 100644 --- a/core/language/rs.json +++ b/core/language/rs.json @@ -898,7 +898,9 @@ "nchange29": "Minting nalog uspešno uklonjen!", "nchange30": "Minting nalog neuspešno uklonjen!", "nchange31": "Zaustavite čvor", - "nchange32": "Zahtev za zaustavljanje uspešno poslat!" + "nchange32": "Zahtev za zaustavljanje uspešno poslat!", + "nchange33": "Ponovo pokreni čvor", + "nchange34": "Zahtev za ponovno pokretanje uspešno poslat!" }, "transpage": { "tchange1": "Zahtev za transakcijom", diff --git a/core/language/ru.json b/core/language/ru.json index 454f1653..b57f31c3 100644 --- a/core/language/ru.json +++ b/core/language/ru.json @@ -898,7 +898,9 @@ "nchange29": "Учетная запись Minting успешно удалена!", "nchange30": "Не удалось удалить учетную запись Minting!", "nchange31": "Остановить узел", - "nchange32": "Запрос на остановку успешно отправлен!" + "nchange32": "Запрос на остановку успешно отправлен!", + "nchange33": "Перезапустить узел", + "nchange34": "Запрос на перезапуск успешно отправлен!" }, "transpage": { "tchange1": "Запрос транзакции", diff --git a/core/language/us.json b/core/language/us.json index 00ea1133..5ff4791a 100644 --- a/core/language/us.json +++ b/core/language/us.json @@ -899,7 +899,9 @@ "nchange29": "Successfully Removed Minting Account!", "nchange30": "Failed to Remove Minting Account!", "nchange31": "Stop Node", - "nchange32": "Successfully Sent Stop Request!" + "nchange32": "Successfully Sent Stop Request!", + "nchange33": "Restart Node", + "nchange34": "Successfully Sent Restart Request!" }, "transpage": { "tchange1": "Transaction request", diff --git a/core/language/zhc.json b/core/language/zhc.json index 5348b834..2dd9a10b 100644 --- a/core/language/zhc.json +++ b/core/language/zhc.json @@ -898,7 +898,9 @@ "nchange29": "成功从此节点中移除铸币账号!", "nchange30": "未能从此节点中移除铸币账号!", "nchange31": "关闭节点", - "nchange32": "成功发送关闭节点请求!" + "nchange32": "成功发送关闭节点请求!", + "nchange33": "重启节点", + "nchange34": "成功发送重启节点请求!" }, "transpage": { "tchange1": "请求交易", diff --git a/core/language/zht.json b/core/language/zht.json index 597b7a97..92b0e2c0 100644 --- a/core/language/zht.json +++ b/core/language/zht.json @@ -898,7 +898,9 @@ "nchange29": "成功從此節點中移除鑄幣賬號!", "nchange30": "未能從此節點中移除鑄幣賬號!", "nchange31": "關閉節點", - "nchange32": "成功發送關閉節點請求!" + "nchange32": "成功發送關閉節點請求!", + "nchange33": "重啟節點", + "nchange34": "成功發送重啟節點請求!" }, "transpage": { "tchange1": "請求交易", diff --git a/plugins/plugins/core/components/TraderInfoView.js b/plugins/plugins/core/components/TraderInfoView.js new file mode 100644 index 00000000..bde38f3d --- /dev/null +++ b/plugins/plugins/core/components/TraderInfoView.js @@ -0,0 +1,1968 @@ +import { LitElement, html, css } from 'lit' +import { render } from 'lit/html.js' +import { Epml } from '../../../epml.js' +import { get, translate, translateUnsafeHTML } from 'lit-translate' + +import '@polymer/paper-dialog/paper-dialog.js' +import '@material/mwc-button' +import '@material/mwc-icon' +import '@vaadin/grid' +import '@vaadin/grid/vaadin-grid-sorter' + +const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) + +class TraderInfoView extends LitElement { + static get properties() { + return { + theme: { type: String, reflect: true }, + isLoadingBoughtTradesBTC: { type: Boolean }, + isLoadingBoughtTradesLTC: { type: Boolean }, + isLoadingBoughtTradesDOGE: { type: Boolean }, + isLoadingBoughtTradesDGB: { type: Boolean }, + isLoadingBoughtTradesRVN: { type: Boolean }, + isLoadingBoughtTradesARRR: { type: Boolean }, + isLoadingSoldTradesBTC: { type: Boolean }, + isLoadingSoldTradesLTC: { type: Boolean }, + isLoadingSoldTradesDOGE: { type: Boolean }, + isLoadingSoldTradesDGB: { type: Boolean }, + isLoadingSoldTradesRVN: { type: Boolean }, + isLoadingSoldTradesARRR: { type: Boolean }, + isLoadingCompleteInfo: { type: Boolean }, + infoAccountName: { type: String }, + imageUrl: { type: String }, + addressResult: { type: Array }, + nameAddressResult: { type: Array }, + displayAddress: { type: String }, + displayLevel: { type: String }, + displayBalance: { type: Number }, + explorerBoughtBTCTrades: { type: Array }, + explorerBoughtLTCTrades: { type: Array }, + explorerBoughtDOGETrades: { type: Array }, + explorerBoughtDGBTrades: { type: Array }, + explorerBoughtRVNTrades: { type: Array }, + explorerBoughtARRRTrades: { type: Array }, + explorerSoldBTCTrades: { type: Array }, + explorerSoldLTCTrades: { type: Array }, + explorerSoldDOGETrades: { type: Array }, + explorerSoldDGBTrades: { type: Array }, + explorerSoldRVNTrades: { type: Array }, + explorerSoldARRRTrades: { type: Array }, + allPayments: { type: Array }, + slicedArray: { type: Array }, + allReceivedPayments: { type: Array }, + allSendPayments: { type: Array }, + actualBlockheight: { type: Number }, + reduceBlockheight: { type: Number }, + startMintBlockheight: { type: Number }, + startMintTime: { type: String }, + startMintBlock: { type: Array }, + totalSent: { type: Number }, + totalReceived: { type: Number }, + txtimestamp: { type: String }, + txcreatorAddress: { type: String }, + txrecipient: { type: String }, + txamount: { type: String }, + txfee: { type: String }, + txblockHeight: { type: String } + } + } + + static get styles() { + return css` + * { + --mdc-theme-primary: rgb(3, 169, 244); + --mdc-theme-secondary: var(--mdc-theme-primary); + --mdc-theme-surface: var(--white); + --mdc-dialog-content-ink-color: var(--black); + box-sizing: border-box; + } + + h2 { + margin: 10px 0; + } + + h3 { + margin-top: -80px; + color: #03a9f4; + font-size: 18px; + } + + h4 { + margin: 5px 0; + } + + p { + margin-top: 5px; + font-size: 14px; + line-height: 16px; + } + + ul { + list-style: none; + display: flex; + } + + ul li { + margin: 15px auto; + font-size: 15px; + font-weight: 600; + color: #03a9f4; + } + + .btn-info { + color: #03a9f4; + --mdc-icon-size: 16px; + padding-top: 3px; + } + + .data-info{ + margin-top: 10px; + margin-right: 25px; + } + + .data-items { + font-weight: 600; + color: var(--black); + display: block; + text-align: center; + } + + .title { + font-weight: 600; + font-size: 12px; + line-height: 32px; + opacity: 0.66; + } + + #transactionList { + color: var(--black); + padding: 15px; + } + + .color-in { + color: #02977e; + background-color: rgba(0, 201, 167, 0.2); + font-weight: 700; + font-size: 0.60938rem; + border-radius: 0.25rem !important; + padding: 0.2rem 0.5rem; + margin-left: 4px; + } + + .color-out { + color: #b47d00; + background-color: rgba(219, 154, 4, 0.2); + font-weight: 700; + font-size: 0.60938rem; + border-radius: 0.25rem !important; + padding: 0.2rem 0.5rem; + margin-left: 4px; + } + + .card-body { + background-color: var(--white); + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + min-height: 100vh; + margin: 0; + } + + .card-container { + background-color: var(--white); + border-radius: 5px; + color: var(--black); + padding-top: 30px; + position: relative; + width: 350px; + max-width: 100%; + text-align: center; + } + + .card-container-button { + background-color: var(--white); + border-radius: 5px; + color: var(--black); + padding-top: 30px; + position: relative; + width: 500px; + max-width: 100%; + text-align: center; + } + + .card-explorer-container { + background-color: var(--white); + border-radius: 5px; + color: var(--black); + padding-top: 10px; + position: relative; + width: 900px; + max-width: 100%; + text-align: center; + } + + .card-container .level { + color: #ffffff; + background-color: #03a9f4; + border-radius: 3px; + font-size: 14px; + font-weight: bold; + padding: 3px 7px; + position: absolute; + top: 30px; + left: 30px; + } + + .card-container .founder { + color: #ffffff; + background-color: #03a9f4; + border-radius: 3px; + font-size: 14px; + font-weight: bold; + padding: 3px 7px; + position: absolute; + top: 30px; + right: 30px; + } + + .card-container .round { + width: 96px; + height: 96px; + border: 1px solid #03a9f4; + border-radius: 50%; + padding: 2px; + } + + .card-container .badge { + width: 200px; + height: 135px; + border: 1px solid transparent; + border-radius: 10%; + padding: 2px; + } + + .userdata { + background-color: #1F1A36; + text-align: left; + padding: 15px; + margin-top: 30px; + } + + .userdata ul { + list-style-type: none; + margin: 0; + padding: 0; + } + + .userdata ul li { + border: 1px solid #2D2747; + border-radius: 2px; + display: inline-block; + font-size: 12px; + margin: 0 7px 7px 0; + padding: 7px; + } + + .decline { + --mdc-theme-primary: var(--mdc-theme-error) + } + + .warning { + --mdc-theme-primary: #f0ad4e; + } + + .green { + --mdc-theme-primary: #198754; + } + + .buttons { + display: inline; + float: right; + margin-bottom: 5px; + } + + .paybutton { + display: inline; + float: left; + margin-bottom: 5px; + } + + .loadingContainer { + height: 100%; + width: 100%; + } + + .loading, + .loading:after { + border-radius: 50%; + width: 5em; + height: 5em; + } + + .loading { + margin: 10px auto; + border-width: .6em; + border-style: solid; + border-color: rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2) rgba(3, 169, 244, 0.2) rgb(3, 169, 244); + font-size: 10px; + position: relative; + text-indent: -9999em; + transform: translateZ(0px); + animation: 1.1s linear 0s infinite normal none running loadingAnimation; + } + + .explorer-trades { + text-align: center; + } + + .box { + margin: 0; + padding: 0; + display: flex; + flex-flow: column; + height: 100%; + } + + .box-info { + margin: 0; + padding: 0; + display: flex; + flex-flow: column; + height: 250px; + } + + .box-info-full { + margin: 0; + padding: 0; + display: flex; + flex-flow: column; + height: 450px; + width: 450px; + } + + header { + display: flex; + flex: 0 1 auto; + align-items: center; + justify-content: center; + padding: 0px 10px; + font-size: 16px; + color: var(--black); + background-color: var(--tradehead); + border-left: 1px solid var(--tradeborder); + border-top: 1px solid var(--tradeborder); + border-right: 1px solid var(--tradeborder); + min-height: 40px; + } + + .border-wrapper { + border: 1px var(--tradeborder) solid; + overflow: hidden; + } + + + #first-explorer-section { + display: grid; + grid-template-columns: 1fr 1fr; + grid-auto-rows: max(250px); + column-gap: 0.5em; + row-gap: 0.4em; + justify-items: stretch; + align-items: stretch; + margin-bottom: 10px; + } + + #second-explorer-section { + display: grid; + grid-template-columns: 1fr 1fr; + grid-auto-rows: max(250px); + column-gap: 0.5em; + row-gap: 0.4em; + justify-items: stretch; + align-items: stretch; + margin-bottom: 10px; + } + + #third-explorer-section { + display: grid; + grid-template-columns: 1fr 1fr; + grid-auto-rows: max(250px); + column-gap: 0.5em; + row-gap: 0.4em; + justify-items: stretch; + align-items: stretch; + margin-bottom: 10px; + } + + #first-explorer-section > div { + } + + #second-explorer-section > div { + } + + #third-explorer-section > div { + } + + @-webkit-keyframes loadingAnimation { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } + + @keyframes loadingAnimation { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } + } + + .full-info { + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + background: #1da1f2; + } + + .full-info-wrapper { + width: 100%; + min-width: 600px; + max-width: 600px; + text-align: center; + background: var(--white); + border: 1px solid var(--black); + border-radius: 15px; + padding: 25px; + box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.1); + } + + .full-info-logo { + width: 120px; + height: 120px; + background: var(--white); + border: 1px solid var(--black); + border-radius: 50%; + position: relative; + top: -110px; + left: 210px; + } + + .round-fullinfo { + position: relative; + width: 120px; + height: 120px; + border-radius: 50%; + right: 25px; + top: -1px; + } + + ` + } + + constructor() { + super() + this.infoAccountName = '' + this.imageUrl = '' + this.addressResult = [] + this.nameAddressResult = [] + this.displayAddress = '' + this.displayLevel = '' + this.displayBalance = 0 + this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' + this.isLoadingBoughtTradesBTC = false + this.isLoadingBoughtTradesLTC = false + this.isLoadingBoughtTradesDOGE = false + this.isLoadingBoughtTradesDGB = false + this.isLoadingBoughtTradesRVN = false + this.isLoadingBoughtTradesARRR = false + this.isLoadingSoldTradesBTC = false + this.isLoadingSoldTradesLTC = false + this.isLoadingSoldTradesDOGE = false + this.isLoadingSoldTradesDGB = false + this.isLoadingSoldTradesRVN = false + this.isLoadingSoldTradesARRR = false + this.isLoadingCompleteInfo = false + this.explorerBoughtBTCTrades = [] + this.explorerBoughtLTCTrades = [] + this.explorerBoughtDOGETrades = [] + this.explorerBoughtDGBTrades = [] + this.explorerBoughtRVNTrades = [] + this.explorerBoughtARRRTrades = [] + this.explorerSoldBTCTrades = [] + this.explorerSoldLTCTrades = [] + this.explorerSoldDOGETrades = [] + this.explorerSoldDGBTrades = [] + this.explorerSoldRVNTrades = [] + this.explorerSoldARRRTrades = [] + this.allPayments = [] + this.slicedArray = [] + this.allReceivedPayments = [] + this.allSendPayments = [] + this.actualBlockheight = 0 + this.reduceBlockheight = 0 + this.startMintBlockheight = 0 + this.startMintTime = '' + this.startMintBlock = [] + this.totalSent = 0 + this.totalReceived = 0 + this.txtimestamp = '' + this.txcreatorAddress = '' + this.txrecipient = '' + this.txamount = '' + this.txfee = '' + this.txblockHeight = '' + } + + boughtBTCTemplate() { + return html` +
+
+
${translate("explorerpage.exp10")} (BTC)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerBoughtBTCTrades) ? html` + ${translate("explorerpage.exp12")} + `: ''} +
+
+
+
+ ` + } + + boughtLTCTemplate() { + return html` +
+
+
${translate("explorerpage.exp10")} (LTC)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerBoughtLTCTrades) ? html` + ${translate("explorerpage.exp12")} + `: ''} +
+
+
+
+ ` + } + + boughtDOGETemplate() { + return html` +
+
+
${translate("explorerpage.exp10")} (DOGE)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerBoughtDOGETrades) ? html` + ${translate("explorerpage.exp12")} + `: ''} +
+
+
+
+ ` + } + + boughtDGBTemplate() { + return html` +
+
+
${translate("explorerpage.exp10")} (DGB)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerBoughtDGBTrades) ? html` + ${translate("explorerpage.exp12")} + `: ''} +
+
+
+
+ ` + } + + boughtRVNTemplate() { + return html` +
+
+
${translate("explorerpage.exp10")} (RVN)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerBoughtRVNTrades) ? html` + ${translate("explorerpage.exp12")} + `: ''} +
+
+
+
+ ` + } + + boughtARRRTemplate() { + return html` +
+
+
${translate("explorerpage.exp10")} (ARRR)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerBoughtARRRTrades) ? html` + ${translate("explorerpage.exp12")} + `: ''} +
+
+
+
+ ` + } + + soldBTCTemplate() { + return html` +
+
+
${translate("explorerpage.exp11")} (BTC)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerSoldBTCTrades) ? html` + ${translate("explorerpage.exp13")} + `: ''} +
+
+
+
+ ` + } + + soldLTCTemplate() { + return html` +
+
+
${translate("explorerpage.exp11")} (LTC)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerSoldLTCTrades) ? html` + ${translate("explorerpage.exp13")} + `: ''} +
+
+
+
+ ` + } + + soldDOGETemplate() { + return html` +
+
+
${translate("explorerpage.exp11")} (DOGE)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerSoldDOGETrades) ? html` + ${translate("explorerpage.exp13")} + `: ''} +
+
+
+
+ ` + } + + soldDGBTemplate() { + return html` +
+
+
${translate("explorerpage.exp11")} (DGB)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerSoldDGBTrades) ? html` + ${translate("explorerpage.exp13")} + `: ''} +
+
+
+
+ ` + } + + soldRVNTemplate() { + return html` +
+
+
${translate("explorerpage.exp11")} (RVN)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerSoldRVNTrades) ? html` + ${translate("explorerpage.exp13")} + `: ''} +
+
+
+
+ ` + } + + soldARRRTemplate() { + return html` +
+
+
${translate("explorerpage.exp11")} (ARRR)
+
+
${translate("login.loading")}
+ + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + const price = this.round(parseFloat(data.item.foreignAmount) / parseFloat(data.item.qortAmount)) + render(html`${price}`, root) + }} + > + + + + +
+ ${this.isEmptyArray(this.explorerSoldARRRTrades) ? html` + ${translate("explorerpage.exp13")} + `: ''} +
+
+
+
+ ` + } + + render() { + return html` + + +

${this.infoAccountName}

+

${this.displayAddress}

+
${translate("login.loading")}
+
+
    +
  • + ${translate("mintingpage.mchange27")} ${this.displayLevel} +
  • +
  • + ${translate("walletprofile.blocksminted")} ${this.addressResult.blocksMinted + this.addressResult.blocksMintedAdjustment} +
  • +
  • + ${translate("explorerpage.exp15")} ${this.startMintTime} +
  • +
  • + ${translate("general.balance")} ${this.displayBalance} QORT +
  • +
  • + ${translate("explorerpage.exp6")} ${this.founderStatus()} +
  • +
+
+
+
    +
  • + ${translate("explorerpage.exp18")} ${this.allPayments.length} +
  • +
  • + ${translate("explorerpage.exp19")} ${this.allSendPayments.length} +
  • +
  • + QORT ${translate("explorerpage.exp19")} ${this.totalSent.toFixed(0)} QORT +
  • +
  • + ${translate("explorerpage.exp20")} ${this.allReceivedPayments.length} +
  • +
  • + QORT ${translate("explorerpage.exp20")} ${this.totalReceived.toFixed(0)} QORT +
  • +
+
+
+
+
${translate("explorerpage.exp22")}
+
+
${translate("login.loading")}
+ + { + render(html`${translate("walletpage.wchange40")} ${data.item.creatorAddress === this.displayAddress ? html`${translate("walletpage.wchange7")}` : html`${translate("walletpage.wchange8")}`} `, root) + }} + > + + + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + render(html`info`, root) + }} + > + + + ${this.isEmptyArray(this.slicedArray) ? html` + ${translate("walletpage.wchange38")} + `: ''} +
+
+
+
+ + this.showAllPayments()}>${translate("explorerpage.exp23")} + + + this.openTrades()}>${translate("explorerpage.exp21")} + this.closeCompleteInfoDialog()} dialog-dismiss>${translate("general.close")} + +
+
+ + +
+

${translate("explorerpage.exp17")}

+
+
+
+
+
${translate("explorerpage.exp17")}
+
+
${translate("login.loading")}
+ + { + render(html`${translate("walletpage.wchange40")} ${data.item.creatorAddress === this.displayAddress ? html`${translate("walletpage.wchange7")}` : html`${translate("walletpage.wchange8")}`} `, root) + }} + > + + + { + const dateString = new Date(data.item.timestamp).toLocaleDateString() + render(html`${dateString}`, root) + }} + > + + { + render(html`info`, root) + }} + > + + + ${this.isEmptyArray(this.allPayments) ? html` + ${translate("walletpage.wchange38")} + `: ''} +
+
+
+
+ + this.closeShowAllPaymentsDialog()} dialog-dismiss>${translate("general.close")} + +
+
+ + +
+ +

${translate("explorerpage.exp4")}

+

${translate("explorerpage.exp5")}

+
+
+ this.closeErrorDialog()} dialog-dismiss>${translate("general.close")} +
+
+ + +
+ this.openUserBoughtDialog()}>

+ this.openUserSoldDialog()}>

+
+
+ this.closeTrades()} dialog-dismiss>${translate("general.close")} +
+
+ + +
+
+ ${this.boughtBTCTemplate()} + ${this.boughtLTCTemplate()} +
+
+ ${this.boughtDOGETemplate()} + ${this.boughtDGBTemplate()} +
+
+ ${this.boughtRVNTemplate()} + ${this.boughtARRRTemplate()} +
+
+
+ this.closeBoughtDialog()} dialog-dismiss>${translate("general.close")} +
+
+ + +
+
+ ${this.soldBTCTemplate()} + ${this.soldLTCTemplate()} +
+
+ ${this.soldDOGETemplate()} + ${this.soldDGBTemplate()} +
+
+ ${this.soldRVNTemplate()} + ${this.soldARRRTemplate()} +
+
+
+ this.closeSoldDialog()} dialog-dismiss>${translate("general.close")} +
+
+ + +
+

${translate("walletpage.wchange5")}

+
+
+
+ ${translate("walletpage.wchange6")} +
+
+ ${translate("walletpage.wchange40")} ${this.txcreatorAddress === this.displayAddress ? html`${translate("walletpage.wchange7")}` : html`${translate("walletpage.wchange8")}`} +
+ + ${translate("walletpage.wchange9")} +
+
${this.txcreatorAddress}
+ + ${translate("walletpage.wchange10")} +
+
${this.txrecipient}
+ + ${translate("walletpage.wchange12")} +
+
${this.txfee} QORT
+ + ${translate("walletpage.wchange37")} +
+
${this.txamount} QORT
+ + ${translate("walletpage.wchange13")} +
+
${this.txblockHeight}
+ + ${translate("walletpage.wchange14")} +
+
${new Date(this.txtimestamp).toString()}
+
+
+ this.closeSoldDialog()} dialog-dismiss>${translate("general.close")} +
+
+ + ` + } + + openTraderInfo(traderData) { + if (traderData.startsWith('Q') && traderData.length == 34) { + this.getAddressUserResult(traderData) + } else { + this.getNameUserResult(traderData) + } + } + + async getAddressUserResult(resultAddress) { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const addressUrl = `${nodeUrl}/addresses/${resultAddress}` + + await fetch(addressUrl).then(res => { + if (res.status === 400) { + this.shadowRoot.getElementById('userErrorDialog').open() + } else { + this.getAllWithAddress(resultAddress) + } + }) + } + + async getNameUserResult(resultName) { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const nameUrl = `${nodeUrl}/names/${resultName}` + + await fetch(nameUrl).then(res => { + if (res.status === 404) { + this.shadowRoot.getElementById('userErrorDialog').open() + } else { + this.getAddressFromName(resultName) + } + }) + } + + async getAddressFromName(fromName) { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const fromNameUrl = `${nodeUrl}/names/${fromName}` + + const qortalNameInfo = await fetch(fromNameUrl).then(response => { + return response.json() + }) + + this.nameAddressResult = qortalNameInfo + const nameAddress = this.nameAddressResult.owner + this.getAllWithAddress(nameAddress) + } + + async getAllWithAddress(myAddress) { + await this.getAddressUserInfo(myAddress) + await this.getAddressUserAvatar(myAddress) + await this.getAddressUserBalance(myAddress) + this.displayAddress = this.addressResult.address + this.displayLevel = this.addressResult.level + this.isLoadingCompleteInfo = true + this.shadowRoot.getElementById('userFullInfoDialog').open() + await this.getStartMint() + await this.getPaymentsGridItems() + this.isLoadingCompleteInfo = false + } + + async getAddressUserInfo(infoAddress) { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const infoAddressUrl = `${nodeUrl}/addresses/${infoAddress}` + + const qortalAddressInfo = await fetch(infoAddressUrl).then(response => { + return response.json() + }) + + this.addressResult = qortalAddressInfo + } + + async getAddressUserAvatar(avatarAddress) { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const nameUrl = `${nodeUrl}/names/address/${avatarAddress}?limit=0&reverse=true` + + await fetch(nameUrl).then(res => { + return res.json() + }).then(jsonRes => { + if(jsonRes.length) { + jsonRes.map (item => { + this.infoAccountName = item.name + this.imageName = item.name + }) + } else { + this.infoAccountName = get("chatpage.cchange15") + this.imageName = avatarAddress + } + }) + + const myImageUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.imageName}/qortal_avatar?async=true&apiKey=${this.getApiKey()}` + this.imageUrl = myImageUrl + } + + async getAddressUserBalance(balanceAddress) { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const balanceAddressUrl = `${nodeUrl}/addresses/balance/${balanceAddress}` + + const qortalBalanceInfo = await fetch(balanceAddressUrl).then(res => { + return res.json() + }) + + this.displayBalance = qortalBalanceInfo.toFixed(4) + } + + async getStartMint() { + this.actualBlockheight = 0 + this.reduceBlockheight = 0 + this.startMintBlockheight = 0 + this.startMintTime = '' + this.startMintBlock = [] + const checkBlocks = this.addressResult.blocksMinted + this.addressResult.blocksMintedAdjustment + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + + if (checkBlocks === 0) { + let noMinterString = get("explorerpage.exp16") + this.startMintTime = noMinterString + } else { + const blockheightUrl = `${nodeUrl}/blocks/height` + + const currentBlockheight = await fetch(blockheightUrl).then(response => { + return response.json() + }) + + this.actualBlockheight = currentBlockheight + this.reduceBlockheight = this.addressResult.blocksMinted + this.addressResult.blocksMintedAdjustment + this.startMintBlockheight = (this.actualBlockheight - this.reduceBlockheight) + const startMintUrl = `${nodeUrl}/blocks/byheight/${this.startMintBlockheight}?includeOnlineSignatures=false` + + const startMintBlock = await fetch(startMintUrl).then(response => { + return response.json() + }) + + this.startMintBlock = startMintBlock + + const mintString = new Date(this.startMintBlock.timestamp).toLocaleDateString() + this.startMintTime = mintString + } + } + + avatarImage() { + return html`` + } + + avatarFullImage() { + return html`` + } + + founderBadge() { + if (this.addressResult.flags === 1) { + return html`${translate("explorerpage.exp6")}` + } else { + return html`` + } + } + + founderStatus() { + if (this.addressResult.flags === 1) { + return html`${translate("general.yes")}` + } else { + return html`${translate("general.no")}` + } + } + + async getPaymentsGridItems() { + this.allPayments = [] + this.slicedArray = [] + this.allReceivedPayments = [] + this.allSendPayments = [] + this.totalSent = 0 + this.totalReceived = 0 + const paymentsAddress = this.displayAddress + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const paymentsUrl = `${nodeUrl}/transactions/address/${paymentsAddress}?limit=0&reverse=true` + + const paymentsAll = await fetch(paymentsUrl).then(response => { + return response.json() + }) + + this.allPayments = paymentsAll.map(item => { + const searchType = item.type + if (searchType == "PAYMENT") { + return { + timestamp: item.timestamp, + creatorAddress: item.creatorAddress, + recipient: item.recipient, + amount: item.amount, + fee: item.fee, + blockHeight: item.blockHeight + } + } + }).filter(item => !!item) + + this.slicedArray = this.allPayments.slice(0, 5) + + this.allSendPayments = this.allPayments.map(item => { + const searchSendAddress = item.creatorAddress + if (searchSendAddress == paymentsAddress) { + return { + timestamp: item.timestamp, + creatorAddress: item.creatorAddress, + recipient: item.recipient, + amount: item.amount + + } + } + }).filter(item => !!item) + + this.allSendPayments.map(item => { + this.totalSent += parseFloat(item.amount) + }) + + this.allReceivedPayments = this.allPayments.map(item => { + const searchReceivedAddress = item.recipient + if (searchReceivedAddress == paymentsAddress) { + return { + timestamp: item.timestamp, + creatorAddress: item.creatorAddress, + recipient: item.recipient, + amount: item.amount + + } + } + }).filter(item => !!item) + + this.allReceivedPayments.map(item => { + this.totalReceived += parseFloat(item.amount) + }) + } + + showPaymentDetails(paymentsData) { + this.txtimestamp = '' + this.txcreatorAddress = '' + this.txrecipient = '' + this.txamount = '' + this.txfee = '' + this.txblockHeight = '' + this.txtimestamp = paymentsData.item.timestamp + this.txcreatorAddress = paymentsData.item.creatorAddress + this.txrecipient = paymentsData.item.recipient + this.txamount = paymentsData.item.amount + this.txfee = paymentsData.item.fee + this.txblockHeight = paymentsData.item.blockHeight + this.shadowRoot.getElementById('showTxDetailsDialog').open() + } + + showAllPayments() { + this.shadowRoot.getElementById('showAllPaymentsDialog').open() + } + + async getBoughtBTCGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesBoughtBTCUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=BITCOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myBTCAddress = this.displayAddress + + const boughtBTCTradesAll = await fetch(tradesBoughtBTCUrl).then(response => { + return response.json() + }) + + this.explorerBoughtBTCTrades = boughtBTCTradesAll.map(item => { + const searchAddress = item.buyerReceivingAddress + if (searchAddress == myBTCAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getBoughtLTCGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesBoughtLTCUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=LITECOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myLTCAddress = this.displayAddress + + const boughtLTCTradesAll = await fetch(tradesBoughtLTCUrl).then(response => { + return response.json() + }) + + this.explorerBoughtLTCTrades = boughtLTCTradesAll.map(item => { + const searchAddress = item.buyerReceivingAddress + if (searchAddress == myLTCAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getBoughtDOGEGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesBoughtDOGEUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=DOGECOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myDOGEAddress = this.displayAddress + + const boughtDOGETradesAll = await fetch(tradesBoughtDOGEUrl).then(response => { + return response.json() + }) + + this.explorerBoughtDOGETrades = boughtDOGETradesAll.map(item => { + const searchAddress = item.buyerReceivingAddress + if (searchAddress == myDOGEAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getBoughtDGBGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesBoughtDGBUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=DIGIBYTE&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myDGBAddress = this.displayAddress + + const boughtDGBTradesAll = await fetch(tradesBoughtDGBUrl).then(response => { + return response.json() + }) + + this.explorerBoughtDGBTrades = boughtDGBTradesAll.map(item => { + const searchAddress = item.buyerReceivingAddress + if (searchAddress == myDGBAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getBoughtRVNGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesBoughtRVNUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=RAVENCOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myRVNAddress = this.displayAddress + + const boughtRVNTradesAll = await fetch(tradesBoughtRVNUrl).then(response => { + return response.json() + }) + + this.explorerBoughtRVNTrades = boughtRVNTradesAll.map(item => { + const searchAddress = item.buyerReceivingAddress + if (searchAddress == myRVNAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getBoughtARRRGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesBoughtARRRUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=PIRATECHAIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myARRRAddress = this.displayAddress + + const boughtARRRTradesAll = await fetch(tradesBoughtARRRUrl).then(response => { + return response.json() + }) + + this.explorerBoughtARRRTrades = boughtARRRTradesAll.map(item => { + const searchAddress = item.buyerReceivingAddress + if (searchAddress == myARRRAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getSoldBTCGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesSoldBTCUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=BITCOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myBTCAddress = this.displayAddress + + const soldBTCTradesAll = await fetch(tradesSoldBTCUrl).then(response => { + return response.json() + }) + + this.explorerSoldBTCTrades = soldBTCTradesAll.map(item => { + const searchAddress = item.sellerAddress + if (searchAddress == myBTCAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getSoldLTCGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesSoldLTCUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=LITECOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myLTCAddress = this.displayAddress + + const soldLTCTradesAll = await fetch(tradesSoldLTCUrl).then(response => { + return response.json() + }) + + this.explorerSoldLTCTrades = soldLTCTradesAll.map(item => { + const searchAddress = item.sellerAddress + if (searchAddress == myLTCAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getSoldDOGEGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesSoldDOGEUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=DOGECOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myDOGEAddress = this.displayAddress + + const soldDOGETradesAll = await fetch(tradesSoldDOGEUrl).then(response => { + return response.json() + }) + + this.explorerSoldDOGETrades = soldDOGETradesAll.map(item => { + const searchAddress = item.sellerAddress + if (searchAddress == myDOGEAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getSoldDGBGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesSoldDGBUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=DIGIBYTE&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myDGBAddress = this.displayAddress + + const soldDGBTradesAll = await fetch(tradesSoldDGBUrl).then(response => { + return response.json() + }) + + this.explorerSoldDGBTrades = soldDGBTradesAll.map(item => { + const searchAddress = item.sellerAddress + if (searchAddress == myDGBAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getSoldRVNGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesSoldRVNUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=RAVENCOIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myRVNAddress = this.displayAddress + + const soldRVNTradesAll = await fetch(tradesSoldRVNUrl).then(response => { + return response.json() + }) + + this.explorerSoldRVNTrades = soldRVNTradesAll.map(item => { + const searchAddress = item.sellerAddress + if (searchAddress == myRVNAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + async getSoldARRRGridItems() { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const tradesSoldARRRUrl = `${nodeUrl}/crosschain/trades?foreignBlockchain=PIRATECHAIN&minimumTimestamp=1597310000000&limit=0&reverse=true` + const myARRRAddress = this.displayAddress + + const soldARRRTradesAll = await fetch(tradesSoldARRRUrl).then(response => { + return response.json() + }) + + this.explorerSoldARRRTrades = soldARRRTradesAll.map(item => { + const searchAddress = item.sellerAddress + if (searchAddress == myARRRAddress) { + return { + timestamp: item.tradeTimestamp, + foreignAmount: item.foreignAmount, + qortAmount: item.qortAmount + } + } + }).filter(item => !!item) + } + + openTrades() { + this.shadowRoot.getElementById('userTrades').open() + this.shadowRoot.getElementById('userFullInfoDialog').close() + } + + async openUserBoughtDialog() { + this.shadowRoot.getElementById('userBoughtDialog').open() + this.explorerBoughtBTCTrades = [] + this.explorerBoughtLTCTrades = [] + this.explorerBoughtDOGETrades = [] + this.explorerBoughtDGBTrades = [] + this.explorerBoughtRVNTrades = [] + this.explorerBoughtARRRTrades = [] + this.isLoadingBoughtTradesBTC = true + this.isLoadingBoughtTradesLTC = true + this.isLoadingBoughtTradesDOGE = true + this.isLoadingBoughtTradesDGB = true + this.isLoadingBoughtTradesRVN = true + this.isLoadingBoughtTradesARRR = true + await this.getBoughtBTCGridItems() + this.isLoadingBoughtTradesBTC = false + await this.getBoughtLTCGridItems() + this.isLoadingBoughtTradesLTC = false + await this.getBoughtDOGEGridItems() + this.isLoadingBoughtTradesDOGE = false + await this.getBoughtDGBGridItems() + this.isLoadingBoughtTradesDGB = false + await this.getBoughtRVNGridItems() + this.isLoadingBoughtTradesRVN = false + await this.getBoughtARRRGridItems() + this.isLoadingBoughtTradesARRR = false + } + + async openUserSoldDialog() { + this.shadowRoot.getElementById('userSoldDialog').open() + this.explorerSoldBTCTrades = [] + this.explorerSoldLTCTrades = [] + this.explorerSoldDOGETrades = [] + this.explorerSoldDGBTrades = [] + this.explorerSoldRVNTrades = [] + this.explorerSoldARRRTrades = [] + this.isLoadingSoldTradesBTC = true + this.isLoadingSoldTradesLTC = true + this.isLoadingSoldTradesDOGE = true + this.isLoadingSoldTradesDGB = true + this.isLoadingSoldTradesRVN = true + this.isLoadingSoldTradesARRR = true + await this.getSoldBTCGridItems() + this.isLoadingSoldTradesBTC = false + await this.getSoldLTCGridItems() + this.isLoadingSoldTradesLTC = false + await this.getSoldDOGEGridItems() + this.isLoadingSoldTradesDOGE = false + await this.getSoldDGBGridItems() + this.isLoadingSoldTradesDGB = false + await this.getSoldRVNGridItems() + this.isLoadingSoldTradesRVN = false + await this.getSoldARRRGridItems() + this.isLoadingSoldTradesARRR = false + } + + closeErrorDialog() { + this.shadowRoot.getElementById('userErrorDialog').close() + } + + closeTrades() { + this.shadowRoot.getElementById('userTrades').close() + } + + closeCompleteInfoDialog() { + this.shadowRoot.getElementById('userFullInfoDialog').close() + } + + closeBoughtDialog() { + this.shadowRoot.getElementById('userBoughtDialog').close() + } + + closeSoldDialog() { + this.shadowRoot.getElementById('userSoldDialog').close() + } + + closeShowAllPaymentsDialog() { + this.shadowRoot.getElementById('showAllPaymentsDialog').close() + } + + getApiKey() { + const apiNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + let apiKey = apiNode.apiKey; + return apiKey; + } + + isEmptyArray(arr) { + if (!arr) { + return true + } + return arr.length === 0 + } + + round(number) { + let result = (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) + return result + } +} + +window.customElements.define('trader-info-view', TraderInfoView) diff --git a/plugins/plugins/core/trade-portal/trade-portal.src.js b/plugins/plugins/core/trade-portal/trade-portal.src.js index 1339711b..a7f7c460 100644 --- a/plugins/plugins/core/trade-portal/trade-portal.src.js +++ b/plugins/plugins/core/trade-portal/trade-portal.src.js @@ -30,6 +30,7 @@ import chartsdoge from './charts/doge-charts.js' import chartsdgb from './charts/dgb-charts.js' import chartsrvn from './charts/rvn-charts.js' import chartsarrr from './charts/arrr-charts.js' +import '../components/TraderInfoView.js' const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) @@ -77,13 +78,7 @@ class TradePortal extends LitElement { dgbqort: { type: Number }, rvnqort: { type: Number }, arrrqort: { type: Number }, - tradeInfoAccountName: { type: String }, - tradeImageUrl: { type: String }, - tradeAddressResult: { type: Array }, - displayTradeAddress: { type: String }, - displayTradeLevel: { type: String }, - displayTradeBalance: { type: String }, - qortRatio: {type: Number} + qortRatio: {type: Number} } } @@ -919,7 +914,7 @@ class TradePortal extends LitElement { resizable header="${translate("explorerpage.exp7")}" .renderer=${(root, column, data) => { - render(html`info`, root) + render(html`info`, root) }} > @@ -1262,30 +1257,19 @@ class TradePortal extends LitElement { ${translate("general.close")} - -
- ${translate("mintingpage.mchange27")} ${this.displayTradeLevel} - ${this.tradeFounderBadge()} - ${this.tradeAvatarImage()} -

${this.tradeInfoAccountName}

-

${this.displayTradeAddress}

-

${translate("explorerpage.exp2")}: ${this.displayTradeBalance} QORT

+ +
+

+ this.shadowRoot.getElementById('tradeInfoDialog').close()} title="${translate("info.inf2")}">highlight_off
- ${translate("general.close")} - - - -
-

- this.shadowRoot.getElementById('tradeInfoDialog').close()} title="${translate("info.inf2")}">highlight_off -
-
-

${translate("info.inf1")}

-

${translate("info.inf3")} ${this.listedCoins.get(this.selectedCoin).coinCode} ${translate("info.inf4")}

-

${translate("info.inf5")} ${this.listedCoins.get(this.selectedCoin).coinCode}

-

${translate("info.inf6")}

-
-
+
+

${translate("info.inf1")}

+

${translate("info.inf3")} ${this.listedCoins.get(this.selectedCoin).coinCode} ${translate("info.inf4")}

+

${translate("info.inf5")} ${this.listedCoins.get(this.selectedCoin).coinCode}

+

${translate("info.inf6")}

+
+
+ ` } @@ -1450,6 +1434,12 @@ class TradePortal extends LitElement { setTimeout(() => this.shadowRoot.querySelector('[slot="vaadin-grid-cell-content-3"]').setAttribute('title', 'Last Seen'), 3000) } + requestTraderInfo(traderAddress) { + let getAddress = traderAddress + const theInfoView = this.shadowRoot.querySelector('trader-info-view') + theInfoView.openTraderInfo(getAddress) + } + changeTheme() { const checkTheme = localStorage.getItem('qortalTheme') this.theme = (checkTheme === 'dark') ? 'dark' : 'light' @@ -1727,73 +1717,6 @@ class TradePortal extends LitElement { } - async getAllForAddress(tradeAddress) { - await this.getAddressTradeInfo(tradeAddress) - await this.getAddressTradeAvatar(tradeAddress) - await this.getAddressTradeBalance(tradeAddress) - this.displayTradeAddress = this.tradeAddressResult.address - this.displayTradeLevel = this.tradeAddressResult.level - this.shadowRoot.querySelector('#sellerDialog').show() - } - - async getAddressTradeInfo(tradeInfoAddress) { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - const tradeInfoAddressUrl = `${nodeUrl}/addresses/${tradeInfoAddress}` - - const qortalTradeAddressInfo = await fetch(tradeInfoAddressUrl).then(response => { - return response.json() - }) - - this.tradeAddressResult = qortalTradeAddressInfo - } - - async getAddressTradeAvatar(tradeAvatarAddress) { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - const tradeNameUrl = `${nodeUrl}/names/address/${tradeAvatarAddress}?limit=0&reverse=true` - - await fetch(tradeNameUrl).then(res => { - return res.json() - }).then(jsonRes => { - if(jsonRes.length) { - jsonRes.map (item => { - this.tradeInfoAccountName = item.name - this.tradeImageName = item.name - }) - } else { - this.tradeInfoAccountName = "No registered name" - this.tradeImageName = tradeAvatarAddress - } - }) - - const myTradeImageUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.tradeImageName}/qortal_avatar?async=true&apiKey=${this.getApiKey()}` - this.tradeImageUrl = myTradeImageUrl - } - - async getAddressTradeBalance(tradeBalanceAddress) { - const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] - const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - const tradeBalanceAddressUrl = `${nodeUrl}/addresses/balance/${tradeBalanceAddress}` - - const qortalTradeBalanceInfo = await fetch(tradeBalanceAddressUrl).then(res => { - return res.json() - }) - this.displayTradeBalance = qortalTradeBalanceInfo - } - - tradeAvatarImage() { - return html`` - } - - tradeFounderBadge() { - if (this.tradeAddressResult.flags === 1) { - return html`${translate("explorerpage.exp6")}` - } else { - return html`` - } - } - processOfferingTrade(offer) { try { if(this.listedCoins.get(offer.foreignBlockchain).name!='') { From bedbac83bd4ce1d6f3ce1143c9395d38d8d27903 Mon Sep 17 00:00:00 2001 From: QuickMythril Date: Mon, 5 Jun 2023 21:58:18 -0400 Subject: [PATCH 048/112] Update jp.json --- core/language/jp.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/language/jp.json b/core/language/jp.json index ef8c365a..ab5c0e71 100644 --- a/core/language/jp.json +++ b/core/language/jp.json @@ -1068,7 +1068,7 @@ "inf14": "を右記の通貨で", "inf15": "アクティブな自動購入注文", "inf16": "自動購入", - "inf17": "ライトモードに切り替える", - "inf18": "ダークモードに切り替える" + "inf17": "ライトテーマに切り替える", + "inf18": "ダークテーマに切り替える" } } From 4313ccb249f3900b7c4f10e719c18b99110b3db3 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Wed, 7 Jun 2023 17:18:57 +0200 Subject: [PATCH 049/112] Remember last selected node --- .../src/functional-components/settings-page.js | 18 ++++++++++++++++-- core/src/redux/app/actions/node-config.js | 12 ++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/core/src/functional-components/settings-page.js b/core/src/functional-components/settings-page.js index a7d26317..ad938bbf 100644 --- a/core/src/functional-components/settings-page.js +++ b/core/src/functional-components/settings-page.js @@ -184,7 +184,12 @@ class SettingsPage extends connect(store)(LitElement) { } firstUpdated() { - // ... + const checkNode = localStorage.getItem('mySelectedNode') + if (checkNode === null || checkNode.length === 0) { + localStorage.setItem('mySelectedNode', 0) + } else { + } + console.log("NODE", localStorage.getItem('mySelectedNode')) } show() { @@ -224,6 +229,9 @@ class SettingsPage extends connect(store)(LitElement) { dismiss: true }) + localStorage.removeItem('mySelectedNode') + localStorage.setItem('mySelectedNode', 0) + store.dispatch(doLoadNodeConfig()) } @@ -237,12 +245,15 @@ class SettingsPage extends connect(store)(LitElement) { store.dispatch(doSetNode(selectedNodeIndex)) + localStorage.removeItem('mySelectedNode') + localStorage.setItem('mySelectedNode', selectedNodeIndex) + let snack2string = get("settings.snack2") snackbar.add({ labelText: `${snack2string} : ${selectedNodeUrl}`, dismiss: true }) - + console.log("NODE", localStorage.getItem('mySelectedNode')) this.shadowRoot.querySelector('#settingsDialog').close() } @@ -374,6 +385,9 @@ class SettingsPage extends connect(store)(LitElement) { dismiss: true }) + localStorage.removeItem('mySelectedNode') + localStorage.setItem('mySelectedNode', 0) + store.dispatch(doLoadNodeConfig()) } diff --git a/core/src/redux/app/actions/node-config.js b/core/src/redux/app/actions/node-config.js index 8181553f..2cf5eca1 100644 --- a/core/src/redux/app/actions/node-config.js +++ b/core/src/redux/app/actions/node-config.js @@ -4,7 +4,9 @@ import { UI_VERSION } from '../version.js' const nodeConfigUrl = '/getConfig' -const checkNodes = JSON.parse(localStorage.getItem('myQortalNodes')); +const checkNodes = JSON.parse(localStorage.getItem('myQortalNodes')) + +const checkMyNode = localStorage.getItem('mySelectedNode') export const doLoadNodeConfig = () => { @@ -19,7 +21,13 @@ export const doLoadNodeConfig = () => { knownNodes: [{}], version: '' } - nodeConfig.node = data.config.user.node + + if (checkMyNode === null || checkMyNode.length === 0) { + localStorage.setItem('mySelectedNode', 0) + nodeConfig.node = localStorage.getItem('mySelectedNode') + } else { + nodeConfig.node = localStorage.getItem('mySelectedNode') + } if (checkNodes === null || checkNodes.length === 0) { var saveNode = []; From 7368927c77b3937876fde8cbc0752d6bab555148 Mon Sep 17 00:00:00 2001 From: Phillip Date: Wed, 7 Jun 2023 18:33:31 +0300 Subject: [PATCH 050/112] use only one instance of fileReader --- .../plugins/core/components/qdn-action-encryption.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/plugins/core/components/qdn-action-encryption.js b/plugins/plugins/core/components/qdn-action-encryption.js index 98b26c67..e9bd4f1d 100644 --- a/plugins/plugins/core/components/qdn-action-encryption.js +++ b/plugins/plugins/core/components/qdn-action-encryption.js @@ -2,20 +2,29 @@ import nacl from '../../../../crypto/api/deps/nacl-fast.js' import ed2curve from '../../../../crypto/api/deps/ed2curve.js' +let reader = new FileReader(); export const fileToBase64 = (file) => new Promise((resolve, reject) => { - const reader = new FileReader(); + if (!reader) { + reader = new FileReader(); + } reader.readAsDataURL(file); reader.onload = () => { const dataUrl = reader.result; if (typeof dataUrl === "string") { const base64String = dataUrl.split(',')[1]; + reader.onload = null; + reader.onerror = null; resolve(base64String); } else { + reader.onload = null; + reader.onerror = null; reject(new Error('Invalid data URL')); } }; reader.onerror = (error) => { + reader.onload = null; + reader.onerror = null; reject(error); }; }); From 61a3b97d1f1fa7c2d94456f886dcaee6922e7f01 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Thu, 8 Jun 2023 13:26:51 +0200 Subject: [PATCH 051/112] Fix index --- core/src/functional-components/settings-page.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/core/src/functional-components/settings-page.js b/core/src/functional-components/settings-page.js index ad938bbf..a9addb43 100644 --- a/core/src/functional-components/settings-page.js +++ b/core/src/functional-components/settings-page.js @@ -22,7 +22,8 @@ class SettingsPage extends connect(store)(LitElement) { return { lastSelected: { type: Number }, nodeConfig: { type: Object }, - theme: { type: String, reflect: true } + theme: { type: String, reflect: true }, + nodeIndex: { type: Number } } } @@ -83,6 +84,7 @@ class SettingsPage extends connect(store)(LitElement) { constructor() { super() this.nodeConfig = {} + this.nodeIndex = localStorage.getItem('mySelectedNode') this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' } @@ -95,7 +97,7 @@ class SettingsPage extends connect(store)(LitElement) {

- + ${this.nodeConfig.knownNodes.map((n, index) => html` ${n.name} @@ -117,9 +119,9 @@ class SettingsPage extends connect(store)(LitElement) {


-
- language  -
+
+ language  +
Date: Sat, 10 Jun 2023 02:53:00 +0300 Subject: [PATCH 052/112] added tab functionality --- core/src/components/show-plugin.js | 226 ++++++++++++++++++++++++++--- 1 file changed, 202 insertions(+), 24 deletions(-) diff --git a/core/src/components/show-plugin.js b/core/src/components/show-plugin.js index 06529e97..62d6624d 100644 --- a/core/src/components/show-plugin.js +++ b/core/src/components/show-plugin.js @@ -3,6 +3,8 @@ import { connect } from 'pwa-helpers' import { store } from '../store.js' import { Epml } from '../epml.js' import { addPluginRoutes } from '../plugins/addPluginRoutes.js' +import { repeat } from 'lit/directives/repeat.js'; +import ShortUniqueId from 'short-unique-id'; class ShowPlugin extends connect(store)(LitElement) { static get properties() { @@ -11,7 +13,9 @@ class ShowPlugin extends connect(store)(LitElement) { pluginConfig: { type: Object }, url: { type: String }, linkParam: { type: String }, - registeredUrls: { type: Array } + registeredUrls: { type: Array }, + currentTab: { type: Number }, + tabs: { type: Array } } } @@ -41,57 +45,229 @@ class ShowPlugin extends connect(store)(LitElement) { border: 3px solid var(--scrollbarBG); } - iframe#showPluginFrame { - width:100%; - height:calc(var(--window-height) - 64px); - border:0; - padding:0; - margin:0; + + .hideIframe { + visibility: hidden; + position: absolute; + zIndex: -10; + } + + .showIframe { + zIndex: 1; + position: relative; + visibility: visible; + } + + .tabs { + display: flex; + justify-content: flex-start; + gap: 1em; + padding: 0.5em; + background: #F6F8FA; + border-bottom: 1px solid #E1E4E8; + box-shadow: 0 1px 2px rgba(0,0,0,0.075); + } + .tab { + padding: 0.5em 1em; + background: #fafbfc; + border: 1px solid #E1E4E8; + border-radius: 3px; + color: #586069; + cursor: pointer; + transition: background 0.3s; + position: relative; + width: 120px; + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + } + .tab:hover { + background: #F3F4F6; + } + .tab.active { + background: #FFFFFF; + color: #24292E; + border: 1px solid #E1E4E8; + box-shadow: 0 2px 5px rgba(0,0,0,0.1); + } + .close { + color: #999; + font-weight: bold; + font-size: 20px; + line-height: 20px; + position: absolute; + top: 5px; + right: 5px; + } + + .close:hover { + color: red; + } + .add-tab-button { + background: none; + border: none; + color: #586069; + font-size: 1.5em; + cursor: pointer; + transition: color 0.3s; + } + .add-tab-button:hover { + color: #24292E; + } ` } constructor() { super() this.registeredUrls = [] + this.currentTab = 0 + this.tabs = [] + this.uid = new ShortUniqueId() } + async getUpdateComplete() { + await super.getUpdateComplete(); + return true; + } + + async addTab(tab) { + + this.tabs = [...this.tabs, tab] + await this.getUpdateComplete(); + // add the new tab to the tabs array + const newIndex = this.tabs.length - 1; + + // render the tab and wait for it to be added to the DOM + + const frame = this.shadowRoot.getElementById(`showPluginFrame${newIndex}`); + this.createEpmlInstance(frame, newIndex); + + } + + + + + + render() { - const plugArr = [] + const plugSrc = (myPlug) => { return myPlug === undefined ? 'about:blank' : `${window.location.origin}/plugin/${myPlug.domain}/${myPlug.page}${this.linkParam}` } - this.registeredUrls.forEach(myPlugArr => { - myPlugArr.menus.length === 0 ? plugArr.push(myPlugArr) : myPlugArr.menus.forEach(i => plugArr.push(myPlugArr, i)) - }) - const myPlugObj = plugArr.find(pagePlug => { - return pagePlug.url === this.url - }) return html` - + +
+ ${this.tabs.map((tab, index) => html` +
this.currentTab = index} + > + ${tab.url} +
{ this.removeTab(index) }}>x
+
+ `)} + +
+ + ${repeat(this.tabs, (tab) => tab.id, (tab, index) => html` +
+ +
+ `)} + + + ` } - firstUpdated() { + removeTab(index) { + + // Remove tab from array + this.tabs = this.tabs.filter((tab, tIndex) => tIndex !== index) + + + } + + createEpmlInstance(frame, index) { const showingPluginEpml = new Epml({ type: 'WINDOW', - source: this.shadowRoot.getElementById('showPluginFrame').contentWindow - }) + source: frame.contentWindow + }); - addPluginRoutes(showingPluginEpml) - showingPluginEpml.imReady() - this.showingPluginEpml = showingPluginEpml - Epml.registerProxyInstance('visible-plugin', showingPluginEpml) + addPluginRoutes(showingPluginEpml); + showingPluginEpml.imReady(); + + // store Epml instance in tab for later use + this.tabs[index].epmlInstance = showingPluginEpml; + + // Register each instance with a unique identifier + Epml.registerProxyInstance(`visible-plugin-${index}`, showingPluginEpml); + } + + firstUpdated() { + this.tabs.forEach((tab, index) => { + const frame = this.shadowRoot.getElementById(`showPluginFrame${index}`); + this.createEpmlInstance(frame, index); + }); } updated(changedProps) { - if (changedProps.has('url')) { - //... + + if (changedProps.has('url') || changedProps.has('registeredUrls')) { + const plugArr = [] + + + this.registeredUrls.forEach(myPlugArr => { + myPlugArr.menus.length === 0 ? plugArr.push(myPlugArr) : myPlugArr.menus.forEach(i => plugArr.push(myPlugArr, i)) + }) + + const myPlugObj = plugArr.find(pagePlug => { + return pagePlug.url === this.url + }) + + if (this.tabs.length === 0) { + + this.addTab({ + url: this.url, + myPlugObj, + id: this.uid() + }) + } else { + + const copiedTabs = [...this.tabs] + copiedTabs[this.currentTab] = { + ...copiedTabs[this.currentTab], + url: this.url, + myPlugObj + } + this.tabs = copiedTabs + + + + } + + this.requestUpdate() } if (changedProps.has('computerUrl')) { @@ -136,3 +312,5 @@ class ShowPlugin extends connect(store)(LitElement) { } window.customElements.define('show-plugin', ShowPlugin) + + From 74214827b6d905d3a5e52d7bce9c1773be03becf Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Sat, 10 Jun 2023 17:04:05 +0200 Subject: [PATCH 053/112] Design tabs and autohide sidebar --- core/src/components/app-view.js | 5 +- core/src/components/show-plugin.js | 252 ++++++++++++++--------------- 2 files changed, 123 insertions(+), 134 deletions(-) diff --git a/core/src/components/app-view.js b/core/src/components/app-view.js index ca3ca9a2..649404a1 100644 --- a/core/src/components/app-view.js +++ b/core/src/components/app-view.js @@ -429,7 +429,7 @@ class AppView extends connect(store)(LitElement) { render() { return html` - +